Sei sulla pagina 1di 2

SELECT command - Example ABAP code to demonstrate the SELECT command

The select command is the most fundamental function of writing ABAP programs all
owing the retrieval of data from SAP database tables. Below are a few examples o
f the various ways of selecting data.
*Code to demonstrate select command
*Code to demonstrate select into internal table command
TYPES: BEGIN OF t_bkpf,
* include structure bkpf.
bukrs LIKE bkpf-bukrs,
belnr LIKE bkpf-belnr,
gjahr LIKE bkpf-gjahr,
bldat LIKE bkpf-bldat,
monat LIKE bkpf-monat,
budat LIKE bkpf-budat,
xblnr LIKE bkpf-xblnr,
awtyp LIKE bkpf-awtyp,
awkey LIKE bkpf-awkey,
END OF t_bkpf.
DATA: it_bkpf TYPE STANDARD TABLE OF t_bkpf INITIAL SIZE 0,
wa_bkpf TYPE t_bkpf.
TYPES: BEGIN OF t_bseg,
*include structure bseg.
bukrs
LIKE bseg-bukrs,
belnr
LIKE bseg-belnr,
gjahr
LIKE bseg-gjahr,
buzei
LIKE bseg-buzei,
mwskz
LIKE bseg-mwskz,
umsks
LIKE bseg-umsks,
prctr
LIKE bseg-prctr,
hkont
LIKE bseg-hkont,
xauto
LIKE bseg-xauto,
koart
LIKE bseg-koart,
dmbtr
LIKE bseg-dmbtr,
mwart
LIKE bseg-mwart,
hwbas
LIKE bseg-hwbas,
aufnr
LIKE bseg-aufnr,
projk
LIKE bseg-projk,
shkzg
LIKE bseg-shkzg,
kokrs
LIKE bseg-kokrs,
END OF t_bseg.
DATA: it_bseg TYPE STANDARD TABLE OF
wa_bseg TYPE t_bseg.

"Tax code
"Special G/L transaction type
"Profit Centre
"G/L account

t_bseg INITIAL SIZE 0,

DATA: it_ekko TYPE STANDARD TABLE OF ekko.


*Select all fields of a SAP database table into in itab
SELECT *
FROM ekko
INTO TABLE it_ekko.
*Select directly into an internal table
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs

FROM bseg
INTO TABLE it_bseg.
* Select directly into an internal table where fields are in a
* different order or not all fields are specified
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg.
*Select... endselect command
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO wa_bseg.
APPEND wa_bseg TO it_bseg.
ENDSELECT.
*Select FOR ALL ENTRIES command
SELECT bukrs belnr gjahr bldat monat budat xblnr awtyp awkey
UP TO 100 ROWS
FROM bkpf
INTO TABLE it_bkpf.
IF sy-subrc EQ 0.
* The FOR ALL ENTRIES comand only retrieves data which matches
* entries within a particular internal table.
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs EQ it_bkpf-bukrs AND
belnr EQ it_bkpf-belnr AND
gjahr EQ it_bkpf-gjahr.
ENDIF.

Potrebbero piacerti anche