ABAP Select data from SAP table PA0585 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 PA0585 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 PA0585. 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 PA0585 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_PA0585 TYPE STANDARD TABLE OF PA0585,
      WA_PA0585 TYPE PA0585,
      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: <PA0585> TYPE PA0585.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0585
*  INTO TABLE @DATA(IT_PA05852).
*--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_PA0585 INDEX 1 INTO DATA(WA_PA05852).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0585-ENDDA, sy-vline,
WA_PA0585-BEGDA, sy-vline,
WA_PA0585-SEQNR, sy-vline,
WA_PA0585-AEDTM, sy-vline,
WA_PA0585-UNAME, sy-vline,
WA_PA0585-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0585 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_PA0585 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_PA0585 INTO WA_PA0585. *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_PA0585_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,
WAEHI TYPE STRING,
ACOPC TYPE STRING,
SBS01 TYPE STRING,
SBD01 TYPE STRING,
PCN01 TYPE STRING,
ACN01 TYPE STRING,
SBS02 TYPE STRING,
SBD02 TYPE STRING,
PCN02 TYPE STRING,
ACN02 TYPE STRING,
SBS03 TYPE STRING,
SBD03 TYPE STRING,
PCN03 TYPE STRING,
ACN03 TYPE STRING,
SBS04 TYPE STRING,
SBD04 TYPE STRING,
PCN04 TYPE STRING,
ACN04 TYPE STRING,
SBS05 TYPE STRING,
SBD05 TYPE STRING,
PCN05 TYPE STRING,
ACN05 TYPE STRING,
SBS06 TYPE STRING,
SBD06 TYPE STRING,
PCN06 TYPE STRING,
ACN06 TYPE STRING,
SBS07 TYPE STRING,
SBD07 TYPE STRING,
PCN07 TYPE STRING,
ACN07 TYPE STRING,
SBS08 TYPE STRING,
SBD08 TYPE STRING,
PCN08 TYPE STRING,
ACN08 TYPE STRING,
SBS09 TYPE STRING,
SBD09 TYPE STRING,
PCN09 TYPE STRING,
ACN09 TYPE STRING,
SBS10 TYPE STRING,
SBD10 TYPE STRING,
PCN10 TYPE STRING,
ACN10 TYPE STRING,
SBS11 TYPE STRING,
SBD11 TYPE STRING,
PCN11 TYPE STRING,
ACN11 TYPE STRING,
SBS12 TYPE STRING,
SBD12 TYPE STRING,
PCN12 TYPE STRING,
ACN12 TYPE STRING,
SBS13 TYPE STRING,
SBD13 TYPE STRING,
PCN13 TYPE STRING,
ACN13 TYPE STRING,
SBS14 TYPE STRING,
SBD14 TYPE STRING,
PCN14 TYPE STRING,
ACN14 TYPE STRING,
SBS15 TYPE STRING,
SBD15 TYPE STRING,
PCN15 TYPE STRING,
ACN15 TYPE STRING,
SBS16 TYPE STRING,
SBD16 TYPE STRING,
PCN16 TYPE STRING,
ACN16 TYPE STRING,
SBS17 TYPE STRING,
SBD17 TYPE STRING,
PCN17 TYPE STRING,
ACN17 TYPE STRING,
SBS18 TYPE STRING,
SBD18 TYPE STRING,
PCN18 TYPE STRING,
ACN18 TYPE STRING,
SBS19 TYPE STRING,
SBD19 TYPE STRING,
PCN19 TYPE STRING,
ACN19 TYPE STRING,
SBS20 TYPE STRING,
SBD20 TYPE STRING,
PCN20 TYPE STRING,
ACN20 TYPE STRING,
SBS21 TYPE STRING,
SBD21 TYPE STRING,
PCN21 TYPE STRING,
ACN21 TYPE STRING,
SBS22 TYPE STRING,
SBD22 TYPE STRING,
PCN22 TYPE STRING,
ACN22 TYPE STRING,
SBS23 TYPE STRING,
SBD23 TYPE STRING,
PCN23 TYPE STRING,
ACN23 TYPE STRING,
SBS24 TYPE STRING,
SBD24 TYPE STRING,
PCN24 TYPE STRING,
ACN24 TYPE STRING,
SBS25 TYPE STRING,
SBD25 TYPE STRING,
PCN25 TYPE STRING,
ACN25 TYPE STRING,
SBS26 TYPE STRING,
SBD26 TYPE STRING,
PCN26 TYPE STRING,
ACN26 TYPE STRING,
SBS27 TYPE STRING,
SBD27 TYPE STRING,
PCN27 TYPE STRING,
ACN27 TYPE STRING,
SBS28 TYPE STRING,
SBD28 TYPE STRING,
PCN28 TYPE STRING,
ACN28 TYPE STRING,
SBS29 TYPE STRING,
SBD29 TYPE STRING,
PCN29 TYPE STRING,
ACN29 TYPE STRING,
SBS30 TYPE STRING,
SBD30 TYPE STRING,
PCN30 TYPE STRING,
ACN30 TYPE STRING,
SBS31 TYPE STRING,
SBD31 TYPE STRING,
PCN31 TYPE STRING,
ACN31 TYPE STRING,
SBS32 TYPE STRING,
SBD32 TYPE STRING,
PCN32 TYPE STRING,
ACN32 TYPE STRING,
SBS33 TYPE STRING,
SBD33 TYPE STRING,
PCN33 TYPE STRING,
ACN33 TYPE STRING,
SBS34 TYPE STRING,
SBD34 TYPE STRING,
PCN34 TYPE STRING,
ACN34 TYPE STRING,
SBS35 TYPE STRING,
SBD35 TYPE STRING,
PCN35 TYPE STRING,
ACN35 TYPE STRING,
SBS36 TYPE STRING,
SBD36 TYPE STRING,
PCN36 TYPE STRING,
ACN36 TYPE STRING,
SBS37 TYPE STRING,
SBD37 TYPE STRING,
PCN37 TYPE STRING,
ACN37 TYPE STRING,
SBS38 TYPE STRING,
SBD38 TYPE STRING,
PCN38 TYPE STRING,
ACN38 TYPE STRING,
SBS39 TYPE STRING,
SBD39 TYPE STRING,
PCN39 TYPE STRING,
ACN39 TYPE STRING,
SBS40 TYPE STRING,
SBD40 TYPE STRING,
PCN40 TYPE STRING,
ACN40 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0585_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_PA0585_STR-MANDT sy-vline
WA_PA0585_STR-PERNR sy-vline
WA_PA0585_STR-SUBTY sy-vline
WA_PA0585_STR-OBJPS sy-vline
WA_PA0585_STR-SPRPS sy-vline
WA_PA0585_STR-ENDDA sy-vline
WA_PA0585_STR-BEGDA sy-vline
WA_PA0585_STR-SEQNR sy-vline
WA_PA0585_STR-AEDTM sy-vline
WA_PA0585_STR-UNAME sy-vline
WA_PA0585_STR-HISTO sy-vline
WA_PA0585_STR-ITXEX sy-vline
WA_PA0585_STR-REFEX sy-vline
WA_PA0585_STR-ORDEX sy-vline
WA_PA0585_STR-ITBLD sy-vline
WA_PA0585_STR-PREAS sy-vline
WA_PA0585_STR-FLAG1 sy-vline
WA_PA0585_STR-FLAG2 sy-vline
WA_PA0585_STR-FLAG3 sy-vline
WA_PA0585_STR-FLAG4 sy-vline
WA_PA0585_STR-RESE1 sy-vline
WA_PA0585_STR-RESE2 sy-vline
WA_PA0585_STR-GRPVL sy-vline
WA_PA0585_STR-WAEHI sy-vline
WA_PA0585_STR-ACOPC sy-vline
WA_PA0585_STR-SBS01 sy-vline
WA_PA0585_STR-SBD01 sy-vline
WA_PA0585_STR-PCN01 sy-vline
WA_PA0585_STR-ACN01 sy-vline
WA_PA0585_STR-SBS02 sy-vline
WA_PA0585_STR-SBD02 sy-vline
WA_PA0585_STR-PCN02 sy-vline
WA_PA0585_STR-ACN02 sy-vline
WA_PA0585_STR-SBS03 sy-vline
WA_PA0585_STR-SBD03 sy-vline
WA_PA0585_STR-PCN03 sy-vline
WA_PA0585_STR-ACN03 sy-vline
WA_PA0585_STR-SBS04 sy-vline
WA_PA0585_STR-SBD04 sy-vline
WA_PA0585_STR-PCN04 sy-vline
WA_PA0585_STR-ACN04 sy-vline
WA_PA0585_STR-SBS05 sy-vline
WA_PA0585_STR-SBD05 sy-vline
WA_PA0585_STR-PCN05 sy-vline
WA_PA0585_STR-ACN05 sy-vline
WA_PA0585_STR-SBS06 sy-vline
WA_PA0585_STR-SBD06 sy-vline
WA_PA0585_STR-PCN06 sy-vline
WA_PA0585_STR-ACN06 sy-vline
WA_PA0585_STR-SBS07 sy-vline
WA_PA0585_STR-SBD07 sy-vline
WA_PA0585_STR-PCN07 sy-vline
WA_PA0585_STR-ACN07 sy-vline
WA_PA0585_STR-SBS08 sy-vline
WA_PA0585_STR-SBD08 sy-vline
WA_PA0585_STR-PCN08 sy-vline
WA_PA0585_STR-ACN08 sy-vline
WA_PA0585_STR-SBS09 sy-vline
WA_PA0585_STR-SBD09 sy-vline
WA_PA0585_STR-PCN09 sy-vline
WA_PA0585_STR-ACN09 sy-vline
WA_PA0585_STR-SBS10 sy-vline
WA_PA0585_STR-SBD10 sy-vline
WA_PA0585_STR-PCN10 sy-vline
WA_PA0585_STR-ACN10 sy-vline
WA_PA0585_STR-SBS11 sy-vline
WA_PA0585_STR-SBD11 sy-vline
WA_PA0585_STR-PCN11 sy-vline
WA_PA0585_STR-ACN11 sy-vline
WA_PA0585_STR-SBS12 sy-vline
WA_PA0585_STR-SBD12 sy-vline
WA_PA0585_STR-PCN12 sy-vline
WA_PA0585_STR-ACN12 sy-vline
WA_PA0585_STR-SBS13 sy-vline
WA_PA0585_STR-SBD13 sy-vline
WA_PA0585_STR-PCN13 sy-vline
WA_PA0585_STR-ACN13 sy-vline
WA_PA0585_STR-SBS14 sy-vline
WA_PA0585_STR-SBD14 sy-vline
WA_PA0585_STR-PCN14 sy-vline
WA_PA0585_STR-ACN14 sy-vline
WA_PA0585_STR-SBS15 sy-vline
WA_PA0585_STR-SBD15 sy-vline
WA_PA0585_STR-PCN15 sy-vline
WA_PA0585_STR-ACN15 sy-vline
WA_PA0585_STR-SBS16 sy-vline
WA_PA0585_STR-SBD16 sy-vline
WA_PA0585_STR-PCN16 sy-vline
WA_PA0585_STR-ACN16 sy-vline
WA_PA0585_STR-SBS17 sy-vline
WA_PA0585_STR-SBD17 sy-vline
WA_PA0585_STR-PCN17 sy-vline
WA_PA0585_STR-ACN17 sy-vline
WA_PA0585_STR-SBS18 sy-vline
WA_PA0585_STR-SBD18 sy-vline
WA_PA0585_STR-PCN18 sy-vline
WA_PA0585_STR-ACN18 sy-vline
WA_PA0585_STR-SBS19 sy-vline
WA_PA0585_STR-SBD19 sy-vline
WA_PA0585_STR-PCN19 sy-vline
WA_PA0585_STR-ACN19 sy-vline
WA_PA0585_STR-SBS20 sy-vline
WA_PA0585_STR-SBD20 sy-vline
WA_PA0585_STR-PCN20 sy-vline
WA_PA0585_STR-ACN20 sy-vline
WA_PA0585_STR-SBS21 sy-vline
WA_PA0585_STR-SBD21 sy-vline
WA_PA0585_STR-PCN21 sy-vline
WA_PA0585_STR-ACN21 sy-vline
WA_PA0585_STR-SBS22 sy-vline
WA_PA0585_STR-SBD22 sy-vline
WA_PA0585_STR-PCN22 sy-vline
WA_PA0585_STR-ACN22 sy-vline
WA_PA0585_STR-SBS23 sy-vline
WA_PA0585_STR-SBD23 sy-vline
WA_PA0585_STR-PCN23 sy-vline
WA_PA0585_STR-ACN23 sy-vline
WA_PA0585_STR-SBS24 sy-vline
WA_PA0585_STR-SBD24 sy-vline
WA_PA0585_STR-PCN24 sy-vline
WA_PA0585_STR-ACN24 sy-vline
WA_PA0585_STR-SBS25 sy-vline
WA_PA0585_STR-SBD25 sy-vline
WA_PA0585_STR-PCN25 sy-vline
WA_PA0585_STR-ACN25 sy-vline
WA_PA0585_STR-SBS26 sy-vline
WA_PA0585_STR-SBD26 sy-vline
WA_PA0585_STR-PCN26 sy-vline
WA_PA0585_STR-ACN26 sy-vline
WA_PA0585_STR-SBS27 sy-vline
WA_PA0585_STR-SBD27 sy-vline
WA_PA0585_STR-PCN27 sy-vline
WA_PA0585_STR-ACN27 sy-vline
WA_PA0585_STR-SBS28 sy-vline
WA_PA0585_STR-SBD28 sy-vline
WA_PA0585_STR-PCN28 sy-vline
WA_PA0585_STR-ACN28 sy-vline
WA_PA0585_STR-SBS29 sy-vline
WA_PA0585_STR-SBD29 sy-vline
WA_PA0585_STR-PCN29 sy-vline
WA_PA0585_STR-ACN29 sy-vline
WA_PA0585_STR-SBS30 sy-vline
WA_PA0585_STR-SBD30 sy-vline
WA_PA0585_STR-PCN30 sy-vline
WA_PA0585_STR-ACN30 sy-vline
WA_PA0585_STR-SBS31 sy-vline
WA_PA0585_STR-SBD31 sy-vline
WA_PA0585_STR-PCN31 sy-vline
WA_PA0585_STR-ACN31 sy-vline
WA_PA0585_STR-SBS32 sy-vline
WA_PA0585_STR-SBD32 sy-vline
WA_PA0585_STR-PCN32 sy-vline
WA_PA0585_STR-ACN32 sy-vline
WA_PA0585_STR-SBS33 sy-vline
WA_PA0585_STR-SBD33 sy-vline
WA_PA0585_STR-PCN33 sy-vline
WA_PA0585_STR-ACN33 sy-vline
WA_PA0585_STR-SBS34 sy-vline
WA_PA0585_STR-SBD34 sy-vline
WA_PA0585_STR-PCN34 sy-vline
WA_PA0585_STR-ACN34 sy-vline
WA_PA0585_STR-SBS35 sy-vline
WA_PA0585_STR-SBD35 sy-vline
WA_PA0585_STR-PCN35 sy-vline
WA_PA0585_STR-ACN35 sy-vline
WA_PA0585_STR-SBS36 sy-vline
WA_PA0585_STR-SBD36 sy-vline
WA_PA0585_STR-PCN36 sy-vline
WA_PA0585_STR-ACN36 sy-vline
WA_PA0585_STR-SBS37 sy-vline
WA_PA0585_STR-SBD37 sy-vline
WA_PA0585_STR-PCN37 sy-vline
WA_PA0585_STR-ACN37 sy-vline
WA_PA0585_STR-SBS38 sy-vline
WA_PA0585_STR-SBD38 sy-vline
WA_PA0585_STR-PCN38 sy-vline
WA_PA0585_STR-ACN38 sy-vline
WA_PA0585_STR-SBS39 sy-vline
WA_PA0585_STR-SBD39 sy-vline
WA_PA0585_STR-PCN39 sy-vline
WA_PA0585_STR-ACN39 sy-vline
WA_PA0585_STR-SBS40 sy-vline
WA_PA0585_STR-SBD40 sy-vline
WA_PA0585_STR-PCN40 sy-vline
WA_PA0585_STR-ACN40 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.