sap 关联内表的操作,不用inner join
新手,现在要对BKPF和BSID做关联,然后报表显示companycodepostingdate和customernumber。老师不让用join来关联,说要用loop来...
新手,现在要对BKPF和BSID做关联,然后报表显示company code posting date和customer number。老师不让用join来关联,说要用loop来实现,这怎么写。急~在线等
展开
若以下回答无法解决问题,邀请你更新回答
展开全部
需求不明确
更多追问追答
追问
BKPF:
BUKRS
GJAHR
BUDAT
BSID:
BUKRS
KUNNR
GJAHR
BUDAT
DMBTR
REPORT:要BSID的5个字段,要将BKPF与BSID关联筛选。不要用select ....join这种
形式,要用Loop at table ....where之类的完成这种功能。而且将筛选出的字段放到第三种内表中去。
追答
data: lt_bkpf type standard table of ls_bkpf, "存放 bkpf 数据的内表
lt_bsid type standard table of ls_bsid, "存放 bsid 数据的内表
lt_out type standard table of ls_bsid. "最终输出数据的内表
data: lw_out type ls_bsid,
lw_bsid type ls_bsid,
lw_bkpf type ls_bkpf.
"从表 bkpf 中获取数据
select bukrs
belnr
gjahr
budat
into table lt_bkpf
from bkpf
where 条件.
"从表 bsid 中获取数据
select bukrs
kunnr
gjahr
belnr
budat
dmbtr
into table lt_bsid
from bsid
where 条件.
"最终输出
loop at lt_bsid into lw_bsid.
clear lw_out.
loop at lt_bkpf into lw_bkpf where bukrs = lw_bsid-bukrs
and belnr = lw_bsid-belnr
and gjahr = lw_bsid-gjahr
and budat = lw_bsid-budat.
append lw_out to lt_out.
endloop.
endloop.
以上是我的想法,不知道是不是你想要的,也不知道为什么你的老师会给你们这种练习,谢谢!(字数超标,我把定义的内容去掉了)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询