ABAP Select data from SAP table DB2QDSCCONT_V10 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 DB2QDSCCONT_V10 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 DB2QDSCCONT_V10. 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 DB2QDSCCONT_V10 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_DB2QDSCCONT_V10 TYPE STANDARD TABLE OF DB2QDSCCONT_V10,
      WA_DB2QDSCCONT_V10 TYPE DB2QDSCCONT_V10,
      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: <DB2QDSCCONT_V10> TYPE DB2QDSCCONT_V10.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DB2QDSCCONT_V10
*  INTO TABLE @DATA(IT_DB2QDSCCONT_V102).
*--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_DB2QDSCCONT_V10 INDEX 1 INTO DATA(WA_DB2QDSCCONT_V102).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DB2QDSCCONT_V10 ASSIGNING <DB2QDSCCONT_V10>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DB2QDSCCONT_V10>-QSTCSTNM = 1.
<DB2QDSCCONT_V10>-QSTCUSE = 1.
<DB2QDSCCONT_V10>-QSTCCOPY = 1.
<DB2QDSCCONT_V10>-QSTCSTAT = 1.
<DB2QDSCCONT_V10>-QSTCISTM = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DB2QDSCCONT_V10-QSTCLR, sy-vline,
WA_DB2QDSCCONT_V10-QSTCEXEC, sy-vline,
WA_DB2QDSCCONT_V10-QSTCRBUF, sy-vline,
WA_DB2QDSCCONT_V10-QSTCGPAG, sy-vline,
WA_DB2QDSCCONT_V10-QSTCEROW, sy-vline,
WA_DB2QDSCCONT_V10-QSTCPROW, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DB2QDSCCONT_V10 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_DB2QDSCCONT_V10 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_DB2QDSCCONT_V10 INTO WA_DB2QDSCCONT_V10. *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_DB2QDSCCONT_V10_STR,
QSTCSTNM TYPE STRING,
QSTCUSE TYPE STRING,
QSTCCOPY TYPE STRING,
QSTCSTAT TYPE STRING,
QSTCISTM TYPE STRING,
QSTCLR TYPE STRING,
QSTCEXEC TYPE STRING,
QSTCRBUF TYPE STRING,
QSTCGPAG TYPE STRING,
QSTCEROW TYPE STRING,
QSTCPROW TYPE STRING,
QSTCSORT TYPE STRING,
QSTCINDX TYPE STRING,
QSTCTSCN TYPE STRING,
QSTCPLGP TYPE STRING,
QSTCWRIT TYPE STRING,
QSTCAET TYPE STRING,
QSTCSTLN TYPE STRING,
QSTCSTMT TYPE STRING,
QW0316TM2 TYPE STRING,
QW0316UT1 TYPE STRING,
QW0316UT2 TYPE STRING,
QW0316L1 TYPE STRING,
QW0316T1 TYPE STRING,
QW0316LX TYPE STRING,
QW0316T2 TYPE STRING,
QW0316L3 TYPE STRING,
QW0316T3 TYPE STRING,
QW0316X4 TYPE STRING,
QW0316X5 TYPE STRING,
QW0316X6 TYPE STRING,
QW0316X7T TYPE STRING,
QW0316X8T TYPE STRING,
QW0316X9T TYPE STRING,
QW0316XAT TYPE STRING,
QW0316XBT TYPE STRING,
QW0316XCT TYPE STRING,
QW0316TS TYPE STRING,
QW0316CT TYPE STRING,
QW0316W1 TYPE STRING,
QW0316W2 TYPE STRING,
QW0316W3 TYPE STRING,
QW0316W4 TYPE STRING,
QW0316W5 TYPE STRING,
QW0316W6 TYPE STRING,
QW0316W7 TYPE STRING,
QW0316W8 TYPE STRING,
QW0316W9 TYPE STRING,
QW0316WA TYPE STRING,
QW0316WB TYPE STRING,
QW0316XE TYPE STRING,
QW0316XF TYPE STRING,
QW0316RT TYPE STRING,
QW0316RS TYPE STRING,
QW0316UI TYPE STRING,
QW0316TD TYPE STRING,
QW0317NM TYPE STRING,
QW0317ID TYPE STRING,
QW0317LN TYPE STRING,
QW0317TX TYPE STRING,
QW03172LN TYPE STRING,
QW03172TX TYPE STRING,
QW0316WC TYPE STRING,
QW0316WD TYPE STRING,
QW0316WE TYPE STRING,
QW0316WF TYPE STRING,
QW0316WG TYPE STRING,
QW0316_PIPE_WAIT TYPE STRING,
QW0316_PQS_WAIT TYPE STRING,
QW0316_SDQ_STMTID TYPE STRING,
QW0316_QUERY_HASH_ID TYPE STRING,
QW0316_QUERY_HASH_VER TYPE STRING,
QW0316_STBLGRP TYPE STRING,END OF T_EKKO_STR. DATA: WA_DB2QDSCCONT_V10_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_DB2QDSCCONT_V10_STR-QSTCSTNM sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCUSE sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCCOPY sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCSTAT sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCISTM sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCLR sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCEXEC sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCRBUF sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCGPAG sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCEROW sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCPROW sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCSORT sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCINDX sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCTSCN sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCPLGP sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCWRIT sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCAET sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCSTLN sy-vline
WA_DB2QDSCCONT_V10_STR-QSTCSTMT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316TM2 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316UT1 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316UT2 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316L1 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316T1 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316LX sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316T2 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316L3 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316T3 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X4 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X5 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X6 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X7T sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X8T sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316X9T sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316XAT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316XBT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316XCT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316TS sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316CT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W1 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W2 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W3 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W4 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W5 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W6 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W7 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W8 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316W9 sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WA sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WB sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316XE sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316XF sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316RT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316RS sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316UI sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316TD sy-vline
WA_DB2QDSCCONT_V10_STR-QW0317NM sy-vline
WA_DB2QDSCCONT_V10_STR-QW0317ID sy-vline
WA_DB2QDSCCONT_V10_STR-QW0317LN sy-vline
WA_DB2QDSCCONT_V10_STR-QW0317TX sy-vline
WA_DB2QDSCCONT_V10_STR-QW03172LN sy-vline
WA_DB2QDSCCONT_V10_STR-QW03172TX sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WC sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WD sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WE sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WF sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316WG sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_PIPE_WAIT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_PQS_WAIT sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_SDQ_STMTID sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_QUERY_HASH_ID sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_QUERY_HASH_VER sy-vline
WA_DB2QDSCCONT_V10_STR-QW0316_STBLGRP sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.