ABAP Select data from SAP table PA3225 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 PA3225 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 PA3225. 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 PA3225 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_PA3225 TYPE STANDARD TABLE OF PA3225,
      WA_PA3225 TYPE PA3225,
      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: <PA3225> TYPE PA3225.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA3225
*  INTO TABLE @DATA(IT_PA32252).
*--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_PA3225 INDEX 1 INTO DATA(WA_PA32252).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA3225-ENDDA, sy-vline,
WA_PA3225-BEGDA, sy-vline,
WA_PA3225-SEQNR, sy-vline,
WA_PA3225-AEDTM, sy-vline,
WA_PA3225-UNAME, sy-vline,
WA_PA3225-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA3225 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_PA3225 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_PA3225 INTO WA_PA3225. *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_PA3225_STR,
MANDT TYPE STRING,
PERNR 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,
OTYPE TYPE STRING,
OBJID TYPE STRING,
OBJECT TYPE STRING,
BEGDATE TYPE STRING,
ENDDATE TYPE STRING,
POBJID TYPE STRING,
SHORT TYPE STRING,
STEXT TYPE STRING,
AUTO_CREATED TYPE STRING,
GRADE_DESCR TYPE STRING,
GRADE_FINAL TYPE STRING,
GRADE_SCALE TYPE STRING,
GRADING_METHOD TYPE STRING,
TRAIN_PASSED TYPE STRING,
EXAM_DATE TYPE STRING,
EXAM_SHORT TYPE STRING,
EXAM_RESIT TYPE STRING,
EXAM_RESIT_LDATE TYPE STRING,
EXAM_RESIT_FDATE TYPE STRING,
DES01 TYPE STRING,
GRD01 TYPE STRING,
RP01 TYPE STRING,
SCA01 TYPE STRING,
DES02 TYPE STRING,
GRD02 TYPE STRING,
RP02 TYPE STRING,
SCA02 TYPE STRING,
DES03 TYPE STRING,
GRD03 TYPE STRING,
RP03 TYPE STRING,
SCA03 TYPE STRING,
DES04 TYPE STRING,
GRD04 TYPE STRING,
RP04 TYPE STRING,
SCA04 TYPE STRING,
DES05 TYPE STRING,
GRD05 TYPE STRING,
RP05 TYPE STRING,
SCA05 TYPE STRING,
DES06 TYPE STRING,
GRD06 TYPE STRING,
RP06 TYPE STRING,
SCA06 TYPE STRING,
DES07 TYPE STRING,
GRD07 TYPE STRING,
RP07 TYPE STRING,
SCA07 TYPE STRING,
DES08 TYPE STRING,
GRD08 TYPE STRING,
RP08 TYPE STRING,
SCA08 TYPE STRING,
DES09 TYPE STRING,
GRD09 TYPE STRING,
RP09 TYPE STRING,
SCA09 TYPE STRING,
DES10 TYPE STRING,
GRD10 TYPE STRING,
RP10 TYPE STRING,
SCA10 TYPE STRING,
DES11 TYPE STRING,
GRD11 TYPE STRING,
RP11 TYPE STRING,
SCA11 TYPE STRING,
DES12 TYPE STRING,
GRD12 TYPE STRING,
RP12 TYPE STRING,
SCA12 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA3225_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_PA3225_STR-MANDT sy-vline
WA_PA3225_STR-PERNR sy-vline
WA_PA3225_STR-SUBTY sy-vline
WA_PA3225_STR-OBJPS sy-vline
WA_PA3225_STR-SPRPS sy-vline
WA_PA3225_STR-ENDDA sy-vline
WA_PA3225_STR-BEGDA sy-vline
WA_PA3225_STR-SEQNR sy-vline
WA_PA3225_STR-AEDTM sy-vline
WA_PA3225_STR-UNAME sy-vline
WA_PA3225_STR-HISTO sy-vline
WA_PA3225_STR-ITXEX sy-vline
WA_PA3225_STR-REFEX sy-vline
WA_PA3225_STR-ORDEX sy-vline
WA_PA3225_STR-ITBLD sy-vline
WA_PA3225_STR-PREAS sy-vline
WA_PA3225_STR-FLAG1 sy-vline
WA_PA3225_STR-FLAG2 sy-vline
WA_PA3225_STR-FLAG3 sy-vline
WA_PA3225_STR-FLAG4 sy-vline
WA_PA3225_STR-RESE1 sy-vline
WA_PA3225_STR-RESE2 sy-vline
WA_PA3225_STR-GRPVL sy-vline
WA_PA3225_STR-OTYPE sy-vline
WA_PA3225_STR-OBJID sy-vline
WA_PA3225_STR-OBJECT sy-vline
WA_PA3225_STR-BEGDATE sy-vline
WA_PA3225_STR-ENDDATE sy-vline
WA_PA3225_STR-POBJID sy-vline
WA_PA3225_STR-SHORT sy-vline
WA_PA3225_STR-STEXT sy-vline
WA_PA3225_STR-AUTO_CREATED sy-vline
WA_PA3225_STR-GRADE_DESCR sy-vline
WA_PA3225_STR-GRADE_FINAL sy-vline
WA_PA3225_STR-GRADE_SCALE sy-vline
WA_PA3225_STR-GRADING_METHOD sy-vline
WA_PA3225_STR-TRAIN_PASSED sy-vline
WA_PA3225_STR-EXAM_DATE sy-vline
WA_PA3225_STR-EXAM_SHORT sy-vline
WA_PA3225_STR-EXAM_RESIT sy-vline
WA_PA3225_STR-EXAM_RESIT_LDATE sy-vline
WA_PA3225_STR-EXAM_RESIT_FDATE sy-vline
WA_PA3225_STR-DES01 sy-vline
WA_PA3225_STR-GRD01 sy-vline
WA_PA3225_STR-RP01 sy-vline
WA_PA3225_STR-SCA01 sy-vline
WA_PA3225_STR-DES02 sy-vline
WA_PA3225_STR-GRD02 sy-vline
WA_PA3225_STR-RP02 sy-vline
WA_PA3225_STR-SCA02 sy-vline
WA_PA3225_STR-DES03 sy-vline
WA_PA3225_STR-GRD03 sy-vline
WA_PA3225_STR-RP03 sy-vline
WA_PA3225_STR-SCA03 sy-vline
WA_PA3225_STR-DES04 sy-vline
WA_PA3225_STR-GRD04 sy-vline
WA_PA3225_STR-RP04 sy-vline
WA_PA3225_STR-SCA04 sy-vline
WA_PA3225_STR-DES05 sy-vline
WA_PA3225_STR-GRD05 sy-vline
WA_PA3225_STR-RP05 sy-vline
WA_PA3225_STR-SCA05 sy-vline
WA_PA3225_STR-DES06 sy-vline
WA_PA3225_STR-GRD06 sy-vline
WA_PA3225_STR-RP06 sy-vline
WA_PA3225_STR-SCA06 sy-vline
WA_PA3225_STR-DES07 sy-vline
WA_PA3225_STR-GRD07 sy-vline
WA_PA3225_STR-RP07 sy-vline
WA_PA3225_STR-SCA07 sy-vline
WA_PA3225_STR-DES08 sy-vline
WA_PA3225_STR-GRD08 sy-vline
WA_PA3225_STR-RP08 sy-vline
WA_PA3225_STR-SCA08 sy-vline
WA_PA3225_STR-DES09 sy-vline
WA_PA3225_STR-GRD09 sy-vline
WA_PA3225_STR-RP09 sy-vline
WA_PA3225_STR-SCA09 sy-vline
WA_PA3225_STR-DES10 sy-vline
WA_PA3225_STR-GRD10 sy-vline
WA_PA3225_STR-RP10 sy-vline
WA_PA3225_STR-SCA10 sy-vline
WA_PA3225_STR-DES11 sy-vline
WA_PA3225_STR-GRD11 sy-vline
WA_PA3225_STR-RP11 sy-vline
WA_PA3225_STR-SCA11 sy-vline
WA_PA3225_STR-DES12 sy-vline
WA_PA3225_STR-GRD12 sy-vline
WA_PA3225_STR-RP12 sy-vline
WA_PA3225_STR-SCA12 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.