SAP abap开发现在有一张内表ITAB里面有两个字段A和B数据如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP abap开发现在有一张内表ITAB里面有两个字段A和B数据如下:相关的知识,希望对你有一定的参考价值。

现在我要循环内表ITAB把表中B字段下面的数据组合成一个自己定义的ITAB2这张内表中的新字段ITAB2-zhsj1 = 'w1/w2/w3/w4'来显示循环组合应该怎么去写?
我需要把ITAB中的字段B这一列循环读取出来,然后组成一个新的字段。这个字段包含B的所有值例:w1/w2/w3/w4,中间用/号来隔开。

参考技术A data: l_lines type i,"存放内表ITAB的记录数
l_times type i."当前循环的次数
Describe ITAB Lines l_lines."获取内表ITAB的记录数
Loop at ITAB into Wa.
l_times = l_times + 1."循环次数加1
IF l_times = 1."第一次循环,Wa2-zhsj1为空
Concatenate Wa-B '/' into Wa2-zhsj1.
ELSEIF l_times = l_lines."如果当前循环的次数等于内表ITAB的记录数
Concatenate Wa2-zhsj1 Wa-B into Wa2-zhsj1."则不需要加‘/’
ELSE.
Concatenate Wa2-zhsj1 '/' Wa-B Into Wa2-zhsj1."否则,要添加‘/’
ENDIF.
Endloop.
Append Wa2 to ITAB2.
参考技术B LOOP AT ITAB INTO WA
WA2-ZHSJ1 = WA-B
APPEND WA2 TO ITAB2
ENDLOOP.

没怎么明白你的意思
循环ITAB到工作区,然后将工作区对应字段再付给与ITAB2对应的工作区WA2,
最后把WA2弄到ITAB2里本回答被提问者和网友采纳
参考技术C data: str(20) type c.
loop at itab.
CONCATENATE str ITAB-B INTO str SEPARATED BY '/'
endloop.

itab2-zhsj1 = str.
append itab2.
参考技术D 思路是先对itab-B循环取数,然后用concatenate语句将所有取出来的值放入你所定义的新字段中(这一步操作可以结合在对itab进行每一次循环的过程中) 第5个回答  2013-04-03 LOOP AT ITAB INTO WA_ITAB.
CONCATENATE ITAB2-zhsj1 WA_ITAB-B INTO ITAB2-zhsj1 SEPARATED BY '/'.
*----- 要不要APPEND ITAB2看你需求

ENDLOOP.

以上是关于SAP abap开发现在有一张内表ITAB里面有两个字段A和B数据如下:的主要内容,如果未能解决你的问题,请参考以下文章

abap 怎样使两张内表合成一个内表

ABAP中clearrefreshfree三者清空内表的区别

sap/abap smartforms中流水号的打印问题

abap动态内表获取字段名

SAP 系统 发布service

XML文件和ABAP内表数据的相互转换(基础篇)