使用" 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)

clever101
2楼-- · 2020-09-14 09:07

如果您提到要获取的特定转储,可能会有所帮助。

clasier
3楼-- · 2020-09-14 09:06

Hello Saeed

当我们遇到重用alv的任何问题时,通常该问题与字段目录有关。

因此您可以再次检查fieldcatalog。

但是我可以为您提供使用salv功能进行报告的功能。使用salv时,您无需创建任何字段目录,它将自动生成。

最诚挚的问候

悻福寶寶
4楼-- · 2020-09-14 09:10

我在" REUSE_ALV_GRID_DISPLAY"点得到了这个提示。

Violet凡
5楼-- · 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。
compass1988
6楼-- · 2020-09-14 09:03

我很确定这已经被问过几次了。 您是否尝试过搜索?

小c菟菟
7楼-- · 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

一周热门 更多>