ABAP Select data from SAP table PA0542 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 PA0542 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 PA0542. 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 PA0542 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_PA0542 TYPE STANDARD TABLE OF PA0542,
      WA_PA0542 TYPE PA0542,
      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: <PA0542> TYPE PA0542.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0542
*  INTO TABLE @DATA(IT_PA05422).
*--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_PA0542 INDEX 1 INTO DATA(WA_PA05422).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0542-ENDDA, sy-vline,
WA_PA0542-BEGDA, sy-vline,
WA_PA0542-SEQNR, sy-vline,
WA_PA0542-AEDTM, sy-vline,
WA_PA0542-UNAME, sy-vline,
WA_PA0542-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0542 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_PA0542 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_PA0542 INTO WA_PA0542. *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_PA0542_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,
COM01 TYPE STRING,
BUS01 TYPE STRING,
SAL01 TYPE STRING,
BON01 TYPE STRING,
INT01 TYPE STRING,
RET01 TYPE STRING,
OUT01 TYPE STRING,
OVR01 TYPE STRING,
OTH01 TYPE STRING,
MED01 TYPE STRING,
NPM01 TYPE STRING,
EIM01 TYPE STRING,
FLD01 TYPE STRING,
FRI01 TYPE STRING,
FRE01 TYPE STRING,
COM02 TYPE STRING,
BUS02 TYPE STRING,
SAL02 TYPE STRING,
BON02 TYPE STRING,
INT02 TYPE STRING,
RET02 TYPE STRING,
OUT02 TYPE STRING,
OVR02 TYPE STRING,
OTH02 TYPE STRING,
MED02 TYPE STRING,
NPM02 TYPE STRING,
EIM02 TYPE STRING,
FLD02 TYPE STRING,
FRI02 TYPE STRING,
FRE02 TYPE STRING,
COM03 TYPE STRING,
BUS03 TYPE STRING,
SAL03 TYPE STRING,
BON03 TYPE STRING,
INT03 TYPE STRING,
RET03 TYPE STRING,
OUT03 TYPE STRING,
OVR03 TYPE STRING,
OTH03 TYPE STRING,
MED03 TYPE STRING,
NPM03 TYPE STRING,
EIM03 TYPE STRING,
FLD03 TYPE STRING,
FRI03 TYPE STRING,
FRE03 TYPE STRING,
COM04 TYPE STRING,
BUS04 TYPE STRING,
SAL04 TYPE STRING,
BON04 TYPE STRING,
INT04 TYPE STRING,
RET04 TYPE STRING,
OUT04 TYPE STRING,
OVR04 TYPE STRING,
OTH04 TYPE STRING,
MED04 TYPE STRING,
NPM04 TYPE STRING,
EIM04 TYPE STRING,
FLD04 TYPE STRING,
FRI04 TYPE STRING,
FRE04 TYPE STRING,
COM05 TYPE STRING,
BUS05 TYPE STRING,
SAL05 TYPE STRING,
BON05 TYPE STRING,
INT05 TYPE STRING,
RET05 TYPE STRING,
OUT05 TYPE STRING,
OVR05 TYPE STRING,
OTH05 TYPE STRING,
MED05 TYPE STRING,
NPM05 TYPE STRING,
EIM05 TYPE STRING,
FLD05 TYPE STRING,
FRI05 TYPE STRING,
FRE05 TYPE STRING,
FOTIS TYPE STRING,
SUBIS TYPE STRING,
FMDOH TYPE STRING,
FMDED TYPE STRING,
SUBME TYPE STRING,
FCEEE TYPE STRING,
FCECU TYPE STRING,
SUBCE TYPE STRING,
FLGDO TYPE STRING,
FDSDO TYPE STRING,
FPRDO TYPE STRING,
SUBRD TYPE STRING,
SAVNM TYPE STRING,
SAVAM TYPE STRING,
ACQDT TYPE STRING,
REPAY TYPE STRING,
APPDT TYPE STRING,
CRDCD TYPE STRING,
ABPLA TYPE STRING,
ABJOB TYPE STRING,
ABDUR TYPE STRING,
ABPAY TYPE STRING,
TAXCT TYPE STRING,
KORCR TYPE STRING,
GETDT TYPE STRING,
PUTDT TYPE STRING,
FTCHI TYPE STRING,
FTCES TYPE STRING,
FPERP TYPE STRING,
FPERN TYPE STRING,
FINVT TYPE STRING,
FINVS TYPE STRING,
PSISA TYPE STRING,
ABN01 TYPE STRING,
SPT01 TYPE STRING,
ABN02 TYPE STRING,
SPT02 TYPE STRING,
ABN03 TYPE STRING,
SPT03 TYPE STRING,
ABN04 TYPE STRING,
SPT04 TYPE STRING,
ABN05 TYPE STRING,
SPT05 TYPE STRING,
FTCLS TYPE STRING,
FOHIS TYPE STRING,
FHADI TYPE STRING,
FTCLP TYPE STRING,
COMST TYPE STRING,
SPCDO TYPE STRING,
FCEWF TYPE STRING,
FCEHD TYPE STRING,
DRTCD TYPE STRING,
HSINS TYPE STRING,
HSSAV TYPE STRING,
EEHSS TYPE STRING,
LHSSV TYPE STRING,
DON30 TYPE STRING,
POLDN TYPE STRING,
CONMA TYPE STRING,
CONRE TYPE STRING,
CONFU TYPE STRING,
CRDDP TYPE STRING,
GIROE TYPE STRING,
CASHE TYPE STRING,
FORCT TYPE STRING,
FORCK TYPE STRING,
INTTL TYPE STRING,
DUPEX TYPE STRING,
RETPE TYPE STRING,
TINVS TYPE STRING,
PINVS TYPE STRING,
OTHPI TYPE STRING,
ONP01 TYPE STRING,
ONP02 TYPE STRING,
ONP03 TYPE STRING,
ONP04 TYPE STRING,
ONP05 TYPE STRING,
RSN01 TYPE STRING,
RSN02 TYPE STRING,
RSN03 TYPE STRING,
RSN04 TYPE STRING,
RSN05 TYPE STRING,
STK01 TYPE STRING,
STK02 TYPE STRING,
STK03 TYPE STRING,
STK04 TYPE STRING,
STK05 TYPE STRING,
FOR01 TYPE STRING,
CLD01 TYPE STRING,
FOR02 TYPE STRING,
CLD02 TYPE STRING,
FOR03 TYPE STRING,
CLD03 TYPE STRING,
FOR04 TYPE STRING,
CLD04 TYPE STRING,
FOR05 TYPE STRING,
CLD05 TYPE STRING,
REP01 TYPE STRING,
REP02 TYPE STRING,
REP03 TYPE STRING,
REP04 TYPE STRING,
REP05 TYPE STRING,
TPA01 TYPE STRING,
TPA02 TYPE STRING,
TPA03 TYPE STRING,
TPA04 TYPE STRING,
TPA05 TYPE STRING,
DESDO TYPE STRING,
RELDO TYPE STRING,
SMBFI TYPE STRING,
LTSF1 TYPE STRING,
LTSF2 TYPE STRING,
LTSF3 TYPE STRING,
NINVS TYPE STRING,
INDIF TYPE STRING,
INSLN TYPE STRING,
SFENP TYPE STRING,
SFEHI TYPE STRING,
MRNTD TYPE STRING,
INDPL TYPE STRING,
PDCID TYPE STRING,
HSHLD TYPE STRING,
VINVS TYPE STRING,
INTFN TYPE STRING,
INTOT TYPE STRING,
INVST TYPE STRING,
IRLWL TYPE STRING,
EXTAX TYPE STRING,
IYCIT TYPE STRING,
EINTS TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0542_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_PA0542_STR-MANDT sy-vline
WA_PA0542_STR-PERNR sy-vline
WA_PA0542_STR-SUBTY sy-vline
WA_PA0542_STR-OBJPS sy-vline
WA_PA0542_STR-SPRPS sy-vline
WA_PA0542_STR-ENDDA sy-vline
WA_PA0542_STR-BEGDA sy-vline
WA_PA0542_STR-SEQNR sy-vline
WA_PA0542_STR-AEDTM sy-vline
WA_PA0542_STR-UNAME sy-vline
WA_PA0542_STR-HISTO sy-vline
WA_PA0542_STR-ITXEX sy-vline
WA_PA0542_STR-REFEX sy-vline
WA_PA0542_STR-ORDEX sy-vline
WA_PA0542_STR-ITBLD sy-vline
WA_PA0542_STR-PREAS sy-vline
WA_PA0542_STR-FLAG1 sy-vline
WA_PA0542_STR-FLAG2 sy-vline
WA_PA0542_STR-FLAG3 sy-vline
WA_PA0542_STR-FLAG4 sy-vline
WA_PA0542_STR-RESE1 sy-vline
WA_PA0542_STR-RESE2 sy-vline
WA_PA0542_STR-GRPVL sy-vline
WA_PA0542_STR-COM01 sy-vline
WA_PA0542_STR-BUS01 sy-vline
WA_PA0542_STR-SAL01 sy-vline
WA_PA0542_STR-BON01 sy-vline
WA_PA0542_STR-INT01 sy-vline
WA_PA0542_STR-RET01 sy-vline
WA_PA0542_STR-OUT01 sy-vline
WA_PA0542_STR-OVR01 sy-vline
WA_PA0542_STR-OTH01 sy-vline
WA_PA0542_STR-MED01 sy-vline
WA_PA0542_STR-NPM01 sy-vline
WA_PA0542_STR-EIM01 sy-vline
WA_PA0542_STR-FLD01 sy-vline
WA_PA0542_STR-FRI01 sy-vline
WA_PA0542_STR-FRE01 sy-vline
WA_PA0542_STR-COM02 sy-vline
WA_PA0542_STR-BUS02 sy-vline
WA_PA0542_STR-SAL02 sy-vline
WA_PA0542_STR-BON02 sy-vline
WA_PA0542_STR-INT02 sy-vline
WA_PA0542_STR-RET02 sy-vline
WA_PA0542_STR-OUT02 sy-vline
WA_PA0542_STR-OVR02 sy-vline
WA_PA0542_STR-OTH02 sy-vline
WA_PA0542_STR-MED02 sy-vline
WA_PA0542_STR-NPM02 sy-vline
WA_PA0542_STR-EIM02 sy-vline
WA_PA0542_STR-FLD02 sy-vline
WA_PA0542_STR-FRI02 sy-vline
WA_PA0542_STR-FRE02 sy-vline
WA_PA0542_STR-COM03 sy-vline
WA_PA0542_STR-BUS03 sy-vline
WA_PA0542_STR-SAL03 sy-vline
WA_PA0542_STR-BON03 sy-vline
WA_PA0542_STR-INT03 sy-vline
WA_PA0542_STR-RET03 sy-vline
WA_PA0542_STR-OUT03 sy-vline
WA_PA0542_STR-OVR03 sy-vline
WA_PA0542_STR-OTH03 sy-vline
WA_PA0542_STR-MED03 sy-vline
WA_PA0542_STR-NPM03 sy-vline
WA_PA0542_STR-EIM03 sy-vline
WA_PA0542_STR-FLD03 sy-vline
WA_PA0542_STR-FRI03 sy-vline
WA_PA0542_STR-FRE03 sy-vline
WA_PA0542_STR-COM04 sy-vline
WA_PA0542_STR-BUS04 sy-vline
WA_PA0542_STR-SAL04 sy-vline
WA_PA0542_STR-BON04 sy-vline
WA_PA0542_STR-INT04 sy-vline
WA_PA0542_STR-RET04 sy-vline
WA_PA0542_STR-OUT04 sy-vline
WA_PA0542_STR-OVR04 sy-vline
WA_PA0542_STR-OTH04 sy-vline
WA_PA0542_STR-MED04 sy-vline
WA_PA0542_STR-NPM04 sy-vline
WA_PA0542_STR-EIM04 sy-vline
WA_PA0542_STR-FLD04 sy-vline
WA_PA0542_STR-FRI04 sy-vline
WA_PA0542_STR-FRE04 sy-vline
WA_PA0542_STR-COM05 sy-vline
WA_PA0542_STR-BUS05 sy-vline
WA_PA0542_STR-SAL05 sy-vline
WA_PA0542_STR-BON05 sy-vline
WA_PA0542_STR-INT05 sy-vline
WA_PA0542_STR-RET05 sy-vline
WA_PA0542_STR-OUT05 sy-vline
WA_PA0542_STR-OVR05 sy-vline
WA_PA0542_STR-OTH05 sy-vline
WA_PA0542_STR-MED05 sy-vline
WA_PA0542_STR-NPM05 sy-vline
WA_PA0542_STR-EIM05 sy-vline
WA_PA0542_STR-FLD05 sy-vline
WA_PA0542_STR-FRI05 sy-vline
WA_PA0542_STR-FRE05 sy-vline
WA_PA0542_STR-FOTIS sy-vline
WA_PA0542_STR-SUBIS sy-vline
WA_PA0542_STR-FMDOH sy-vline
WA_PA0542_STR-FMDED sy-vline
WA_PA0542_STR-SUBME sy-vline
WA_PA0542_STR-FCEEE sy-vline
WA_PA0542_STR-FCECU sy-vline
WA_PA0542_STR-SUBCE sy-vline
WA_PA0542_STR-FLGDO sy-vline
WA_PA0542_STR-FDSDO sy-vline
WA_PA0542_STR-FPRDO sy-vline
WA_PA0542_STR-SUBRD sy-vline
WA_PA0542_STR-SAVNM sy-vline
WA_PA0542_STR-SAVAM sy-vline
WA_PA0542_STR-ACQDT sy-vline
WA_PA0542_STR-REPAY sy-vline
WA_PA0542_STR-APPDT sy-vline
WA_PA0542_STR-CRDCD sy-vline
WA_PA0542_STR-ABPLA sy-vline
WA_PA0542_STR-ABJOB sy-vline
WA_PA0542_STR-ABDUR sy-vline
WA_PA0542_STR-ABPAY sy-vline
WA_PA0542_STR-TAXCT sy-vline
WA_PA0542_STR-KORCR sy-vline
WA_PA0542_STR-GETDT sy-vline
WA_PA0542_STR-PUTDT sy-vline
WA_PA0542_STR-FTCHI sy-vline
WA_PA0542_STR-FTCES sy-vline
WA_PA0542_STR-FPERP sy-vline
WA_PA0542_STR-FPERN sy-vline
WA_PA0542_STR-FINVT sy-vline
WA_PA0542_STR-FINVS sy-vline
WA_PA0542_STR-PSISA sy-vline
WA_PA0542_STR-ABN01 sy-vline
WA_PA0542_STR-SPT01 sy-vline
WA_PA0542_STR-ABN02 sy-vline
WA_PA0542_STR-SPT02 sy-vline
WA_PA0542_STR-ABN03 sy-vline
WA_PA0542_STR-SPT03 sy-vline
WA_PA0542_STR-ABN04 sy-vline
WA_PA0542_STR-SPT04 sy-vline
WA_PA0542_STR-ABN05 sy-vline
WA_PA0542_STR-SPT05 sy-vline
WA_PA0542_STR-FTCLS sy-vline
WA_PA0542_STR-FOHIS sy-vline
WA_PA0542_STR-FHADI sy-vline
WA_PA0542_STR-FTCLP sy-vline
WA_PA0542_STR-COMST sy-vline
WA_PA0542_STR-SPCDO sy-vline
WA_PA0542_STR-FCEWF sy-vline
WA_PA0542_STR-FCEHD sy-vline
WA_PA0542_STR-DRTCD sy-vline
WA_PA0542_STR-HSINS sy-vline
WA_PA0542_STR-HSSAV sy-vline
WA_PA0542_STR-EEHSS sy-vline
WA_PA0542_STR-LHSSV sy-vline
WA_PA0542_STR-DON30 sy-vline
WA_PA0542_STR-POLDN sy-vline
WA_PA0542_STR-CONMA sy-vline
WA_PA0542_STR-CONRE sy-vline
WA_PA0542_STR-CONFU sy-vline
WA_PA0542_STR-CRDDP sy-vline
WA_PA0542_STR-GIROE sy-vline
WA_PA0542_STR-CASHE sy-vline
WA_PA0542_STR-FORCT sy-vline
WA_PA0542_STR-FORCK sy-vline
WA_PA0542_STR-INTTL sy-vline
WA_PA0542_STR-DUPEX sy-vline
WA_PA0542_STR-RETPE sy-vline
WA_PA0542_STR-TINVS sy-vline
WA_PA0542_STR-PINVS sy-vline
WA_PA0542_STR-OTHPI sy-vline
WA_PA0542_STR-ONP01 sy-vline
WA_PA0542_STR-ONP02 sy-vline
WA_PA0542_STR-ONP03 sy-vline
WA_PA0542_STR-ONP04 sy-vline
WA_PA0542_STR-ONP05 sy-vline
WA_PA0542_STR-RSN01 sy-vline
WA_PA0542_STR-RSN02 sy-vline
WA_PA0542_STR-RSN03 sy-vline
WA_PA0542_STR-RSN04 sy-vline
WA_PA0542_STR-RSN05 sy-vline
WA_PA0542_STR-STK01 sy-vline
WA_PA0542_STR-STK02 sy-vline
WA_PA0542_STR-STK03 sy-vline
WA_PA0542_STR-STK04 sy-vline
WA_PA0542_STR-STK05 sy-vline
WA_PA0542_STR-FOR01 sy-vline
WA_PA0542_STR-CLD01 sy-vline
WA_PA0542_STR-FOR02 sy-vline
WA_PA0542_STR-CLD02 sy-vline
WA_PA0542_STR-FOR03 sy-vline
WA_PA0542_STR-CLD03 sy-vline
WA_PA0542_STR-FOR04 sy-vline
WA_PA0542_STR-CLD04 sy-vline
WA_PA0542_STR-FOR05 sy-vline
WA_PA0542_STR-CLD05 sy-vline
WA_PA0542_STR-REP01 sy-vline
WA_PA0542_STR-REP02 sy-vline
WA_PA0542_STR-REP03 sy-vline
WA_PA0542_STR-REP04 sy-vline
WA_PA0542_STR-REP05 sy-vline
WA_PA0542_STR-TPA01 sy-vline
WA_PA0542_STR-TPA02 sy-vline
WA_PA0542_STR-TPA03 sy-vline
WA_PA0542_STR-TPA04 sy-vline
WA_PA0542_STR-TPA05 sy-vline
WA_PA0542_STR-DESDO sy-vline
WA_PA0542_STR-RELDO sy-vline
WA_PA0542_STR-SMBFI sy-vline
WA_PA0542_STR-LTSF1 sy-vline
WA_PA0542_STR-LTSF2 sy-vline
WA_PA0542_STR-LTSF3 sy-vline
WA_PA0542_STR-NINVS sy-vline
WA_PA0542_STR-INDIF sy-vline
WA_PA0542_STR-INSLN sy-vline
WA_PA0542_STR-SFENP sy-vline
WA_PA0542_STR-SFEHI sy-vline
WA_PA0542_STR-MRNTD sy-vline
WA_PA0542_STR-INDPL sy-vline
WA_PA0542_STR-PDCID sy-vline
WA_PA0542_STR-HSHLD sy-vline
WA_PA0542_STR-VINVS sy-vline
WA_PA0542_STR-INTFN sy-vline
WA_PA0542_STR-INTOT sy-vline
WA_PA0542_STR-INVST sy-vline
WA_PA0542_STR-IRLWL sy-vline
WA_PA0542_STR-EXTAX sy-vline
WA_PA0542_STR-IYCIT sy-vline
WA_PA0542_STR-EINTS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.