ABAP Select data from SAP table VTS_COND 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 VTS_COND 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 VTS_COND. 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 VTS_COND 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_VTS_COND TYPE STANDARD TABLE OF VTS_COND,
      WA_VTS_COND TYPE VTS_COND,
      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: <VTS_COND> TYPE VTS_COND.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VTS_COND
*  INTO TABLE @DATA(IT_VTS_COND2).
*--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_VTS_COND INDEX 1 INTO DATA(WA_VTS_COND2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VTS_COND ASSIGNING <VTS_COND>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VTS_COND>-BUKRS = 1.
<VTS_COND>-RFHA = 1.
<VTS_COND>-RFHAZU = 1.
<VTS_COND>-RKONDGR = 1.
<VTS_COND>-RKOND = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VTS_COND-DGUEL_KP, sy-vline,
WA_VTS_COND-BAPI_KEY, sy-vline,
WA_VTS_COND-NSTUFE, sy-vline,
WA_VTS_COND-SDGUEL_EXCL, sy-vline,
WA_VTS_COND-SZINSANP, sy-vline,
WA_VTS_COND-SKOART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VTS_COND 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_VTS_COND 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_VTS_COND INTO WA_VTS_COND. *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.

*Conversion exit ALPHA, internal->external for field RFHA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VTS_COND-RFHA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VTS_COND-RFHA.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_VTS_COND_STR,
BUKRS TYPE STRING,
RFHA TYPE STRING,
RFHAZU TYPE STRING,
RKONDGR TYPE STRING,
RKOND TYPE STRING,
DGUEL_KP TYPE STRING,
BAPI_KEY TYPE STRING,
NSTUFE TYPE STRING,
SDGUEL_EXCL TYPE STRING,
SZINSANP TYPE STRING,
SKOART TYPE STRING,
SSIGN TYPE STRING,
SBKKLAS TYPE STRING,
SBKTYP TYPE STRING,
SBERFIMA TYPE STRING,
SNULLKOND TYPE STRING,
SCONDAMOUNT TYPE STRING,
PKOND TYPE STRING,
BKOND TYPE STRING,
SWHRKOND TYPE STRING,
SFSTPER TYPE STRING,
SLSTPER TYPE STRING,
SBASIS TYPE STRING,
BBASIS TYPE STRING,
SZSREF TYPE STRING,
PZZUAB TYPE STRING,
SFORMREF TYPE STRING,
PKOND1STPER TYPE STRING,
JEXPOZINS TYPE STRING,
JEXPOINTFACTOR TYPE STRING,
JPROZR TYPE STRING,
PPAYMENT TYPE STRING,
JSOFVERR TYPE STRING,
SZBMETH TYPE STRING,
SKALIDWT TYPE STRING,
AMMRHYZV TYPE STRING,
JBMONAT TYPE STRING,
BUGRENZ TYPE STRING,
BOGRENZ TYPE STRING,
SROUNDFACTOR TYPE STRING,
ROUNDDECFACTOR TYPE STRING,
SROUNDRATEFACTOR TYPE STRING,
ROUNDDECRATEFACTOR TYPE STRING,
SROUNDBASEFACTOR TYPE STRING,
ROUNDDECBASEFACTOR TYPE STRING,
ADGSTAGE TYPE STRING,
SSEQUENCE TYPE STRING,
JAVGCAP TYPE STRING,
PAVGCAP TYPE STRING,
JAVGFLOOR TYPE STRING,
PAVGFLOOR TYPE STRING,
PAVGSPREAD TYPE STRING,
SROUNDAVGINTEREST TYPE STRING,
ROUNDDECAVGINTEREST TYPE STRING,
SAVGWEIGHT TYPE STRING,
SFACTORRESET TYPE STRING,
JUGRENZ TYPE STRING,
JOGRENZ TYPE STRING,
FORTREGEL TYPE STRING,
ARHY TYPE STRING,
URHY TYPE STRING,
DVALUT TYPE STRING,
SVINCL TYPE STRING,
SVULT TYPE STRING,
SVWERK TYPE STRING,
DFAELL TYPE STRING,
SFULT TYPE STRING,
SFWERK TYPE STRING,
SFRANZE TYPE STRING,
AFVGSTAGE TYPE STRING,
SERBTERM TYPE STRING,
SKALID TYPE STRING,
SKALID2 TYPE STRING,
SKALID3 TYPE STRING,
SVMETH TYPE STRING,
AVGSTAGE TYPE STRING,
SFMETH TYPE STRING,
AFGSTAGE TYPE STRING,
SKALID4 TYPE STRING,
SKALID5 TYPE STRING,
SDWERK TYPE STRING,
SRHYZAP TYPE STRING,
ARHYZAP TYPE STRING,
URHYZAP TYPE STRING,
DZANP TYPE STRING,
SZANPULT TYPE STRING,
SWERKZAP TYPE STRING,
ATAGEZAP TYPE STRING,
SRHYZFE TYPE STRING,
AFRHYZAP TYPE STRING,
UFRHYZAP TYPE STRING,
DZFEST TYPE STRING,
SZFESTULT TYPE STRING,
ZRELDAT TYPE STRING,
AZGSTAGE TYPE STRING,
JMODIFZFE TYPE STRING,
SROUND TYPE STRING,
BROUNDUNIT TYPE STRING,
BBASISUNIT TYPE STRING,END OF T_EKKO_STR. DATA: WA_VTS_COND_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_VTS_COND_STR-BUKRS sy-vline
WA_VTS_COND_STR-RFHA sy-vline
WA_VTS_COND_STR-RFHAZU sy-vline
WA_VTS_COND_STR-RKONDGR sy-vline
WA_VTS_COND_STR-RKOND sy-vline
WA_VTS_COND_STR-DGUEL_KP sy-vline
WA_VTS_COND_STR-BAPI_KEY sy-vline
WA_VTS_COND_STR-NSTUFE sy-vline
WA_VTS_COND_STR-SDGUEL_EXCL sy-vline
WA_VTS_COND_STR-SZINSANP sy-vline
WA_VTS_COND_STR-SKOART sy-vline
WA_VTS_COND_STR-SSIGN sy-vline
WA_VTS_COND_STR-SBKKLAS sy-vline
WA_VTS_COND_STR-SBKTYP sy-vline
WA_VTS_COND_STR-SBERFIMA sy-vline
WA_VTS_COND_STR-SNULLKOND sy-vline
WA_VTS_COND_STR-SCONDAMOUNT sy-vline
WA_VTS_COND_STR-PKOND sy-vline
WA_VTS_COND_STR-BKOND sy-vline
WA_VTS_COND_STR-SWHRKOND sy-vline
WA_VTS_COND_STR-SFSTPER sy-vline
WA_VTS_COND_STR-SLSTPER sy-vline
WA_VTS_COND_STR-SBASIS sy-vline
WA_VTS_COND_STR-BBASIS sy-vline
WA_VTS_COND_STR-SZSREF sy-vline
WA_VTS_COND_STR-PZZUAB sy-vline
WA_VTS_COND_STR-SFORMREF sy-vline
WA_VTS_COND_STR-PKOND1STPER sy-vline
WA_VTS_COND_STR-JEXPOZINS sy-vline
WA_VTS_COND_STR-JEXPOINTFACTOR sy-vline
WA_VTS_COND_STR-JPROZR sy-vline
WA_VTS_COND_STR-PPAYMENT sy-vline
WA_VTS_COND_STR-JSOFVERR sy-vline
WA_VTS_COND_STR-SZBMETH sy-vline
WA_VTS_COND_STR-SKALIDWT sy-vline
WA_VTS_COND_STR-AMMRHYZV sy-vline
WA_VTS_COND_STR-JBMONAT sy-vline
WA_VTS_COND_STR-BUGRENZ sy-vline
WA_VTS_COND_STR-BOGRENZ sy-vline
WA_VTS_COND_STR-SROUNDFACTOR sy-vline
WA_VTS_COND_STR-ROUNDDECFACTOR sy-vline
WA_VTS_COND_STR-SROUNDRATEFACTOR sy-vline
WA_VTS_COND_STR-ROUNDDECRATEFACTOR sy-vline
WA_VTS_COND_STR-SROUNDBASEFACTOR sy-vline
WA_VTS_COND_STR-ROUNDDECBASEFACTOR sy-vline
WA_VTS_COND_STR-ADGSTAGE sy-vline
WA_VTS_COND_STR-SSEQUENCE sy-vline
WA_VTS_COND_STR-JAVGCAP sy-vline
WA_VTS_COND_STR-PAVGCAP sy-vline
WA_VTS_COND_STR-JAVGFLOOR sy-vline
WA_VTS_COND_STR-PAVGFLOOR sy-vline
WA_VTS_COND_STR-PAVGSPREAD sy-vline
WA_VTS_COND_STR-SROUNDAVGINTEREST sy-vline
WA_VTS_COND_STR-ROUNDDECAVGINTEREST sy-vline
WA_VTS_COND_STR-SAVGWEIGHT sy-vline
WA_VTS_COND_STR-SFACTORRESET sy-vline
WA_VTS_COND_STR-JUGRENZ sy-vline
WA_VTS_COND_STR-JOGRENZ sy-vline
WA_VTS_COND_STR-FORTREGEL sy-vline
WA_VTS_COND_STR-ARHY sy-vline
WA_VTS_COND_STR-URHY sy-vline
WA_VTS_COND_STR-DVALUT sy-vline
WA_VTS_COND_STR-SVINCL sy-vline
WA_VTS_COND_STR-SVULT sy-vline
WA_VTS_COND_STR-SVWERK sy-vline
WA_VTS_COND_STR-DFAELL sy-vline
WA_VTS_COND_STR-SFULT sy-vline
WA_VTS_COND_STR-SFWERK sy-vline
WA_VTS_COND_STR-SFRANZE sy-vline
WA_VTS_COND_STR-AFVGSTAGE sy-vline
WA_VTS_COND_STR-SERBTERM sy-vline
WA_VTS_COND_STR-SKALID sy-vline
WA_VTS_COND_STR-SKALID2 sy-vline
WA_VTS_COND_STR-SKALID3 sy-vline
WA_VTS_COND_STR-SVMETH sy-vline
WA_VTS_COND_STR-AVGSTAGE sy-vline
WA_VTS_COND_STR-SFMETH sy-vline
WA_VTS_COND_STR-AFGSTAGE sy-vline
WA_VTS_COND_STR-SKALID4 sy-vline
WA_VTS_COND_STR-SKALID5 sy-vline
WA_VTS_COND_STR-SDWERK sy-vline
WA_VTS_COND_STR-SRHYZAP sy-vline
WA_VTS_COND_STR-ARHYZAP sy-vline
WA_VTS_COND_STR-URHYZAP sy-vline
WA_VTS_COND_STR-DZANP sy-vline
WA_VTS_COND_STR-SZANPULT sy-vline
WA_VTS_COND_STR-SWERKZAP sy-vline
WA_VTS_COND_STR-ATAGEZAP sy-vline
WA_VTS_COND_STR-SRHYZFE sy-vline
WA_VTS_COND_STR-AFRHYZAP sy-vline
WA_VTS_COND_STR-UFRHYZAP sy-vline
WA_VTS_COND_STR-DZFEST sy-vline
WA_VTS_COND_STR-SZFESTULT sy-vline
WA_VTS_COND_STR-ZRELDAT sy-vline
WA_VTS_COND_STR-AZGSTAGE sy-vline
WA_VTS_COND_STR-JMODIFZFE sy-vline
WA_VTS_COND_STR-SROUND sy-vline
WA_VTS_COND_STR-BROUNDUNIT sy-vline
WA_VTS_COND_STR-BBASISUNIT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.