sap 关联内表的操作,不用inner join

新手,现在要对BKPF和BSID做关联,然后报表显示companycodepostingdate和customernumber。老师不让用join来关联,说要用loop来... 新手,现在要对BKPF和BSID做关联,然后报表显示company code posting date和customer number。老师不让用join来关联,说要用loop来实现,这怎么写。急~在线等 展开
 我来答
若以下回答无法解决问题,邀请你更新回答
素净还帅气丶超人f79
2014-12-15
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
需求不明确
更多追问追答
追问
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.
以上是我的想法,不知道是不是你想要的,也不知道为什么你的老师会给你们这种练习,谢谢!(字数超标,我把定义的内容去掉了)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式