SELECT command - Example ABAP code to demonstrate the SELECT command
SELECT command - Example ABAP code to demonstrate the SELECT command
The select command is the most fundamental function of writing ABAP programs allowing the retrieval of data from SAP database tables. Below are a few examples of 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, "Tax code umsks LIKE bseg-umsks, "Special G/L transaction type prctr LIKE bseg-prctr, "Profit Centre hkont LIKE bseg-hkont, "G/L account 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 t_bseg INITIAL SIZE 0, wa_bseg TYPE t_bseg. *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.