ABAP Select data from SAP table DB2_VIEW_ACCEL_DETAILS 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 DB2_VIEW_ACCEL_DETAILS 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 DB2_VIEW_ACCEL_DETAILS. 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 DB2_VIEW_ACCEL_DETAILS 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_DB2_VIEW_ACCEL_DETAILS TYPE STANDARD TABLE OF DB2_VIEW_ACCEL_DETAILS,
      WA_DB2_VIEW_ACCEL_DETAILS TYPE DB2_VIEW_ACCEL_DETAILS,
      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: <DB2_VIEW_ACCEL_DETAILS> TYPE DB2_VIEW_ACCEL_DETAILS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DB2_VIEW_ACCEL_DETAILS
*  INTO TABLE @DATA(IT_DB2_VIEW_ACCEL_DETAILS2).
*--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_DB2_VIEW_ACCEL_DETAILS INDEX 1 INTO DATA(WA_DB2_VIEW_ACCEL_DETAILS2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DB2_VIEW_ACCEL_DETAILS-SNAPSTCK, sy-vline,
WA_DB2_VIEW_ACCEL_DETAILS-TIMEDELTA, sy-vline,
WA_DB2_VIEW_ACCEL_DETAILS-Q8STNAME, sy-vline,
WA_DB2_VIEW_ACCEL_DETAILS-Q8STPRID, sy-vline,
WA_DB2_VIEW_ACCEL_DETAILS-Q8STCONN, sy-vline,
WA_DB2_VIEW_ACCEL_DETAILS-Q8STREQ, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DB2_VIEW_ACCEL_DETAILS 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_DB2_VIEW_ACCEL_DETAILS 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_DB2_VIEW_ACCEL_DETAILS INTO WA_DB2_VIEW_ACCEL_DETAILS. *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_DB2_VIEW_ACCEL_DETAILS_STR,
STATS TYPE STRING,
MEMBNM TYPE STRING,
SNAPDATE TYPE STRING,
SNAPTIME TYPE STRING,
DATA_TYPE TYPE STRING,
SNAPSTCK TYPE STRING,
TIMEDELTA TYPE STRING,
Q8STNAME TYPE STRING,
Q8STPRID TYPE STRING,
Q8STCONN TYPE STRING,
Q8STREQ TYPE STRING,
Q8STTOUT TYPE STRING,
Q8STFAIL TYPE STRING,
Q8STBYTS TYPE STRING,
Q8STBYTR TYPE STRING,
Q8STMSGS TYPE STRING,
Q8STMSGR TYPE STRING,
Q8STBLKS TYPE STRING,
Q8STBLKR TYPE STRING,
Q8STROWS TYPE STRING,
Q8STROWR TYPE STRING,
Q8STSCPU TYPE STRING,
Q8STSELA TYPE STRING,
Q8STTCPU TYPE STRING,
Q8STTELA TYPE STRING,
Q8STACPU TYPE STRING,
Q8STAELA TYPE STRING,
Q8STTATE TYPE STRING,
Q8STQUEW TYPE STRING,
Q8STQUEM TYPE STRING,
Q8STCORS TYPE STRING,
Q8STSREQ TYPE STRING,
Q8STFREQ TYPE STRING,
Q8STDSKA TYPE STRING,
Q8STDSKU TYPE STRING,
Q8STDSKB TYPE STRING,
Q8STNMDS TYPE STRING,
Q8STAWAT TYPE STRING,
Q8STNQSA TYPE STRING,
Q8STNQFA TYPE STRING,
Q8STNQCS TYPE STRING,
Q8STACTV_64 TYPE STRING,
Q8STMNQS TYPE STRING,
Q8STMAXA_64 TYPE STRING,
Q8STTCQS TYPE STRING,
Q8STTCQA TYPE STRING,
Q8STTCMS TYPE STRING,
Q8STTCMA TYPE STRING,
Q8STDSA TYPE STRING,
Q8STMAXQ_64 TYPE STRING,
Q8STWNOD_64 TYPE STRING,
Q8STCQL TYPE STRING,
Q8STCCPU_64 TYPE STRING,
Q8STWCPU_64 TYPE STRING,
Q8STTCCS TYPE STRING,
Q8STTCCA TYPE STRING,
Q8STNLRS TYPE STRING,
Q8STNLRA TYPE STRING,
Q8STNLTS TYPE STRING,
Q8STNLTA TYPE STRING,
Q8STNBS TYPE STRING,
Q8STNBA TYPE STRING,
Q8STNIS TYPE STRING,
Q8STNIA TYPE STRING,
Q8STNUS TYPE STRING,
Q8STNUA TYPE STRING,
Q8STNDS TYPE STRING,
Q8STNDA TYPE STRING,
Q8STCRL TYPE STRING,
Q8STCSS TYPE STRING,
Q8STTLSC TYPE STRING,
Q8STTART TYPE STRING,
Q8STTATC TYPE STRING,
Q8STINSC TYPE STRING,
Q8STUPDC TYPE STRING,
Q8STDELC TYPE STRING,
Q8STDRPC TYPE STRING,
Q8STCRTC TYPE STRING,
Q8STCMTC TYPE STRING,
Q8STRBKC TYPE STRING,
Q8STOPNC TYPE STRING,
DS_DATA TYPE STRING,
MEMBER TYPE STRING,
MEMBER_LIST TYPE STRING,END OF T_EKKO_STR. DATA: WA_DB2_VIEW_ACCEL_DETAILS_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_DB2_VIEW_ACCEL_DETAILS_STR-STATS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-MEMBNM sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-SNAPDATE sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-SNAPTIME sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-DATA_TYPE sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-SNAPSTCK sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-TIMEDELTA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNAME sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STPRID sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCONN sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STREQ sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTOUT sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STFAIL sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STBYTS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STBYTR sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STMSGS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STMSGR sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STBLKS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STBLKR sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STROWS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STROWR sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STSCPU sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STSELA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCPU sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTELA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STACPU sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STAELA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTATE sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STQUEW sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STQUEM sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCORS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STSREQ sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STFREQ sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDSKA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDSKU sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDSKB sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNMDS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STAWAT sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNQSA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNQFA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNQCS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STACTV_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STMNQS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STMAXA_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCQS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCQA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCMS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCMA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDSA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STMAXQ_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STWNOD_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCQL sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCCPU_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STWCPU_64 sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCCS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTCCA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNLRS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNLRA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNLTS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNLTA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNBS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNBA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNIS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNIA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNUS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNUA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNDS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STNDA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCRL sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCSS sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTLSC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTART sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STTATC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STINSC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STUPDC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDELC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STDRPC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCRTC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STCMTC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STRBKC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-Q8STOPNC sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-DS_DATA sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-MEMBER sy-vline
WA_DB2_VIEW_ACCEL_DETAILS_STR-MEMBER_LIST sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.