使用" REUSE_ALV_GRID_DISPLAY"时转储,有人可以帮助我解决问题吗?

2020-09-14 08:23发布

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

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


报告z_vtc_1。



 TYPE-POOLS slis。



 类型:结构的开始。

         包括类型zvtc_kolo_get AS tab1使用SUFFIX _tab1重命名。

         包括类型zvtc_kolo_log AS tab2使用SUFFIX _tab2重命名。

 类型:END OF结构。



 数据:it_tab TYPE TABLE OF结构,

       wa_str TYPE结构。



 数据:lt_fieldcat1类型slis_t_fieldcat_alv,

       lt_fieldcat2类型slis_t_fieldcat_alv,

       lt_fieldcat3类型slis_t_fieldcat_alv。



 数据:wa_zvtc_get TYPE zvtc_kolo_get,

       wa_zvtc_log类型zvtc_kolo_log,

       wa_vbeln TYPE zvtc_kolo_log。



 选择屏幕:zvtc块的开始。

 选择选项:wa_zvtc_get-erdat的基准,

                 vbeln FOR wa_zvtc_get-vbeln。

 选择屏幕:zvtc块的结尾。



 选择*从zvtc_kolo_get

               INTO wa_zvtc_get

               基准位置

                 AND vbeln在vbeln中。

   Shift wa_zvtc_get-vbeln左删除领先'00'。

   选择*从zvtc_kolo_log

             INTO wa_zvtc_log

             哪里erdat = wa_zvtc_get-erdat

               AND message_v2 = wa_zvtc_get-vbeln。

   ENDSELECT。

   如果wa_zvtc_get-vbeln = wa_zvtc_log-message_v2。

     选择*从zvtc_kolo_log

                 INTO wa_vbeln

                 其中vbeln = wa_zvtc_log-vbeln。

     ENDSELECT。

   万一。

   wa_str-tab1 = wa_zvtc_get。

   wa_str-tab2 = wa_zvtc_log。

   将wa_str附加到it_tab。

 ENDSELECT。



 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'

  出口

    i_structure_name ='ZVTC_KOLO_GET'

   改变

     ct_fieldcat = lt_fieldcat1

  例外情况

    接口不一致= 1

    程序错误= 2

    其他= 3。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 万一。





 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'

  出口

    i_structure_name ='ZVTC_KOLO_LOG'

   改变

     ct_fieldcat = lt_fieldcat2

  例外情况

    接口不一致= 1

    程序错误= 2

    其他= 3。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 万一。



 将lt_fieldcat1附加到lt_fieldcat3。

 将lt_fieldcat2附加到lt_fieldcat3。



 通话功能'REUSE_ALV_GRID_DISPLAY'

  出口

    it_fieldcat = lt_fieldcat3

   桌子

     t_outtab = it_tab

  例外情况

    程序错误= 1

    其他= 2。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 ENDIF。

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

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


报告z_vtc_1。



 TYPE-POOLS slis。



 类型:结构的开始。

         包括类型zvtc_kolo_get AS tab1使用SUFFIX _tab1重命名。

         包括类型zvtc_kolo_log AS tab2使用SUFFIX _tab2重命名。

 类型:END OF结构。



 数据:it_tab TYPE TABLE OF结构,

       wa_str TYPE结构。



 数据:lt_fieldcat1类型slis_t_fieldcat_alv,

       lt_fieldcat2类型slis_t_fieldcat_alv,

       lt_fieldcat3类型slis_t_fieldcat_alv。



 数据:wa_zvtc_get TYPE zvtc_kolo_get,

       wa_zvtc_log类型zvtc_kolo_log,

       wa_vbeln TYPE zvtc_kolo_log。



 选择屏幕:zvtc块的开始。

 选择选项:wa_zvtc_get-erdat的基准,

                 vbeln FOR wa_zvtc_get-vbeln。

 选择屏幕:zvtc块的结尾。



 选择*从zvtc_kolo_get

               INTO wa_zvtc_get

               基准位置

                 AND vbeln在vbeln中。

   Shift wa_zvtc_get-vbeln左删除领先'00'。

   选择*从zvtc_kolo_log

             INTO wa_zvtc_log

             哪里erdat = wa_zvtc_get-erdat

               AND message_v2 = wa_zvtc_get-vbeln。

   ENDSELECT。

   如果wa_zvtc_get-vbeln = wa_zvtc_log-message_v2。

     选择*从zvtc_kolo_log

                 INTO wa_vbeln

                 其中vbeln = wa_zvtc_log-vbeln。

     ENDSELECT。

   万一。

   wa_str-tab1 = wa_zvtc_get。

   wa_str-tab2 = wa_zvtc_log。

   将wa_str附加到it_tab。

 ENDSELECT。



 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'

  出口

    i_structure_name ='ZVTC_KOLO_GET'

   改变

     ct_fieldcat = lt_fieldcat1

  例外情况

    接口不一致= 1

    程序错误= 2

    其他= 3。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 万一。





 通话功能'REUSE_ALV_FIELDCATALOG_MERGE'

  出口

    i_structure_name ='ZVTC_KOLO_LOG'

   改变

     ct_fieldcat = lt_fieldcat2

  例外情况

    接口不一致= 1

    程序错误= 2

    其他= 3。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 万一。



 将lt_fieldcat1附加到lt_fieldcat3。

 将lt_fieldcat2附加到lt_fieldcat3。



 通话功能'REUSE_ALV_GRID_DISPLAY'

  出口

    it_fieldcat = lt_fieldcat3

   桌子

     t_outtab = it_tab

  例外情况

    程序错误= 1

    其他= 2。

 如果sy-subrc <> 0。

 *消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

 *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

 ENDIF。
付费偷看设置
发送
8条回答
me_for_i
1楼 · 2020-09-14 08:55.采纳回答

Hello Saeed,

您的字段目录和表字段名不匹配,因此出现了转储。

删除结构声明中的"带有SUFFIX _tab1的重命名"和"带有SUFFIX _tab2的重命名"。

下面是示例您的字段目录和表字段如何。

字段1,字段2在字段目录中;

表结构中的

Field1_Tab1,Field2_Tab2;

由于这种不一致,转储时间很短。 请纠正。

希望这会有所帮助!

此致

基兰(Kiran)

huskylover
2楼-- · 2020-09-14 08:54

或在合并lt_fieldcat3之前更改在lt_fieldcat1和lt_fieldcat2的记录中添加后缀的字段名称。

或者(更好)使用一些OO类,例如cl_salv_table并忘记字段目录...

一周热门 更多>