ABAP Select data from SAP table E1P0897 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 E1P0897 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 E1P0897. 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 E1P0897 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_E1P0897 TYPE STANDARD TABLE OF E1P0897,
      WA_E1P0897 TYPE E1P0897,
      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: <E1P0897> TYPE E1P0897.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM E1P0897
*  INTO TABLE @DATA(IT_E1P08972).
*--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_E1P0897 INDEX 1 INTO DATA(WA_E1P08972).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_E1P0897-ENDDA, sy-vline,
WA_E1P0897-BEGDA, sy-vline,
WA_E1P0897-SEQNR, sy-vline,
WA_E1P0897-AEDTM, sy-vline,
WA_E1P0897-UNAME, sy-vline,
WA_E1P0897-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_E1P0897 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_E1P0897 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_E1P0897 INTO WA_E1P0897. *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_E1P0897_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,
BAREA TYPE STRING,
KZMDL TYPE STRING,
STAT1 TYPE STRING,
KZVAR TYPE STRING,
BRN01 TYPE STRING,
TBB01 TYPE STRING,
TAB01 TYPE STRING,
BBB01 TYPE STRING,
BAB01 TYPE STRING,
BRN02 TYPE STRING,
TBB02 TYPE STRING,
TAB02 TYPE STRING,
BBB02 TYPE STRING,
BAB02 TYPE STRING,
BRN03 TYPE STRING,
TBB03 TYPE STRING,
TAB03 TYPE STRING,
BBB03 TYPE STRING,
BAB03 TYPE STRING,
BRN04 TYPE STRING,
TBB04 TYPE STRING,
TAB04 TYPE STRING,
BBB04 TYPE STRING,
BAB04 TYPE STRING,
BRN05 TYPE STRING,
TBB05 TYPE STRING,
TAB05 TYPE STRING,
BBB05 TYPE STRING,
BAB05 TYPE STRING,
BRN06 TYPE STRING,
TBB06 TYPE STRING,
TAB06 TYPE STRING,
BBB06 TYPE STRING,
BAB06 TYPE STRING,
BRN07 TYPE STRING,
TBB07 TYPE STRING,
TAB07 TYPE STRING,
BBB07 TYPE STRING,
BAB07 TYPE STRING,
BRN08 TYPE STRING,
TBB08 TYPE STRING,
TAB08 TYPE STRING,
BBB08 TYPE STRING,
BAB08 TYPE STRING,
DL_01 TYPE STRING,
KZD01 TYPE STRING,
TBD01 TYPE STRING,
TAD01 TYPE STRING,
DL_02 TYPE STRING,
KZD02 TYPE STRING,
TBD02 TYPE STRING,
TAD02 TYPE STRING,
DL_03 TYPE STRING,
KZD03 TYPE STRING,
TBD03 TYPE STRING,
TAD03 TYPE STRING,
DL_04 TYPE STRING,
KZD04 TYPE STRING,
TBD04 TYPE STRING,
TAD04 TYPE STRING,
DL_05 TYPE STRING,
KZD05 TYPE STRING,
TBD05 TYPE STRING,
TAD05 TYPE STRING,
DL_06 TYPE STRING,
KZD06 TYPE STRING,
TBD06 TYPE STRING,
TAD06 TYPE STRING,
DL_07 TYPE STRING,
KZD07 TYPE STRING,
TBD07 TYPE STRING,
TAD07 TYPE STRING,
DL_08 TYPE STRING,
KZD08 TYPE STRING,
TBD08 TYPE STRING,
TAD08 TYPE STRING,
DL_09 TYPE STRING,
KZD09 TYPE STRING,
TBD09 TYPE STRING,
TAD09 TYPE STRING,
DL_10 TYPE STRING,
KZD10 TYPE STRING,
TBD10 TYPE STRING,
TAD10 TYPE STRING,
DL_11 TYPE STRING,
KZD11 TYPE STRING,
TBD11 TYPE STRING,
TAD11 TYPE STRING,
DL_12 TYPE STRING,
KZD12 TYPE STRING,
TBD12 TYPE STRING,
TAD12 TYPE STRING,
B1D01 TYPE STRING,
A1D01 TYPE STRING,
B1D02 TYPE STRING,
A1D02 TYPE STRING,
B1D03 TYPE STRING,
A1D03 TYPE STRING,
B1D04 TYPE STRING,
A1D04 TYPE STRING,
B1D05 TYPE STRING,
A1D05 TYPE STRING,
B1D06 TYPE STRING,
A1D06 TYPE STRING,
B1D07 TYPE STRING,
A1D07 TYPE STRING,
B1D08 TYPE STRING,
A1D08 TYPE STRING,
B1D09 TYPE STRING,
A1D09 TYPE STRING,
B1D10 TYPE STRING,
A1D10 TYPE STRING,
B1D11 TYPE STRING,
A1D11 TYPE STRING,
B1D12 TYPE STRING,
A1D12 TYPE STRING,
B2D01 TYPE STRING,
A2D01 TYPE STRING,
B2D02 TYPE STRING,
A2D02 TYPE STRING,
B2D03 TYPE STRING,
A2D03 TYPE STRING,END OF T_EKKO_STR. DATA: WA_E1P0897_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_E1P0897_STR-PERNR sy-vline
WA_E1P0897_STR-INFTY sy-vline
WA_E1P0897_STR-SUBTY sy-vline
WA_E1P0897_STR-OBJPS sy-vline
WA_E1P0897_STR-SPRPS sy-vline
WA_E1P0897_STR-ENDDA sy-vline
WA_E1P0897_STR-BEGDA sy-vline
WA_E1P0897_STR-SEQNR sy-vline
WA_E1P0897_STR-AEDTM sy-vline
WA_E1P0897_STR-UNAME sy-vline
WA_E1P0897_STR-HISTO sy-vline
WA_E1P0897_STR-ITXEX sy-vline
WA_E1P0897_STR-REFEX sy-vline
WA_E1P0897_STR-ORDEX sy-vline
WA_E1P0897_STR-ITBLD sy-vline
WA_E1P0897_STR-PREAS sy-vline
WA_E1P0897_STR-FLAG1 sy-vline
WA_E1P0897_STR-FLAG2 sy-vline
WA_E1P0897_STR-FLAG3 sy-vline
WA_E1P0897_STR-FLAG4 sy-vline
WA_E1P0897_STR-RESE1 sy-vline
WA_E1P0897_STR-RESE2 sy-vline
WA_E1P0897_STR-GRPVL sy-vline
WA_E1P0897_STR-BAREA sy-vline
WA_E1P0897_STR-KZMDL sy-vline
WA_E1P0897_STR-STAT1 sy-vline
WA_E1P0897_STR-KZVAR sy-vline
WA_E1P0897_STR-BRN01 sy-vline
WA_E1P0897_STR-TBB01 sy-vline
WA_E1P0897_STR-TAB01 sy-vline
WA_E1P0897_STR-BBB01 sy-vline
WA_E1P0897_STR-BAB01 sy-vline
WA_E1P0897_STR-BRN02 sy-vline
WA_E1P0897_STR-TBB02 sy-vline
WA_E1P0897_STR-TAB02 sy-vline
WA_E1P0897_STR-BBB02 sy-vline
WA_E1P0897_STR-BAB02 sy-vline
WA_E1P0897_STR-BRN03 sy-vline
WA_E1P0897_STR-TBB03 sy-vline
WA_E1P0897_STR-TAB03 sy-vline
WA_E1P0897_STR-BBB03 sy-vline
WA_E1P0897_STR-BAB03 sy-vline
WA_E1P0897_STR-BRN04 sy-vline
WA_E1P0897_STR-TBB04 sy-vline
WA_E1P0897_STR-TAB04 sy-vline
WA_E1P0897_STR-BBB04 sy-vline
WA_E1P0897_STR-BAB04 sy-vline
WA_E1P0897_STR-BRN05 sy-vline
WA_E1P0897_STR-TBB05 sy-vline
WA_E1P0897_STR-TAB05 sy-vline
WA_E1P0897_STR-BBB05 sy-vline
WA_E1P0897_STR-BAB05 sy-vline
WA_E1P0897_STR-BRN06 sy-vline
WA_E1P0897_STR-TBB06 sy-vline
WA_E1P0897_STR-TAB06 sy-vline
WA_E1P0897_STR-BBB06 sy-vline
WA_E1P0897_STR-BAB06 sy-vline
WA_E1P0897_STR-BRN07 sy-vline
WA_E1P0897_STR-TBB07 sy-vline
WA_E1P0897_STR-TAB07 sy-vline
WA_E1P0897_STR-BBB07 sy-vline
WA_E1P0897_STR-BAB07 sy-vline
WA_E1P0897_STR-BRN08 sy-vline
WA_E1P0897_STR-TBB08 sy-vline
WA_E1P0897_STR-TAB08 sy-vline
WA_E1P0897_STR-BBB08 sy-vline
WA_E1P0897_STR-BAB08 sy-vline
WA_E1P0897_STR-DL_01 sy-vline
WA_E1P0897_STR-KZD01 sy-vline
WA_E1P0897_STR-TBD01 sy-vline
WA_E1P0897_STR-TAD01 sy-vline
WA_E1P0897_STR-DL_02 sy-vline
WA_E1P0897_STR-KZD02 sy-vline
WA_E1P0897_STR-TBD02 sy-vline
WA_E1P0897_STR-TAD02 sy-vline
WA_E1P0897_STR-DL_03 sy-vline
WA_E1P0897_STR-KZD03 sy-vline
WA_E1P0897_STR-TBD03 sy-vline
WA_E1P0897_STR-TAD03 sy-vline
WA_E1P0897_STR-DL_04 sy-vline
WA_E1P0897_STR-KZD04 sy-vline
WA_E1P0897_STR-TBD04 sy-vline
WA_E1P0897_STR-TAD04 sy-vline
WA_E1P0897_STR-DL_05 sy-vline
WA_E1P0897_STR-KZD05 sy-vline
WA_E1P0897_STR-TBD05 sy-vline
WA_E1P0897_STR-TAD05 sy-vline
WA_E1P0897_STR-DL_06 sy-vline
WA_E1P0897_STR-KZD06 sy-vline
WA_E1P0897_STR-TBD06 sy-vline
WA_E1P0897_STR-TAD06 sy-vline
WA_E1P0897_STR-DL_07 sy-vline
WA_E1P0897_STR-KZD07 sy-vline
WA_E1P0897_STR-TBD07 sy-vline
WA_E1P0897_STR-TAD07 sy-vline
WA_E1P0897_STR-DL_08 sy-vline
WA_E1P0897_STR-KZD08 sy-vline
WA_E1P0897_STR-TBD08 sy-vline
WA_E1P0897_STR-TAD08 sy-vline
WA_E1P0897_STR-DL_09 sy-vline
WA_E1P0897_STR-KZD09 sy-vline
WA_E1P0897_STR-TBD09 sy-vline
WA_E1P0897_STR-TAD09 sy-vline
WA_E1P0897_STR-DL_10 sy-vline
WA_E1P0897_STR-KZD10 sy-vline
WA_E1P0897_STR-TBD10 sy-vline
WA_E1P0897_STR-TAD10 sy-vline
WA_E1P0897_STR-DL_11 sy-vline
WA_E1P0897_STR-KZD11 sy-vline
WA_E1P0897_STR-TBD11 sy-vline
WA_E1P0897_STR-TAD11 sy-vline
WA_E1P0897_STR-DL_12 sy-vline
WA_E1P0897_STR-KZD12 sy-vline
WA_E1P0897_STR-TBD12 sy-vline
WA_E1P0897_STR-TAD12 sy-vline
WA_E1P0897_STR-B1D01 sy-vline
WA_E1P0897_STR-A1D01 sy-vline
WA_E1P0897_STR-B1D02 sy-vline
WA_E1P0897_STR-A1D02 sy-vline
WA_E1P0897_STR-B1D03 sy-vline
WA_E1P0897_STR-A1D03 sy-vline
WA_E1P0897_STR-B1D04 sy-vline
WA_E1P0897_STR-A1D04 sy-vline
WA_E1P0897_STR-B1D05 sy-vline
WA_E1P0897_STR-A1D05 sy-vline
WA_E1P0897_STR-B1D06 sy-vline
WA_E1P0897_STR-A1D06 sy-vline
WA_E1P0897_STR-B1D07 sy-vline
WA_E1P0897_STR-A1D07 sy-vline
WA_E1P0897_STR-B1D08 sy-vline
WA_E1P0897_STR-A1D08 sy-vline
WA_E1P0897_STR-B1D09 sy-vline
WA_E1P0897_STR-A1D09 sy-vline
WA_E1P0897_STR-B1D10 sy-vline
WA_E1P0897_STR-A1D10 sy-vline
WA_E1P0897_STR-B1D11 sy-vline
WA_E1P0897_STR-A1D11 sy-vline
WA_E1P0897_STR-B1D12 sy-vline
WA_E1P0897_STR-A1D12 sy-vline
WA_E1P0897_STR-B2D01 sy-vline
WA_E1P0897_STR-A2D01 sy-vline
WA_E1P0897_STR-B2D02 sy-vline
WA_E1P0897_STR-A2D02 sy-vline
WA_E1P0897_STR-B2D03 sy-vline
WA_E1P0897_STR-A2D03 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.