ABAP Select data from SAP table PA0835 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 PA0835 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 PA0835. 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 PA0835 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_PA0835 TYPE STANDARD TABLE OF PA0835,
      WA_PA0835 TYPE PA0835,
      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: <PA0835> TYPE PA0835.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0835
*  INTO TABLE @DATA(IT_PA08352).
*--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_PA0835 INDEX 1 INTO DATA(WA_PA08352).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0835-ENDDA, sy-vline,
WA_PA0835-BEGDA, sy-vline,
WA_PA0835-SEQNR, sy-vline,
WA_PA0835-AEDTM, sy-vline,
WA_PA0835-UNAME, sy-vline,
WA_PA0835-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0835 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_PA0835 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_PA0835 INTO WA_PA0835. *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.

*Conversion exit ALPHA, internal->external for field LIF01 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF01 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF01.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF02 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF02 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF02.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF03 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF03 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF03.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF04 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF04 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF04.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF05 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF05 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF05.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF06 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF06 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF06.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LIF07 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PA0835-LIF07 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0835-LIF07.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_PA0835_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,
GRNUM TYPE STRING,
GCATE TYPE STRING,
GCASE TYPE STRING,
GPROC TYPE STRING,
BEGGA TYPE STRING,
GARST TYPE STRING,
GPRIO TYPE STRING,
AUBAL TYPE STRING,
VALUE TYPE STRING,
ORCOD TYPE STRING,
RSALM TYPE STRING,
DESLG TYPE STRING,
BAFIT TYPE STRING,
FITDA TYPE STRING,
FITCO TYPE STRING,
FITOP TYPE STRING,
WAERS TYPE STRING,
ACR01 TYPE STRING,
PLT01 TYPE STRING,
PRA01 TYPE STRING,
PRD01 TYPE STRING,
LIF01 TYPE STRING,
GOR01 TYPE STRING,
NAC01 TYPE STRING,
ICT01 TYPE STRING,
CED01 TYPE STRING,
ACN01 TYPE STRING,
COM01 TYPE STRING,
SOU01 TYPE STRING,
TAR01 TYPE STRING,
ORT01 TYPE STRING,
STR01 TYPE STRING,
TEL01 TYPE STRING,
ACR02 TYPE STRING,
PLT02 TYPE STRING,
PRA02 TYPE STRING,
PRD02 TYPE STRING,
LIF02 TYPE STRING,
GOR02 TYPE STRING,
NAC02 TYPE STRING,
ICT02 TYPE STRING,
CED02 TYPE STRING,
ACN02 TYPE STRING,
COM02 TYPE STRING,
SOU02 TYPE STRING,
TAR02 TYPE STRING,
ORT02 TYPE STRING,
STR02 TYPE STRING,
TEL02 TYPE STRING,
ACR03 TYPE STRING,
PLT03 TYPE STRING,
PRA03 TYPE STRING,
PRD03 TYPE STRING,
LIF03 TYPE STRING,
GOR03 TYPE STRING,
NAC03 TYPE STRING,
ICT03 TYPE STRING,
CED03 TYPE STRING,
ACN03 TYPE STRING,
COM03 TYPE STRING,
SOU03 TYPE STRING,
TAR03 TYPE STRING,
ORT03 TYPE STRING,
STR03 TYPE STRING,
TEL03 TYPE STRING,
ACR04 TYPE STRING,
PLT04 TYPE STRING,
PRA04 TYPE STRING,
PRD04 TYPE STRING,
LIF04 TYPE STRING,
GOR04 TYPE STRING,
NAC04 TYPE STRING,
ICT04 TYPE STRING,
CED04 TYPE STRING,
ACN04 TYPE STRING,
COM04 TYPE STRING,
SOU04 TYPE STRING,
TAR04 TYPE STRING,
ORT04 TYPE STRING,
STR04 TYPE STRING,
TEL04 TYPE STRING,
ACR05 TYPE STRING,
PLT05 TYPE STRING,
PRA05 TYPE STRING,
PRD05 TYPE STRING,
LIF05 TYPE STRING,
GOR05 TYPE STRING,
NAC05 TYPE STRING,
ICT05 TYPE STRING,
CED05 TYPE STRING,
ACN05 TYPE STRING,
COM05 TYPE STRING,
SOU05 TYPE STRING,
TAR05 TYPE STRING,
ORT05 TYPE STRING,
STR05 TYPE STRING,
TEL05 TYPE STRING,
ACR06 TYPE STRING,
PLT06 TYPE STRING,
PRA06 TYPE STRING,
PRD06 TYPE STRING,
LIF06 TYPE STRING,
GOR06 TYPE STRING,
NAC06 TYPE STRING,
ICT06 TYPE STRING,
CED06 TYPE STRING,
ACN06 TYPE STRING,
COM06 TYPE STRING,
SOU06 TYPE STRING,
TAR06 TYPE STRING,
ORT06 TYPE STRING,
STR06 TYPE STRING,
TEL06 TYPE STRING,
ACR07 TYPE STRING,
PLT07 TYPE STRING,
PRA07 TYPE STRING,
PRD07 TYPE STRING,
LIF07 TYPE STRING,
GOR07 TYPE STRING,
NAC07 TYPE STRING,
ICT07 TYPE STRING,
CED07 TYPE STRING,
ACN07 TYPE STRING,
COM07 TYPE STRING,
SOU07 TYPE STRING,
TAR07 TYPE STRING,
ORT07 TYPE STRING,
STR07 TYPE STRING,
TEL07 TYPE STRING,
PPAGO TYPE STRING,
FPAGO TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0835_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_PA0835_STR-MANDT sy-vline
WA_PA0835_STR-PERNR sy-vline
WA_PA0835_STR-SUBTY sy-vline
WA_PA0835_STR-OBJPS sy-vline
WA_PA0835_STR-SPRPS sy-vline
WA_PA0835_STR-ENDDA sy-vline
WA_PA0835_STR-BEGDA sy-vline
WA_PA0835_STR-SEQNR sy-vline
WA_PA0835_STR-AEDTM sy-vline
WA_PA0835_STR-UNAME sy-vline
WA_PA0835_STR-HISTO sy-vline
WA_PA0835_STR-ITXEX sy-vline
WA_PA0835_STR-REFEX sy-vline
WA_PA0835_STR-ORDEX sy-vline
WA_PA0835_STR-ITBLD sy-vline
WA_PA0835_STR-PREAS sy-vline
WA_PA0835_STR-FLAG1 sy-vline
WA_PA0835_STR-FLAG2 sy-vline
WA_PA0835_STR-FLAG3 sy-vline
WA_PA0835_STR-FLAG4 sy-vline
WA_PA0835_STR-RESE1 sy-vline
WA_PA0835_STR-RESE2 sy-vline
WA_PA0835_STR-GRPVL sy-vline
WA_PA0835_STR-GRNUM sy-vline
WA_PA0835_STR-GCATE sy-vline
WA_PA0835_STR-GCASE sy-vline
WA_PA0835_STR-GPROC sy-vline
WA_PA0835_STR-BEGGA sy-vline
WA_PA0835_STR-GARST sy-vline
WA_PA0835_STR-GPRIO sy-vline
WA_PA0835_STR-AUBAL sy-vline
WA_PA0835_STR-VALUE sy-vline
WA_PA0835_STR-ORCOD sy-vline
WA_PA0835_STR-RSALM sy-vline
WA_PA0835_STR-DESLG sy-vline
WA_PA0835_STR-BAFIT sy-vline
WA_PA0835_STR-FITDA sy-vline
WA_PA0835_STR-FITCO sy-vline
WA_PA0835_STR-FITOP sy-vline
WA_PA0835_STR-WAERS sy-vline
WA_PA0835_STR-ACR01 sy-vline
WA_PA0835_STR-PLT01 sy-vline
WA_PA0835_STR-PRA01 sy-vline
WA_PA0835_STR-PRD01 sy-vline
WA_PA0835_STR-LIF01 sy-vline
WA_PA0835_STR-GOR01 sy-vline
WA_PA0835_STR-NAC01 sy-vline
WA_PA0835_STR-ICT01 sy-vline
WA_PA0835_STR-CED01 sy-vline
WA_PA0835_STR-ACN01 sy-vline
WA_PA0835_STR-COM01 sy-vline
WA_PA0835_STR-SOU01 sy-vline
WA_PA0835_STR-TAR01 sy-vline
WA_PA0835_STR-ORT01 sy-vline
WA_PA0835_STR-STR01 sy-vline
WA_PA0835_STR-TEL01 sy-vline
WA_PA0835_STR-ACR02 sy-vline
WA_PA0835_STR-PLT02 sy-vline
WA_PA0835_STR-PRA02 sy-vline
WA_PA0835_STR-PRD02 sy-vline
WA_PA0835_STR-LIF02 sy-vline
WA_PA0835_STR-GOR02 sy-vline
WA_PA0835_STR-NAC02 sy-vline
WA_PA0835_STR-ICT02 sy-vline
WA_PA0835_STR-CED02 sy-vline
WA_PA0835_STR-ACN02 sy-vline
WA_PA0835_STR-COM02 sy-vline
WA_PA0835_STR-SOU02 sy-vline
WA_PA0835_STR-TAR02 sy-vline
WA_PA0835_STR-ORT02 sy-vline
WA_PA0835_STR-STR02 sy-vline
WA_PA0835_STR-TEL02 sy-vline
WA_PA0835_STR-ACR03 sy-vline
WA_PA0835_STR-PLT03 sy-vline
WA_PA0835_STR-PRA03 sy-vline
WA_PA0835_STR-PRD03 sy-vline
WA_PA0835_STR-LIF03 sy-vline
WA_PA0835_STR-GOR03 sy-vline
WA_PA0835_STR-NAC03 sy-vline
WA_PA0835_STR-ICT03 sy-vline
WA_PA0835_STR-CED03 sy-vline
WA_PA0835_STR-ACN03 sy-vline
WA_PA0835_STR-COM03 sy-vline
WA_PA0835_STR-SOU03 sy-vline
WA_PA0835_STR-TAR03 sy-vline
WA_PA0835_STR-ORT03 sy-vline
WA_PA0835_STR-STR03 sy-vline
WA_PA0835_STR-TEL03 sy-vline
WA_PA0835_STR-ACR04 sy-vline
WA_PA0835_STR-PLT04 sy-vline
WA_PA0835_STR-PRA04 sy-vline
WA_PA0835_STR-PRD04 sy-vline
WA_PA0835_STR-LIF04 sy-vline
WA_PA0835_STR-GOR04 sy-vline
WA_PA0835_STR-NAC04 sy-vline
WA_PA0835_STR-ICT04 sy-vline
WA_PA0835_STR-CED04 sy-vline
WA_PA0835_STR-ACN04 sy-vline
WA_PA0835_STR-COM04 sy-vline
WA_PA0835_STR-SOU04 sy-vline
WA_PA0835_STR-TAR04 sy-vline
WA_PA0835_STR-ORT04 sy-vline
WA_PA0835_STR-STR04 sy-vline
WA_PA0835_STR-TEL04 sy-vline
WA_PA0835_STR-ACR05 sy-vline
WA_PA0835_STR-PLT05 sy-vline
WA_PA0835_STR-PRA05 sy-vline
WA_PA0835_STR-PRD05 sy-vline
WA_PA0835_STR-LIF05 sy-vline
WA_PA0835_STR-GOR05 sy-vline
WA_PA0835_STR-NAC05 sy-vline
WA_PA0835_STR-ICT05 sy-vline
WA_PA0835_STR-CED05 sy-vline
WA_PA0835_STR-ACN05 sy-vline
WA_PA0835_STR-COM05 sy-vline
WA_PA0835_STR-SOU05 sy-vline
WA_PA0835_STR-TAR05 sy-vline
WA_PA0835_STR-ORT05 sy-vline
WA_PA0835_STR-STR05 sy-vline
WA_PA0835_STR-TEL05 sy-vline
WA_PA0835_STR-ACR06 sy-vline
WA_PA0835_STR-PLT06 sy-vline
WA_PA0835_STR-PRA06 sy-vline
WA_PA0835_STR-PRD06 sy-vline
WA_PA0835_STR-LIF06 sy-vline
WA_PA0835_STR-GOR06 sy-vline
WA_PA0835_STR-NAC06 sy-vline
WA_PA0835_STR-ICT06 sy-vline
WA_PA0835_STR-CED06 sy-vline
WA_PA0835_STR-ACN06 sy-vline
WA_PA0835_STR-COM06 sy-vline
WA_PA0835_STR-SOU06 sy-vline
WA_PA0835_STR-TAR06 sy-vline
WA_PA0835_STR-ORT06 sy-vline
WA_PA0835_STR-STR06 sy-vline
WA_PA0835_STR-TEL06 sy-vline
WA_PA0835_STR-ACR07 sy-vline
WA_PA0835_STR-PLT07 sy-vline
WA_PA0835_STR-PRA07 sy-vline
WA_PA0835_STR-PRD07 sy-vline
WA_PA0835_STR-LIF07 sy-vline
WA_PA0835_STR-GOR07 sy-vline
WA_PA0835_STR-NAC07 sy-vline
WA_PA0835_STR-ICT07 sy-vline
WA_PA0835_STR-CED07 sy-vline
WA_PA0835_STR-ACN07 sy-vline
WA_PA0835_STR-COM07 sy-vline
WA_PA0835_STR-SOU07 sy-vline
WA_PA0835_STR-TAR07 sy-vline
WA_PA0835_STR-ORT07 sy-vline
WA_PA0835_STR-STR07 sy-vline
WA_PA0835_STR-TEL07 sy-vline
WA_PA0835_STR-PPAGO sy-vline
WA_PA0835_STR-FPAGO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.