作业帮 > 综合 > 作业

ABAP SAP 如何将一个内表中的某一行分配给一个field-symbol

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 14:41:34
ABAP SAP 如何将一个内表中的某一行分配给一个field-symbol
一个内表itab1(没有表头)有n行m列 我想找出重复的行 (并非完全相同的行,而是其中有某两列相同就算其重复)
我不想loop里面套loop这样太慢了
我准备用field-symbol.我设了两个field symbol 分别为和,然后:
loop at itab assigning .
和指向同一行 *
while 指向的不是itab的最后一行时 *
指当前所指的下一行.*
if 和中的某两项相同.将和移到另外一个内表itab2.endif.
endwhile.
endloop.
我感觉这样应该比用两个loop会快一些吧?
其中打星号的这几个语句我不知道怎么写,在abap里能实现吗?
或者有没有别的更好的办法?
1 你的思路不对.
2 loop里面嵌套loop未必慢,n小于10万的时候,性能差异可以不用考虑.
3 不用解决你的需求更简单~
^_^
再问: loop套loop我已经写出来了,我以为用fs会快一些所以想试试看 那什么情况下用fs快呢?
再答: loop + modify 时候用 可以省去modify动作,稍微快点。 用 不都是为了快的,更多的时候是为了简化代码,来实现一些“复杂”“重复性高”“动态编程”的需求的。 常见的应用,我列几个吧,我能想到的。 动态定义内表(比如不固定列数的ALV),动态的参数类型(程序运行时候才能确定具体type),矩阵转置(行列互转),增强的时候读取非传入传出参数的值(直接从内存读取)。