ABAP Select data from SAP table DB2Q9ST into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP DB2Q9ST table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to DB2Q9ST. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the DB2Q9ST table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_DB2Q9ST TYPE STANDARD TABLE OF DB2Q9ST,
      WA_DB2Q9ST TYPE DB2Q9ST,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <DB2Q9ST> TYPE DB2Q9ST.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_DB2Q9ST.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM DB2Q9ST
  INTO TABLE IT_DB2Q9ST.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DB2Q9ST
*  INTO TABLE @DATA(IT_DB2Q9ST2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_DB2Q9ST INDEX 1 INTO DATA(WA_DB2Q9ST2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DB2Q9ST ASSIGNING <DB2Q9ST>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DB2Q9ST>-Q9STCTR0 = 1.
<DB2Q9ST>-Q9STCTR1 = 1.
<DB2Q9ST>-Q9STCTR2 = 1.
<DB2Q9ST>-Q9STCTR3 = 1.
<DB2Q9ST>-Q9STCTR4 = 1.
ENDLOOP.

LOOP AT IT_DB2Q9ST INTO WA_DB2Q9ST.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DB2Q9ST-Q9STCTR5, sy-vline,
WA_DB2Q9ST-Q9STCTR6, sy-vline,
WA_DB2Q9ST-Q9STCTR7, sy-vline,
WA_DB2Q9ST-Q9STCTR8, sy-vline,
WA_DB2Q9ST-Q9STCTR9, sy-vline,
WA_DB2Q9ST-Q9STCTRA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DB2Q9ST you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_DB2Q9ST TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_DB2Q9ST INTO WA_DB2Q9ST. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_DB2Q9ST_STR,
Q9STCTR0 TYPE STRING,
Q9STCTR1 TYPE STRING,
Q9STCTR2 TYPE STRING,
Q9STCTR3 TYPE STRING,
Q9STCTR4 TYPE STRING,
Q9STCTR5 TYPE STRING,
Q9STCTR6 TYPE STRING,
Q9STCTR7 TYPE STRING,
Q9STCTR8 TYPE STRING,
Q9STCTR9 TYPE STRING,
Q9STCTRA TYPE STRING,
Q9STCTRB TYPE STRING,
Q9STCTRC TYPE STRING,
Q9STCTRD TYPE STRING,
Q9STEROR TYPE STRING,
Q9STCTRE TYPE STRING,
Q9STCTRF TYPE STRING,
Q9STCTRG TYPE STRING,
Q9STCTRH TYPE STRING,
Q9STCTRI TYPE STRING,
Q9STCTRJ TYPE STRING,
Q9STCTRK TYPE STRING,
Q9STCTRL TYPE STRING,
Q9STCTRM TYPE STRING,
Q9STCTRN TYPE STRING,
Q9STCTRO TYPE STRING,
Q9STCTRP TYPE STRING,
Q9STCTRQ TYPE STRING,
Q9STCTRR TYPE STRING,
Q9STCTRS TYPE STRING,
Q9STCTRT TYPE STRING,
Q9STCTRU TYPE STRING,
Q9STCTRV TYPE STRING,
Q9STCTRW TYPE STRING,
Q9STCTRX TYPE STRING,
Q9STCTRY TYPE STRING,
Q9STCTRZ TYPE STRING,
Q9STCTX0 TYPE STRING,
Q9STCTX1 TYPE STRING,
Q9STCTX2 TYPE STRING,
Q9STCTX3 TYPE STRING,
Q9STIX01 TYPE STRING,
Q9STIX02 TYPE STRING,
Q9STIX03 TYPE STRING,
Q9STIX04 TYPE STRING,
Q9STIX05 TYPE STRING,
Q9STIX06 TYPE STRING,
Q9STIX07 TYPE STRING,
Q9STIX08 TYPE STRING,
Q9STIX09 TYPE STRING,
Q9STIX10 TYPE STRING,
Q9STIX11 TYPE STRING,
Q9STIX12 TYPE STRING,
Q9STIX13 TYPE STRING,
Q9STIX14 TYPE STRING,
Q9STIX15 TYPE STRING,
Q9STIX16 TYPE STRING,
Q9STIX17 TYPE STRING,
Q9STIX18 TYPE STRING,
Q9STIX19 TYPE STRING,
Q9STIX20 TYPE STRING,
Q9STIX21 TYPE STRING,
Q9STIX22 TYPE STRING,
Q9STIX23 TYPE STRING,
Q9STIX24 TYPE STRING,
Q9STIX25 TYPE STRING,
Q9STIX26 TYPE STRING,
Q9STIX27 TYPE STRING,
Q9STIX28 TYPE STRING,
Q9STIX29 TYPE STRING,
Q9STIX30 TYPE STRING,
Q9STIX31 TYPE STRING,
Q9STIX32 TYPE STRING,
Q9STIX33 TYPE STRING,
Q9STIX34 TYPE STRING,
Q9STIX35 TYPE STRING,
Q9STIX36 TYPE STRING,END OF T_EKKO_STR. DATA: WA_DB2Q9ST_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_DB2Q9ST_STR-Q9STCTR0 sy-vline
WA_DB2Q9ST_STR-Q9STCTR1 sy-vline
WA_DB2Q9ST_STR-Q9STCTR2 sy-vline
WA_DB2Q9ST_STR-Q9STCTR3 sy-vline
WA_DB2Q9ST_STR-Q9STCTR4 sy-vline
WA_DB2Q9ST_STR-Q9STCTR5 sy-vline
WA_DB2Q9ST_STR-Q9STCTR6 sy-vline
WA_DB2Q9ST_STR-Q9STCTR7 sy-vline
WA_DB2Q9ST_STR-Q9STCTR8 sy-vline
WA_DB2Q9ST_STR-Q9STCTR9 sy-vline
WA_DB2Q9ST_STR-Q9STCTRA sy-vline
WA_DB2Q9ST_STR-Q9STCTRB sy-vline
WA_DB2Q9ST_STR-Q9STCTRC sy-vline
WA_DB2Q9ST_STR-Q9STCTRD sy-vline
WA_DB2Q9ST_STR-Q9STEROR sy-vline
WA_DB2Q9ST_STR-Q9STCTRE sy-vline
WA_DB2Q9ST_STR-Q9STCTRF sy-vline
WA_DB2Q9ST_STR-Q9STCTRG sy-vline
WA_DB2Q9ST_STR-Q9STCTRH sy-vline
WA_DB2Q9ST_STR-Q9STCTRI sy-vline
WA_DB2Q9ST_STR-Q9STCTRJ sy-vline
WA_DB2Q9ST_STR-Q9STCTRK sy-vline
WA_DB2Q9ST_STR-Q9STCTRL sy-vline
WA_DB2Q9ST_STR-Q9STCTRM sy-vline
WA_DB2Q9ST_STR-Q9STCTRN sy-vline
WA_DB2Q9ST_STR-Q9STCTRO sy-vline
WA_DB2Q9ST_STR-Q9STCTRP sy-vline
WA_DB2Q9ST_STR-Q9STCTRQ sy-vline
WA_DB2Q9ST_STR-Q9STCTRR sy-vline
WA_DB2Q9ST_STR-Q9STCTRS sy-vline
WA_DB2Q9ST_STR-Q9STCTRT sy-vline
WA_DB2Q9ST_STR-Q9STCTRU sy-vline
WA_DB2Q9ST_STR-Q9STCTRV sy-vline
WA_DB2Q9ST_STR-Q9STCTRW sy-vline
WA_DB2Q9ST_STR-Q9STCTRX sy-vline
WA_DB2Q9ST_STR-Q9STCTRY sy-vline
WA_DB2Q9ST_STR-Q9STCTRZ sy-vline
WA_DB2Q9ST_STR-Q9STCTX0 sy-vline
WA_DB2Q9ST_STR-Q9STCTX1 sy-vline
WA_DB2Q9ST_STR-Q9STCTX2 sy-vline
WA_DB2Q9ST_STR-Q9STCTX3 sy-vline
WA_DB2Q9ST_STR-Q9STIX01 sy-vline
WA_DB2Q9ST_STR-Q9STIX02 sy-vline
WA_DB2Q9ST_STR-Q9STIX03 sy-vline
WA_DB2Q9ST_STR-Q9STIX04 sy-vline
WA_DB2Q9ST_STR-Q9STIX05 sy-vline
WA_DB2Q9ST_STR-Q9STIX06 sy-vline
WA_DB2Q9ST_STR-Q9STIX07 sy-vline
WA_DB2Q9ST_STR-Q9STIX08 sy-vline
WA_DB2Q9ST_STR-Q9STIX09 sy-vline
WA_DB2Q9ST_STR-Q9STIX10 sy-vline
WA_DB2Q9ST_STR-Q9STIX11 sy-vline
WA_DB2Q9ST_STR-Q9STIX12 sy-vline
WA_DB2Q9ST_STR-Q9STIX13 sy-vline
WA_DB2Q9ST_STR-Q9STIX14 sy-vline
WA_DB2Q9ST_STR-Q9STIX15 sy-vline
WA_DB2Q9ST_STR-Q9STIX16 sy-vline
WA_DB2Q9ST_STR-Q9STIX17 sy-vline
WA_DB2Q9ST_STR-Q9STIX18 sy-vline
WA_DB2Q9ST_STR-Q9STIX19 sy-vline
WA_DB2Q9ST_STR-Q9STIX20 sy-vline
WA_DB2Q9ST_STR-Q9STIX21 sy-vline
WA_DB2Q9ST_STR-Q9STIX22 sy-vline
WA_DB2Q9ST_STR-Q9STIX23 sy-vline
WA_DB2Q9ST_STR-Q9STIX24 sy-vline
WA_DB2Q9ST_STR-Q9STIX25 sy-vline
WA_DB2Q9ST_STR-Q9STIX26 sy-vline
WA_DB2Q9ST_STR-Q9STIX27 sy-vline
WA_DB2Q9ST_STR-Q9STIX28 sy-vline
WA_DB2Q9ST_STR-Q9STIX29 sy-vline
WA_DB2Q9ST_STR-Q9STIX30 sy-vline
WA_DB2Q9ST_STR-Q9STIX31 sy-vline
WA_DB2Q9ST_STR-Q9STIX32 sy-vline
WA_DB2Q9ST_STR-Q9STIX33 sy-vline
WA_DB2Q9ST_STR-Q9STIX34 sy-vline
WA_DB2Q9ST_STR-Q9STIX35 sy-vline
WA_DB2Q9ST_STR-Q9STIX36 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.