ABAP Select data from SAP table PA0441 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 PA0441 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 PA0441. 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 PA0441 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_PA0441 TYPE STANDARD TABLE OF PA0441,
      WA_PA0441 TYPE PA0441,
      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: <PA0441> TYPE PA0441.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA0441
*  INTO TABLE @DATA(IT_PA04412).
*--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_PA0441 INDEX 1 INTO DATA(WA_PA04412).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA0441-ENDDA, sy-vline,
WA_PA0441-BEGDA, sy-vline,
WA_PA0441-SEQNR, sy-vline,
WA_PA0441-AEDTM, sy-vline,
WA_PA0441-UNAME, sy-vline,
WA_PA0441-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA0441 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_PA0441 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_PA0441 INTO WA_PA0441. *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_PA0441_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,
TIPUS TYPE STRING,
ERVNY TYPE STRING,
WAERS TYPE STRING,
ZEINH TYPE STRING,
LGT01 TYPE STRING,
NUM01 TYPE STRING,
AMT01 TYPE STRING,
BEG01 TYPE STRING,
END01 TYPE STRING,
FL101 TYPE STRING,
FL201 TYPE STRING,
FL301 TYPE STRING,
FL401 TYPE STRING,
FL501 TYPE STRING,
LGT02 TYPE STRING,
NUM02 TYPE STRING,
AMT02 TYPE STRING,
BEG02 TYPE STRING,
END02 TYPE STRING,
FL102 TYPE STRING,
FL202 TYPE STRING,
FL302 TYPE STRING,
FL402 TYPE STRING,
FL502 TYPE STRING,
LGT03 TYPE STRING,
NUM03 TYPE STRING,
AMT03 TYPE STRING,
BEG03 TYPE STRING,
END03 TYPE STRING,
FL103 TYPE STRING,
FL203 TYPE STRING,
FL303 TYPE STRING,
FL403 TYPE STRING,
FL503 TYPE STRING,
LGT04 TYPE STRING,
NUM04 TYPE STRING,
AMT04 TYPE STRING,
BEG04 TYPE STRING,
END04 TYPE STRING,
FL104 TYPE STRING,
FL204 TYPE STRING,
FL304 TYPE STRING,
FL404 TYPE STRING,
FL504 TYPE STRING,
LGT05 TYPE STRING,
NUM05 TYPE STRING,
AMT05 TYPE STRING,
BEG05 TYPE STRING,
END05 TYPE STRING,
FL105 TYPE STRING,
FL205 TYPE STRING,
FL305 TYPE STRING,
FL405 TYPE STRING,
FL505 TYPE STRING,
LGT06 TYPE STRING,
NUM06 TYPE STRING,
AMT06 TYPE STRING,
BEG06 TYPE STRING,
END06 TYPE STRING,
FL106 TYPE STRING,
FL206 TYPE STRING,
FL306 TYPE STRING,
FL406 TYPE STRING,
FL506 TYPE STRING,
LGT07 TYPE STRING,
NUM07 TYPE STRING,
AMT07 TYPE STRING,
BEG07 TYPE STRING,
END07 TYPE STRING,
FL107 TYPE STRING,
FL207 TYPE STRING,
FL307 TYPE STRING,
FL407 TYPE STRING,
FL507 TYPE STRING,
LGT08 TYPE STRING,
NUM08 TYPE STRING,
AMT08 TYPE STRING,
BEG08 TYPE STRING,
END08 TYPE STRING,
FL108 TYPE STRING,
FL208 TYPE STRING,
FL308 TYPE STRING,
FL408 TYPE STRING,
FL508 TYPE STRING,
LGT09 TYPE STRING,
NUM09 TYPE STRING,
AMT09 TYPE STRING,
BEG09 TYPE STRING,
END09 TYPE STRING,
FL109 TYPE STRING,
FL209 TYPE STRING,
FL309 TYPE STRING,
FL409 TYPE STRING,
FL509 TYPE STRING,
LGT10 TYPE STRING,
NUM10 TYPE STRING,
AMT10 TYPE STRING,
BEG10 TYPE STRING,
END10 TYPE STRING,
FL110 TYPE STRING,
FL210 TYPE STRING,
FL310 TYPE STRING,
FL410 TYPE STRING,
FL510 TYPE STRING,
LGT11 TYPE STRING,
NUM11 TYPE STRING,
AMT11 TYPE STRING,
BEG11 TYPE STRING,
END11 TYPE STRING,
FL111 TYPE STRING,
FL211 TYPE STRING,
FL311 TYPE STRING,
FL411 TYPE STRING,
FL511 TYPE STRING,
LGT12 TYPE STRING,
NUM12 TYPE STRING,
AMT12 TYPE STRING,
BEG12 TYPE STRING,
END12 TYPE STRING,
FL112 TYPE STRING,
FL212 TYPE STRING,
FL312 TYPE STRING,
FL412 TYPE STRING,
FL512 TYPE STRING,
LGT13 TYPE STRING,
NUM13 TYPE STRING,
AMT13 TYPE STRING,
BEG13 TYPE STRING,
END13 TYPE STRING,
FL113 TYPE STRING,
FL213 TYPE STRING,
FL313 TYPE STRING,
FL413 TYPE STRING,
FL513 TYPE STRING,
LGT14 TYPE STRING,
NUM14 TYPE STRING,
AMT14 TYPE STRING,
BEG14 TYPE STRING,
END14 TYPE STRING,
FL114 TYPE STRING,
FL214 TYPE STRING,
FL314 TYPE STRING,
FL414 TYPE STRING,
FL514 TYPE STRING,
LGT15 TYPE STRING,
NUM15 TYPE STRING,
AMT15 TYPE STRING,
BEG15 TYPE STRING,
END15 TYPE STRING,
FL115 TYPE STRING,
FL215 TYPE STRING,
FL315 TYPE STRING,
FL415 TYPE STRING,
FL515 TYPE STRING,
STR01 TYPE STRING,
STR02 TYPE STRING,
STR03 TYPE STRING,
STR04 TYPE STRING,
STR05 TYPE STRING,
STR06 TYPE STRING,
STR07 TYPE STRING,
STR08 TYPE STRING,
STR09 TYPE STRING,
STR10 TYPE STRING,
STR11 TYPE STRING,
STR12 TYPE STRING,
STR13 TYPE STRING,
STR14 TYPE STRING,
STR15 TYPE STRING,
TVK01 TYPE STRING,
TVK02 TYPE STRING,
TVK03 TYPE STRING,
TVK04 TYPE STRING,
TVK05 TYPE STRING,
TVK06 TYPE STRING,
TVK07 TYPE STRING,
TVK08 TYPE STRING,
TVK09 TYPE STRING,
TVK10 TYPE STRING,
TVK11 TYPE STRING,
TVK12 TYPE STRING,
TVK13 TYPE STRING,
TVK14 TYPE STRING,
TVK15 TYPE STRING,
HATAR TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA0441_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_PA0441_STR-MANDT sy-vline
WA_PA0441_STR-PERNR sy-vline
WA_PA0441_STR-SUBTY sy-vline
WA_PA0441_STR-OBJPS sy-vline
WA_PA0441_STR-SPRPS sy-vline
WA_PA0441_STR-ENDDA sy-vline
WA_PA0441_STR-BEGDA sy-vline
WA_PA0441_STR-SEQNR sy-vline
WA_PA0441_STR-AEDTM sy-vline
WA_PA0441_STR-UNAME sy-vline
WA_PA0441_STR-HISTO sy-vline
WA_PA0441_STR-ITXEX sy-vline
WA_PA0441_STR-REFEX sy-vline
WA_PA0441_STR-ORDEX sy-vline
WA_PA0441_STR-ITBLD sy-vline
WA_PA0441_STR-PREAS sy-vline
WA_PA0441_STR-FLAG1 sy-vline
WA_PA0441_STR-FLAG2 sy-vline
WA_PA0441_STR-FLAG3 sy-vline
WA_PA0441_STR-FLAG4 sy-vline
WA_PA0441_STR-RESE1 sy-vline
WA_PA0441_STR-RESE2 sy-vline
WA_PA0441_STR-GRPVL sy-vline
WA_PA0441_STR-TIPUS sy-vline
WA_PA0441_STR-ERVNY sy-vline
WA_PA0441_STR-WAERS sy-vline
WA_PA0441_STR-ZEINH sy-vline
WA_PA0441_STR-LGT01 sy-vline
WA_PA0441_STR-NUM01 sy-vline
WA_PA0441_STR-AMT01 sy-vline
WA_PA0441_STR-BEG01 sy-vline
WA_PA0441_STR-END01 sy-vline
WA_PA0441_STR-FL101 sy-vline
WA_PA0441_STR-FL201 sy-vline
WA_PA0441_STR-FL301 sy-vline
WA_PA0441_STR-FL401 sy-vline
WA_PA0441_STR-FL501 sy-vline
WA_PA0441_STR-LGT02 sy-vline
WA_PA0441_STR-NUM02 sy-vline
WA_PA0441_STR-AMT02 sy-vline
WA_PA0441_STR-BEG02 sy-vline
WA_PA0441_STR-END02 sy-vline
WA_PA0441_STR-FL102 sy-vline
WA_PA0441_STR-FL202 sy-vline
WA_PA0441_STR-FL302 sy-vline
WA_PA0441_STR-FL402 sy-vline
WA_PA0441_STR-FL502 sy-vline
WA_PA0441_STR-LGT03 sy-vline
WA_PA0441_STR-NUM03 sy-vline
WA_PA0441_STR-AMT03 sy-vline
WA_PA0441_STR-BEG03 sy-vline
WA_PA0441_STR-END03 sy-vline
WA_PA0441_STR-FL103 sy-vline
WA_PA0441_STR-FL203 sy-vline
WA_PA0441_STR-FL303 sy-vline
WA_PA0441_STR-FL403 sy-vline
WA_PA0441_STR-FL503 sy-vline
WA_PA0441_STR-LGT04 sy-vline
WA_PA0441_STR-NUM04 sy-vline
WA_PA0441_STR-AMT04 sy-vline
WA_PA0441_STR-BEG04 sy-vline
WA_PA0441_STR-END04 sy-vline
WA_PA0441_STR-FL104 sy-vline
WA_PA0441_STR-FL204 sy-vline
WA_PA0441_STR-FL304 sy-vline
WA_PA0441_STR-FL404 sy-vline
WA_PA0441_STR-FL504 sy-vline
WA_PA0441_STR-LGT05 sy-vline
WA_PA0441_STR-NUM05 sy-vline
WA_PA0441_STR-AMT05 sy-vline
WA_PA0441_STR-BEG05 sy-vline
WA_PA0441_STR-END05 sy-vline
WA_PA0441_STR-FL105 sy-vline
WA_PA0441_STR-FL205 sy-vline
WA_PA0441_STR-FL305 sy-vline
WA_PA0441_STR-FL405 sy-vline
WA_PA0441_STR-FL505 sy-vline
WA_PA0441_STR-LGT06 sy-vline
WA_PA0441_STR-NUM06 sy-vline
WA_PA0441_STR-AMT06 sy-vline
WA_PA0441_STR-BEG06 sy-vline
WA_PA0441_STR-END06 sy-vline
WA_PA0441_STR-FL106 sy-vline
WA_PA0441_STR-FL206 sy-vline
WA_PA0441_STR-FL306 sy-vline
WA_PA0441_STR-FL406 sy-vline
WA_PA0441_STR-FL506 sy-vline
WA_PA0441_STR-LGT07 sy-vline
WA_PA0441_STR-NUM07 sy-vline
WA_PA0441_STR-AMT07 sy-vline
WA_PA0441_STR-BEG07 sy-vline
WA_PA0441_STR-END07 sy-vline
WA_PA0441_STR-FL107 sy-vline
WA_PA0441_STR-FL207 sy-vline
WA_PA0441_STR-FL307 sy-vline
WA_PA0441_STR-FL407 sy-vline
WA_PA0441_STR-FL507 sy-vline
WA_PA0441_STR-LGT08 sy-vline
WA_PA0441_STR-NUM08 sy-vline
WA_PA0441_STR-AMT08 sy-vline
WA_PA0441_STR-BEG08 sy-vline
WA_PA0441_STR-END08 sy-vline
WA_PA0441_STR-FL108 sy-vline
WA_PA0441_STR-FL208 sy-vline
WA_PA0441_STR-FL308 sy-vline
WA_PA0441_STR-FL408 sy-vline
WA_PA0441_STR-FL508 sy-vline
WA_PA0441_STR-LGT09 sy-vline
WA_PA0441_STR-NUM09 sy-vline
WA_PA0441_STR-AMT09 sy-vline
WA_PA0441_STR-BEG09 sy-vline
WA_PA0441_STR-END09 sy-vline
WA_PA0441_STR-FL109 sy-vline
WA_PA0441_STR-FL209 sy-vline
WA_PA0441_STR-FL309 sy-vline
WA_PA0441_STR-FL409 sy-vline
WA_PA0441_STR-FL509 sy-vline
WA_PA0441_STR-LGT10 sy-vline
WA_PA0441_STR-NUM10 sy-vline
WA_PA0441_STR-AMT10 sy-vline
WA_PA0441_STR-BEG10 sy-vline
WA_PA0441_STR-END10 sy-vline
WA_PA0441_STR-FL110 sy-vline
WA_PA0441_STR-FL210 sy-vline
WA_PA0441_STR-FL310 sy-vline
WA_PA0441_STR-FL410 sy-vline
WA_PA0441_STR-FL510 sy-vline
WA_PA0441_STR-LGT11 sy-vline
WA_PA0441_STR-NUM11 sy-vline
WA_PA0441_STR-AMT11 sy-vline
WA_PA0441_STR-BEG11 sy-vline
WA_PA0441_STR-END11 sy-vline
WA_PA0441_STR-FL111 sy-vline
WA_PA0441_STR-FL211 sy-vline
WA_PA0441_STR-FL311 sy-vline
WA_PA0441_STR-FL411 sy-vline
WA_PA0441_STR-FL511 sy-vline
WA_PA0441_STR-LGT12 sy-vline
WA_PA0441_STR-NUM12 sy-vline
WA_PA0441_STR-AMT12 sy-vline
WA_PA0441_STR-BEG12 sy-vline
WA_PA0441_STR-END12 sy-vline
WA_PA0441_STR-FL112 sy-vline
WA_PA0441_STR-FL212 sy-vline
WA_PA0441_STR-FL312 sy-vline
WA_PA0441_STR-FL412 sy-vline
WA_PA0441_STR-FL512 sy-vline
WA_PA0441_STR-LGT13 sy-vline
WA_PA0441_STR-NUM13 sy-vline
WA_PA0441_STR-AMT13 sy-vline
WA_PA0441_STR-BEG13 sy-vline
WA_PA0441_STR-END13 sy-vline
WA_PA0441_STR-FL113 sy-vline
WA_PA0441_STR-FL213 sy-vline
WA_PA0441_STR-FL313 sy-vline
WA_PA0441_STR-FL413 sy-vline
WA_PA0441_STR-FL513 sy-vline
WA_PA0441_STR-LGT14 sy-vline
WA_PA0441_STR-NUM14 sy-vline
WA_PA0441_STR-AMT14 sy-vline
WA_PA0441_STR-BEG14 sy-vline
WA_PA0441_STR-END14 sy-vline
WA_PA0441_STR-FL114 sy-vline
WA_PA0441_STR-FL214 sy-vline
WA_PA0441_STR-FL314 sy-vline
WA_PA0441_STR-FL414 sy-vline
WA_PA0441_STR-FL514 sy-vline
WA_PA0441_STR-LGT15 sy-vline
WA_PA0441_STR-NUM15 sy-vline
WA_PA0441_STR-AMT15 sy-vline
WA_PA0441_STR-BEG15 sy-vline
WA_PA0441_STR-END15 sy-vline
WA_PA0441_STR-FL115 sy-vline
WA_PA0441_STR-FL215 sy-vline
WA_PA0441_STR-FL315 sy-vline
WA_PA0441_STR-FL415 sy-vline
WA_PA0441_STR-FL515 sy-vline
WA_PA0441_STR-STR01 sy-vline
WA_PA0441_STR-STR02 sy-vline
WA_PA0441_STR-STR03 sy-vline
WA_PA0441_STR-STR04 sy-vline
WA_PA0441_STR-STR05 sy-vline
WA_PA0441_STR-STR06 sy-vline
WA_PA0441_STR-STR07 sy-vline
WA_PA0441_STR-STR08 sy-vline
WA_PA0441_STR-STR09 sy-vline
WA_PA0441_STR-STR10 sy-vline
WA_PA0441_STR-STR11 sy-vline
WA_PA0441_STR-STR12 sy-vline
WA_PA0441_STR-STR13 sy-vline
WA_PA0441_STR-STR14 sy-vline
WA_PA0441_STR-STR15 sy-vline
WA_PA0441_STR-TVK01 sy-vline
WA_PA0441_STR-TVK02 sy-vline
WA_PA0441_STR-TVK03 sy-vline
WA_PA0441_STR-TVK04 sy-vline
WA_PA0441_STR-TVK05 sy-vline
WA_PA0441_STR-TVK06 sy-vline
WA_PA0441_STR-TVK07 sy-vline
WA_PA0441_STR-TVK08 sy-vline
WA_PA0441_STR-TVK09 sy-vline
WA_PA0441_STR-TVK10 sy-vline
WA_PA0441_STR-TVK11 sy-vline
WA_PA0441_STR-TVK12 sy-vline
WA_PA0441_STR-TVK13 sy-vline
WA_PA0441_STR-TVK14 sy-vline
WA_PA0441_STR-TVK15 sy-vline
WA_PA0441_STR-HATAR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.