ABAP Select data from SAP table DB2QTHDTM 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 DB2QTHDTM 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 DB2QTHDTM. 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 DB2QTHDTM 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_DB2QTHDTM TYPE STANDARD TABLE OF DB2QTHDTM,
      WA_DB2QTHDTM TYPE DB2QTHDTM,
      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: <DB2QTHDTM> TYPE DB2QTHDTM.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DB2QTHDTM
*  INTO TABLE @DATA(IT_DB2QTHDTM2).
*--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_DB2QTHDTM INDEX 1 INTO DATA(WA_DB2QTHDTM2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DB2QTHDTM ASSIGNING <DB2QTHDTM>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DB2QTHDTM>-MEMBNM = 1.
<DB2QTHDTM>-ACE = 1.
<DB2QTHDTM>-THDTOUDB2 = 1.
<DB2QTHDTM>-THDTCPUTOT = 1.
<DB2QTHDTM>-THDTINB2 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DB2QTHDTM-THDTCPUIN, sy-vline,
WA_DB2QTHDTM-THDTSUSPIN, sy-vline,
WA_DB2QTHDTM-THDTNAINDB, sy-vline,
WA_DB2QTHDTM-THDTIO, sy-vline,
WA_DB2QTHDTM-THDTLKLA, sy-vline,
WA_DB2QTHDTM-THDTOTHR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DB2QTHDTM 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_DB2QTHDTM 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_DB2QTHDTM INTO WA_DB2QTHDTM. *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_DB2QTHDTM_STR,
MEMBNM TYPE STRING,
ACE TYPE STRING,
THDTOUDB2 TYPE STRING,
THDTCPUTOT TYPE STRING,
THDTINB2 TYPE STRING,
THDTCPUIN TYPE STRING,
THDTSUSPIN TYPE STRING,
THDTNAINDB TYPE STRING,
THDTIO TYPE STRING,
THDTLKLA TYPE STRING,
THDTOTHR TYPE STRING,
THDTOTHW TYPE STRING,
THDTSRVT TYPE STRING,
THDTARCHQ TYPE STRING,
THDTDRLK TYPE STRING,
THDTCLREL TYPE STRING,
THDTARCHR TYPE STRING,
THDTPGLA TYPE STRING,
THDTNOTM TYPE STRING,
THDTGLOBTM TYPE STRING,
THDTIOE TYPE STRING,
THDTLKLAE TYPE STRING,
THDTOTHRE TYPE STRING,
THDTOTHWE TYPE STRING,
THDTSRVTE TYPE STRING,
THDTARCHQE TYPE STRING,
THDTDRLKE TYPE STRING,
THDTCLRELE TYPE STRING,
THDTARCHRE TYPE STRING,
THDTPGLAE TYPE STRING,
THDTNOTME TYPE STRING,
THDTGLOBTE TYPE STRING,
THDTACTT TYPE STRING,
THDTOCST TYPE STRING,
THDTSLST TYPE STRING,
THDTDSST TYPE STRING,
THDTOTHRST TYPE STRING,
THDTLOGW TYPE STRING,
THDTOCSTE TYPE STRING,
THDTSLSTE TYPE STRING,
THDTDSSTE TYPE STRING,
THDTOTHRSE TYPE STRING,
THDTLOGWE TYPE STRING,
THDTCOMM TYPE STRING,
THDTABRT TYPE STRING,
QWACCAST TYPE STRING,
QWACUDST TYPE STRING,
AWACCAST TYPE STRING,
QWACCANM TYPE STRING,
THDTSTP TYPE STRING,
THDTSTPSQL TYPE STRING,
THDTSTPSQLE TYPE STRING,
THDTUDCP TYPE STRING,
THDTUDTT TYPE STRING,
THDTUDNE TYPE STRING,
THDTUDEA TYPE STRING,
THDTUDEB TYPE STRING,
THDTTRTT TYPE STRING,
THDTTRET TYPE STRING,
THDTPECT TYPE STRING,
THDTTRTE TYPE STRING,
THDTTREE TYPE STRING,
THDTAWTK TYPE STRING,
THDTAWTM TYPE STRING,
THDTAWTN TYPE STRING,
THDTAWTO TYPE STRING,
THDTAWTQ TYPE STRING,
THDTARTK TYPE STRING,
THDTARTM TYPE STRING,
THDTARTN TYPE STRING,
THDTARTO TYPE STRING,
THDTARTQ TYPE STRING,
THDTAWLG TYPE STRING,
THDTARLG TYPE STRING,
QWACCLS1_ZIIP TYPE STRING,
QWACCLS2_ZIIP TYPE STRING,
QWACTRTT_ZIIP TYPE STRING,
QWACZIIP_ELIGIBLE TYPE STRING,
QWACSPNF_ZIIP TYPE STRING,
QWACUDFNF_ZIIP TYPE STRING,
ZIIP12ACT TYPE STRING,
ZIIP2ACT TYPE STRING,
ZIIPEL2ACT TYPE STRING,
ZIIP2DB2T TYPE STRING,
ZIIPEL2DB2T TYPE STRING,END OF T_EKKO_STR. DATA: WA_DB2QTHDTM_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_DB2QTHDTM_STR-MEMBNM sy-vline
WA_DB2QTHDTM_STR-ACE sy-vline
WA_DB2QTHDTM_STR-THDTOUDB2 sy-vline
WA_DB2QTHDTM_STR-THDTCPUTOT sy-vline
WA_DB2QTHDTM_STR-THDTINB2 sy-vline
WA_DB2QTHDTM_STR-THDTCPUIN sy-vline
WA_DB2QTHDTM_STR-THDTSUSPIN sy-vline
WA_DB2QTHDTM_STR-THDTNAINDB sy-vline
WA_DB2QTHDTM_STR-THDTIO sy-vline
WA_DB2QTHDTM_STR-THDTLKLA sy-vline
WA_DB2QTHDTM_STR-THDTOTHR sy-vline
WA_DB2QTHDTM_STR-THDTOTHW sy-vline
WA_DB2QTHDTM_STR-THDTSRVT sy-vline
WA_DB2QTHDTM_STR-THDTARCHQ sy-vline
WA_DB2QTHDTM_STR-THDTDRLK sy-vline
WA_DB2QTHDTM_STR-THDTCLREL sy-vline
WA_DB2QTHDTM_STR-THDTARCHR sy-vline
WA_DB2QTHDTM_STR-THDTPGLA sy-vline
WA_DB2QTHDTM_STR-THDTNOTM sy-vline
WA_DB2QTHDTM_STR-THDTGLOBTM sy-vline
WA_DB2QTHDTM_STR-THDTIOE sy-vline
WA_DB2QTHDTM_STR-THDTLKLAE sy-vline
WA_DB2QTHDTM_STR-THDTOTHRE sy-vline
WA_DB2QTHDTM_STR-THDTOTHWE sy-vline
WA_DB2QTHDTM_STR-THDTSRVTE sy-vline
WA_DB2QTHDTM_STR-THDTARCHQE sy-vline
WA_DB2QTHDTM_STR-THDTDRLKE sy-vline
WA_DB2QTHDTM_STR-THDTCLRELE sy-vline
WA_DB2QTHDTM_STR-THDTARCHRE sy-vline
WA_DB2QTHDTM_STR-THDTPGLAE sy-vline
WA_DB2QTHDTM_STR-THDTNOTME sy-vline
WA_DB2QTHDTM_STR-THDTGLOBTE sy-vline
WA_DB2QTHDTM_STR-THDTACTT sy-vline
WA_DB2QTHDTM_STR-THDTOCST sy-vline
WA_DB2QTHDTM_STR-THDTSLST sy-vline
WA_DB2QTHDTM_STR-THDTDSST sy-vline
WA_DB2QTHDTM_STR-THDTOTHRST sy-vline
WA_DB2QTHDTM_STR-THDTLOGW sy-vline
WA_DB2QTHDTM_STR-THDTOCSTE sy-vline
WA_DB2QTHDTM_STR-THDTSLSTE sy-vline
WA_DB2QTHDTM_STR-THDTDSSTE sy-vline
WA_DB2QTHDTM_STR-THDTOTHRSE sy-vline
WA_DB2QTHDTM_STR-THDTLOGWE sy-vline
WA_DB2QTHDTM_STR-THDTCOMM sy-vline
WA_DB2QTHDTM_STR-THDTABRT sy-vline
WA_DB2QTHDTM_STR-QWACCAST sy-vline
WA_DB2QTHDTM_STR-QWACUDST sy-vline
WA_DB2QTHDTM_STR-AWACCAST sy-vline
WA_DB2QTHDTM_STR-QWACCANM sy-vline
WA_DB2QTHDTM_STR-THDTSTP sy-vline
WA_DB2QTHDTM_STR-THDTSTPSQL sy-vline
WA_DB2QTHDTM_STR-THDTSTPSQLE sy-vline
WA_DB2QTHDTM_STR-THDTUDCP sy-vline
WA_DB2QTHDTM_STR-THDTUDTT sy-vline
WA_DB2QTHDTM_STR-THDTUDNE sy-vline
WA_DB2QTHDTM_STR-THDTUDEA sy-vline
WA_DB2QTHDTM_STR-THDTUDEB sy-vline
WA_DB2QTHDTM_STR-THDTTRTT sy-vline
WA_DB2QTHDTM_STR-THDTTRET sy-vline
WA_DB2QTHDTM_STR-THDTPECT sy-vline
WA_DB2QTHDTM_STR-THDTTRTE sy-vline
WA_DB2QTHDTM_STR-THDTTREE sy-vline
WA_DB2QTHDTM_STR-THDTAWTK sy-vline
WA_DB2QTHDTM_STR-THDTAWTM sy-vline
WA_DB2QTHDTM_STR-THDTAWTN sy-vline
WA_DB2QTHDTM_STR-THDTAWTO sy-vline
WA_DB2QTHDTM_STR-THDTAWTQ sy-vline
WA_DB2QTHDTM_STR-THDTARTK sy-vline
WA_DB2QTHDTM_STR-THDTARTM sy-vline
WA_DB2QTHDTM_STR-THDTARTN sy-vline
WA_DB2QTHDTM_STR-THDTARTO sy-vline
WA_DB2QTHDTM_STR-THDTARTQ sy-vline
WA_DB2QTHDTM_STR-THDTAWLG sy-vline
WA_DB2QTHDTM_STR-THDTARLG sy-vline
WA_DB2QTHDTM_STR-QWACCLS1_ZIIP sy-vline
WA_DB2QTHDTM_STR-QWACCLS2_ZIIP sy-vline
WA_DB2QTHDTM_STR-QWACTRTT_ZIIP sy-vline
WA_DB2QTHDTM_STR-QWACZIIP_ELIGIBLE sy-vline
WA_DB2QTHDTM_STR-QWACSPNF_ZIIP sy-vline
WA_DB2QTHDTM_STR-QWACUDFNF_ZIIP sy-vline
WA_DB2QTHDTM_STR-ZIIP12ACT sy-vline
WA_DB2QTHDTM_STR-ZIIP2ACT sy-vline
WA_DB2QTHDTM_STR-ZIIPEL2ACT sy-vline
WA_DB2QTHDTM_STR-ZIIP2DB2T sy-vline
WA_DB2QTHDTM_STR-ZIIPEL2DB2T sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.