ABAP Select data from SAP table PA3260 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 PA3260 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 PA3260. 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 PA3260 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_PA3260 TYPE STANDARD TABLE OF PA3260,
      WA_PA3260 TYPE PA3260,
      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: <PA3260> TYPE PA3260.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA3260
*  INTO TABLE @DATA(IT_PA32602).
*--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_PA3260 INDEX 1 INTO DATA(WA_PA32602).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA3260-ENDDA, sy-vline,
WA_PA3260-BEGDA, sy-vline,
WA_PA3260-SEQNR, sy-vline,
WA_PA3260-AEDTM, sy-vline,
WA_PA3260-UNAME, sy-vline,
WA_PA3260-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA3260 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_PA3260 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_PA3260 INTO WA_PA3260. *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_PA3260_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,
FAJTA01 TYPE STRING,
EVES01 TYPE STRING,
ARANY01 TYPE STRING,
FAJTA02 TYPE STRING,
EVES02 TYPE STRING,
ARANY02 TYPE STRING,
FAJTA03 TYPE STRING,
EVES03 TYPE STRING,
ARANY03 TYPE STRING,
FAJTA04 TYPE STRING,
EVES04 TYPE STRING,
ARANY04 TYPE STRING,
FAJTA05 TYPE STRING,
EVES05 TYPE STRING,
ARANY05 TYPE STRING,
FAJTA06 TYPE STRING,
EVES06 TYPE STRING,
ARANY06 TYPE STRING,
FAJTA07 TYPE STRING,
EVES07 TYPE STRING,
ARANY07 TYPE STRING,
FAJTA08 TYPE STRING,
EVES08 TYPE STRING,
ARANY08 TYPE STRING,
FAJTA09 TYPE STRING,
EVES09 TYPE STRING,
ARANY09 TYPE STRING,
FAJTA10 TYPE STRING,
EVES10 TYPE STRING,
ARANY10 TYPE STRING,
FAJTA11 TYPE STRING,
EVES11 TYPE STRING,
ARANY11 TYPE STRING,
FAJTA12 TYPE STRING,
EVES12 TYPE STRING,
ARANY12 TYPE STRING,
FAJTA13 TYPE STRING,
EVES13 TYPE STRING,
ARANY13 TYPE STRING,
FAJTA14 TYPE STRING,
EVES14 TYPE STRING,
ARANY14 TYPE STRING,
FAJTA15 TYPE STRING,
EVES15 TYPE STRING,
ARANY15 TYPE STRING,
FAJTA16 TYPE STRING,
EVES16 TYPE STRING,
ARANY16 TYPE STRING,
NINCS_UJRASZAM TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA3260_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_PA3260_STR-MANDT sy-vline
WA_PA3260_STR-PERNR sy-vline
WA_PA3260_STR-SUBTY sy-vline
WA_PA3260_STR-OBJPS sy-vline
WA_PA3260_STR-SPRPS sy-vline
WA_PA3260_STR-ENDDA sy-vline
WA_PA3260_STR-BEGDA sy-vline
WA_PA3260_STR-SEQNR sy-vline
WA_PA3260_STR-AEDTM sy-vline
WA_PA3260_STR-UNAME sy-vline
WA_PA3260_STR-HISTO sy-vline
WA_PA3260_STR-ITXEX sy-vline
WA_PA3260_STR-REFEX sy-vline
WA_PA3260_STR-ORDEX sy-vline
WA_PA3260_STR-ITBLD sy-vline
WA_PA3260_STR-PREAS sy-vline
WA_PA3260_STR-FLAG1 sy-vline
WA_PA3260_STR-FLAG2 sy-vline
WA_PA3260_STR-FLAG3 sy-vline
WA_PA3260_STR-FLAG4 sy-vline
WA_PA3260_STR-RESE1 sy-vline
WA_PA3260_STR-RESE2 sy-vline
WA_PA3260_STR-GRPVL sy-vline
WA_PA3260_STR-FAJTA01 sy-vline
WA_PA3260_STR-EVES01 sy-vline
WA_PA3260_STR-ARANY01 sy-vline
WA_PA3260_STR-FAJTA02 sy-vline
WA_PA3260_STR-EVES02 sy-vline
WA_PA3260_STR-ARANY02 sy-vline
WA_PA3260_STR-FAJTA03 sy-vline
WA_PA3260_STR-EVES03 sy-vline
WA_PA3260_STR-ARANY03 sy-vline
WA_PA3260_STR-FAJTA04 sy-vline
WA_PA3260_STR-EVES04 sy-vline
WA_PA3260_STR-ARANY04 sy-vline
WA_PA3260_STR-FAJTA05 sy-vline
WA_PA3260_STR-EVES05 sy-vline
WA_PA3260_STR-ARANY05 sy-vline
WA_PA3260_STR-FAJTA06 sy-vline
WA_PA3260_STR-EVES06 sy-vline
WA_PA3260_STR-ARANY06 sy-vline
WA_PA3260_STR-FAJTA07 sy-vline
WA_PA3260_STR-EVES07 sy-vline
WA_PA3260_STR-ARANY07 sy-vline
WA_PA3260_STR-FAJTA08 sy-vline
WA_PA3260_STR-EVES08 sy-vline
WA_PA3260_STR-ARANY08 sy-vline
WA_PA3260_STR-FAJTA09 sy-vline
WA_PA3260_STR-EVES09 sy-vline
WA_PA3260_STR-ARANY09 sy-vline
WA_PA3260_STR-FAJTA10 sy-vline
WA_PA3260_STR-EVES10 sy-vline
WA_PA3260_STR-ARANY10 sy-vline
WA_PA3260_STR-FAJTA11 sy-vline
WA_PA3260_STR-EVES11 sy-vline
WA_PA3260_STR-ARANY11 sy-vline
WA_PA3260_STR-FAJTA12 sy-vline
WA_PA3260_STR-EVES12 sy-vline
WA_PA3260_STR-ARANY12 sy-vline
WA_PA3260_STR-FAJTA13 sy-vline
WA_PA3260_STR-EVES13 sy-vline
WA_PA3260_STR-ARANY13 sy-vline
WA_PA3260_STR-FAJTA14 sy-vline
WA_PA3260_STR-EVES14 sy-vline
WA_PA3260_STR-ARANY14 sy-vline
WA_PA3260_STR-FAJTA15 sy-vline
WA_PA3260_STR-EVES15 sy-vline
WA_PA3260_STR-ARANY15 sy-vline
WA_PA3260_STR-FAJTA16 sy-vline
WA_PA3260_STR-EVES16 sy-vline
WA_PA3260_STR-ARANY16 sy-vline
WA_PA3260_STR-NINCS_UJRASZAM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.