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,中间用/号来隔开。
展开
 我来答
素净还帅气丶超人f79
2013-04-02 · TA获得超过338个赞
知道小有建树答主
回答量:185
采纳率:75%
帮助的人:75.8万
展开全部
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.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
d7pp
2013-04-01 · TA获得超过2268个赞
知道大有可为答主
回答量:2942
采纳率:0%
帮助的人:2537万
展开全部
LOOP AT ITAB INTO WA
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.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuchaochao1516
2013-04-02 · TA获得超过237个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:117万
展开全部
思路是先对itab-B循环取数,然后用concatenate语句将所有取出来的值放入你所定义的新字段中(这一步操作可以结合在对itab进行每一次循环的过程中)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忽悠可耻
2013-04-03 · TA获得超过354个赞
知道答主
回答量:55
采纳率:0%
帮助的人:29.1万
展开全部
LOOP AT ITAB INTO WA_ITAB.
CONCATENATE ITAB2-zhsj1 WA_ITAB-B INTO ITAB2-zhsj1 SEPARATED BY '/'.
*----- 要不要APPEND ITAB2看你需求

ENDLOOP.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式