ABAP Select data from SAP table PA0074 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 PA0074 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 PA0074. 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 PA0074 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_PA0074 TYPE STANDARD TABLE OF PA0074,
      WA_PA0074 TYPE PA0074,
      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: <PA0074> TYPE PA0074.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0074
*  INTO TABLE @DATA(IT_PA00742).
*--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_PA0074 INDEX 1 INTO DATA(WA_PA00742).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0074-ENDDA, sy-vline,
WA_PA0074-BEGDA, sy-vline,
WA_PA0074-SEQNR, sy-vline,
WA_PA0074-AEDTM, sy-vline,
WA_PA0074-UNAME, sy-vline,
WA_PA0074-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0074 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_PA0074 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_PA0074 INTO WA_PA0074. *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 GJAHR, internal->external for field UKBRJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PA0074-UKBRJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0074-UKBRJ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field URLJJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PA0074-URLJJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PA0074-URLJJ.
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_PA0074_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,
FEORD TYPE STRING,
FGPCT TYPE STRING,
FTPCT TYPE STRING,
FPFRE TYPE STRING,
SHORD TYPE STRING,
SHPCT TYPE STRING,
SHBEU TYPE STRING,
SHBEO TYPE STRING,
SHFRE TYPE STRING,
SHNEG TYPE STRING,
OFKOD TYPE STRING,
FZTAG TYPE STRING,
FETAG TYPE STRING,
F6TAG TYPE STRING,
CALJ0 TYPE STRING,
DELJ0 TYPE STRING,
ABMET TYPE STRING,
CALZU TYPE STRING,
CALEX TYPE STRING,
SHCLR TYPE STRING,
SHTCO TYPE STRING,
FKNUM TYPE STRING,
FKSIC TYPE STRING,
FKFRE TYPE STRING,
CALDAT TYPE STRING,
SHIND TYPE STRING,
SHPOR TYPE STRING,
SHDKK TYPE STRING,
SHCUR TYPE STRING,
SHCSA TYPE STRING,
SHOR2 TYPE STRING,
TPROM TYPE STRING,
FERIE TYPE STRING,
UKBRP TYPE STRING,
UKBRJ TYPE STRING,
CALJ1 TYPE STRING,
CALJ2 TYPE STRING,
DELJ1 TYPE STRING,
DELJ2 TYPE STRING,
UTYPE TYPE STRING,
ASME0 TYPE STRING,
ARWT0 TYPE STRING,
CVM1 TYPE STRING,
CVM2 TYPE STRING,
CVM3 TYPE STRING,
VMTXD TYPE STRING,
TXSH TYPE STRING,
TXRT0 TYPE STRING,
BPA0 TYPE STRING,
FRIK0 TYPE STRING,
VM1 TYPE STRING,
VM2 TYPE STRING,
VM3 TYPE STRING,
CVADA TYPE STRING,
SMTDT TYPE STRING,
VADA0 TYPE STRING,
CXVS0 TYPE STRING,
XVS0 TYPE STRING,
CCARE TYPE STRING,
ASME1 TYPE STRING,
ARWT1 TYPE STRING,
TXRT1 TYPE STRING,
BPA1 TYPE STRING,
FRIK1 TYPE STRING,
VACSU TYPE STRING,
VADA1 TYPE STRING,
VARE1 TYPE STRING,
CXVS1 TYPE STRING,
XVS1 TYPE STRING,
FERK1 TYPE STRING,
ASME2 TYPE STRING,
ARWT2 TYPE STRING,
TXRT2 TYPE STRING,
BPA2 TYPE STRING,
FRIK2 TYPE STRING,
VADA2 TYPE STRING,
VARE2 TYPE STRING,
CXVS2 TYPE STRING,
XVS2 TYPE STRING,
FERK2 TYPE STRING,
IGNJ0 TYPE STRING,
IGNJ1 TYPE STRING,
IGNJ2 TYPE STRING,
SVM1 TYPE STRING,
SVM2 TYPE STRING,
SVM3 TYPE STRING,
STAX0 TYPE STRING,
SVD0 TYPE STRING,
SXVS0 TYPE STRING,
SSD TYPE STRING,
STAX1 TYPE STRING,
SVD1 TYPE STRING,
SVS TYPE STRING,
SXVS1 TYPE STRING,
SVR1 TYPE STRING,
SFK1 TYPE STRING,
STAX2 TYPE STRING,
SVD2 TYPE STRING,
SXVS2 TYPE STRING,
SVR2 TYPE STRING,
SFK2 TYPE STRING,
FWV0N TYPE STRING,
FWV0F TYPE STRING,
FWV0K TYPE STRING,
FWV0C TYPE STRING,
FWV0S TYPE STRING,
FWV0A TYPE STRING,
FWV0B TYPE STRING,
FWV1N TYPE STRING,
FWV1F TYPE STRING,
FWV1K TYPE STRING,
FWV1C TYPE STRING,
FWV1S TYPE STRING,
FWV1A TYPE STRING,
FWV1B TYPE STRING,
FWV2N TYPE STRING,
FWV2F TYPE STRING,
FWV2K TYPE STRING,
FWV2C TYPE STRING,
FWV2S TYPE STRING,
FWV2A TYPE STRING,
FWV2B TYPE STRING,
PAYTY TYPE STRING,
PAYID TYPE STRING,
FTUBT TYPE STRING,
NODIF TYPE STRING,
URLJJ TYPE STRING,
OBJP0 TYPE STRING,
UAR00 TYPE STRING,
UAR01 TYPE STRING,
UAN00 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0074_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_PA0074_STR-MANDT sy-vline
WA_PA0074_STR-PERNR sy-vline
WA_PA0074_STR-SUBTY sy-vline
WA_PA0074_STR-OBJPS sy-vline
WA_PA0074_STR-SPRPS sy-vline
WA_PA0074_STR-ENDDA sy-vline
WA_PA0074_STR-BEGDA sy-vline
WA_PA0074_STR-SEQNR sy-vline
WA_PA0074_STR-AEDTM sy-vline
WA_PA0074_STR-UNAME sy-vline
WA_PA0074_STR-HISTO sy-vline
WA_PA0074_STR-ITXEX sy-vline
WA_PA0074_STR-REFEX sy-vline
WA_PA0074_STR-ORDEX sy-vline
WA_PA0074_STR-ITBLD sy-vline
WA_PA0074_STR-PREAS sy-vline
WA_PA0074_STR-FLAG1 sy-vline
WA_PA0074_STR-FLAG2 sy-vline
WA_PA0074_STR-FLAG3 sy-vline
WA_PA0074_STR-FLAG4 sy-vline
WA_PA0074_STR-RESE1 sy-vline
WA_PA0074_STR-RESE2 sy-vline
WA_PA0074_STR-GRPVL sy-vline
WA_PA0074_STR-FEORD sy-vline
WA_PA0074_STR-FGPCT sy-vline
WA_PA0074_STR-FTPCT sy-vline
WA_PA0074_STR-FPFRE sy-vline
WA_PA0074_STR-SHORD sy-vline
WA_PA0074_STR-SHPCT sy-vline
WA_PA0074_STR-SHBEU sy-vline
WA_PA0074_STR-SHBEO sy-vline
WA_PA0074_STR-SHFRE sy-vline
WA_PA0074_STR-SHNEG sy-vline
WA_PA0074_STR-OFKOD sy-vline
WA_PA0074_STR-FZTAG sy-vline
WA_PA0074_STR-FETAG sy-vline
WA_PA0074_STR-F6TAG sy-vline
WA_PA0074_STR-CALJ0 sy-vline
WA_PA0074_STR-DELJ0 sy-vline
WA_PA0074_STR-ABMET sy-vline
WA_PA0074_STR-CALZU sy-vline
WA_PA0074_STR-CALEX sy-vline
WA_PA0074_STR-SHCLR sy-vline
WA_PA0074_STR-SHTCO sy-vline
WA_PA0074_STR-FKNUM sy-vline
WA_PA0074_STR-FKSIC sy-vline
WA_PA0074_STR-FKFRE sy-vline
WA_PA0074_STR-CALDAT sy-vline
WA_PA0074_STR-SHIND sy-vline
WA_PA0074_STR-SHPOR sy-vline
WA_PA0074_STR-SHDKK sy-vline
WA_PA0074_STR-SHCUR sy-vline
WA_PA0074_STR-SHCSA sy-vline
WA_PA0074_STR-SHOR2 sy-vline
WA_PA0074_STR-TPROM sy-vline
WA_PA0074_STR-FERIE sy-vline
WA_PA0074_STR-UKBRP sy-vline
WA_PA0074_STR-UKBRJ sy-vline
WA_PA0074_STR-CALJ1 sy-vline
WA_PA0074_STR-CALJ2 sy-vline
WA_PA0074_STR-DELJ1 sy-vline
WA_PA0074_STR-DELJ2 sy-vline
WA_PA0074_STR-UTYPE sy-vline
WA_PA0074_STR-ASME0 sy-vline
WA_PA0074_STR-ARWT0 sy-vline
WA_PA0074_STR-CVM1 sy-vline
WA_PA0074_STR-CVM2 sy-vline
WA_PA0074_STR-CVM3 sy-vline
WA_PA0074_STR-VMTXD sy-vline
WA_PA0074_STR-TXSH sy-vline
WA_PA0074_STR-TXRT0 sy-vline
WA_PA0074_STR-BPA0 sy-vline
WA_PA0074_STR-FRIK0 sy-vline
WA_PA0074_STR-VM1 sy-vline
WA_PA0074_STR-VM2 sy-vline
WA_PA0074_STR-VM3 sy-vline
WA_PA0074_STR-CVADA sy-vline
WA_PA0074_STR-SMTDT sy-vline
WA_PA0074_STR-VADA0 sy-vline
WA_PA0074_STR-CXVS0 sy-vline
WA_PA0074_STR-XVS0 sy-vline
WA_PA0074_STR-CCARE sy-vline
WA_PA0074_STR-ASME1 sy-vline
WA_PA0074_STR-ARWT1 sy-vline
WA_PA0074_STR-TXRT1 sy-vline
WA_PA0074_STR-BPA1 sy-vline
WA_PA0074_STR-FRIK1 sy-vline
WA_PA0074_STR-VACSU sy-vline
WA_PA0074_STR-VADA1 sy-vline
WA_PA0074_STR-VARE1 sy-vline
WA_PA0074_STR-CXVS1 sy-vline
WA_PA0074_STR-XVS1 sy-vline
WA_PA0074_STR-FERK1 sy-vline
WA_PA0074_STR-ASME2 sy-vline
WA_PA0074_STR-ARWT2 sy-vline
WA_PA0074_STR-TXRT2 sy-vline
WA_PA0074_STR-BPA2 sy-vline
WA_PA0074_STR-FRIK2 sy-vline
WA_PA0074_STR-VADA2 sy-vline
WA_PA0074_STR-VARE2 sy-vline
WA_PA0074_STR-CXVS2 sy-vline
WA_PA0074_STR-XVS2 sy-vline
WA_PA0074_STR-FERK2 sy-vline
WA_PA0074_STR-IGNJ0 sy-vline
WA_PA0074_STR-IGNJ1 sy-vline
WA_PA0074_STR-IGNJ2 sy-vline
WA_PA0074_STR-SVM1 sy-vline
WA_PA0074_STR-SVM2 sy-vline
WA_PA0074_STR-SVM3 sy-vline
WA_PA0074_STR-STAX0 sy-vline
WA_PA0074_STR-SVD0 sy-vline
WA_PA0074_STR-SXVS0 sy-vline
WA_PA0074_STR-SSD sy-vline
WA_PA0074_STR-STAX1 sy-vline
WA_PA0074_STR-SVD1 sy-vline
WA_PA0074_STR-SVS sy-vline
WA_PA0074_STR-SXVS1 sy-vline
WA_PA0074_STR-SVR1 sy-vline
WA_PA0074_STR-SFK1 sy-vline
WA_PA0074_STR-STAX2 sy-vline
WA_PA0074_STR-SVD2 sy-vline
WA_PA0074_STR-SXVS2 sy-vline
WA_PA0074_STR-SVR2 sy-vline
WA_PA0074_STR-SFK2 sy-vline
WA_PA0074_STR-FWV0N sy-vline
WA_PA0074_STR-FWV0F sy-vline
WA_PA0074_STR-FWV0K sy-vline
WA_PA0074_STR-FWV0C sy-vline
WA_PA0074_STR-FWV0S sy-vline
WA_PA0074_STR-FWV0A sy-vline
WA_PA0074_STR-FWV0B sy-vline
WA_PA0074_STR-FWV1N sy-vline
WA_PA0074_STR-FWV1F sy-vline
WA_PA0074_STR-FWV1K sy-vline
WA_PA0074_STR-FWV1C sy-vline
WA_PA0074_STR-FWV1S sy-vline
WA_PA0074_STR-FWV1A sy-vline
WA_PA0074_STR-FWV1B sy-vline
WA_PA0074_STR-FWV2N sy-vline
WA_PA0074_STR-FWV2F sy-vline
WA_PA0074_STR-FWV2K sy-vline
WA_PA0074_STR-FWV2C sy-vline
WA_PA0074_STR-FWV2S sy-vline
WA_PA0074_STR-FWV2A sy-vline
WA_PA0074_STR-FWV2B sy-vline
WA_PA0074_STR-PAYTY sy-vline
WA_PA0074_STR-PAYID sy-vline
WA_PA0074_STR-FTUBT sy-vline
WA_PA0074_STR-NODIF sy-vline
WA_PA0074_STR-URLJJ sy-vline
WA_PA0074_STR-OBJP0 sy-vline
WA_PA0074_STR-UAR00 sy-vline
WA_PA0074_STR-UAR01 sy-vline
WA_PA0074_STR-UAN00 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.