ABAP Select data from SAP table PRUT13_TABEL 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 PRUT13_TABEL 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 PRUT13_TABEL. 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 PRUT13_TABEL 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_PRUT13_TABEL TYPE STANDARD TABLE OF PRUT13_TABEL,
      WA_PRUT13_TABEL TYPE PRUT13_TABEL,
      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: <PRUT13_TABEL> TYPE PRUT13_TABEL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PRUT13_TABEL
*  INTO TABLE @DATA(IT_PRUT13_TABEL2).
*--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_PRUT13_TABEL INDEX 1 INTO DATA(WA_PRUT13_TABEL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PRUT13_TABEL ASSIGNING <PRUT13_TABEL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PRUT13_TABEL>-SENUM = 1.
<PRUT13_TABEL>-PERNR = 1.
<PRUT13_TABEL>-NAME = 1.
<PRUT13_TABEL>-POSIT = 1.
<PRUT13_TABEL>-SYM01 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PRUT13_TABEL-SYM02, sy-vline,
WA_PRUT13_TABEL-SYM03, sy-vline,
WA_PRUT13_TABEL-SYM04, sy-vline,
WA_PRUT13_TABEL-SYM05, sy-vline,
WA_PRUT13_TABEL-SYM06, sy-vline,
WA_PRUT13_TABEL-SYM07, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PRUT13_TABEL 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_PRUT13_TABEL 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_PRUT13_TABEL INTO WA_PRUT13_TABEL. *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_PRUT13_TABEL_STR,
SENUM TYPE STRING,
PERNR TYPE STRING,
NAME TYPE STRING,
POSIT TYPE STRING,
SYM01 TYPE STRING,
SYM02 TYPE STRING,
SYM03 TYPE STRING,
SYM04 TYPE STRING,
SYM05 TYPE STRING,
SYM06 TYPE STRING,
SYM07 TYPE STRING,
SYM08 TYPE STRING,
SYM09 TYPE STRING,
SYM10 TYPE STRING,
SYM11 TYPE STRING,
SYM12 TYPE STRING,
SYM13 TYPE STRING,
SYM14 TYPE STRING,
SYM15 TYPE STRING,
SYM16 TYPE STRING,
SYM17 TYPE STRING,
SYM18 TYPE STRING,
SYM19 TYPE STRING,
SYM20 TYPE STRING,
SYM21 TYPE STRING,
SYM22 TYPE STRING,
SYM23 TYPE STRING,
SYM24 TYPE STRING,
SYM25 TYPE STRING,
SYM26 TYPE STRING,
SYM27 TYPE STRING,
SYM28 TYPE STRING,
SYM29 TYPE STRING,
SYM30 TYPE STRING,
SYM31 TYPE STRING,
VAL01 TYPE STRING,
VAL02 TYPE STRING,
VAL03 TYPE STRING,
VAL04 TYPE STRING,
VAL05 TYPE STRING,
VAL06 TYPE STRING,
VAL07 TYPE STRING,
VAL08 TYPE STRING,
VAL09 TYPE STRING,
VAL10 TYPE STRING,
VAL11 TYPE STRING,
VAL12 TYPE STRING,
VAL13 TYPE STRING,
VAL14 TYPE STRING,
VAL15 TYPE STRING,
VAL16 TYPE STRING,
VAL17 TYPE STRING,
VAL18 TYPE STRING,
VAL19 TYPE STRING,
VAL20 TYPE STRING,
VAL21 TYPE STRING,
VAL22 TYPE STRING,
VAL23 TYPE STRING,
VAL24 TYPE STRING,
VAL25 TYPE STRING,
VAL26 TYPE STRING,
VAL27 TYPE STRING,
VAL28 TYPE STRING,
VAL29 TYPE STRING,
VAL30 TYPE STRING,
VAL31 TYPE STRING,
WOR1D TYPE STRING,
WOR1H TYPE STRING,
WOR2D TYPE STRING,
WOR2H TYPE STRING,
WOR3D TYPE STRING,
WOR3H TYPE STRING,
WTYP1 TYPE STRING,
CORA1 TYPE STRING,
CORD1 TYPE STRING,
WTYP2 TYPE STRING,
CORA2 TYPE STRING,
CORD2 TYPE STRING,
WTYP3 TYPE STRING,
CORA3 TYPE STRING,
CORD3 TYPE STRING,
WTYP4 TYPE STRING,
CORA4 TYPE STRING,
CORD4 TYPE STRING,
WTYP5 TYPE STRING,
CORA5 TYPE STRING,
CORD5 TYPE STRING,
WTYP6 TYPE STRING,
CORA6 TYPE STRING,
CORD6 TYPE STRING,
WTYP7 TYPE STRING,
CORA7 TYPE STRING,
CORD7 TYPE STRING,
WTYP8 TYPE STRING,
CORA8 TYPE STRING,
CORD8 TYPE STRING,
ABSC1 TYPE STRING,
ABSD1 TYPE STRING,
ABSH1 TYPE STRING,
ABSC2 TYPE STRING,
ABSD2 TYPE STRING,
ABSH2 TYPE STRING,
ABSC3 TYPE STRING,
ABSD3 TYPE STRING,
ABSH3 TYPE STRING,
ABSC4 TYPE STRING,
ABSD4 TYPE STRING,
ABSH4 TYPE STRING,
ABSC5 TYPE STRING,
ABSD5 TYPE STRING,
ABSH5 TYPE STRING,
ABSC6 TYPE STRING,
ABSD6 TYPE STRING,
ABSH6 TYPE STRING,
ABSC7 TYPE STRING,
ABSD7 TYPE STRING,
ABSH7 TYPE STRING,
ABSC8 TYPE STRING,
ABSD8 TYPE STRING,
ABSH8 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PRUT13_TABEL_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_PRUT13_TABEL_STR-SENUM sy-vline
WA_PRUT13_TABEL_STR-PERNR sy-vline
WA_PRUT13_TABEL_STR-NAME sy-vline
WA_PRUT13_TABEL_STR-POSIT sy-vline
WA_PRUT13_TABEL_STR-SYM01 sy-vline
WA_PRUT13_TABEL_STR-SYM02 sy-vline
WA_PRUT13_TABEL_STR-SYM03 sy-vline
WA_PRUT13_TABEL_STR-SYM04 sy-vline
WA_PRUT13_TABEL_STR-SYM05 sy-vline
WA_PRUT13_TABEL_STR-SYM06 sy-vline
WA_PRUT13_TABEL_STR-SYM07 sy-vline
WA_PRUT13_TABEL_STR-SYM08 sy-vline
WA_PRUT13_TABEL_STR-SYM09 sy-vline
WA_PRUT13_TABEL_STR-SYM10 sy-vline
WA_PRUT13_TABEL_STR-SYM11 sy-vline
WA_PRUT13_TABEL_STR-SYM12 sy-vline
WA_PRUT13_TABEL_STR-SYM13 sy-vline
WA_PRUT13_TABEL_STR-SYM14 sy-vline
WA_PRUT13_TABEL_STR-SYM15 sy-vline
WA_PRUT13_TABEL_STR-SYM16 sy-vline
WA_PRUT13_TABEL_STR-SYM17 sy-vline
WA_PRUT13_TABEL_STR-SYM18 sy-vline
WA_PRUT13_TABEL_STR-SYM19 sy-vline
WA_PRUT13_TABEL_STR-SYM20 sy-vline
WA_PRUT13_TABEL_STR-SYM21 sy-vline
WA_PRUT13_TABEL_STR-SYM22 sy-vline
WA_PRUT13_TABEL_STR-SYM23 sy-vline
WA_PRUT13_TABEL_STR-SYM24 sy-vline
WA_PRUT13_TABEL_STR-SYM25 sy-vline
WA_PRUT13_TABEL_STR-SYM26 sy-vline
WA_PRUT13_TABEL_STR-SYM27 sy-vline
WA_PRUT13_TABEL_STR-SYM28 sy-vline
WA_PRUT13_TABEL_STR-SYM29 sy-vline
WA_PRUT13_TABEL_STR-SYM30 sy-vline
WA_PRUT13_TABEL_STR-SYM31 sy-vline
WA_PRUT13_TABEL_STR-VAL01 sy-vline
WA_PRUT13_TABEL_STR-VAL02 sy-vline
WA_PRUT13_TABEL_STR-VAL03 sy-vline
WA_PRUT13_TABEL_STR-VAL04 sy-vline
WA_PRUT13_TABEL_STR-VAL05 sy-vline
WA_PRUT13_TABEL_STR-VAL06 sy-vline
WA_PRUT13_TABEL_STR-VAL07 sy-vline
WA_PRUT13_TABEL_STR-VAL08 sy-vline
WA_PRUT13_TABEL_STR-VAL09 sy-vline
WA_PRUT13_TABEL_STR-VAL10 sy-vline
WA_PRUT13_TABEL_STR-VAL11 sy-vline
WA_PRUT13_TABEL_STR-VAL12 sy-vline
WA_PRUT13_TABEL_STR-VAL13 sy-vline
WA_PRUT13_TABEL_STR-VAL14 sy-vline
WA_PRUT13_TABEL_STR-VAL15 sy-vline
WA_PRUT13_TABEL_STR-VAL16 sy-vline
WA_PRUT13_TABEL_STR-VAL17 sy-vline
WA_PRUT13_TABEL_STR-VAL18 sy-vline
WA_PRUT13_TABEL_STR-VAL19 sy-vline
WA_PRUT13_TABEL_STR-VAL20 sy-vline
WA_PRUT13_TABEL_STR-VAL21 sy-vline
WA_PRUT13_TABEL_STR-VAL22 sy-vline
WA_PRUT13_TABEL_STR-VAL23 sy-vline
WA_PRUT13_TABEL_STR-VAL24 sy-vline
WA_PRUT13_TABEL_STR-VAL25 sy-vline
WA_PRUT13_TABEL_STR-VAL26 sy-vline
WA_PRUT13_TABEL_STR-VAL27 sy-vline
WA_PRUT13_TABEL_STR-VAL28 sy-vline
WA_PRUT13_TABEL_STR-VAL29 sy-vline
WA_PRUT13_TABEL_STR-VAL30 sy-vline
WA_PRUT13_TABEL_STR-VAL31 sy-vline
WA_PRUT13_TABEL_STR-WOR1D sy-vline
WA_PRUT13_TABEL_STR-WOR1H sy-vline
WA_PRUT13_TABEL_STR-WOR2D sy-vline
WA_PRUT13_TABEL_STR-WOR2H sy-vline
WA_PRUT13_TABEL_STR-WOR3D sy-vline
WA_PRUT13_TABEL_STR-WOR3H sy-vline
WA_PRUT13_TABEL_STR-WTYP1 sy-vline
WA_PRUT13_TABEL_STR-CORA1 sy-vline
WA_PRUT13_TABEL_STR-CORD1 sy-vline
WA_PRUT13_TABEL_STR-WTYP2 sy-vline
WA_PRUT13_TABEL_STR-CORA2 sy-vline
WA_PRUT13_TABEL_STR-CORD2 sy-vline
WA_PRUT13_TABEL_STR-WTYP3 sy-vline
WA_PRUT13_TABEL_STR-CORA3 sy-vline
WA_PRUT13_TABEL_STR-CORD3 sy-vline
WA_PRUT13_TABEL_STR-WTYP4 sy-vline
WA_PRUT13_TABEL_STR-CORA4 sy-vline
WA_PRUT13_TABEL_STR-CORD4 sy-vline
WA_PRUT13_TABEL_STR-WTYP5 sy-vline
WA_PRUT13_TABEL_STR-CORA5 sy-vline
WA_PRUT13_TABEL_STR-CORD5 sy-vline
WA_PRUT13_TABEL_STR-WTYP6 sy-vline
WA_PRUT13_TABEL_STR-CORA6 sy-vline
WA_PRUT13_TABEL_STR-CORD6 sy-vline
WA_PRUT13_TABEL_STR-WTYP7 sy-vline
WA_PRUT13_TABEL_STR-CORA7 sy-vline
WA_PRUT13_TABEL_STR-CORD7 sy-vline
WA_PRUT13_TABEL_STR-WTYP8 sy-vline
WA_PRUT13_TABEL_STR-CORA8 sy-vline
WA_PRUT13_TABEL_STR-CORD8 sy-vline
WA_PRUT13_TABEL_STR-ABSC1 sy-vline
WA_PRUT13_TABEL_STR-ABSD1 sy-vline
WA_PRUT13_TABEL_STR-ABSH1 sy-vline
WA_PRUT13_TABEL_STR-ABSC2 sy-vline
WA_PRUT13_TABEL_STR-ABSD2 sy-vline
WA_PRUT13_TABEL_STR-ABSH2 sy-vline
WA_PRUT13_TABEL_STR-ABSC3 sy-vline
WA_PRUT13_TABEL_STR-ABSD3 sy-vline
WA_PRUT13_TABEL_STR-ABSH3 sy-vline
WA_PRUT13_TABEL_STR-ABSC4 sy-vline
WA_PRUT13_TABEL_STR-ABSD4 sy-vline
WA_PRUT13_TABEL_STR-ABSH4 sy-vline
WA_PRUT13_TABEL_STR-ABSC5 sy-vline
WA_PRUT13_TABEL_STR-ABSD5 sy-vline
WA_PRUT13_TABEL_STR-ABSH5 sy-vline
WA_PRUT13_TABEL_STR-ABSC6 sy-vline
WA_PRUT13_TABEL_STR-ABSD6 sy-vline
WA_PRUT13_TABEL_STR-ABSH6 sy-vline
WA_PRUT13_TABEL_STR-ABSC7 sy-vline
WA_PRUT13_TABEL_STR-ABSD7 sy-vline
WA_PRUT13_TABEL_STR-ABSH7 sy-vline
WA_PRUT13_TABEL_STR-ABSC8 sy-vline
WA_PRUT13_TABEL_STR-ABSD8 sy-vline
WA_PRUT13_TABEL_STR-ABSH8 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.