ABAP Select data from SAP table PA0640 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 PA0640 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 PA0640. 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 PA0640 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_PA0640 TYPE STANDARD TABLE OF PA0640,
      WA_PA0640 TYPE PA0640,
      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: <PA0640> TYPE PA0640.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0640
*  INTO TABLE @DATA(IT_PA06402).
*--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_PA0640 INDEX 1 INTO DATA(WA_PA06402).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0640-ENDDA, sy-vline,
WA_PA0640-BEGDA, sy-vline,
WA_PA0640-SEQNR, sy-vline,
WA_PA0640-AEDTM, sy-vline,
WA_PA0640-UNAME, sy-vline,
WA_PA0640-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0640 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_PA0640 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_PA0640 INTO WA_PA0640. *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_PA0640_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,
BJELL TYPE STRING,
BESFK TYPE STRING,
PKEZD TYPE STRING,
BESKK TYPE STRING,
MINT1 TYPE STRING,
MINA1 TYPE STRING,
MINE1 TYPE STRING,
MINT2 TYPE STRING,
MINA2 TYPE STRING,
MINE2 TYPE STRING,
MINT3 TYPE STRING,
MINA3 TYPE STRING,
MINE3 TYPE STRING,
MINT4 TYPE STRING,
MINA4 TYPE STRING,
MINE4 TYPE STRING,
MINT5 TYPE STRING,
MINA5 TYPE STRING,
MINE5 TYPE STRING,
RSD01 TYPE STRING,
EVD01 TYPE STRING,
EVP01 TYPE STRING,
EV201 TYPE STRING,
GRC01 TYPE STRING,
RSD02 TYPE STRING,
EVD02 TYPE STRING,
EVP02 TYPE STRING,
EV202 TYPE STRING,
GRC02 TYPE STRING,
RSD03 TYPE STRING,
EVD03 TYPE STRING,
EVP03 TYPE STRING,
EV203 TYPE STRING,
GRC03 TYPE STRING,
RSD04 TYPE STRING,
EVD04 TYPE STRING,
EVP04 TYPE STRING,
EV204 TYPE STRING,
GRC04 TYPE STRING,
RSD05 TYPE STRING,
EVD05 TYPE STRING,
EVP05 TYPE STRING,
EV205 TYPE STRING,
GRC05 TYPE STRING,
RSD06 TYPE STRING,
EVD06 TYPE STRING,
EVP06 TYPE STRING,
EV206 TYPE STRING,
GRC06 TYPE STRING,
RSD07 TYPE STRING,
EVD07 TYPE STRING,
EVP07 TYPE STRING,
EV207 TYPE STRING,
GRC07 TYPE STRING,
RSD08 TYPE STRING,
EVD08 TYPE STRING,
EVP08 TYPE STRING,
EV208 TYPE STRING,
GRC08 TYPE STRING,
RSD09 TYPE STRING,
EVD09 TYPE STRING,
EVP09 TYPE STRING,
EV209 TYPE STRING,
GRC09 TYPE STRING,
RSD10 TYPE STRING,
EVD10 TYPE STRING,
EVP10 TYPE STRING,
EV210 TYPE STRING,
GRC10 TYPE STRING,
RSD11 TYPE STRING,
EVD11 TYPE STRING,
EVP11 TYPE STRING,
EV211 TYPE STRING,
GRC11 TYPE STRING,
RSD12 TYPE STRING,
EVD12 TYPE STRING,
EVP12 TYPE STRING,
EV212 TYPE STRING,
GRC12 TYPE STRING,
RSD13 TYPE STRING,
EVD13 TYPE STRING,
EVP13 TYPE STRING,
EV213 TYPE STRING,
GRC13 TYPE STRING,
RSD14 TYPE STRING,
EVD14 TYPE STRING,
EVP14 TYPE STRING,
EV214 TYPE STRING,
GRC14 TYPE STRING,
RSD15 TYPE STRING,
EVD15 TYPE STRING,
EVP15 TYPE STRING,
EV215 TYPE STRING,
GRC15 TYPE STRING,
RSD16 TYPE STRING,
EVD16 TYPE STRING,
EVP16 TYPE STRING,
EV216 TYPE STRING,
GRC16 TYPE STRING,
RSD17 TYPE STRING,
EVD17 TYPE STRING,
EVP17 TYPE STRING,
EV217 TYPE STRING,
GRC17 TYPE STRING,
RSD18 TYPE STRING,
EVD18 TYPE STRING,
EVP18 TYPE STRING,
EV218 TYPE STRING,
GRC18 TYPE STRING,
RSD19 TYPE STRING,
EVD19 TYPE STRING,
EVP19 TYPE STRING,
EV219 TYPE STRING,
GRC19 TYPE STRING,
RSD20 TYPE STRING,
EVD20 TYPE STRING,
EVP20 TYPE STRING,
EV220 TYPE STRING,
GRC20 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0640_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_PA0640_STR-MANDT sy-vline
WA_PA0640_STR-PERNR sy-vline
WA_PA0640_STR-SUBTY sy-vline
WA_PA0640_STR-OBJPS sy-vline
WA_PA0640_STR-SPRPS sy-vline
WA_PA0640_STR-ENDDA sy-vline
WA_PA0640_STR-BEGDA sy-vline
WA_PA0640_STR-SEQNR sy-vline
WA_PA0640_STR-AEDTM sy-vline
WA_PA0640_STR-UNAME sy-vline
WA_PA0640_STR-HISTO sy-vline
WA_PA0640_STR-ITXEX sy-vline
WA_PA0640_STR-REFEX sy-vline
WA_PA0640_STR-ORDEX sy-vline
WA_PA0640_STR-ITBLD sy-vline
WA_PA0640_STR-PREAS sy-vline
WA_PA0640_STR-FLAG1 sy-vline
WA_PA0640_STR-FLAG2 sy-vline
WA_PA0640_STR-FLAG3 sy-vline
WA_PA0640_STR-FLAG4 sy-vline
WA_PA0640_STR-RESE1 sy-vline
WA_PA0640_STR-RESE2 sy-vline
WA_PA0640_STR-GRPVL sy-vline
WA_PA0640_STR-BJELL sy-vline
WA_PA0640_STR-BESFK sy-vline
WA_PA0640_STR-PKEZD sy-vline
WA_PA0640_STR-BESKK sy-vline
WA_PA0640_STR-MINT1 sy-vline
WA_PA0640_STR-MINA1 sy-vline
WA_PA0640_STR-MINE1 sy-vline
WA_PA0640_STR-MINT2 sy-vline
WA_PA0640_STR-MINA2 sy-vline
WA_PA0640_STR-MINE2 sy-vline
WA_PA0640_STR-MINT3 sy-vline
WA_PA0640_STR-MINA3 sy-vline
WA_PA0640_STR-MINE3 sy-vline
WA_PA0640_STR-MINT4 sy-vline
WA_PA0640_STR-MINA4 sy-vline
WA_PA0640_STR-MINE4 sy-vline
WA_PA0640_STR-MINT5 sy-vline
WA_PA0640_STR-MINA5 sy-vline
WA_PA0640_STR-MINE5 sy-vline
WA_PA0640_STR-RSD01 sy-vline
WA_PA0640_STR-EVD01 sy-vline
WA_PA0640_STR-EVP01 sy-vline
WA_PA0640_STR-EV201 sy-vline
WA_PA0640_STR-GRC01 sy-vline
WA_PA0640_STR-RSD02 sy-vline
WA_PA0640_STR-EVD02 sy-vline
WA_PA0640_STR-EVP02 sy-vline
WA_PA0640_STR-EV202 sy-vline
WA_PA0640_STR-GRC02 sy-vline
WA_PA0640_STR-RSD03 sy-vline
WA_PA0640_STR-EVD03 sy-vline
WA_PA0640_STR-EVP03 sy-vline
WA_PA0640_STR-EV203 sy-vline
WA_PA0640_STR-GRC03 sy-vline
WA_PA0640_STR-RSD04 sy-vline
WA_PA0640_STR-EVD04 sy-vline
WA_PA0640_STR-EVP04 sy-vline
WA_PA0640_STR-EV204 sy-vline
WA_PA0640_STR-GRC04 sy-vline
WA_PA0640_STR-RSD05 sy-vline
WA_PA0640_STR-EVD05 sy-vline
WA_PA0640_STR-EVP05 sy-vline
WA_PA0640_STR-EV205 sy-vline
WA_PA0640_STR-GRC05 sy-vline
WA_PA0640_STR-RSD06 sy-vline
WA_PA0640_STR-EVD06 sy-vline
WA_PA0640_STR-EVP06 sy-vline
WA_PA0640_STR-EV206 sy-vline
WA_PA0640_STR-GRC06 sy-vline
WA_PA0640_STR-RSD07 sy-vline
WA_PA0640_STR-EVD07 sy-vline
WA_PA0640_STR-EVP07 sy-vline
WA_PA0640_STR-EV207 sy-vline
WA_PA0640_STR-GRC07 sy-vline
WA_PA0640_STR-RSD08 sy-vline
WA_PA0640_STR-EVD08 sy-vline
WA_PA0640_STR-EVP08 sy-vline
WA_PA0640_STR-EV208 sy-vline
WA_PA0640_STR-GRC08 sy-vline
WA_PA0640_STR-RSD09 sy-vline
WA_PA0640_STR-EVD09 sy-vline
WA_PA0640_STR-EVP09 sy-vline
WA_PA0640_STR-EV209 sy-vline
WA_PA0640_STR-GRC09 sy-vline
WA_PA0640_STR-RSD10 sy-vline
WA_PA0640_STR-EVD10 sy-vline
WA_PA0640_STR-EVP10 sy-vline
WA_PA0640_STR-EV210 sy-vline
WA_PA0640_STR-GRC10 sy-vline
WA_PA0640_STR-RSD11 sy-vline
WA_PA0640_STR-EVD11 sy-vline
WA_PA0640_STR-EVP11 sy-vline
WA_PA0640_STR-EV211 sy-vline
WA_PA0640_STR-GRC11 sy-vline
WA_PA0640_STR-RSD12 sy-vline
WA_PA0640_STR-EVD12 sy-vline
WA_PA0640_STR-EVP12 sy-vline
WA_PA0640_STR-EV212 sy-vline
WA_PA0640_STR-GRC12 sy-vline
WA_PA0640_STR-RSD13 sy-vline
WA_PA0640_STR-EVD13 sy-vline
WA_PA0640_STR-EVP13 sy-vline
WA_PA0640_STR-EV213 sy-vline
WA_PA0640_STR-GRC13 sy-vline
WA_PA0640_STR-RSD14 sy-vline
WA_PA0640_STR-EVD14 sy-vline
WA_PA0640_STR-EVP14 sy-vline
WA_PA0640_STR-EV214 sy-vline
WA_PA0640_STR-GRC14 sy-vline
WA_PA0640_STR-RSD15 sy-vline
WA_PA0640_STR-EVD15 sy-vline
WA_PA0640_STR-EVP15 sy-vline
WA_PA0640_STR-EV215 sy-vline
WA_PA0640_STR-GRC15 sy-vline
WA_PA0640_STR-RSD16 sy-vline
WA_PA0640_STR-EVD16 sy-vline
WA_PA0640_STR-EVP16 sy-vline
WA_PA0640_STR-EV216 sy-vline
WA_PA0640_STR-GRC16 sy-vline
WA_PA0640_STR-RSD17 sy-vline
WA_PA0640_STR-EVD17 sy-vline
WA_PA0640_STR-EVP17 sy-vline
WA_PA0640_STR-EV217 sy-vline
WA_PA0640_STR-GRC17 sy-vline
WA_PA0640_STR-RSD18 sy-vline
WA_PA0640_STR-EVD18 sy-vline
WA_PA0640_STR-EVP18 sy-vline
WA_PA0640_STR-EV218 sy-vline
WA_PA0640_STR-GRC18 sy-vline
WA_PA0640_STR-RSD19 sy-vline
WA_PA0640_STR-EVD19 sy-vline
WA_PA0640_STR-EVP19 sy-vline
WA_PA0640_STR-EV219 sy-vline
WA_PA0640_STR-GRC19 sy-vline
WA_PA0640_STR-RSD20 sy-vline
WA_PA0640_STR-EVD20 sy-vline
WA_PA0640_STR-EVP20 sy-vline
WA_PA0640_STR-EV220 sy-vline
WA_PA0640_STR-GRC20 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.