ABAP Select data from SAP table P3224 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 P3224 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 P3224. 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 P3224 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_P3224 TYPE STANDARD TABLE OF P3224,
      WA_P3224 TYPE P3224,
      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: <P3224> TYPE P3224.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P3224
*  INTO TABLE @DATA(IT_P32242).
*--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_P3224 INDEX 1 INTO DATA(WA_P32242).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P3224 ASSIGNING <P3224>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P3224>-PERNR = 1.
<P3224>-INFTY = 1.
<P3224>-SUBTY = 1.
<P3224>-OBJPS = 1.
<P3224>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P3224-ENDDA, sy-vline,
WA_P3224-BEGDA, sy-vline,
WA_P3224-SEQNR, sy-vline,
WA_P3224-AEDTM, sy-vline,
WA_P3224-UNAME, sy-vline,
WA_P3224-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P3224 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_P3224 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_P3224 INTO WA_P3224. *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_P3224_STR,
PERNR TYPE STRING,
INFTY TYPE STRING,
SUBTY TYPE STRING,
OBJPS TYPE STRING,
SPRPS TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
SEQNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
HISTO TYPE STRING,
ITXEX TYPE STRING,
REFEX TYPE STRING,
ORDEX TYPE STRING,
ITBLD TYPE STRING,
PREAS TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
RESE1 TYPE STRING,
RESE2 TYPE STRING,
GRPVL TYPE STRING,
TMNGRP TYPE STRING,
TMNRSN TYPE STRING,
ISSUE01 TYPE STRING,
ISSUE02 TYPE STRING,
ISSUE03 TYPE STRING,
ISSUE04 TYPE STRING,
ISSUE05 TYPE STRING,
ISSUE06 TYPE STRING,
ISSUE07 TYPE STRING,
ISSUE08 TYPE STRING,
ISSUE09 TYPE STRING,
ISSUE10 TYPE STRING,
ISSUE11 TYPE STRING,
ISSUE12 TYPE STRING,
ISSUE13 TYPE STRING,
ISSUE14 TYPE STRING,
ISSUE15 TYPE STRING,
ISSUE16 TYPE STRING,
ISSUE17 TYPE STRING,
ISSUE18 TYPE STRING,
ISSUE19 TYPE STRING,
ISSUE20 TYPE STRING,
ISUDTL01_ISU TYPE STRING,
ISUDTL01 TYPE STRING,
ISUDTL02_ISU TYPE STRING,
ISUDTL02 TYPE STRING,
ISUDTL03_ISU TYPE STRING,
ISUDTL03 TYPE STRING,
ISUDTL04_ISU TYPE STRING,
ISUDTL04 TYPE STRING,
ISUDTL05_ISU TYPE STRING,
ISUDTL05 TYPE STRING,
ISUDTL06_ISU TYPE STRING,
ISUDTL06 TYPE STRING,
ISUDTL07_ISU TYPE STRING,
ISUDTL07 TYPE STRING,
ISUDTL08_ISU TYPE STRING,
ISUDTL08 TYPE STRING,
ISUDTL09_ISU TYPE STRING,
ISUDTL09 TYPE STRING,
ISUDTL10_ISU TYPE STRING,
ISUDTL10 TYPE STRING,
ISUDTL11_ISU TYPE STRING,
ISUDTL11 TYPE STRING,
ISUDTL12_ISU TYPE STRING,
ISUDTL12 TYPE STRING,
ISUDTL13_ISU TYPE STRING,
ISUDTL13 TYPE STRING,
ISUDTL14_ISU TYPE STRING,
ISUDTL14 TYPE STRING,
ISUDTL15_ISU TYPE STRING,
ISUDTL15 TYPE STRING,
ISUDTL16_ISU TYPE STRING,
ISUDTL16 TYPE STRING,
ISUDTL17_ISU TYPE STRING,
ISUDTL17 TYPE STRING,
ISUDTL18_ISU TYPE STRING,
ISUDTL18 TYPE STRING,
ISUDTL19_ISU TYPE STRING,
ISUDTL19 TYPE STRING,
ISUDTL20_ISU TYPE STRING,
ISUDTL20 TYPE STRING,
ISUDTL21_ISU TYPE STRING,
ISUDTL21 TYPE STRING,
ISUDTL22_ISU TYPE STRING,
ISUDTL22 TYPE STRING,
ISUDTL23_ISU TYPE STRING,
ISUDTL23 TYPE STRING,
ISUDTL24_ISU TYPE STRING,
ISUDTL24 TYPE STRING,
ISUDTL25_ISU TYPE STRING,
ISUDTL25 TYPE STRING,
ISUDTL26_ISU TYPE STRING,
ISUDTL26 TYPE STRING,
ISUDTL27_ISU TYPE STRING,
ISUDTL27 TYPE STRING,
ISUDTL28_ISU TYPE STRING,
ISUDTL28 TYPE STRING,
ISUDTL29_ISU TYPE STRING,
ISUDTL29 TYPE STRING,
ISUDTL30_ISU TYPE STRING,
ISUDTL30 TYPE STRING,
ACTN01 TYPE STRING,
ACTN02 TYPE STRING,
ACTN03 TYPE STRING,
ACTN04 TYPE STRING,
ACTN05 TYPE STRING,
ACTN06 TYPE STRING,
ACTN07 TYPE STRING,
ACTN08 TYPE STRING,
ACTN09 TYPE STRING,
ACTN10 TYPE STRING,
ACTN11 TYPE STRING,
ACTN12 TYPE STRING,
ACTN13 TYPE STRING,
ACTN14 TYPE STRING,
ACTN15 TYPE STRING,
ACTN16 TYPE STRING,
ACTN17 TYPE STRING,
ACTN18 TYPE STRING,
ACTN19 TYPE STRING,
ACTN20 TYPE STRING,
DECTYP TYPE STRING,
DECMKR TYPE STRING,
IVGBEGDA TYPE STRING,
IVGENDDA TYPE STRING,
DECMKDT TYPE STRING,
OUTCM TYPE STRING,
INDPY TYPE STRING,
SPCAG TYPE STRING,
BLKLT TYPE STRING,
PECUR TYPE STRING,END OF T_EKKO_STR. DATA: WA_P3224_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_P3224_STR-PERNR sy-vline
WA_P3224_STR-INFTY sy-vline
WA_P3224_STR-SUBTY sy-vline
WA_P3224_STR-OBJPS sy-vline
WA_P3224_STR-SPRPS sy-vline
WA_P3224_STR-ENDDA sy-vline
WA_P3224_STR-BEGDA sy-vline
WA_P3224_STR-SEQNR sy-vline
WA_P3224_STR-AEDTM sy-vline
WA_P3224_STR-UNAME sy-vline
WA_P3224_STR-HISTO sy-vline
WA_P3224_STR-ITXEX sy-vline
WA_P3224_STR-REFEX sy-vline
WA_P3224_STR-ORDEX sy-vline
WA_P3224_STR-ITBLD sy-vline
WA_P3224_STR-PREAS sy-vline
WA_P3224_STR-FLAG1 sy-vline
WA_P3224_STR-FLAG2 sy-vline
WA_P3224_STR-FLAG3 sy-vline
WA_P3224_STR-FLAG4 sy-vline
WA_P3224_STR-RESE1 sy-vline
WA_P3224_STR-RESE2 sy-vline
WA_P3224_STR-GRPVL sy-vline
WA_P3224_STR-TMNGRP sy-vline
WA_P3224_STR-TMNRSN sy-vline
WA_P3224_STR-ISSUE01 sy-vline
WA_P3224_STR-ISSUE02 sy-vline
WA_P3224_STR-ISSUE03 sy-vline
WA_P3224_STR-ISSUE04 sy-vline
WA_P3224_STR-ISSUE05 sy-vline
WA_P3224_STR-ISSUE06 sy-vline
WA_P3224_STR-ISSUE07 sy-vline
WA_P3224_STR-ISSUE08 sy-vline
WA_P3224_STR-ISSUE09 sy-vline
WA_P3224_STR-ISSUE10 sy-vline
WA_P3224_STR-ISSUE11 sy-vline
WA_P3224_STR-ISSUE12 sy-vline
WA_P3224_STR-ISSUE13 sy-vline
WA_P3224_STR-ISSUE14 sy-vline
WA_P3224_STR-ISSUE15 sy-vline
WA_P3224_STR-ISSUE16 sy-vline
WA_P3224_STR-ISSUE17 sy-vline
WA_P3224_STR-ISSUE18 sy-vline
WA_P3224_STR-ISSUE19 sy-vline
WA_P3224_STR-ISSUE20 sy-vline
WA_P3224_STR-ISUDTL01_ISU sy-vline
WA_P3224_STR-ISUDTL01 sy-vline
WA_P3224_STR-ISUDTL02_ISU sy-vline
WA_P3224_STR-ISUDTL02 sy-vline
WA_P3224_STR-ISUDTL03_ISU sy-vline
WA_P3224_STR-ISUDTL03 sy-vline
WA_P3224_STR-ISUDTL04_ISU sy-vline
WA_P3224_STR-ISUDTL04 sy-vline
WA_P3224_STR-ISUDTL05_ISU sy-vline
WA_P3224_STR-ISUDTL05 sy-vline
WA_P3224_STR-ISUDTL06_ISU sy-vline
WA_P3224_STR-ISUDTL06 sy-vline
WA_P3224_STR-ISUDTL07_ISU sy-vline
WA_P3224_STR-ISUDTL07 sy-vline
WA_P3224_STR-ISUDTL08_ISU sy-vline
WA_P3224_STR-ISUDTL08 sy-vline
WA_P3224_STR-ISUDTL09_ISU sy-vline
WA_P3224_STR-ISUDTL09 sy-vline
WA_P3224_STR-ISUDTL10_ISU sy-vline
WA_P3224_STR-ISUDTL10 sy-vline
WA_P3224_STR-ISUDTL11_ISU sy-vline
WA_P3224_STR-ISUDTL11 sy-vline
WA_P3224_STR-ISUDTL12_ISU sy-vline
WA_P3224_STR-ISUDTL12 sy-vline
WA_P3224_STR-ISUDTL13_ISU sy-vline
WA_P3224_STR-ISUDTL13 sy-vline
WA_P3224_STR-ISUDTL14_ISU sy-vline
WA_P3224_STR-ISUDTL14 sy-vline
WA_P3224_STR-ISUDTL15_ISU sy-vline
WA_P3224_STR-ISUDTL15 sy-vline
WA_P3224_STR-ISUDTL16_ISU sy-vline
WA_P3224_STR-ISUDTL16 sy-vline
WA_P3224_STR-ISUDTL17_ISU sy-vline
WA_P3224_STR-ISUDTL17 sy-vline
WA_P3224_STR-ISUDTL18_ISU sy-vline
WA_P3224_STR-ISUDTL18 sy-vline
WA_P3224_STR-ISUDTL19_ISU sy-vline
WA_P3224_STR-ISUDTL19 sy-vline
WA_P3224_STR-ISUDTL20_ISU sy-vline
WA_P3224_STR-ISUDTL20 sy-vline
WA_P3224_STR-ISUDTL21_ISU sy-vline
WA_P3224_STR-ISUDTL21 sy-vline
WA_P3224_STR-ISUDTL22_ISU sy-vline
WA_P3224_STR-ISUDTL22 sy-vline
WA_P3224_STR-ISUDTL23_ISU sy-vline
WA_P3224_STR-ISUDTL23 sy-vline
WA_P3224_STR-ISUDTL24_ISU sy-vline
WA_P3224_STR-ISUDTL24 sy-vline
WA_P3224_STR-ISUDTL25_ISU sy-vline
WA_P3224_STR-ISUDTL25 sy-vline
WA_P3224_STR-ISUDTL26_ISU sy-vline
WA_P3224_STR-ISUDTL26 sy-vline
WA_P3224_STR-ISUDTL27_ISU sy-vline
WA_P3224_STR-ISUDTL27 sy-vline
WA_P3224_STR-ISUDTL28_ISU sy-vline
WA_P3224_STR-ISUDTL28 sy-vline
WA_P3224_STR-ISUDTL29_ISU sy-vline
WA_P3224_STR-ISUDTL29 sy-vline
WA_P3224_STR-ISUDTL30_ISU sy-vline
WA_P3224_STR-ISUDTL30 sy-vline
WA_P3224_STR-ACTN01 sy-vline
WA_P3224_STR-ACTN02 sy-vline
WA_P3224_STR-ACTN03 sy-vline
WA_P3224_STR-ACTN04 sy-vline
WA_P3224_STR-ACTN05 sy-vline
WA_P3224_STR-ACTN06 sy-vline
WA_P3224_STR-ACTN07 sy-vline
WA_P3224_STR-ACTN08 sy-vline
WA_P3224_STR-ACTN09 sy-vline
WA_P3224_STR-ACTN10 sy-vline
WA_P3224_STR-ACTN11 sy-vline
WA_P3224_STR-ACTN12 sy-vline
WA_P3224_STR-ACTN13 sy-vline
WA_P3224_STR-ACTN14 sy-vline
WA_P3224_STR-ACTN15 sy-vline
WA_P3224_STR-ACTN16 sy-vline
WA_P3224_STR-ACTN17 sy-vline
WA_P3224_STR-ACTN18 sy-vline
WA_P3224_STR-ACTN19 sy-vline
WA_P3224_STR-ACTN20 sy-vline
WA_P3224_STR-DECTYP sy-vline
WA_P3224_STR-DECMKR sy-vline
WA_P3224_STR-IVGBEGDA sy-vline
WA_P3224_STR-IVGENDDA sy-vline
WA_P3224_STR-DECMKDT sy-vline
WA_P3224_STR-OUTCM sy-vline
WA_P3224_STR-INDPY sy-vline
WA_P3224_STR-SPCAG sy-vline
WA_P3224_STR-BLKLT sy-vline
WA_P3224_STR-PECUR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.