ABAP Select data from SAP table PPVAR 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 PPVAR 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 PPVAR. 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 PPVAR 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_PPVAR TYPE STANDARD TABLE OF PPVAR,
      WA_PPVAR TYPE PPVAR,
      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: <PPVAR> TYPE PPVAR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PPVAR
*  INTO TABLE @DATA(IT_PPVAR2).
*--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_PPVAR INDEX 1 INTO DATA(WA_PPVAR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PPVAR ASSIGNING <PPVAR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PPVAR>-EOTYP = 1.
<PPVAR>-EOBJD = 1.
<PPVAR>-ESHRT = 1.
<PPVAR>-ESTXT = 1.
<PPVAR>-EXTN1 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PPVAR-EXTN2, sy-vline,
WA_PPVAR-EXTN3, sy-vline,
WA_PPVAR-EBGDA, sy-vline,
WA_PPVAR-ENDDA, sy-vline,
WA_PPVAR-KOTYP, sy-vline,
WA_PPVAR-KOBJD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PPVAR 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_PPVAR 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_PPVAR INTO WA_PPVAR. *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_PPVAR_STR,
EOTYP TYPE STRING,
EOBJD TYPE STRING,
ESHRT TYPE STRING,
ESTXT TYPE STRING,
EXTN1 TYPE STRING,
EXTN2 TYPE STRING,
EXTN3 TYPE STRING,
EBGDA TYPE STRING,
ENDDA TYPE STRING,
KOTYP TYPE STRING,
KOBJD TYPE STRING,
KSHRT TYPE STRING,
KSTXT TYPE STRING,
KXTN1 TYPE STRING,
KXTN2 TYPE STRING,
KXTN3 TYPE STRING,
KBGDA TYPE STRING,
KNDDA TYPE STRING,
KBTIM TYPE STRING,
KBDAY TYPE STRING,
KETIM TYPE STRING,
KEDAY TYPE STRING,
K_DAT TYPE STRING,
K_DAY TYPE STRING,
KBTMN TYPE STRING,
KETMN TYPE STRING,
DOTYP TYPE STRING,
DOBJD TYPE STRING,
DSHRT TYPE STRING,
DSTXT TYPE STRING,
DXTN1 TYPE STRING,
DXTN2 TYPE STRING,
DXTN3 TYPE STRING,
TOTYP TYPE STRING,
TOTYTX TYPE STRING,
TOBJD TYPE STRING,
TSHRT TYPE STRING,
TSTXT TYPE STRING,
TANRD TYPE STRING,
TGRUS TYPE STRING,
TCANZ TYPE STRING,
TTANZ TYPE STRING,
TCNAM TYPE STRING,
TSTRS TYPE STRING,
TSTR2 TYPE STRING,
TSTR_NR_PO TYPE STRING,
T_PLZ TYPE STRING,
T_ORT TYPE STRING,
TLAND TYPE STRING,
TREGI TYPE STRING,
T2CNA TYPE STRING,
T2STR TYPE STRING,
T2ST2 TYPE STRING,
T2PLZ TYPE STRING,
T2ORT TYPE STRING,
T2LND TYPE STRING,
T2REG TYPE STRING,
T_ANZ TYPE STRING,
TLIST TYPE STRING,
TLARD TYPE STRING,
TLNAM TYPE STRING,
TLORG TYPE STRING,
UOTYP TYPE STRING,
UOBJD TYPE STRING,
USHRT TYPE STRING,
USTXT TYPE STRING,
AOTYP TYPE STRING,
AOBJD TYPE STRING,
ASHRT TYPE STRING,
ASTXT TYPE STRING,
AANRD TYPE STRING,
AGRUS TYPE STRING,
ACNAM TYPE STRING,
ASTRS TYPE STRING,
ASTR2 TYPE STRING,
A_PLZ TYPE STRING,
A_ORT TYPE STRING,
ALAND TYPE STRING,
AREGI TYPE STRING,
A2CNA TYPE STRING,
A2STR TYPE STRING,
A2ST2 TYPE STRING,
A2PLZ TYPE STRING,
A2ORT TYPE STRING,
A2LND TYPE STRING,
A2REG TYPE STRING,
AUOTYP TYPE STRING,
AUOBJD TYPE STRING,
AUSHRT TYPE STRING,
AUSTXT TYPE STRING,
FSHRT TYPE STRING,
FSTXT TYPE STRING,
FCNAM TYPE STRING,
F_PLZ TYPE STRING,
FSTRS TYPE STRING,
FSTR2 TYPE STRING,
F_ORT TYPE STRING,
FLAND TYPE STRING,
FREGI TYPE STRING,
BSHRT TYPE STRING,
BSTXT TYPE STRING,
BCNAM TYPE STRING,
BSTRS TYPE STRING,
BSTR2 TYPE STRING,
B_PLZ TYPE STRING,
B_ORT TYPE STRING,
BLAND TYPE STRING,
BREGI TYPE STRING,
RSHRT TYPE STRING,
RSTXT TYPE STRING,
R_NUM TYPE STRING,
I_ANZ TYPE STRING,
ISHRT TYPE STRING,
ISHRT_T TYPE STRING,
ISTXT TYPE STRING,
ISTXT_T TYPE STRING,
IANRD TYPE STRING,
IANRD_T TYPE STRING,
IGRUS TYPE STRING,
IGRUS_T TYPE STRING,
ICNAM TYPE STRING,
ISTRS TYPE STRING,
ISTR2 TYPE STRING,
I_PLZ TYPE STRING,
I_ORT TYPE STRING,
ILAND TYPE STRING,
IREGI TYPE STRING,
I2CNA TYPE STRING,
I2STR TYPE STRING,
I2ST2 TYPE STRING,
I2PLZ TYPE STRING,
I2ORT TYPE STRING,
I2LND TYPE STRING,
I2REG TYPE STRING,
IOSHT TYPE STRING,
IOSHT_T TYPE STRING,
IOSTX TYPE STRING,
IOSTX_T TYPE STRING,
VSHRT TYPE STRING,
VSTXT TYPE STRING,
VGRUS TYPE STRING,
VCNAM TYPE STRING,
VSTRS TYPE STRING,
VSTR2 TYPE STRING,
V_PLZ TYPE STRING,
V_ORT TYPE STRING,
VLAND TYPE STRING,
VREGI TYPE STRING,
VTELN TYPE STRING,
VFAXN TYPE STRING,
V2CNA TYPE STRING,
V2STR TYPE STRING,
V2ST2 TYPE STRING,
V2PLZ TYPE STRING,
V2ORT TYPE STRING,
V2LND TYPE STRING,
V2REG TYPE STRING,
V2TEL TYPE STRING,
V2FAX TYPE STRING,
GTOTP_T TYPE STRING,
GTOBJ_T TYPE STRING,
GTSHT_T TYPE STRING,
GTSTX_T TYPE STRING,
GBANZ TYPE STRING,
GBOTP_T TYPE STRING,
GBOBJ_T TYPE STRING,
GBSHT_T TYPE STRING,
GBSTX_T TYPE STRING,
GBARD_T TYPE STRING,
GBBEG_T TYPE STRING,
GBBDY_T TYPE STRING,
GBBUZ_T TYPE STRING,
GBEND_T TYPE STRING,
GBEDY_T TYPE STRING,
GBEUZ_T TYPE STRING,
WCOST TYPE STRING,
WCCUR TYPE STRING,
FINAM TYPE STRING,END OF T_EKKO_STR. DATA: WA_PPVAR_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_PPVAR_STR-EOTYP sy-vline
WA_PPVAR_STR-EOBJD sy-vline
WA_PPVAR_STR-ESHRT sy-vline
WA_PPVAR_STR-ESTXT sy-vline
WA_PPVAR_STR-EXTN1 sy-vline
WA_PPVAR_STR-EXTN2 sy-vline
WA_PPVAR_STR-EXTN3 sy-vline
WA_PPVAR_STR-EBGDA sy-vline
WA_PPVAR_STR-ENDDA sy-vline
WA_PPVAR_STR-KOTYP sy-vline
WA_PPVAR_STR-KOBJD sy-vline
WA_PPVAR_STR-KSHRT sy-vline
WA_PPVAR_STR-KSTXT sy-vline
WA_PPVAR_STR-KXTN1 sy-vline
WA_PPVAR_STR-KXTN2 sy-vline
WA_PPVAR_STR-KXTN3 sy-vline
WA_PPVAR_STR-KBGDA sy-vline
WA_PPVAR_STR-KNDDA sy-vline
WA_PPVAR_STR-KBTIM sy-vline
WA_PPVAR_STR-KBDAY sy-vline
WA_PPVAR_STR-KETIM sy-vline
WA_PPVAR_STR-KEDAY sy-vline
WA_PPVAR_STR-K_DAT sy-vline
WA_PPVAR_STR-K_DAY sy-vline
WA_PPVAR_STR-KBTMN sy-vline
WA_PPVAR_STR-KETMN sy-vline
WA_PPVAR_STR-DOTYP sy-vline
WA_PPVAR_STR-DOBJD sy-vline
WA_PPVAR_STR-DSHRT sy-vline
WA_PPVAR_STR-DSTXT sy-vline
WA_PPVAR_STR-DXTN1 sy-vline
WA_PPVAR_STR-DXTN2 sy-vline
WA_PPVAR_STR-DXTN3 sy-vline
WA_PPVAR_STR-TOTYP sy-vline
WA_PPVAR_STR-TOTYTX sy-vline
WA_PPVAR_STR-TOBJD sy-vline
WA_PPVAR_STR-TSHRT sy-vline
WA_PPVAR_STR-TSTXT sy-vline
WA_PPVAR_STR-TANRD sy-vline
WA_PPVAR_STR-TGRUS sy-vline
WA_PPVAR_STR-TCANZ sy-vline
WA_PPVAR_STR-TTANZ sy-vline
WA_PPVAR_STR-TCNAM sy-vline
WA_PPVAR_STR-TSTRS sy-vline
WA_PPVAR_STR-TSTR2 sy-vline
WA_PPVAR_STR-TSTR_NR_PO sy-vline
WA_PPVAR_STR-T_PLZ sy-vline
WA_PPVAR_STR-T_ORT sy-vline
WA_PPVAR_STR-TLAND sy-vline
WA_PPVAR_STR-TREGI sy-vline
WA_PPVAR_STR-T2CNA sy-vline
WA_PPVAR_STR-T2STR sy-vline
WA_PPVAR_STR-T2ST2 sy-vline
WA_PPVAR_STR-T2PLZ sy-vline
WA_PPVAR_STR-T2ORT sy-vline
WA_PPVAR_STR-T2LND sy-vline
WA_PPVAR_STR-T2REG sy-vline
WA_PPVAR_STR-T_ANZ sy-vline
WA_PPVAR_STR-TLIST sy-vline
WA_PPVAR_STR-TLARD sy-vline
WA_PPVAR_STR-TLNAM sy-vline
WA_PPVAR_STR-TLORG sy-vline
WA_PPVAR_STR-UOTYP sy-vline
WA_PPVAR_STR-UOBJD sy-vline
WA_PPVAR_STR-USHRT sy-vline
WA_PPVAR_STR-USTXT sy-vline
WA_PPVAR_STR-AOTYP sy-vline
WA_PPVAR_STR-AOBJD sy-vline
WA_PPVAR_STR-ASHRT sy-vline
WA_PPVAR_STR-ASTXT sy-vline
WA_PPVAR_STR-AANRD sy-vline
WA_PPVAR_STR-AGRUS sy-vline
WA_PPVAR_STR-ACNAM sy-vline
WA_PPVAR_STR-ASTRS sy-vline
WA_PPVAR_STR-ASTR2 sy-vline
WA_PPVAR_STR-A_PLZ sy-vline
WA_PPVAR_STR-A_ORT sy-vline
WA_PPVAR_STR-ALAND sy-vline
WA_PPVAR_STR-AREGI sy-vline
WA_PPVAR_STR-A2CNA sy-vline
WA_PPVAR_STR-A2STR sy-vline
WA_PPVAR_STR-A2ST2 sy-vline
WA_PPVAR_STR-A2PLZ sy-vline
WA_PPVAR_STR-A2ORT sy-vline
WA_PPVAR_STR-A2LND sy-vline
WA_PPVAR_STR-A2REG sy-vline
WA_PPVAR_STR-AUOTYP sy-vline
WA_PPVAR_STR-AUOBJD sy-vline
WA_PPVAR_STR-AUSHRT sy-vline
WA_PPVAR_STR-AUSTXT sy-vline
WA_PPVAR_STR-FSHRT sy-vline
WA_PPVAR_STR-FSTXT sy-vline
WA_PPVAR_STR-FCNAM sy-vline
WA_PPVAR_STR-F_PLZ sy-vline
WA_PPVAR_STR-FSTRS sy-vline
WA_PPVAR_STR-FSTR2 sy-vline
WA_PPVAR_STR-F_ORT sy-vline
WA_PPVAR_STR-FLAND sy-vline
WA_PPVAR_STR-FREGI sy-vline
WA_PPVAR_STR-BSHRT sy-vline
WA_PPVAR_STR-BSTXT sy-vline
WA_PPVAR_STR-BCNAM sy-vline
WA_PPVAR_STR-BSTRS sy-vline
WA_PPVAR_STR-BSTR2 sy-vline
WA_PPVAR_STR-B_PLZ sy-vline
WA_PPVAR_STR-B_ORT sy-vline
WA_PPVAR_STR-BLAND sy-vline
WA_PPVAR_STR-BREGI sy-vline
WA_PPVAR_STR-RSHRT sy-vline
WA_PPVAR_STR-RSTXT sy-vline
WA_PPVAR_STR-R_NUM sy-vline
WA_PPVAR_STR-I_ANZ sy-vline
WA_PPVAR_STR-ISHRT sy-vline
WA_PPVAR_STR-ISHRT_T sy-vline
WA_PPVAR_STR-ISTXT sy-vline
WA_PPVAR_STR-ISTXT_T sy-vline
WA_PPVAR_STR-IANRD sy-vline
WA_PPVAR_STR-IANRD_T sy-vline
WA_PPVAR_STR-IGRUS sy-vline
WA_PPVAR_STR-IGRUS_T sy-vline
WA_PPVAR_STR-ICNAM sy-vline
WA_PPVAR_STR-ISTRS sy-vline
WA_PPVAR_STR-ISTR2 sy-vline
WA_PPVAR_STR-I_PLZ sy-vline
WA_PPVAR_STR-I_ORT sy-vline
WA_PPVAR_STR-ILAND sy-vline
WA_PPVAR_STR-IREGI sy-vline
WA_PPVAR_STR-I2CNA sy-vline
WA_PPVAR_STR-I2STR sy-vline
WA_PPVAR_STR-I2ST2 sy-vline
WA_PPVAR_STR-I2PLZ sy-vline
WA_PPVAR_STR-I2ORT sy-vline
WA_PPVAR_STR-I2LND sy-vline
WA_PPVAR_STR-I2REG sy-vline
WA_PPVAR_STR-IOSHT sy-vline
WA_PPVAR_STR-IOSHT_T sy-vline
WA_PPVAR_STR-IOSTX sy-vline
WA_PPVAR_STR-IOSTX_T sy-vline
WA_PPVAR_STR-VSHRT sy-vline
WA_PPVAR_STR-VSTXT sy-vline
WA_PPVAR_STR-VGRUS sy-vline
WA_PPVAR_STR-VCNAM sy-vline
WA_PPVAR_STR-VSTRS sy-vline
WA_PPVAR_STR-VSTR2 sy-vline
WA_PPVAR_STR-V_PLZ sy-vline
WA_PPVAR_STR-V_ORT sy-vline
WA_PPVAR_STR-VLAND sy-vline
WA_PPVAR_STR-VREGI sy-vline
WA_PPVAR_STR-VTELN sy-vline
WA_PPVAR_STR-VFAXN sy-vline
WA_PPVAR_STR-V2CNA sy-vline
WA_PPVAR_STR-V2STR sy-vline
WA_PPVAR_STR-V2ST2 sy-vline
WA_PPVAR_STR-V2PLZ sy-vline
WA_PPVAR_STR-V2ORT sy-vline
WA_PPVAR_STR-V2LND sy-vline
WA_PPVAR_STR-V2REG sy-vline
WA_PPVAR_STR-V2TEL sy-vline
WA_PPVAR_STR-V2FAX sy-vline
WA_PPVAR_STR-GTOTP_T sy-vline
WA_PPVAR_STR-GTOBJ_T sy-vline
WA_PPVAR_STR-GTSHT_T sy-vline
WA_PPVAR_STR-GTSTX_T sy-vline
WA_PPVAR_STR-GBANZ sy-vline
WA_PPVAR_STR-GBOTP_T sy-vline
WA_PPVAR_STR-GBOBJ_T sy-vline
WA_PPVAR_STR-GBSHT_T sy-vline
WA_PPVAR_STR-GBSTX_T sy-vline
WA_PPVAR_STR-GBARD_T sy-vline
WA_PPVAR_STR-GBBEG_T sy-vline
WA_PPVAR_STR-GBBDY_T sy-vline
WA_PPVAR_STR-GBBUZ_T sy-vline
WA_PPVAR_STR-GBEND_T sy-vline
WA_PPVAR_STR-GBEDY_T sy-vline
WA_PPVAR_STR-GBEUZ_T sy-vline
WA_PPVAR_STR-WCOST sy-vline
WA_PPVAR_STR-WCCUR sy-vline
WA_PPVAR_STR-FINAM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.