一次性删除SAP Dynamic内部表行的任何选项,而不是循环/索引

2020-09-04 03:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个下面的代码,它需要超过1...

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

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


我有一个下面的代码,它需要超过1200万毫秒的时间来执行,

这是在用户命令处触发的,例如,用户选择第一级输出的所有记录(约30万条记录)以获取下一级的向下钻取报告,

A。 在按用户选择所有行的过程中,动态内部表的记录几乎少于300k,其中字段" BOX"标记为用户在第一个输出中选择的那些行的" X"

B。 然后程序选择动态内部表()与另一个标准内部表(GT_BSIS)进行比较(在动态内部表中标记为" X")的记录,该标准内部表的记录略多于300K,正在考虑(检查)另一个字段值(清除) 两个表的键值都应该相同,可以为1:N)

C。 然后将这些通用记录插入到第三标准内部表(GT_L2_DISP)中以进行进一步处理/显示,

分配上的环。 结构的
在gt_bsis上循环,其中clearing_key =
移动gt_bsisTO到gt_l2_disp。 br> ENDLOOP。

我希望我们有一个将动态内部表转换为标准内部表的简单解决方案,

那么提议的解决方案应该是:

1。 将动态内部表转换为标准内部表,例如OI_STD_TAB,

2。 从OI_STD_TAB删除记录,其中字段'BOX'<>'X',

3。 比较OI_STD_TAB的Clearing_key值,从GT_BSIS中删除记录,

4。 将余额记录从GT_BSIS(删除后)移至GT_L2_DISP,

感谢您的建议,