ABAP Select data from SAP table P3203 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 P3203 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 P3203. 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 P3203 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_P3203 TYPE STANDARD TABLE OF P3203,
      WA_P3203 TYPE P3203,
      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: <P3203> TYPE P3203.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P3203
*  INTO TABLE @DATA(IT_P32032).
*--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_P3203 INDEX 1 INTO DATA(WA_P32032).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P3203-ENDDA, sy-vline,
WA_P3203-BEGDA, sy-vline,
WA_P3203-SEQNR, sy-vline,
WA_P3203-AEDTM, sy-vline,
WA_P3203-UNAME, sy-vline,
WA_P3203-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P3203 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_P3203 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_P3203 INTO WA_P3203. *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_P3203_STR,
PERNR TYPE STRING,
INFTY 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,
LEADT TYPE STRING,
LEATY TYPE STRING,
LEARN TYPE STRING,
LEAGR TYPE STRING,
ENTDT TYPE STRING,
SENDT TYPE STRING,
SERYR TYPE STRING,
SERMN TYPE STRING,
SERDY TYPE STRING,
LAWDY TYPE STRING,
LAPDY TYPE STRING,
NOTDT TYPE STRING,
NOTPB TYPE STRING,
NOTPE TYPE STRING,
SIPRE TYPE STRING,
OTINC TYPE STRING,
LIT01 TYPE STRING,
LGA01 TYPE STRING,
BET01 TYPE STRING,
ANZ01 TYPE STRING,
RTE01 TYPE STRING,
WAE01 TYPE STRING,
AUC01 TYPE STRING,
LIT02 TYPE STRING,
LGA02 TYPE STRING,
BET02 TYPE STRING,
ANZ02 TYPE STRING,
RTE02 TYPE STRING,
WAE02 TYPE STRING,
AUC02 TYPE STRING,
LIT03 TYPE STRING,
LGA03 TYPE STRING,
BET03 TYPE STRING,
ANZ03 TYPE STRING,
RTE03 TYPE STRING,
WAE03 TYPE STRING,
AUC03 TYPE STRING,
LIT04 TYPE STRING,
LGA04 TYPE STRING,
BET04 TYPE STRING,
ANZ04 TYPE STRING,
RTE04 TYPE STRING,
WAE04 TYPE STRING,
AUC04 TYPE STRING,
LIT05 TYPE STRING,
LGA05 TYPE STRING,
BET05 TYPE STRING,
ANZ05 TYPE STRING,
RTE05 TYPE STRING,
WAE05 TYPE STRING,
AUC05 TYPE STRING,
LIT06 TYPE STRING,
LGA06 TYPE STRING,
BET06 TYPE STRING,
ANZ06 TYPE STRING,
RTE06 TYPE STRING,
WAE06 TYPE STRING,
AUC06 TYPE STRING,
LIT07 TYPE STRING,
LGA07 TYPE STRING,
BET07 TYPE STRING,
ANZ07 TYPE STRING,
RTE07 TYPE STRING,
WAE07 TYPE STRING,
AUC07 TYPE STRING,
LIT08 TYPE STRING,
LGA08 TYPE STRING,
BET08 TYPE STRING,
ANZ08 TYPE STRING,
RTE08 TYPE STRING,
WAE08 TYPE STRING,
AUC08 TYPE STRING,
LIT09 TYPE STRING,
LGA09 TYPE STRING,
BET09 TYPE STRING,
ANZ09 TYPE STRING,
RTE09 TYPE STRING,
WAE09 TYPE STRING,
AUC09 TYPE STRING,
LIT10 TYPE STRING,
LGA10 TYPE STRING,
BET10 TYPE STRING,
ANZ10 TYPE STRING,
RTE10 TYPE STRING,
WAE10 TYPE STRING,
AUC10 TYPE STRING,
RETFM TYPE STRING,
EMPDC TYPE STRING,
EMPCF TYPE STRING,
RETDE TYPE STRING,
DERET TYPE STRING,
DERCF TYPE STRING,
WAEDE TYPE STRING,
WAELI TYPE STRING,
WAERS TYPE STRING,
ICMDT TYPE STRING,
LR110 TYPE STRING,
LR120 TYPE STRING,
LR200 TYPE STRING,
LVAGE TYPE STRING,
CWRSN TYPE STRING,
DA200 TYPE STRING,
LR310 TYPE STRING,
MTH11 TYPE STRING,
MTH12 TYPE STRING,
MTH13 TYPE STRING,
CSUPL TYPE STRING,
CUUPL TYPE STRING,
REPEL TYPE STRING,
CTUPL TYPE STRING,
CTULI TYPE STRING,
LR320 TYPE STRING,
WDTYP TYPE STRING,
AGTEC TYPE STRING,
CTERE TYPE STRING,
CTREN TYPE STRING,
DNREE TYPE STRING,
CTREW TYPE STRING,
WDINS TYPE STRING,
LR330 TYPE STRING,
LR340 TYPE STRING,
LR410 TYPE STRING,
LR420 TYPE STRING,
LR431 TYPE STRING,
LR432 TYPE STRING,
DA432 TYPE STRING,
LR511 TYPE STRING,
LR512 TYPE STRING,
LR513 TYPE STRING,
LR514 TYPE STRING,
LR515 TYPE STRING,
EEDIN TYPE STRING,
LR516 TYPE STRING,
EADDR TYPE STRING,
LR517 TYPE STRING,
DA517 TYPE STRING,
LR520 TYPE STRING,
LR600 TYPE STRING,
DA600 TYPE STRING,
DETAE TYPE STRING,
EEOBJ TYPE STRING,END OF T_EKKO_STR. DATA: WA_P3203_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_P3203_STR-PERNR sy-vline
WA_P3203_STR-INFTY sy-vline
WA_P3203_STR-SUBTY sy-vline
WA_P3203_STR-OBJPS sy-vline
WA_P3203_STR-SPRPS sy-vline
WA_P3203_STR-ENDDA sy-vline
WA_P3203_STR-BEGDA sy-vline
WA_P3203_STR-SEQNR sy-vline
WA_P3203_STR-AEDTM sy-vline
WA_P3203_STR-UNAME sy-vline
WA_P3203_STR-HISTO sy-vline
WA_P3203_STR-ITXEX sy-vline
WA_P3203_STR-REFEX sy-vline
WA_P3203_STR-ORDEX sy-vline
WA_P3203_STR-ITBLD sy-vline
WA_P3203_STR-PREAS sy-vline
WA_P3203_STR-FLAG1 sy-vline
WA_P3203_STR-FLAG2 sy-vline
WA_P3203_STR-FLAG3 sy-vline
WA_P3203_STR-FLAG4 sy-vline
WA_P3203_STR-RESE1 sy-vline
WA_P3203_STR-RESE2 sy-vline
WA_P3203_STR-GRPVL sy-vline
WA_P3203_STR-LEADT sy-vline
WA_P3203_STR-LEATY sy-vline
WA_P3203_STR-LEARN sy-vline
WA_P3203_STR-LEAGR sy-vline
WA_P3203_STR-ENTDT sy-vline
WA_P3203_STR-SENDT sy-vline
WA_P3203_STR-SERYR sy-vline
WA_P3203_STR-SERMN sy-vline
WA_P3203_STR-SERDY sy-vline
WA_P3203_STR-LAWDY sy-vline
WA_P3203_STR-LAPDY sy-vline
WA_P3203_STR-NOTDT sy-vline
WA_P3203_STR-NOTPB sy-vline
WA_P3203_STR-NOTPE sy-vline
WA_P3203_STR-SIPRE sy-vline
WA_P3203_STR-OTINC sy-vline
WA_P3203_STR-LIT01 sy-vline
WA_P3203_STR-LGA01 sy-vline
WA_P3203_STR-BET01 sy-vline
WA_P3203_STR-ANZ01 sy-vline
WA_P3203_STR-RTE01 sy-vline
WA_P3203_STR-WAE01 sy-vline
WA_P3203_STR-AUC01 sy-vline
WA_P3203_STR-LIT02 sy-vline
WA_P3203_STR-LGA02 sy-vline
WA_P3203_STR-BET02 sy-vline
WA_P3203_STR-ANZ02 sy-vline
WA_P3203_STR-RTE02 sy-vline
WA_P3203_STR-WAE02 sy-vline
WA_P3203_STR-AUC02 sy-vline
WA_P3203_STR-LIT03 sy-vline
WA_P3203_STR-LGA03 sy-vline
WA_P3203_STR-BET03 sy-vline
WA_P3203_STR-ANZ03 sy-vline
WA_P3203_STR-RTE03 sy-vline
WA_P3203_STR-WAE03 sy-vline
WA_P3203_STR-AUC03 sy-vline
WA_P3203_STR-LIT04 sy-vline
WA_P3203_STR-LGA04 sy-vline
WA_P3203_STR-BET04 sy-vline
WA_P3203_STR-ANZ04 sy-vline
WA_P3203_STR-RTE04 sy-vline
WA_P3203_STR-WAE04 sy-vline
WA_P3203_STR-AUC04 sy-vline
WA_P3203_STR-LIT05 sy-vline
WA_P3203_STR-LGA05 sy-vline
WA_P3203_STR-BET05 sy-vline
WA_P3203_STR-ANZ05 sy-vline
WA_P3203_STR-RTE05 sy-vline
WA_P3203_STR-WAE05 sy-vline
WA_P3203_STR-AUC05 sy-vline
WA_P3203_STR-LIT06 sy-vline
WA_P3203_STR-LGA06 sy-vline
WA_P3203_STR-BET06 sy-vline
WA_P3203_STR-ANZ06 sy-vline
WA_P3203_STR-RTE06 sy-vline
WA_P3203_STR-WAE06 sy-vline
WA_P3203_STR-AUC06 sy-vline
WA_P3203_STR-LIT07 sy-vline
WA_P3203_STR-LGA07 sy-vline
WA_P3203_STR-BET07 sy-vline
WA_P3203_STR-ANZ07 sy-vline
WA_P3203_STR-RTE07 sy-vline
WA_P3203_STR-WAE07 sy-vline
WA_P3203_STR-AUC07 sy-vline
WA_P3203_STR-LIT08 sy-vline
WA_P3203_STR-LGA08 sy-vline
WA_P3203_STR-BET08 sy-vline
WA_P3203_STR-ANZ08 sy-vline
WA_P3203_STR-RTE08 sy-vline
WA_P3203_STR-WAE08 sy-vline
WA_P3203_STR-AUC08 sy-vline
WA_P3203_STR-LIT09 sy-vline
WA_P3203_STR-LGA09 sy-vline
WA_P3203_STR-BET09 sy-vline
WA_P3203_STR-ANZ09 sy-vline
WA_P3203_STR-RTE09 sy-vline
WA_P3203_STR-WAE09 sy-vline
WA_P3203_STR-AUC09 sy-vline
WA_P3203_STR-LIT10 sy-vline
WA_P3203_STR-LGA10 sy-vline
WA_P3203_STR-BET10 sy-vline
WA_P3203_STR-ANZ10 sy-vline
WA_P3203_STR-RTE10 sy-vline
WA_P3203_STR-WAE10 sy-vline
WA_P3203_STR-AUC10 sy-vline
WA_P3203_STR-RETFM sy-vline
WA_P3203_STR-EMPDC sy-vline
WA_P3203_STR-EMPCF sy-vline
WA_P3203_STR-RETDE sy-vline
WA_P3203_STR-DERET sy-vline
WA_P3203_STR-DERCF sy-vline
WA_P3203_STR-WAEDE sy-vline
WA_P3203_STR-WAELI sy-vline
WA_P3203_STR-WAERS sy-vline
WA_P3203_STR-ICMDT sy-vline
WA_P3203_STR-LR110 sy-vline
WA_P3203_STR-LR120 sy-vline
WA_P3203_STR-LR200 sy-vline
WA_P3203_STR-LVAGE sy-vline
WA_P3203_STR-CWRSN sy-vline
WA_P3203_STR-DA200 sy-vline
WA_P3203_STR-LR310 sy-vline
WA_P3203_STR-MTH11 sy-vline
WA_P3203_STR-MTH12 sy-vline
WA_P3203_STR-MTH13 sy-vline
WA_P3203_STR-CSUPL sy-vline
WA_P3203_STR-CUUPL sy-vline
WA_P3203_STR-REPEL sy-vline
WA_P3203_STR-CTUPL sy-vline
WA_P3203_STR-CTULI sy-vline
WA_P3203_STR-LR320 sy-vline
WA_P3203_STR-WDTYP sy-vline
WA_P3203_STR-AGTEC sy-vline
WA_P3203_STR-CTERE sy-vline
WA_P3203_STR-CTREN sy-vline
WA_P3203_STR-DNREE sy-vline
WA_P3203_STR-CTREW sy-vline
WA_P3203_STR-WDINS sy-vline
WA_P3203_STR-LR330 sy-vline
WA_P3203_STR-LR340 sy-vline
WA_P3203_STR-LR410 sy-vline
WA_P3203_STR-LR420 sy-vline
WA_P3203_STR-LR431 sy-vline
WA_P3203_STR-LR432 sy-vline
WA_P3203_STR-DA432 sy-vline
WA_P3203_STR-LR511 sy-vline
WA_P3203_STR-LR512 sy-vline
WA_P3203_STR-LR513 sy-vline
WA_P3203_STR-LR514 sy-vline
WA_P3203_STR-LR515 sy-vline
WA_P3203_STR-EEDIN sy-vline
WA_P3203_STR-LR516 sy-vline
WA_P3203_STR-EADDR sy-vline
WA_P3203_STR-LR517 sy-vline
WA_P3203_STR-DA517 sy-vline
WA_P3203_STR-LR520 sy-vline
WA_P3203_STR-LR600 sy-vline
WA_P3203_STR-DA600 sy-vline
WA_P3203_STR-DETAE sy-vline
WA_P3203_STR-EEOBJ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.