从SAP BW中的Infocube读取数据时出现问题

2020-09-14 21:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在使用功能模块 RSDRI_INFOPROV_READ ,并根据下面程序中指定的字段读取多维数据集数据。

我在多维数据集中添加了新字段-帐户类型(0ACCT_TYPE)。 现在,我在程序中添加了这个新字段,以获取该字段的数据。 但是,当我运行该程序时,它现在正在获取0条记录。 如果我从程序中删除新字段,则数据将从多维数据集中获取。

请注意,我在多维数据集中有一个未压缩且没有汇总的请求。

您能帮我确定这个问题吗?

清除GS_CH。
   GS_CH-CHANM ='0COMP_CODE'。
   GS_CH-CHAALIAS ='COMP_CODE'。
   GS_CH-ORDERBY = 1。
   将GS_CH插入表GT_CH。

   清除GS_CH。
   GS_CH-CHANM ='0DIVISION'。
   GS_CH-CHAALIAS ='分区'。
   GS_CH-ORDERBY = 2。
   将GS_CH插入表GT_CH。

   清除GS_CH。
   GS_CH-CHANM ='OCRFBRND'。
   GS_CH-CHAALIAS ='/BIC/OCRFBRND'。
   GS_CH-ORDERBY = 3。
   将GS_CH插入表GT_CH。

    清除GS_CH。
   GS_CH-CHANM ='0ACCT_TYPE'。
   GS_CH-CHAALIAS ='ACCT_TYPE'。
   GS_CH-ORDERBY = 9。
   将GS_CH插入表GT_CH。


   通话功能'RSDRI_INFOPROV_READ'
     出口
       I_INFOPROV ='OBRFDT01'"硬码
       I_TH_SFC = GT_CH
       I_TH_SFK = GS_KF
       I_PACKAGESIZE = GV_PACKET
       I_T_RANGE = GT_SEL
     输入
       E_T_DATA = GT_DATA
       E_END_OF_DATA = GV_END_OF_DATA
     改变
       C_FIRST_CALL = GV_FIRST_CALL
     例外情况
       ILLEGAL_INPUT = 1
       ILLEGAL_INPUT_SFC = 2
       ILLEGAL_INPUT_SFK = 3
       ILLEGAL_INPUT_RANGE = 4
       ILLEGAL_INPUT_TABLESEL = 5
       NO_AUTHORIZATION = 6
       ILLEGAL_DOWNLOAD = 7
       ILLEGAL_TABLENAME = 8
       TRANS_NO_WRITE_MODE = 9
       INHERITED_ERROR = 10
       X_MESSAGE = 11
       其他= 12。

 ENDFORM。  " READ_CUBE_DATA 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在使用功能模块 RSDRI_INFOPROV_READ ,并根据下面程序中指定的字段读取多维数据集数据。

我在多维数据集中添加了新字段-帐户类型(0ACCT_TYPE)。 现在,我在程序中添加了这个新字段,以获取该字段的数据。 但是,当我运行该程序时,它现在正在获取0条记录。 如果我从程序中删除新字段,则数据将从多维数据集中获取。

请注意,我在多维数据集中有一个未压缩且没有汇总的请求。

您能帮我确定这个问题吗?

清除GS_CH。
   GS_CH-CHANM ='0COMP_CODE'。
   GS_CH-CHAALIAS ='COMP_CODE'。
   GS_CH-ORDERBY = 1。
   将GS_CH插入表GT_CH。

   清除GS_CH。
   GS_CH-CHANM ='0DIVISION'。
   GS_CH-CHAALIAS ='分区'。
   GS_CH-ORDERBY = 2。
   将GS_CH插入表GT_CH。

   清除GS_CH。
   GS_CH-CHANM ='OCRFBRND'。
   GS_CH-CHAALIAS ='/BIC/OCRFBRND'。
   GS_CH-ORDERBY = 3。
   将GS_CH插入表GT_CH。

    清除GS_CH。
   GS_CH-CHANM ='0ACCT_TYPE'。
   GS_CH-CHAALIAS ='ACCT_TYPE'。
   GS_CH-ORDERBY = 9。
   将GS_CH插入表GT_CH。


   通话功能'RSDRI_INFOPROV_READ'
     出口
       I_INFOPROV ='OBRFDT01'"硬码
       I_TH_SFC = GT_CH
       I_TH_SFK = GS_KF
       I_PACKAGESIZE = GV_PACKET
       I_T_RANGE = GT_SEL
     输入
       E_T_DATA = GT_DATA
       E_END_OF_DATA = GV_END_OF_DATA
     改变
       C_FIRST_CALL = GV_FIRST_CALL
     例外情况
       ILLEGAL_INPUT = 1
       ILLEGAL_INPUT_SFC = 2
       ILLEGAL_INPUT_SFK = 3
       ILLEGAL_INPUT_RANGE = 4
       ILLEGAL_INPUT_TABLESEL = 5
       NO_AUTHORIZATION = 6
       ILLEGAL_DOWNLOAD = 7
       ILLEGAL_TABLENAME = 8
       TRANS_NO_WRITE_MODE = 9
       INHERITED_ERROR = 10
       X_MESSAGE = 11
       其他= 12。

 ENDFORM。  " READ_CUBE_DATA 
付费偷看设置
发送
2条回答
1楼 · 2020-09-14 21:46.采纳回答

嗨,

您没有发布有关如何设置参数GT_SEL的代码。 我将假设它保持不变。

有一个可选的导入参数:I_ROLLUP_ONLY。 默认情况下,此为true。 如果您没有汇总,请将其设置为false。

此外,您可以检查新特性0ACCT_TYPE是否是与授权相关的信息对象。 尝试使用参数I_AUTHORITY_CHECK来打开授权检查。


最好的问候

奄奄一息的小鱼
2楼-- · 2020-09-14 22:08

是,我忘记将其添加到GT_DATA中:)

感谢杰..

一周热门 更多>