2020-09-27 00:48发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们。 我的内部表gt_ma... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们。
我的内部表gt_mara中有一组文章。 我想根据BUDAT(输入日期)从MSEG表中选择最近的两条数据记录,以确保GT_mara的所有条目具有良好的性能。
我可以使用MAX函数。 但是会返回单条记录。 但是我需要两个。
致谢
shefeek m k
感谢您的回答。.仍然让我感到困惑,该怎么办..让我提供我的代码,我如何处理..请检查并给我更多性能的方法。 期望GT_mara是15000条记录,并且mseg中的每种材料都得到20000条记录。
--->首先选择mseg数据。
SELECT matnr bwart werks lgort umwrk shkzg budat_mkpf ebeln lifnr
从mseg到表gt_mseg中,用于gt_mara中的所有条目
matnr EQ gt_mara-matnr在哪里,并在so_werks和
bwart EQ'101'和lifnr NE空间。
----->选择最新的两个记录以进行比较。 如果相同的第一条记录更新为" SAME",则
----->如果不同,则将其更新为" DIFF"。 最后保留获得"相同"的记录。 删除其余全部。
排序gt_mseg由matnr budat降序。
清除lwa_mseg。
将gt_mseg循环播放到INTO gwa_mseg中。
lv_tabix = sy-tabix。
lwa_mseg_tmp = gwa_mseg。
在新的matnr。
lwa_mseg = lwa_mseg_tmp。
lv_count = 1。
gwa_mseg-compr ='SAME'。
从gwa_mseg修改gt_mseg索引lv_tabix TRANSPORTING compr。
ENDAT。
如果gwa_mseg-matnr = lwa_mseg-matnr。
如果lv_count =2。
如果lwa_mseg-umwrk = gwa_mseg-umwrk。
清除lv_count。
继续。
其他。
gwa_mseg-compr ='DIFF'。
lv_tabix = lv_tabix-1.
从gwa_mseg索引lv_tabix TRANSPORTING编译器修改gt_mseg。
ENDIF。
如果lv_count = 1。
lv_count = 2。
ENDLOOP。
删除gt_mseg WHERE编译器<>'SAME'。
最多设置5个标签!
感谢您的回答。.仍然让我感到困惑,该怎么办..让我提供我的代码,我如何处理..请检查并给我更多性能的方法。 期望GT_mara是15000条记录,并且mseg中的每种材料都得到20000条记录。
--->首先选择mseg数据。
SELECT matnr bwart werks lgort umwrk shkzg budat_mkpf ebeln lifnr
从mseg到表gt_mseg中,用于gt_mara中的所有条目
matnr EQ gt_mara-matnr在哪里,并在so_werks和
中出现bwart EQ'101'和lifnr NE空间。
----->选择最新的两个记录以进行比较。 如果相同的第一条记录更新为" SAME",则
----->如果不同,则将其更新为" DIFF"。 最后保留获得"相同"的记录。 删除其余全部。
排序gt_mseg由matnr budat降序。
清除lwa_mseg。
将gt_mseg循环播放到INTO gwa_mseg中。
lv_tabix = sy-tabix。
lwa_mseg_tmp = gwa_mseg。
在新的matnr。
lwa_mseg = lwa_mseg_tmp。
lv_count = 1。
gwa_mseg-compr ='SAME'。
从gwa_mseg修改gt_mseg索引lv_tabix TRANSPORTING compr。
ENDAT。
如果gwa_mseg-matnr = lwa_mseg-matnr。
如果lv_count =2。
如果lwa_mseg-umwrk = gwa_mseg-umwrk。
清除lv_count。
继续。
其他。
gwa_mseg-compr ='DIFF'。
lv_tabix = lv_tabix-1.
从gwa_mseg索引lv_tabix TRANSPORTING编译器修改gt_mseg。
清除lv_count。
继续。
ENDIF。
ENDIF。
如果lv_count = 1。
lv_count = 2。
ENDIF。
ENDIF。
ENDLOOP。
删除gt_mseg WHERE编译器<>'SAME'。
一周热门 更多>