SAP abap开发现在有一张内表ITAB里面有两个字段A和B数据如下:
现在我要循环内表ITAB把表中B字段下面的数据组合成一个自己定义的ITAB2这张内表中的新字段ITAB2-zhsj1='w1/w2/w3/w4'来显示循环组合应该怎么去写...
现在我要循环内表ITAB把表中B字段下面的数据组合成一个自己定义的ITAB2这张内表中的新字段ITAB2-zhsj1 = 'w1/w2/w3/w4'来显示循环组合应该怎么去写?
我需要把ITAB中的字段B这一列循环读取出来,然后组成一个新的字段。这个字段包含B的所有值例:w1/w2/w3/w4,中间用/号来隔开。 展开
我需要把ITAB中的字段B这一列循环读取出来,然后组成一个新的字段。这个字段包含B的所有值例:w1/w2/w3/w4,中间用/号来隔开。 展开
7个回答
展开全部
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.
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.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LOOP AT ITAB INTO WA
WA2-ZHSJ1 = WA-B
APPEND WA2 TO ITAB2
ENDLOOP.
没怎么明白你的意思
循环ITAB到工作区,然后将工作区对应字段再付给与ITAB2对应的工作区WA2,
最后把WA2弄到ITAB2里
WA2-ZHSJ1 = WA-B
APPEND WA2 TO ITAB2
ENDLOOP.
没怎么明白你的意思
循环ITAB到工作区,然后将工作区对应字段再付给与ITAB2对应的工作区WA2,
最后把WA2弄到ITAB2里
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-12
展开全部
data: str(20) type c.
loop at itab.
CONCATENATE str ITAB-B INTO str SEPARATED BY '/'
endloop.
itab2-zhsj1 = str.
append itab2.
loop at itab.
CONCATENATE str ITAB-B INTO str SEPARATED BY '/'
endloop.
itab2-zhsj1 = str.
append itab2.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路是先对itab-B循环取数,然后用concatenate语句将所有取出来的值放入你所定义的新字段中(这一步操作可以结合在对itab进行每一次循环的过程中)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LOOP AT ITAB INTO WA_ITAB.
CONCATENATE ITAB2-zhsj1 WA_ITAB-B INTO ITAB2-zhsj1 SEPARATED BY '/'.
*----- 要不要APPEND ITAB2看你需求
ENDLOOP.
CONCATENATE ITAB2-zhsj1 WA_ITAB-B INTO ITAB2-zhsj1 SEPARATED BY '/'.
*----- 要不要APPEND ITAB2看你需求
ENDLOOP.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询