ABAP OPENSQL 多表查询新语法 运行时声明变量

本文介绍了如何在ABAP编程中利用新语法进行报表开发,通过内联JOIN和运行时声明的变量,显著减少了工作量。重点讲解了JOIN语句的使用和如何处理变量在SELECT语句中的应用。

何喜同学之前给我说,新语法、新语法、新语法。。。

今天开发一个ABAP报表用上了,很方便啊,节省了很多工作量。

就是这个:

 SELECT DISTINCT T0~AUFNR,T0~GSTRI, T0~GLTRI, T0~FTRMI, T0~PLNBEZ, T2~MAKTX, T0~GAMNG

 FROM AFKO AS T0 INNER JOIN AFPO AS T1
 ON T0~AUFNR = T1~AUFNR
 INNER JOIN MAKT AS T2
 ON T0~PLNBEZ = T2~MATNR and T2~SPRAS = '1'

 WHERE T1~dwerk in @r_dwerk and
       T0~aufnr in @r_aufnr and
       T0~plnbez in @r_plnbez and
       T0~gstri in @r_gstri and
       T0~gltri in @r_gltri and
       T0~ftrmi in @r_ftrmi

INTO table @DATA(GT_AFKO).


clear r_aufnr.
data: rs_aufnr like line  of r_aufnr.

注意:

1、INTO table @DATA(GT_AFKO)  一定要写到最后。

2、in 后面要用@

3、select 字段和字段中间有了,逗号。

4、后面怎么用这个 运行时声明的变量呢?



"得到订单号

LOOP AT GT_AFKO INTO DATA(GS_AFKO).

  RS_AUFNR-SIGN   = 'I'.
  RS_AUFNR-OPTION = 'EQ'.
  RS_AUFNR-LOW = GS_AFKO-AUFNR.
  APPEND RS_AUFNR TO R_AUFNR.

ENDLOOP.

-------抓单个字段-----------------------------

  SELECT SINGLE ZUSERNAME
      FROM ZTPPU0059
      WHERE ZUSERNAME = @SY-UNAME
      INTO @DATA(GV_ZUSER) .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值