ABAP Select data from SAP table VZPARZA 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 VZPARZA 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 VZPARZA. 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 VZPARZA 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_VZPARZA TYPE STANDARD TABLE OF VZPARZA,
      WA_VZPARZA TYPE VZPARZA,
      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: <VZPARZA> TYPE VZPARZA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VZPARZA
*  INTO TABLE @DATA(IT_VZPARZA2).
*--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_VZPARZA INDEX 1 INTO DATA(WA_VZPARZA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VZPARZA ASSIGNING <VZPARZA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VZPARZA>-MANDT = 1.
<VZPARZA>-PARTNR = 1.
<VZPARZA>-SPERRE = 1.
<VZPARZA>-RERF = 1.
<VZPARZA>-DERF = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VZPARZA-TERF, sy-vline,
WA_VZPARZA-REHER, sy-vline,
WA_VZPARZA-ROLLERF, sy-vline,
WA_VZPARZA-RBEAR, sy-vline,
WA_VZPARZA-DBEAR, sy-vline,
WA_VZPARZA-TBEAR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VZPARZA 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_VZPARZA 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_VZPARZA INTO WA_VZPARZA. *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 GJAHR, internal->external for field YKONKURS CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VZPARZA-YKONKURS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZA-YKONKURS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field YZWANG CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VZPARZA-YZWANG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZA-YZWANG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field YEIDVER CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VZPARZA-YEIDVER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZA-YEIDVER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VZPARZA-LIFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZA-LIFNR.
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_VZPARZA_STR,
MANDT TYPE STRING,
PARTNR TYPE STRING,
SPERRE TYPE STRING,
RERF TYPE STRING,
DERF TYPE STRING,
TERF TYPE STRING,
REHER TYPE STRING,
ROLLERF TYPE STRING,
RBEAR TYPE STRING,
DBEAR TYPE STRING,
TBEAR TYPE STRING,
RBHER TYPE STRING,
ROLLBEA TYPE STRING,
SGRDWHR TYPE STRING,
SZIEL TYPE STRING,
JEIDVER TYPE STRING,
JKONKURS TYPE STRING,
JZWANG TYPE STRING,
JSCHUFA TYPE STRING,
SBONITA TYPE STRING,
SKRED TYPE STRING,
XKRED TYPE STRING,
JKWG14 TYPE STRING,
RKWG14 TYPE STRING,
RKWG14KE TYPE STRING,
STCD1 TYPE STRING,
STCD2 TYPE STRING,
STKZA TYPE STRING,
SFINAMT TYPE STRING,
SORGAN TYPE STRING,
SGRP1 TYPE STRING,
SGRP2 TYPE STRING,
SGRP3 TYPE STRING,
SFRT1 TYPE STRING,
SFRT2 TYPE STRING,
YKONKURS TYPE STRING,
YZWANG TYPE STRING,
YEIDVER TYPE STRING,
DSCHUFA TYPE STRING,
SPAVIP TYPE STRING,
SSAUSLA TYPE STRING,
SKWG18 TYPE STRING,
XAPARNR TYPE STRING,
LIFNR TYPE STRING,
ABUKR TYPE STRING,
KALID TYPE STRING,
XID_AT TYPE STRING,
SZG_AT TYPE STRING,
SID_AT TYPE STRING,END OF T_EKKO_STR. DATA: WA_VZPARZA_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_VZPARZA_STR-MANDT sy-vline
WA_VZPARZA_STR-PARTNR sy-vline
WA_VZPARZA_STR-SPERRE sy-vline
WA_VZPARZA_STR-RERF sy-vline
WA_VZPARZA_STR-DERF sy-vline
WA_VZPARZA_STR-TERF sy-vline
WA_VZPARZA_STR-REHER sy-vline
WA_VZPARZA_STR-ROLLERF sy-vline
WA_VZPARZA_STR-RBEAR sy-vline
WA_VZPARZA_STR-DBEAR sy-vline
WA_VZPARZA_STR-TBEAR sy-vline
WA_VZPARZA_STR-RBHER sy-vline
WA_VZPARZA_STR-ROLLBEA sy-vline
WA_VZPARZA_STR-SGRDWHR sy-vline
WA_VZPARZA_STR-SZIEL sy-vline
WA_VZPARZA_STR-JEIDVER sy-vline
WA_VZPARZA_STR-JKONKURS sy-vline
WA_VZPARZA_STR-JZWANG sy-vline
WA_VZPARZA_STR-JSCHUFA sy-vline
WA_VZPARZA_STR-SBONITA sy-vline
WA_VZPARZA_STR-SKRED sy-vline
WA_VZPARZA_STR-XKRED sy-vline
WA_VZPARZA_STR-JKWG14 sy-vline
WA_VZPARZA_STR-RKWG14 sy-vline
WA_VZPARZA_STR-RKWG14KE sy-vline
WA_VZPARZA_STR-STCD1 sy-vline
WA_VZPARZA_STR-STCD2 sy-vline
WA_VZPARZA_STR-STKZA sy-vline
WA_VZPARZA_STR-SFINAMT sy-vline
WA_VZPARZA_STR-SORGAN sy-vline
WA_VZPARZA_STR-SGRP1 sy-vline
WA_VZPARZA_STR-SGRP2 sy-vline
WA_VZPARZA_STR-SGRP3 sy-vline
WA_VZPARZA_STR-SFRT1 sy-vline
WA_VZPARZA_STR-SFRT2 sy-vline
WA_VZPARZA_STR-YKONKURS sy-vline
WA_VZPARZA_STR-YZWANG sy-vline
WA_VZPARZA_STR-YEIDVER sy-vline
WA_VZPARZA_STR-DSCHUFA sy-vline
WA_VZPARZA_STR-SPAVIP sy-vline
WA_VZPARZA_STR-SSAUSLA sy-vline
WA_VZPARZA_STR-SKWG18 sy-vline
WA_VZPARZA_STR-XAPARNR sy-vline
WA_VZPARZA_STR-LIFNR sy-vline
WA_VZPARZA_STR-ABUKR sy-vline
WA_VZPARZA_STR-KALID sy-vline
WA_VZPARZA_STR-XID_AT sy-vline
WA_VZPARZA_STR-SZG_AT sy-vline
WA_VZPARZA_STR-SID_AT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.