几列未显示在ALV报告中

2020-08-13 15:39发布

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

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


大家好,

有人可以帮我提供我的代码吗? 我已经对其进行了调试,但似乎无法找到读取表未填充我的ALV报告的原因。 mtart,maktx和clabs列未填充。 任何帮助都将受到欢迎。

致谢。

 FORM set_data。
   选择matnr,werks,lgort,charg,vfdat,hsdat
     插入表@DATA(it_data)
     来自matdoc
     在@so_matnr中的matnr
       和在@so_werks中怪诞
       和lgort输入@so_lgort。
   检查sy-subrc = 0。

   SELECT Matnr,Maktx
     从MAkt到表@DATA(lt_maktx)
     对于@it_data中的所有条目
     matnr EQ @ it_data-matnr在哪里。

   SELECT Matnr,mtart
     从马拉
     插入表@DATA(lt_mtart)
     对于@it_data中的所有条目
     matnr EQ @ it_data-matnr在哪里。

   SELECT matnr,charg,qndat
     从mch1
     插入表@DATA(lt_qndat)
     对于@it_data中的所有条目
     在哪里matnr EQ @ it_data-matnr
       AND charg EQ @ it_data-charg。  "添加下一个检验日期

   SELECT matnr,werks,lgort,charg,clabs
     从mchb
     插入表@DATA(lt_clabs)
     对于@it_data中的所有条目
     在哪里matnr EQ @ it_data-matnr
       AND表示EQ @ it_data-werks
       与lgort EQ @ it_data-lgort
       AND charg EQ @ it_data-charg。

   循环到it_data INTO DATA(ls_data)。
     清除ls_output。
     SHIFT ls_data-matnr左边删除为0。
     ls_output-matnr = ls_data-matnr。
     ls_output-werks = ls_data-werks。
     ls_output-lgort = ls_data-lgort。
     ls_output-charg = ls_data-charg。
     ls_output-hsdat = ls_data-hsdat。
     ls_output-vfdat = ls_data-vfdat。

     读取表lt_maktx参考到数据(ld_maktx)
       WITH KEY matnr = ls_data-matnr。
     如果sy-subrc = 0。
       ls_output-maktx = ld_maktx-> maktx。
     万一。

     读取表lt_mtart参考数据(ld_mtart)
       WITH KEY matnr = ls_data-matnr。
     如果sy-subrc = 0。
       ls_output-mtart = ld_mtart-> mtart。
     万一。

     读取表lt_qndat参考到数据(ld_qndat)
       WITH KEY matnr = ls_data-matnr
                charg = ls_data-charg。
     如果sy-subrc = 0。
       ls_output-qndat = ld_qndat-> qndat。
     万一。

     读取表lt_clabs参考数据(ld_clabs)
       WITH KEY matnr = ls_data-matnr
                werks = ls_data-werks
                lgort = ls_data-lgort
                charg = ls_data-charg。
     如果sy-subrc = 0。
       ls_output-clabs = ld_clabs-> clabs。
     万一。

     附加ls_output到it_output。
   结局。

   SORT it_output由matnr charg致敬lgort。
   从it_output中删除相邻的副本比较wrks lgort charg。
 ENDFORM。

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

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


大家好,

有人可以帮我提供我的代码吗? 我已经对其进行了调试,但似乎无法找到读取表未填充我的ALV报告的原因。 mtart,maktx和clabs列未填充。 任何帮助都将受到欢迎。

致谢。

 FORM set_data。
   选择matnr,werks,lgort,charg,vfdat,hsdat
     插入表@DATA(it_data)
     来自matdoc
     在@so_matnr中的matnr
       和在@so_werks中怪诞
       和lgort输入@so_lgort。
   检查sy-subrc = 0。

   SELECT Matnr,Maktx
     从MAkt到表@DATA(lt_maktx)
     对于@it_data中的所有条目
     matnr EQ @ it_data-matnr在哪里。

   SELECT Matnr,mtart
     从马拉
     插入表@DATA(lt_mtart)
     对于@it_data中的所有条目
     matnr EQ @ it_data-matnr在哪里。

   SELECT matnr,charg,qndat
     从mch1
     插入表@DATA(lt_qndat)
     对于@it_data中的所有条目
     在哪里matnr EQ @ it_data-matnr
       AND charg EQ @ it_data-charg。  "添加下一个检验日期

   SELECT matnr,werks,lgort,charg,clabs
     从mchb
     插入表@DATA(lt_clabs)
     对于@it_data中的所有条目
     在哪里matnr EQ @ it_data-matnr
       AND表示EQ @ it_data-werks
       与lgort EQ @ it_data-lgort
       AND charg EQ @ it_data-charg。

   循环到it_data INTO DATA(ls_data)。
     清除ls_output。
     SHIFT ls_data-matnr左边删除为0。
     ls_output-matnr = ls_data-matnr。
     ls_output-werks = ls_data-werks。
     ls_output-lgort = ls_data-lgort。
     ls_output-charg = ls_data-charg。
     ls_output-hsdat = ls_data-hsdat。
     ls_output-vfdat = ls_data-vfdat。

     读取表lt_maktx参考到数据(ld_maktx)
       WITH KEY matnr = ls_data-matnr。
     如果sy-subrc = 0。
       ls_output-maktx = ld_maktx-> maktx。
     万一。

     读取表lt_mtart参考数据(ld_mtart)
       WITH KEY matnr = ls_data-matnr。
     如果sy-subrc = 0。
       ls_output-mtart = ld_mtart-> mtart。
     万一。

     读取表lt_qndat参考到数据(ld_qndat)
       WITH KEY matnr = ls_data-matnr
                charg = ls_data-charg。
     如果sy-subrc = 0。
       ls_output-qndat = ld_qndat-> qndat。
     万一。

     读取表lt_clabs参考数据(ld_clabs)
       WITH KEY matnr = ls_data-matnr
                werks = ls_data-werks
                lgort = ls_data-lgort
                charg = ls_data-charg。
     如果sy-subrc = 0。
       ls_output-clabs = ld_clabs-> clabs。
     万一。

     附加ls_output到it_output。
   结局。

   SORT it_output由matnr charg致敬lgort。
   从it_output中删除相邻的副本比较wrks lgort charg。
 ENDFORM。
付费偷看设置
发送
2条回答
nice_wp
1楼 · 2020-08-13 16:19.采纳回答

错误是由于以下行引起的:

 SHIFT ls_data-matnr左删除领先'0'。

通常永远不需要。 前导零很重要,否则它将与表中的值不匹配。

Aaron 3364
2楼-- · 2020-08-13 16:20

非常感谢 Sandra Rossi 。 它为我完成了工作!

一周热门 更多>