方法I_OI_PIVOT〜SET_SOURCE_TABLE中的CONTROL_INTERNAL_ERROR

2020-09-15 05:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, 我试图改编SAPR...

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

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


你好社区,

我试图改编SAPRDEMO_PIVOTINTERFACE程序,以便使用数据库表中的数据创建动态透视表(在嵌入表中)。

当我使用表SFLIGHT或其他字段很少的表(也就是Z *表)时,它工作正常,但我的要求是使用大表(100个字段)。 对于我的表,类I_OI_PIVOT的方法SET_SOURCE_TABLE给出错误7,其Retcode为" CONTROL_INTERNAL_ERROR"。

对于SFLIGHT,我的代码与我的Z *大表完全相同,并且对第一个有效,但对另一个无效。 有人知道会发生什么吗? 我认为问题在于表格的宽度,因为其他带有55的Z *表格也不起作用。

任何解决方案?

我的下面的代码:

////屏幕100////

输出前的过程。
模块状态_0100。 "从SAPRDEMO_PIVOTINTERFACE复制

模块CREATE_BASIC_OBJECTS。 "是从SAPRDEMO_PIVOTINTERFACE复制的


输入后处理。
模块以退出命令退出。 "是从SAPRDEMO_PIVOTINTERFACE复制的

MODULE USER_COMMAND_0100。 "编辑(如下)

*&--------------------------------------------- ------------------------ *
*&模块USER_COMMAND_0100 INPUT
*&------------ -------------------------------------------------- ------- *
*文字
* --------------------------------- ------------------------------------- *
模块user_command_0100输入。

案例okcode。

" SFL"时。 "用于SFLIGHT的按钮

选择*从sflight进入表tempsflight。

清除itemsnr。
wa_name-type = i_oi_pivot => columnfield。
wa_name-col =1。
追加wa_name到itemsnr。< br> wa_name-type = i_oi_pivot => rowfield。
wa_name-col =2。
附加wa_name TO itemsnr。
wa_name-type = i_oi_pivot => rowfield。
wa_name-col = 7. < br>附加wa_name到itemsnr。
wa_name-type = i_oi_pivot =>数据字段。
wa_name-col = 8。 > wa_name-col =9。
附加wa_name到itemsnr。

调用方法handle2-> set_source_table
导出
name ='pivot1'
ddic_name ='SFLIGHT'
data_table = tempsflight
长度='L'
itemsnr = itemsnr
导入
错误=错误
retcode = retcode。

MESSAGE重新编码类型'S',例如'E'。

" MYTAB"时。 "我的表格有101个字段的按钮


选择*从zmt_smartmex插入表gi_smartmex。

清除项目编号。
wa_name-type = i_oi_pivot => columnfield。
wa_name-col =1。
APPEND wa_name至
wa_name-type = i_oi_pivot =>行字段。
wa_name-col =2。
追加wa_name到itemsnr。
wa_name-type = i_oi_pivot => rowfield。
wa_name-col = 7.
附加wa_name到itemsnr。
wa_name-type = i_oi_pivot =>数据字段。
wa_name-col = 8.
附加wa_name到itemsnr。
wa_name-type = i_oi_pivot => datafield 。
wa_name-col =9。
将wa_name附加到itemsnr。

调用方法handle2-> set_source_table
导出
name ='pivot1'
ddic_name ='ZMT_SMARTMEX'
data_table = gi_smartmex
长度='L'
itemsnr = itemsnr
导入
错误=错误
retcode = retcode。

消息retcode类型'S'显示 像" E"。

ENDCASE。

ENDMODULE。 " USER_COMMAND_0100输入

付费偷看设置
发送
3条回答
clasier
1楼-- · 2020-09-15 06:35

我将调试标准代码以弄清楚该错误发生在何处以及原因。 你有尝试过吗?

2楼-- · 2020-09-15 06:35

发布代码时,请使用编辑器中的"代码"按钮。 对于复制粘贴,请右键单击并选择"粘贴为纯文本"。

宇峰Kouji
3楼-- · 2020-09-15 06:29

是的,我在发布此文件之前对其进行了调试。

在调用方法CALL_OBJECT_METHOD之前,在类I_OI_PIVOT的方法SET_SOURCE_TABLE内似乎还可以。 这将返回代码" 999999-",与我尝试过的成功示例相同,然后执行FLUSH,将错误代码更改为" 7"(CONTROL_INTERNAL_ERROR),而对于成功示例,将FLUSH 返回" 0"。

我无法知道或调试刷新内部发生的事情或从哪里获取错误代码。

有什么主意吗?

谢谢。

一周热门 更多>