ABAP Select data from SAP table VZPARZU 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 VZPARZU 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 VZPARZU. 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 VZPARZU 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_VZPARZU TYPE STANDARD TABLE OF VZPARZU,
      WA_VZPARZU TYPE VZPARZU,
      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: <VZPARZU> TYPE VZPARZU.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VZPARZU
*  INTO TABLE @DATA(IT_VZPARZU2).
*--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_VZPARZU INDEX 1 INTO DATA(WA_VZPARZU2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VZPARZU ASSIGNING <VZPARZU>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VZPARZU>-MANDT = 1.
<VZPARZU>-PARTNR = 1.
<VZPARZU>-SRECHTSF = 1.
<VZPARZU>-SRECHTST = 1.
<VZPARZU>-SKONSOL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VZPARZU-SUNTBEZ, sy-vline,
WA_VZPARZU-BGRDKAP, sy-vline,
WA_VZPARZU-SGRDWHR, sy-vline,
WA_VZPARZU-BAKTKAP, sy-vline,
WA_VZPARZU-BGENKAP, sy-vline,
WA_VZPARZU-BEIGKAP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VZPARZU 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_VZPARZU 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_VZPARZU INTO WA_VZPARZU. *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 PARTNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VZPARZU-PARTNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZU-PARTNR.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit GJAHR, internal->external for field VBJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_VZPARZU-VBJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VZPARZU-VBJAHR.
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_VZPARZU_STR,
MANDT TYPE STRING,
PARTNR TYPE STRING,
SRECHTSF TYPE STRING,
SRECHTST TYPE STRING,
SKONSOL TYPE STRING,
SUNTBEZ TYPE STRING,
BGRDKAP TYPE STRING,
SGRDWHR TYPE STRING,
BAKTKAP TYPE STRING,
BGENKAP TYPE STRING,
BEIGKAP TYPE STRING,
BBRUTBEI TYPE STRING,
BNETBEI TYPE STRING,
BJUENST TYPE STRING,
DHPTVERS TYPE STRING,
YLKAPERH TYPE STRING,
BKAPERH TYPE STRING,
SRATING TYPE STRING,
SRATAGEN TYPE STRING,
JAWVEROR TYPE STRING,
SWIRTBR TYPE STRING,
RKWG14 TYPE STRING,
BLZ TYPE STRING,
RINTPERS TYPE STRING,
SINTPOS TYPE STRING,
DGEBURT TYPE STRING,
XGEBORT TYPE STRING,
SFAMILIE TYPE STRING,
SGUETER TYPE STRING,
SZIEL TYPE STRING,
AKINDER TYPE STRING,
SORGAN TYPE STRING,
DBSSEIT TYPE STRING,
JEIDVER TYPE STRING,
JKONKURS TYPE STRING,
JZWANG TYPE STRING,
JSELBST TYPE STRING,
JSCHUFA TYPE STRING,
SBONITA TYPE STRING,
XBERUF TYPE STRING,
XBSALS TYPE STRING,
XARBGEB TYPE STRING,
BEINKO TYPE STRING,
RERF TYPE STRING,
DERF TYPE STRING,
TERF TYPE STRING,
REHER TYPE STRING,
RBEAR TYPE STRING,
DBEAR TYPE STRING,
TBEAR TYPE STRING,
RBHER TYPE STRING,
BUMSATZ TYPE STRING,
YGRND TYPE STRING,
VBJAHR TYPE STRING,
XHRGN TYPE STRING,
SKRED TYPE STRING,
XKRED TYPE STRING,
JKWG14 TYPE STRING,
RKWG14KE TYPE STRING,END OF T_EKKO_STR. DATA: WA_VZPARZU_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_VZPARZU_STR-MANDT sy-vline
WA_VZPARZU_STR-PARTNR sy-vline
WA_VZPARZU_STR-SRECHTSF sy-vline
WA_VZPARZU_STR-SRECHTST sy-vline
WA_VZPARZU_STR-SKONSOL sy-vline
WA_VZPARZU_STR-SUNTBEZ sy-vline
WA_VZPARZU_STR-BGRDKAP sy-vline
WA_VZPARZU_STR-SGRDWHR sy-vline
WA_VZPARZU_STR-BAKTKAP sy-vline
WA_VZPARZU_STR-BGENKAP sy-vline
WA_VZPARZU_STR-BEIGKAP sy-vline
WA_VZPARZU_STR-BBRUTBEI sy-vline
WA_VZPARZU_STR-BNETBEI sy-vline
WA_VZPARZU_STR-BJUENST sy-vline
WA_VZPARZU_STR-DHPTVERS sy-vline
WA_VZPARZU_STR-YLKAPERH sy-vline
WA_VZPARZU_STR-BKAPERH sy-vline
WA_VZPARZU_STR-SRATING sy-vline
WA_VZPARZU_STR-SRATAGEN sy-vline
WA_VZPARZU_STR-JAWVEROR sy-vline
WA_VZPARZU_STR-SWIRTBR sy-vline
WA_VZPARZU_STR-RKWG14 sy-vline
WA_VZPARZU_STR-BLZ sy-vline
WA_VZPARZU_STR-RINTPERS sy-vline
WA_VZPARZU_STR-SINTPOS sy-vline
WA_VZPARZU_STR-DGEBURT sy-vline
WA_VZPARZU_STR-XGEBORT sy-vline
WA_VZPARZU_STR-SFAMILIE sy-vline
WA_VZPARZU_STR-SGUETER sy-vline
WA_VZPARZU_STR-SZIEL sy-vline
WA_VZPARZU_STR-AKINDER sy-vline
WA_VZPARZU_STR-SORGAN sy-vline
WA_VZPARZU_STR-DBSSEIT sy-vline
WA_VZPARZU_STR-JEIDVER sy-vline
WA_VZPARZU_STR-JKONKURS sy-vline
WA_VZPARZU_STR-JZWANG sy-vline
WA_VZPARZU_STR-JSELBST sy-vline
WA_VZPARZU_STR-JSCHUFA sy-vline
WA_VZPARZU_STR-SBONITA sy-vline
WA_VZPARZU_STR-XBERUF sy-vline
WA_VZPARZU_STR-XBSALS sy-vline
WA_VZPARZU_STR-XARBGEB sy-vline
WA_VZPARZU_STR-BEINKO sy-vline
WA_VZPARZU_STR-RERF sy-vline
WA_VZPARZU_STR-DERF sy-vline
WA_VZPARZU_STR-TERF sy-vline
WA_VZPARZU_STR-REHER sy-vline
WA_VZPARZU_STR-RBEAR sy-vline
WA_VZPARZU_STR-DBEAR sy-vline
WA_VZPARZU_STR-TBEAR sy-vline
WA_VZPARZU_STR-RBHER sy-vline
WA_VZPARZU_STR-BUMSATZ sy-vline
WA_VZPARZU_STR-YGRND sy-vline
WA_VZPARZU_STR-VBJAHR sy-vline
WA_VZPARZU_STR-XHRGN sy-vline
WA_VZPARZU_STR-SKRED sy-vline
WA_VZPARZU_STR-XKRED sy-vline
WA_VZPARZU_STR-JKWG14 sy-vline
WA_VZPARZU_STR-RKWG14KE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.