ABAP Select data from SAP table DB2GLOTIME 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 DB2GLOTIME 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 DB2GLOTIME. 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 DB2GLOTIME 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_DB2GLOTIME TYPE STANDARD TABLE OF DB2GLOTIME,
      WA_DB2GLOTIME TYPE DB2GLOTIME,
      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: <DB2GLOTIME> TYPE DB2GLOTIME.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DB2GLOTIME
*  INTO TABLE @DATA(IT_DB2GLOTIME2).
*--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_DB2GLOTIME INDEX 1 INTO DATA(WA_DB2GLOTIME2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DB2GLOTIME ASSIGNING <DB2GLOTIME>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DB2GLOTIME>-MEMBNM = 1.
<DB2GLOTIME>-USERID = 1.
<DB2GLOTIME>-SNAPDATE = 1.
<DB2GLOTIME>-SNAPTIME = 1.
<DB2GLOTIME>-DBCOMMIT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DB2GLOTIME-THDTOUDB2, sy-vline,
WA_DB2GLOTIME-THDTCPUTOT, sy-vline,
WA_DB2GLOTIME-THDTINB2, sy-vline,
WA_DB2GLOTIME-THDTCPUIN, sy-vline,
WA_DB2GLOTIME-THDTSUSPIN, sy-vline,
WA_DB2GLOTIME-THDTNAINDB, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DB2GLOTIME 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_DB2GLOTIME 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_DB2GLOTIME INTO WA_DB2GLOTIME. *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_DB2GLOTIME_STR,
MEMBNM TYPE STRING,
USERID TYPE STRING,
SNAPDATE TYPE STRING,
SNAPTIME TYPE STRING,
DBCOMMIT 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_DB2GLOTIME_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_DB2GLOTIME_STR-MEMBNM sy-vline
WA_DB2GLOTIME_STR-USERID sy-vline
WA_DB2GLOTIME_STR-SNAPDATE sy-vline
WA_DB2GLOTIME_STR-SNAPTIME sy-vline
WA_DB2GLOTIME_STR-DBCOMMIT sy-vline
WA_DB2GLOTIME_STR-THDTOUDB2 sy-vline
WA_DB2GLOTIME_STR-THDTCPUTOT sy-vline
WA_DB2GLOTIME_STR-THDTINB2 sy-vline
WA_DB2GLOTIME_STR-THDTCPUIN sy-vline
WA_DB2GLOTIME_STR-THDTSUSPIN sy-vline
WA_DB2GLOTIME_STR-THDTNAINDB sy-vline
WA_DB2GLOTIME_STR-THDTIO sy-vline
WA_DB2GLOTIME_STR-THDTLKLA sy-vline
WA_DB2GLOTIME_STR-THDTOTHR sy-vline
WA_DB2GLOTIME_STR-THDTOTHW sy-vline
WA_DB2GLOTIME_STR-THDTSRVT sy-vline
WA_DB2GLOTIME_STR-THDTARCHQ sy-vline
WA_DB2GLOTIME_STR-THDTDRLK sy-vline
WA_DB2GLOTIME_STR-THDTCLREL sy-vline
WA_DB2GLOTIME_STR-THDTARCHR sy-vline
WA_DB2GLOTIME_STR-THDTPGLA sy-vline
WA_DB2GLOTIME_STR-THDTNOTM sy-vline
WA_DB2GLOTIME_STR-THDTGLOBTM sy-vline
WA_DB2GLOTIME_STR-THDTIOE sy-vline
WA_DB2GLOTIME_STR-THDTLKLAE sy-vline
WA_DB2GLOTIME_STR-THDTOTHRE sy-vline
WA_DB2GLOTIME_STR-THDTOTHWE sy-vline
WA_DB2GLOTIME_STR-THDTSRVTE sy-vline
WA_DB2GLOTIME_STR-THDTARCHQE sy-vline
WA_DB2GLOTIME_STR-THDTDRLKE sy-vline
WA_DB2GLOTIME_STR-THDTCLRELE sy-vline
WA_DB2GLOTIME_STR-THDTARCHRE sy-vline
WA_DB2GLOTIME_STR-THDTPGLAE sy-vline
WA_DB2GLOTIME_STR-THDTNOTME sy-vline
WA_DB2GLOTIME_STR-THDTGLOBTE sy-vline
WA_DB2GLOTIME_STR-THDTACTT sy-vline
WA_DB2GLOTIME_STR-THDTOCST sy-vline
WA_DB2GLOTIME_STR-THDTSLST sy-vline
WA_DB2GLOTIME_STR-THDTDSST sy-vline
WA_DB2GLOTIME_STR-THDTOTHRST sy-vline
WA_DB2GLOTIME_STR-THDTLOGW sy-vline
WA_DB2GLOTIME_STR-THDTOCSTE sy-vline
WA_DB2GLOTIME_STR-THDTSLSTE sy-vline
WA_DB2GLOTIME_STR-THDTDSSTE sy-vline
WA_DB2GLOTIME_STR-THDTOTHRSE sy-vline
WA_DB2GLOTIME_STR-THDTLOGWE sy-vline
WA_DB2GLOTIME_STR-THDTCOMM sy-vline
WA_DB2GLOTIME_STR-THDTABRT sy-vline
WA_DB2GLOTIME_STR-QWACCAST sy-vline
WA_DB2GLOTIME_STR-QWACUDST sy-vline
WA_DB2GLOTIME_STR-AWACCAST sy-vline
WA_DB2GLOTIME_STR-QWACCANM sy-vline
WA_DB2GLOTIME_STR-THDTSTP sy-vline
WA_DB2GLOTIME_STR-THDTSTPSQL sy-vline
WA_DB2GLOTIME_STR-THDTSTPSQLE sy-vline
WA_DB2GLOTIME_STR-THDTUDCP sy-vline
WA_DB2GLOTIME_STR-THDTUDTT sy-vline
WA_DB2GLOTIME_STR-THDTUDNE sy-vline
WA_DB2GLOTIME_STR-THDTUDEA sy-vline
WA_DB2GLOTIME_STR-THDTUDEB sy-vline
WA_DB2GLOTIME_STR-THDTTRTT sy-vline
WA_DB2GLOTIME_STR-THDTTRET sy-vline
WA_DB2GLOTIME_STR-THDTPECT sy-vline
WA_DB2GLOTIME_STR-THDTTRTE sy-vline
WA_DB2GLOTIME_STR-THDTTREE sy-vline
WA_DB2GLOTIME_STR-THDTAWTK sy-vline
WA_DB2GLOTIME_STR-THDTAWTM sy-vline
WA_DB2GLOTIME_STR-THDTAWTN sy-vline
WA_DB2GLOTIME_STR-THDTAWTO sy-vline
WA_DB2GLOTIME_STR-THDTAWTQ sy-vline
WA_DB2GLOTIME_STR-THDTARTK sy-vline
WA_DB2GLOTIME_STR-THDTARTM sy-vline
WA_DB2GLOTIME_STR-THDTARTN sy-vline
WA_DB2GLOTIME_STR-THDTARTO sy-vline
WA_DB2GLOTIME_STR-THDTARTQ sy-vline
WA_DB2GLOTIME_STR-THDTAWLG sy-vline
WA_DB2GLOTIME_STR-THDTARLG sy-vline
WA_DB2GLOTIME_STR-QWACCLS1_ZIIP sy-vline
WA_DB2GLOTIME_STR-QWACCLS2_ZIIP sy-vline
WA_DB2GLOTIME_STR-QWACTRTT_ZIIP sy-vline
WA_DB2GLOTIME_STR-QWACZIIP_ELIGIBLE sy-vline
WA_DB2GLOTIME_STR-QWACSPNF_ZIIP sy-vline
WA_DB2GLOTIME_STR-QWACUDFNF_ZIIP sy-vline
WA_DB2GLOTIME_STR-ZIIP12ACT sy-vline
WA_DB2GLOTIME_STR-ZIIP2ACT sy-vline
WA_DB2GLOTIME_STR-ZIIPEL2ACT sy-vline
WA_DB2GLOTIME_STR-ZIIP2DB2T sy-vline
WA_DB2GLOTIME_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.