关于ABAP编程,同样物料对应的不同外部物料组显示问题 50
物料号外部物料组10000012103801000001223115100000121458910000015103801000001515897100015882323...
物料号 外部物料组
10000012 10380
10000012 23115
10000012 14589
10000015 10380
10000015 15897
10001588 23231
┋ ┋
========================想要显示成
物料号 外部物料组
10000012 10380\\23115\\14589
10000015 10380\\15897
10001588 23231
┋ ┋
========================
怎么样将同一个物料号对应的不同物料组写到同一个单元格里
PS:系统里物料对应的外部物料组的数量都不清楚,可能一个物料号对一个外部物料组,也可能对应多个
求大神们来帮忙~~~多谢!
====================
有没有可能用ALV来完成? 展开
10000012 10380
10000012 23115
10000012 14589
10000015 10380
10000015 15897
10001588 23231
┋ ┋
========================想要显示成
物料号 外部物料组
10000012 10380\\23115\\14589
10000015 10380\\15897
10001588 23231
┋ ┋
========================
怎么样将同一个物料号对应的不同物料组写到同一个单元格里
PS:系统里物料对应的外部物料组的数量都不清楚,可能一个物料号对一个外部物料组,也可能对应多个
求大神们来帮忙~~~多谢!
====================
有没有可能用ALV来完成? 展开
3个回答
展开全部
我给你一个大致的思路吧!
首先查询相关数据存入内表itab(以matnr为key)中:(数据具体来源表你自己对着改)
select mara~matnr ”物料号
mara~matkl “物料组
into table itab
from mara
where .......
group by matnr matkl.
然后按照物料组和物料号对其排序:
sort itab by matnr,matkl.
最后就是输出itab表内的数据:
先定义和itab表相同结构的内表itab1,
append itab to itab1.
loop at itab.
先输出此条记录内的物料号,物料组,
write:/ sy-vline, (10) itab-matnr,
sy-vline, (10) itab-matkl.
loop at itab1.
if itab-matnr = itab1-matnr and itab-matkl NE itab1-matkl. "如果物料号相同,物料组不相同,
就将itab-matkl写出
write:sy-vline,(10)itab1-matkl."这样的话相同物料号对应的不同物料组就继续接着后面输出,当全部查询完毕时,会跳出循环,换行,这样当下一个物料号被输出时,其对应的物料组则会在相同行输出。
endif.
endloop.
endloop.
我的大体想法是这样,不知道能不能行
首先查询相关数据存入内表itab(以matnr为key)中:(数据具体来源表你自己对着改)
select mara~matnr ”物料号
mara~matkl “物料组
into table itab
from mara
where .......
group by matnr matkl.
然后按照物料组和物料号对其排序:
sort itab by matnr,matkl.
最后就是输出itab表内的数据:
先定义和itab表相同结构的内表itab1,
append itab to itab1.
loop at itab.
先输出此条记录内的物料号,物料组,
write:/ sy-vline, (10) itab-matnr,
sy-vline, (10) itab-matkl.
loop at itab1.
if itab-matnr = itab1-matnr and itab-matkl NE itab1-matkl. "如果物料号相同,物料组不相同,
就将itab-matkl写出
write:sy-vline,(10)itab1-matkl."这样的话相同物料号对应的不同物料组就继续接着后面输出,当全部查询完毕时,会跳出循环,换行,这样当下一个物料号被输出时,其对应的物料组则会在相同行输出。
endif.
endloop.
endloop.
我的大体想法是这样,不知道能不能行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环内表的时候用AT NEW就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询