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

2020-09-14 08:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)报告z_vtc_1。 T...

         点击此处--->   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条回答
小c菟菟
2020-09-14 09:17

大家好,

非常感谢您的及时答复。 我已经通过这种方式解决了这个问题:

在lt_fieldcat1处将LOOP AT放入wa_fieldcat1。

   CONCATENATE wa_fieldcat1-fieldname'_TAB1'INTO wa_feld。

   wa_fieldcat1-fieldname = wa_feld。

   从wa_fieldcat1修改lt_fieldcat1。

 结局。

 循环至lt_fieldcat2 INTO wa_fieldcat2。

   CONCATENATE wa_fieldcat2-fieldname'_TAB2'INTO wa_feld。

   wa_fieldcat2-fieldname = wa_feld。

   从wa_fieldcat2修改lt_fieldcat2。

 ENDLOOP。

此致

Saeed

一周热门 更多>