gpt4 book ai didi

abap - 将 ABAP 内部表拆分为更小部分的最短符号

转载 作者:行者123 更新时间:2023-12-04 16:03:21 27 4
gpt4 key购买 nike

在 ABAP 中,我有一个非常大的内部表,比如 31,000 行。将其拆分为固定大小的多个较小表(比如每个表 1,000 行)的最短且最有效的方法是什么?

天真的方式是:

DATA lt_next_package TYPE tt_table_type.
LOOP AT it_large_table INTO DATA(ls_row).
INSERT ls_row INTO TABLE lt_next_package.
IF lines( lt_next_package ) >= lc_package_size.
INSERT lt_next_package INTO TABLE rt_result.
CLEAR lt_next_package.
ENDIF.
ENDLOOP.
IF lt_next_package IS NOT INITIAL.
INSERT lt_next_packge INTO TABLE rt_result.
ENDIF.

这行得通而且效率很高,但看起来很麻烦,尤其是。最后的不要忘记最后一个包部分。我相信一定有更好的方法来使用更新的 ABAP 网格路径和表表达式来执行此操作,但到目前为止还没有想出一个。

最佳答案

我不确定是否有正确的方法来做到这一点(当然,有几种方法可以做到),但你可以尝试这个来克服最后一个包问题:

WHILE it_large_table IS NOT INITIAL.
LOOP AT it_large_table ASSIGNING FIELD-SYMBOL(<ls_line>) FROM 1 TO 1000.
INSERT <ls_line> INTO TABLE lt_next_package.
ENDLOOP.
DELETE it_large_table FROM 1 TO 1000.
INSERT lt_next_package INTO TABLE rt_table.
CLEAR: lt_next_package.
ENDWHILE.

关于abap - 将 ABAP 内部表拆分为更小部分的最短符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com