ABAP——查询

1、日期和时间是两个字段,比如要查询 2020/10/28 08:40:00到 2020/10/28 17:02:00的数据

DATA: lt_data  TYPE TABLE OF cdhdr.

SELECT * FROM cdhdr
WHERE CAST( concat( udate,utime ) AS NUMC( 14 ) ) > '20201028084000'
AND CAST( concat( udate,utime ) AS NUMC( 14 ) ) < '20201028170200'
INTO TABLE @lt_data.

 

2、两个字段拼接成一个字段放入内表栏位

TYPES: BEGIN OF ty_po,
  aufnr TYPE c LENGTH 16,
  END OF ty_po.

DATA: lt_po TYPE TABLE OF ty_po.

SELECT CAST( concat( auart,aufnr ) AS CHAR( 16 ) ) AS aufnr
       FROM aufk
       WHERE aufnr = '000020000001'
       INTO TABLE @lt_po.

 

3、多表关联,要1个表的全部字段数据

DATA: lt_plpo TYPE TABLE OF plpo,
      l_werks TYPE werks_d VALUE '2000'.

SELECT plpo~* INTO CORRESPONDING FIELDS OF TABLE @lt_plpo
           FROM plpo
           INNER JOIN mapl ON mapl~plnnr = plpo~plnnr
           INNER JOIN plko ON plko~plnnr = plpo~plnnr
           INNER JOIN plas ON plas~plnnr = plpo~plnnr
           AND plpo~plnkn = plas~plnkn
           AND plpo~zaehl = plas~zaehl
           WHERE mapl~werks = @l_werks
           AND mapl~loekz = ''
           AND mapl~plnty = 'N'
           AND plko~loekz = ''
           AND plko~verwe = '1'
           AND plas~loekz NE 'X'
           AND plas~plnty = 'N'.

 

4、查询字段截取和where条件字段截取

TYPES: BEGIN OF ty_po,
  aufnr TYPE aufnr,
  END OF ty_po.

DATA: lt_po TYPE TABLE OF ty_po,
      lt_po2 TYPE TABLE OF ty_po.

SELECT substring( aufnr,5,8 ) AS aufnr
       FROM aufk
       WHERE aufnr = '000020000001'
       INTO TABLE @lt_po.

SELECT aufnr FROM aufk
       WHERE substring( aufnr,5,8 ) = '20000001'
       INTO TABLE @lt_po2.

 

posted @ 2020-11-06 08:26  鲸与海  阅读(788)  评论(0编辑  收藏  举报