作业帮 > 综合 > 作业

abap中,在做loop动作时,如果tab-a相同,tab-b不同,则把tab-a对应的tab-b所有值作为参数传给函数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/15 00:59:29
abap中,在做loop动作时,如果tab-a相同,tab-b不同,则把tab-a对应的tab-b所有值作为参数传给函数.
比如:
tab-a tab-b
10001 10
10001 20
10002 10
在做loop动作时,需要把10,20赋给tab-b,10001赋给tab-a,而不是一条一条地赋值,
tab-a tab-b
10001 10
10001 20
10002 10
DATA :LS_TAB LIKE LINE TAB .
DATA :LT_TAB LIKE TAB .
LOOP AT TAB INTO LS_TAB .
APPEND LS_TAB TO LT_TAB[] .
AT END OF A .
* PERFORM SUB_xxxx TABLES LT_TAB[] .
CLEAR LT_TAB[] .
END AT .
CLEAR LS_TAB .
ENDLOOP.
方法很多,可以向上面那样使用at end a
也可以在做一个临时的内表,拷贝后,按照a排序
然后delete adjacent duplicate LT_TAB comparing a .
然后循环这个内表读取原来的内表,说多了就罗嗦了,相信你能明白!