ABAP Select data from SAP table PA0626 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 PA0626 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 PA0626. 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 PA0626 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_PA0626 TYPE STANDARD TABLE OF PA0626,
      WA_PA0626 TYPE PA0626,
      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: <PA0626> TYPE PA0626.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0626
*  INTO TABLE @DATA(IT_PA06262).
*--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_PA0626 INDEX 1 INTO DATA(WA_PA06262).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0626-ENDDA, sy-vline,
WA_PA0626-BEGDA, sy-vline,
WA_PA0626-SEQNR, sy-vline,
WA_PA0626-AEDTM, sy-vline,
WA_PA0626-UNAME, sy-vline,
WA_PA0626-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0626 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_PA0626 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_PA0626 INTO WA_PA0626. *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_PA0626_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,
PYBDT TYPE STRING,
PYEDT TYPE STRING,
PYFIN TYPE STRING,
PYETP TYPE STRING,
PYTIM TYPE STRING,
PYDAT TYPE STRING,
PYNUM TYPE STRING,
PYLTM TYPE STRING,
PYLDT TYPE STRING,
PYATO TYPE STRING,
PYATM TYPE STRING,
PYADT TYPE STRING,
PYWIT TYPE STRING,
PYMAN TYPE STRING,
PYSEQ TYPE STRING,
PYTAX TYPE STRING,
PYGRO TYPE STRING,
PYLSA TYPE STRING,
PYLSB TYPE STRING,
PYLSD TYPE STRING,
PYLSE TYPE STRING,
PYTAL TYPE STRING,
PYFBT TYPE STRING,
PYCDP TYPE STRING,
PYP83 TYPE STRING,
PYA83 TYPE STRING,
PYCGT TYPE STRING,
PYNQC TYPE STRING,
PYUCO TYPE STRING,
PYCON TYPE STRING,
PYE83 TYPE STRING,
PYU83 TYPE STRING,
PYT83 TYPE STRING,
PYI94 TYPE STRING,
PYEGR TYPE STRING,
PYETA TYPE STRING,
PYEAS TYPE STRING,
PYDEA TYPE STRING,
PYDTY TYPE STRING,
PYOTI TYPE STRING,
PYUNI TYPE STRING,
PYABN TYPE STRING,
PYABR TYPE STRING,
PYW01 TYPE STRING,
PYA01 TYPE STRING,
PYW02 TYPE STRING,
PYA02 TYPE STRING,
PYW03 TYPE STRING,
PYA03 TYPE STRING,
PYW04 TYPE STRING,
PYA04 TYPE STRING,
PYW05 TYPE STRING,
PYA05 TYPE STRING,
PYW06 TYPE STRING,
PYA06 TYPE STRING,
PYW07 TYPE STRING,
PYA07 TYPE STRING,
PYW08 TYPE STRING,
PYA08 TYPE STRING,
PYW09 TYPE STRING,
PYA09 TYPE STRING,
PYW10 TYPE STRING,
PYA10 TYPE STRING,
PYW11 TYPE STRING,
PYA11 TYPE STRING,
PYW12 TYPE STRING,
PYA12 TYPE STRING,
PYW13 TYPE STRING,
PYA13 TYPE STRING,
PYW14 TYPE STRING,
PYA14 TYPE STRING,
PYW15 TYPE STRING,
PYA15 TYPE STRING,
PYENM TYPE STRING,
PYETM TYPE STRING,
PYETD TYPE STRING,
PYTNA TYPE STRING,
PYTUF TYPE STRING,
PYEDP TYPE STRING,
PYEDS TYPE STRING,
PYUFW TYPE STRING,
PYWPG TYPE STRING,
PYTWG TYPE STRING,
ETTXC TYPE STRING,
ETTFC TYPE STRING,
PUW01 TYPE STRING,
PUA01 TYPE STRING,
PUW02 TYPE STRING,
PUA02 TYPE STRING,
PUW03 TYPE STRING,
PUA03 TYPE STRING,
PUW04 TYPE STRING,
PUA04 TYPE STRING,
PUW05 TYPE STRING,
PUA05 TYPE STRING,
PUW06 TYPE STRING,
PUA06 TYPE STRING,
PUW07 TYPE STRING,
PUA07 TYPE STRING,
PUW08 TYPE STRING,
PUA08 TYPE STRING,
PUW09 TYPE STRING,
PUA09 TYPE STRING,
PUW10 TYPE STRING,
PUA10 TYPE STRING,
PUW11 TYPE STRING,
PUA11 TYPE STRING,
PUW12 TYPE STRING,
PUA12 TYPE STRING,
PUW13 TYPE STRING,
PUA13 TYPE STRING,
PUW14 TYPE STRING,
PUA14 TYPE STRING,
PUW15 TYPE STRING,
PUA15 TYPE STRING,
PUW16 TYPE STRING,
PUA16 TYPE STRING,
PUW17 TYPE STRING,
PUA17 TYPE STRING,
PUW18 TYPE STRING,
PUA18 TYPE STRING,
PUW19 TYPE STRING,
PUA19 TYPE STRING,
PYAMD TYPE STRING,
ETAMD TYPE STRING,
TRTAX TYPE STRING,
LBTAX TYPE STRING,
DBTAX TYPE STRING,
TRTCP TYPE STRING,
LBTCP TYPE STRING,
DBTCP TYPE STRING,
TRTFP TYPE STRING,
LBTFP TYPE STRING,
DBTFP TYPE STRING,
SPLIT TYPE STRING,
PYSUP TYPE STRING,
PYFET TYPE STRING,
PYLAT TYPE STRING,
PYDPA TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0626_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_PA0626_STR-MANDT sy-vline
WA_PA0626_STR-PERNR sy-vline
WA_PA0626_STR-SUBTY sy-vline
WA_PA0626_STR-OBJPS sy-vline
WA_PA0626_STR-SPRPS sy-vline
WA_PA0626_STR-ENDDA sy-vline
WA_PA0626_STR-BEGDA sy-vline
WA_PA0626_STR-SEQNR sy-vline
WA_PA0626_STR-AEDTM sy-vline
WA_PA0626_STR-UNAME sy-vline
WA_PA0626_STR-HISTO sy-vline
WA_PA0626_STR-ITXEX sy-vline
WA_PA0626_STR-REFEX sy-vline
WA_PA0626_STR-ORDEX sy-vline
WA_PA0626_STR-ITBLD sy-vline
WA_PA0626_STR-PREAS sy-vline
WA_PA0626_STR-FLAG1 sy-vline
WA_PA0626_STR-FLAG2 sy-vline
WA_PA0626_STR-FLAG3 sy-vline
WA_PA0626_STR-FLAG4 sy-vline
WA_PA0626_STR-RESE1 sy-vline
WA_PA0626_STR-RESE2 sy-vline
WA_PA0626_STR-GRPVL sy-vline
WA_PA0626_STR-PYBDT sy-vline
WA_PA0626_STR-PYEDT sy-vline
WA_PA0626_STR-PYFIN sy-vline
WA_PA0626_STR-PYETP sy-vline
WA_PA0626_STR-PYTIM sy-vline
WA_PA0626_STR-PYDAT sy-vline
WA_PA0626_STR-PYNUM sy-vline
WA_PA0626_STR-PYLTM sy-vline
WA_PA0626_STR-PYLDT sy-vline
WA_PA0626_STR-PYATO sy-vline
WA_PA0626_STR-PYATM sy-vline
WA_PA0626_STR-PYADT sy-vline
WA_PA0626_STR-PYWIT sy-vline
WA_PA0626_STR-PYMAN sy-vline
WA_PA0626_STR-PYSEQ sy-vline
WA_PA0626_STR-PYTAX sy-vline
WA_PA0626_STR-PYGRO sy-vline
WA_PA0626_STR-PYLSA sy-vline
WA_PA0626_STR-PYLSB sy-vline
WA_PA0626_STR-PYLSD sy-vline
WA_PA0626_STR-PYLSE sy-vline
WA_PA0626_STR-PYTAL sy-vline
WA_PA0626_STR-PYFBT sy-vline
WA_PA0626_STR-PYCDP sy-vline
WA_PA0626_STR-PYP83 sy-vline
WA_PA0626_STR-PYA83 sy-vline
WA_PA0626_STR-PYCGT sy-vline
WA_PA0626_STR-PYNQC sy-vline
WA_PA0626_STR-PYUCO sy-vline
WA_PA0626_STR-PYCON sy-vline
WA_PA0626_STR-PYE83 sy-vline
WA_PA0626_STR-PYU83 sy-vline
WA_PA0626_STR-PYT83 sy-vline
WA_PA0626_STR-PYI94 sy-vline
WA_PA0626_STR-PYEGR sy-vline
WA_PA0626_STR-PYETA sy-vline
WA_PA0626_STR-PYEAS sy-vline
WA_PA0626_STR-PYDEA sy-vline
WA_PA0626_STR-PYDTY sy-vline
WA_PA0626_STR-PYOTI sy-vline
WA_PA0626_STR-PYUNI sy-vline
WA_PA0626_STR-PYABN sy-vline
WA_PA0626_STR-PYABR sy-vline
WA_PA0626_STR-PYW01 sy-vline
WA_PA0626_STR-PYA01 sy-vline
WA_PA0626_STR-PYW02 sy-vline
WA_PA0626_STR-PYA02 sy-vline
WA_PA0626_STR-PYW03 sy-vline
WA_PA0626_STR-PYA03 sy-vline
WA_PA0626_STR-PYW04 sy-vline
WA_PA0626_STR-PYA04 sy-vline
WA_PA0626_STR-PYW05 sy-vline
WA_PA0626_STR-PYA05 sy-vline
WA_PA0626_STR-PYW06 sy-vline
WA_PA0626_STR-PYA06 sy-vline
WA_PA0626_STR-PYW07 sy-vline
WA_PA0626_STR-PYA07 sy-vline
WA_PA0626_STR-PYW08 sy-vline
WA_PA0626_STR-PYA08 sy-vline
WA_PA0626_STR-PYW09 sy-vline
WA_PA0626_STR-PYA09 sy-vline
WA_PA0626_STR-PYW10 sy-vline
WA_PA0626_STR-PYA10 sy-vline
WA_PA0626_STR-PYW11 sy-vline
WA_PA0626_STR-PYA11 sy-vline
WA_PA0626_STR-PYW12 sy-vline
WA_PA0626_STR-PYA12 sy-vline
WA_PA0626_STR-PYW13 sy-vline
WA_PA0626_STR-PYA13 sy-vline
WA_PA0626_STR-PYW14 sy-vline
WA_PA0626_STR-PYA14 sy-vline
WA_PA0626_STR-PYW15 sy-vline
WA_PA0626_STR-PYA15 sy-vline
WA_PA0626_STR-PYENM sy-vline
WA_PA0626_STR-PYETM sy-vline
WA_PA0626_STR-PYETD sy-vline
WA_PA0626_STR-PYTNA sy-vline
WA_PA0626_STR-PYTUF sy-vline
WA_PA0626_STR-PYEDP sy-vline
WA_PA0626_STR-PYEDS sy-vline
WA_PA0626_STR-PYUFW sy-vline
WA_PA0626_STR-PYWPG sy-vline
WA_PA0626_STR-PYTWG sy-vline
WA_PA0626_STR-ETTXC sy-vline
WA_PA0626_STR-ETTFC sy-vline
WA_PA0626_STR-PUW01 sy-vline
WA_PA0626_STR-PUA01 sy-vline
WA_PA0626_STR-PUW02 sy-vline
WA_PA0626_STR-PUA02 sy-vline
WA_PA0626_STR-PUW03 sy-vline
WA_PA0626_STR-PUA03 sy-vline
WA_PA0626_STR-PUW04 sy-vline
WA_PA0626_STR-PUA04 sy-vline
WA_PA0626_STR-PUW05 sy-vline
WA_PA0626_STR-PUA05 sy-vline
WA_PA0626_STR-PUW06 sy-vline
WA_PA0626_STR-PUA06 sy-vline
WA_PA0626_STR-PUW07 sy-vline
WA_PA0626_STR-PUA07 sy-vline
WA_PA0626_STR-PUW08 sy-vline
WA_PA0626_STR-PUA08 sy-vline
WA_PA0626_STR-PUW09 sy-vline
WA_PA0626_STR-PUA09 sy-vline
WA_PA0626_STR-PUW10 sy-vline
WA_PA0626_STR-PUA10 sy-vline
WA_PA0626_STR-PUW11 sy-vline
WA_PA0626_STR-PUA11 sy-vline
WA_PA0626_STR-PUW12 sy-vline
WA_PA0626_STR-PUA12 sy-vline
WA_PA0626_STR-PUW13 sy-vline
WA_PA0626_STR-PUA13 sy-vline
WA_PA0626_STR-PUW14 sy-vline
WA_PA0626_STR-PUA14 sy-vline
WA_PA0626_STR-PUW15 sy-vline
WA_PA0626_STR-PUA15 sy-vline
WA_PA0626_STR-PUW16 sy-vline
WA_PA0626_STR-PUA16 sy-vline
WA_PA0626_STR-PUW17 sy-vline
WA_PA0626_STR-PUA17 sy-vline
WA_PA0626_STR-PUW18 sy-vline
WA_PA0626_STR-PUA18 sy-vline
WA_PA0626_STR-PUW19 sy-vline
WA_PA0626_STR-PUA19 sy-vline
WA_PA0626_STR-PYAMD sy-vline
WA_PA0626_STR-ETAMD sy-vline
WA_PA0626_STR-TRTAX sy-vline
WA_PA0626_STR-LBTAX sy-vline
WA_PA0626_STR-DBTAX sy-vline
WA_PA0626_STR-TRTCP sy-vline
WA_PA0626_STR-LBTCP sy-vline
WA_PA0626_STR-DBTCP sy-vline
WA_PA0626_STR-TRTFP sy-vline
WA_PA0626_STR-LBTFP sy-vline
WA_PA0626_STR-DBTFP sy-vline
WA_PA0626_STR-SPLIT sy-vline
WA_PA0626_STR-PYSUP sy-vline
WA_PA0626_STR-PYFET sy-vline
WA_PA0626_STR-PYLAT sy-vline
WA_PA0626_STR-PYDPA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.