使用" 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条回答
Violet凡
2020-09-14 09:04

嗨,

我认为加入fieldcat可能会出错,所以不要使用REUSE_ALV_FIELDCATALOG_MERGE,

请逐个构建fieldcat并检查结果,

 wa_fcat1-col_pos =1。
wa_fcat1-fieldname ='XBLNR_MKPF'。
wa_fcat1-tabname ='IT_MSEG'。
wa_fcat1-outputlen =16。
wa_fcat1-coltext ='送货编号'。
wa_fcat1-style = ALV_STYLE_FONT_BOLD。
* wa_fcat1-emphasize ='C501'。
* wa_fcat1-no_Zero ='X'。
wa_fcat1-just ='C'。
将wa_fcat1附加到it_fcat1。
清除wa_fcat1。

一周热门 更多>