ABAP Select data from SAP table PA0830 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 PA0830 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 PA0830. 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 PA0830 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_PA0830 TYPE STANDARD TABLE OF PA0830,
      WA_PA0830 TYPE PA0830,
      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: <PA0830> TYPE PA0830.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0830
*  INTO TABLE @DATA(IT_PA08302).
*--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_PA0830 INDEX 1 INTO DATA(WA_PA08302).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0830-ENDDA, sy-vline,
WA_PA0830-BEGDA, sy-vline,
WA_PA0830-SEQNR, sy-vline,
WA_PA0830-AEDTM, sy-vline,
WA_PA0830-UNAME, sy-vline,
WA_PA0830-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0830 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_PA0830 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_PA0830 INTO WA_PA0830. *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_PA0830_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,
PRCED TYPE STRING,
AVRGE TYPE STRING,
PAYCO TYPE STRING,
DEREN TYPE STRING,
DEPEN TYPE STRING,
IDAUT TYPE STRING,
ACC12 TYPE STRING,
ACCPE TYPE STRING,
DEDBA TYPE STRING,
CUBAL TYPE STRING,
BABAL TYPE STRING,
PAVRG TYPE STRING,
PRCOA TYPE STRING,
RECBA TYPE STRING,
WORDA TYPE STRING,
AVBAS TYPE STRING,
PYHEA TYPE STRING,
PYHOU TYPE STRING,
ENDBA TYPE STRING,
AVSEM TYPE STRING,
WAERS TYPE STRING,
DOCN1 TYPE STRING,
PAYC1 TYPE STRING,
PAYV1 TYPE STRING,
CUOT1 TYPE STRING,
DATI1 TYPE STRING,
DATE1 TYPE STRING,
DOCN2 TYPE STRING,
PAYC2 TYPE STRING,
PAYV2 TYPE STRING,
CUOT2 TYPE STRING,
DATI2 TYPE STRING,
DATE2 TYPE STRING,
DOCN3 TYPE STRING,
PAYC3 TYPE STRING,
PAYV3 TYPE STRING,
CUOT3 TYPE STRING,
DATI3 TYPE STRING,
DATE3 TYPE STRING,
DOCN4 TYPE STRING,
PAYC4 TYPE STRING,
PAYV4 TYPE STRING,
CUOT4 TYPE STRING,
DATI4 TYPE STRING,
DATE4 TYPE STRING,
DOCN5 TYPE STRING,
PAYC5 TYPE STRING,
PAYV5 TYPE STRING,
CUOT5 TYPE STRING,
DATI5 TYPE STRING,
DATE5 TYPE STRING,
DEDSA TYPE STRING,
ACCSA TYPE STRING,
CERT1 TYPE STRING,
BORA1 TYPE STRING,
BEGC1 TYPE STRING,
ENDC1 TYPE STRING,
BETR1 TYPE STRING,
CERT2 TYPE STRING,
BORA2 TYPE STRING,
BEGC2 TYPE STRING,
ENDC2 TYPE STRING,
BETR2 TYPE STRING,
CERT3 TYPE STRING,
BORA3 TYPE STRING,
BEGC3 TYPE STRING,
ENDC3 TYPE STRING,
BETR3 TYPE STRING,
CERT4 TYPE STRING,
BORA4 TYPE STRING,
BEGC4 TYPE STRING,
ENDC4 TYPE STRING,
BETR4 TYPE STRING,
CERT5 TYPE STRING,
BORA5 TYPE STRING,
BEGC5 TYPE STRING,
ENDC5 TYPE STRING,
BETR5 TYPE STRING,
CUMDS TYPE STRING,
AVEDS TYPE STRING,
NDAYS TYPE STRING,
DOCN6 TYPE STRING,
PAYC6 TYPE STRING,
PAYV6 TYPE STRING,
CUOT6 TYPE STRING,
DATI6 TYPE STRING,
DATE6 TYPE STRING,
DOCN7 TYPE STRING,
PAYC7 TYPE STRING,
PAYV7 TYPE STRING,
CUOT7 TYPE STRING,
DATI7 TYPE STRING,
DATE7 TYPE STRING,
DOCN8 TYPE STRING,
PAYC8 TYPE STRING,
PAYV8 TYPE STRING,
CUOT8 TYPE STRING,
DATI8 TYPE STRING,
DATE8 TYPE STRING,
DOCN9 TYPE STRING,
PAYC9 TYPE STRING,
PAYV9 TYPE STRING,
CUOT9 TYPE STRING,
DATI9 TYPE STRING,
DATE9 TYPE STRING,
DOCN10 TYPE STRING,
PAYC10 TYPE STRING,
PAYV10 TYPE STRING,
CUOT10 TYPE STRING,
DATI10 TYPE STRING,
DATE10 TYPE STRING,
DOCN11 TYPE STRING,
PAYC11 TYPE STRING,
PAYV11 TYPE STRING,
CUOT11 TYPE STRING,
DATI11 TYPE STRING,
DATE11 TYPE STRING,
DOCN12 TYPE STRING,
PAYC12 TYPE STRING,
PAYV12 TYPE STRING,
CUOT12 TYPE STRING,
DATI12 TYPE STRING,
DATE12 TYPE STRING,
DOCN13 TYPE STRING,
PAYC13 TYPE STRING,
PAYV13 TYPE STRING,
CUOT13 TYPE STRING,
DATI13 TYPE STRING,
DATE13 TYPE STRING,
DOCN14 TYPE STRING,
PAYC14 TYPE STRING,
PAYV14 TYPE STRING,
CUOT14 TYPE STRING,
DATI14 TYPE STRING,
DATE14 TYPE STRING,
DOCN15 TYPE STRING,
PAYC15 TYPE STRING,
PAYV15 TYPE STRING,
CUOT15 TYPE STRING,
DATI15 TYPE STRING,
DATE15 TYPE STRING,
DOCN16 TYPE STRING,
PAYC16 TYPE STRING,
PAYV16 TYPE STRING,
CUOT16 TYPE STRING,
DATI16 TYPE STRING,
DATE16 TYPE STRING,
DOCN17 TYPE STRING,
PAYC17 TYPE STRING,
PAYV17 TYPE STRING,
CUOT17 TYPE STRING,
DATI17 TYPE STRING,
DATE17 TYPE STRING,
DOCN18 TYPE STRING,
PAYC18 TYPE STRING,
PAYV18 TYPE STRING,
CUOT18 TYPE STRING,
DATI18 TYPE STRING,
DATE18 TYPE STRING,
DOCN19 TYPE STRING,
PAYC19 TYPE STRING,
PAYV19 TYPE STRING,
CUOT19 TYPE STRING,
DATI19 TYPE STRING,
DATE19 TYPE STRING,
DOCN20 TYPE STRING,
PAYC20 TYPE STRING,
PAYV20 TYPE STRING,
CUOT20 TYPE STRING,
DATI20 TYPE STRING,
DATE20 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0830_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_PA0830_STR-MANDT sy-vline
WA_PA0830_STR-PERNR sy-vline
WA_PA0830_STR-SUBTY sy-vline
WA_PA0830_STR-OBJPS sy-vline
WA_PA0830_STR-SPRPS sy-vline
WA_PA0830_STR-ENDDA sy-vline
WA_PA0830_STR-BEGDA sy-vline
WA_PA0830_STR-SEQNR sy-vline
WA_PA0830_STR-AEDTM sy-vline
WA_PA0830_STR-UNAME sy-vline
WA_PA0830_STR-HISTO sy-vline
WA_PA0830_STR-ITXEX sy-vline
WA_PA0830_STR-REFEX sy-vline
WA_PA0830_STR-ORDEX sy-vline
WA_PA0830_STR-ITBLD sy-vline
WA_PA0830_STR-PREAS sy-vline
WA_PA0830_STR-FLAG1 sy-vline
WA_PA0830_STR-FLAG2 sy-vline
WA_PA0830_STR-FLAG3 sy-vline
WA_PA0830_STR-FLAG4 sy-vline
WA_PA0830_STR-RESE1 sy-vline
WA_PA0830_STR-RESE2 sy-vline
WA_PA0830_STR-GRPVL sy-vline
WA_PA0830_STR-PRCED sy-vline
WA_PA0830_STR-AVRGE sy-vline
WA_PA0830_STR-PAYCO sy-vline
WA_PA0830_STR-DEREN sy-vline
WA_PA0830_STR-DEPEN sy-vline
WA_PA0830_STR-IDAUT sy-vline
WA_PA0830_STR-ACC12 sy-vline
WA_PA0830_STR-ACCPE sy-vline
WA_PA0830_STR-DEDBA sy-vline
WA_PA0830_STR-CUBAL sy-vline
WA_PA0830_STR-BABAL sy-vline
WA_PA0830_STR-PAVRG sy-vline
WA_PA0830_STR-PRCOA sy-vline
WA_PA0830_STR-RECBA sy-vline
WA_PA0830_STR-WORDA sy-vline
WA_PA0830_STR-AVBAS sy-vline
WA_PA0830_STR-PYHEA sy-vline
WA_PA0830_STR-PYHOU sy-vline
WA_PA0830_STR-ENDBA sy-vline
WA_PA0830_STR-AVSEM sy-vline
WA_PA0830_STR-WAERS sy-vline
WA_PA0830_STR-DOCN1 sy-vline
WA_PA0830_STR-PAYC1 sy-vline
WA_PA0830_STR-PAYV1 sy-vline
WA_PA0830_STR-CUOT1 sy-vline
WA_PA0830_STR-DATI1 sy-vline
WA_PA0830_STR-DATE1 sy-vline
WA_PA0830_STR-DOCN2 sy-vline
WA_PA0830_STR-PAYC2 sy-vline
WA_PA0830_STR-PAYV2 sy-vline
WA_PA0830_STR-CUOT2 sy-vline
WA_PA0830_STR-DATI2 sy-vline
WA_PA0830_STR-DATE2 sy-vline
WA_PA0830_STR-DOCN3 sy-vline
WA_PA0830_STR-PAYC3 sy-vline
WA_PA0830_STR-PAYV3 sy-vline
WA_PA0830_STR-CUOT3 sy-vline
WA_PA0830_STR-DATI3 sy-vline
WA_PA0830_STR-DATE3 sy-vline
WA_PA0830_STR-DOCN4 sy-vline
WA_PA0830_STR-PAYC4 sy-vline
WA_PA0830_STR-PAYV4 sy-vline
WA_PA0830_STR-CUOT4 sy-vline
WA_PA0830_STR-DATI4 sy-vline
WA_PA0830_STR-DATE4 sy-vline
WA_PA0830_STR-DOCN5 sy-vline
WA_PA0830_STR-PAYC5 sy-vline
WA_PA0830_STR-PAYV5 sy-vline
WA_PA0830_STR-CUOT5 sy-vline
WA_PA0830_STR-DATI5 sy-vline
WA_PA0830_STR-DATE5 sy-vline
WA_PA0830_STR-DEDSA sy-vline
WA_PA0830_STR-ACCSA sy-vline
WA_PA0830_STR-CERT1 sy-vline
WA_PA0830_STR-BORA1 sy-vline
WA_PA0830_STR-BEGC1 sy-vline
WA_PA0830_STR-ENDC1 sy-vline
WA_PA0830_STR-BETR1 sy-vline
WA_PA0830_STR-CERT2 sy-vline
WA_PA0830_STR-BORA2 sy-vline
WA_PA0830_STR-BEGC2 sy-vline
WA_PA0830_STR-ENDC2 sy-vline
WA_PA0830_STR-BETR2 sy-vline
WA_PA0830_STR-CERT3 sy-vline
WA_PA0830_STR-BORA3 sy-vline
WA_PA0830_STR-BEGC3 sy-vline
WA_PA0830_STR-ENDC3 sy-vline
WA_PA0830_STR-BETR3 sy-vline
WA_PA0830_STR-CERT4 sy-vline
WA_PA0830_STR-BORA4 sy-vline
WA_PA0830_STR-BEGC4 sy-vline
WA_PA0830_STR-ENDC4 sy-vline
WA_PA0830_STR-BETR4 sy-vline
WA_PA0830_STR-CERT5 sy-vline
WA_PA0830_STR-BORA5 sy-vline
WA_PA0830_STR-BEGC5 sy-vline
WA_PA0830_STR-ENDC5 sy-vline
WA_PA0830_STR-BETR5 sy-vline
WA_PA0830_STR-CUMDS sy-vline
WA_PA0830_STR-AVEDS sy-vline
WA_PA0830_STR-NDAYS sy-vline
WA_PA0830_STR-DOCN6 sy-vline
WA_PA0830_STR-PAYC6 sy-vline
WA_PA0830_STR-PAYV6 sy-vline
WA_PA0830_STR-CUOT6 sy-vline
WA_PA0830_STR-DATI6 sy-vline
WA_PA0830_STR-DATE6 sy-vline
WA_PA0830_STR-DOCN7 sy-vline
WA_PA0830_STR-PAYC7 sy-vline
WA_PA0830_STR-PAYV7 sy-vline
WA_PA0830_STR-CUOT7 sy-vline
WA_PA0830_STR-DATI7 sy-vline
WA_PA0830_STR-DATE7 sy-vline
WA_PA0830_STR-DOCN8 sy-vline
WA_PA0830_STR-PAYC8 sy-vline
WA_PA0830_STR-PAYV8 sy-vline
WA_PA0830_STR-CUOT8 sy-vline
WA_PA0830_STR-DATI8 sy-vline
WA_PA0830_STR-DATE8 sy-vline
WA_PA0830_STR-DOCN9 sy-vline
WA_PA0830_STR-PAYC9 sy-vline
WA_PA0830_STR-PAYV9 sy-vline
WA_PA0830_STR-CUOT9 sy-vline
WA_PA0830_STR-DATI9 sy-vline
WA_PA0830_STR-DATE9 sy-vline
WA_PA0830_STR-DOCN10 sy-vline
WA_PA0830_STR-PAYC10 sy-vline
WA_PA0830_STR-PAYV10 sy-vline
WA_PA0830_STR-CUOT10 sy-vline
WA_PA0830_STR-DATI10 sy-vline
WA_PA0830_STR-DATE10 sy-vline
WA_PA0830_STR-DOCN11 sy-vline
WA_PA0830_STR-PAYC11 sy-vline
WA_PA0830_STR-PAYV11 sy-vline
WA_PA0830_STR-CUOT11 sy-vline
WA_PA0830_STR-DATI11 sy-vline
WA_PA0830_STR-DATE11 sy-vline
WA_PA0830_STR-DOCN12 sy-vline
WA_PA0830_STR-PAYC12 sy-vline
WA_PA0830_STR-PAYV12 sy-vline
WA_PA0830_STR-CUOT12 sy-vline
WA_PA0830_STR-DATI12 sy-vline
WA_PA0830_STR-DATE12 sy-vline
WA_PA0830_STR-DOCN13 sy-vline
WA_PA0830_STR-PAYC13 sy-vline
WA_PA0830_STR-PAYV13 sy-vline
WA_PA0830_STR-CUOT13 sy-vline
WA_PA0830_STR-DATI13 sy-vline
WA_PA0830_STR-DATE13 sy-vline
WA_PA0830_STR-DOCN14 sy-vline
WA_PA0830_STR-PAYC14 sy-vline
WA_PA0830_STR-PAYV14 sy-vline
WA_PA0830_STR-CUOT14 sy-vline
WA_PA0830_STR-DATI14 sy-vline
WA_PA0830_STR-DATE14 sy-vline
WA_PA0830_STR-DOCN15 sy-vline
WA_PA0830_STR-PAYC15 sy-vline
WA_PA0830_STR-PAYV15 sy-vline
WA_PA0830_STR-CUOT15 sy-vline
WA_PA0830_STR-DATI15 sy-vline
WA_PA0830_STR-DATE15 sy-vline
WA_PA0830_STR-DOCN16 sy-vline
WA_PA0830_STR-PAYC16 sy-vline
WA_PA0830_STR-PAYV16 sy-vline
WA_PA0830_STR-CUOT16 sy-vline
WA_PA0830_STR-DATI16 sy-vline
WA_PA0830_STR-DATE16 sy-vline
WA_PA0830_STR-DOCN17 sy-vline
WA_PA0830_STR-PAYC17 sy-vline
WA_PA0830_STR-PAYV17 sy-vline
WA_PA0830_STR-CUOT17 sy-vline
WA_PA0830_STR-DATI17 sy-vline
WA_PA0830_STR-DATE17 sy-vline
WA_PA0830_STR-DOCN18 sy-vline
WA_PA0830_STR-PAYC18 sy-vline
WA_PA0830_STR-PAYV18 sy-vline
WA_PA0830_STR-CUOT18 sy-vline
WA_PA0830_STR-DATI18 sy-vline
WA_PA0830_STR-DATE18 sy-vline
WA_PA0830_STR-DOCN19 sy-vline
WA_PA0830_STR-PAYC19 sy-vline
WA_PA0830_STR-PAYV19 sy-vline
WA_PA0830_STR-CUOT19 sy-vline
WA_PA0830_STR-DATI19 sy-vline
WA_PA0830_STR-DATE19 sy-vline
WA_PA0830_STR-DOCN20 sy-vline
WA_PA0830_STR-PAYC20 sy-vline
WA_PA0830_STR-PAYV20 sy-vline
WA_PA0830_STR-CUOT20 sy-vline
WA_PA0830_STR-DATI20 sy-vline
WA_PA0830_STR-DATE20 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.