ABAP Select data from SAP table E1P0027 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 E1P0027 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 E1P0027. 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 E1P0027 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_E1P0027 TYPE STANDARD TABLE OF E1P0027,
      WA_E1P0027 TYPE E1P0027,
      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: <E1P0027> TYPE E1P0027.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM E1P0027
*  INTO TABLE @DATA(IT_E1P00272).
*--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_E1P0027 INDEX 1 INTO DATA(WA_E1P00272).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_E1P0027-ENDDA, sy-vline,
WA_E1P0027-BEGDA, sy-vline,
WA_E1P0027-SEQNR, sy-vline,
WA_E1P0027-AEDTM, sy-vline,
WA_E1P0027-UNAME, sy-vline,
WA_E1P0027-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_E1P0027 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_E1P0027 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_E1P0027 INTO WA_E1P0027. *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_E1P0027_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,
KSTAR TYPE STRING,
KBU01 TYPE STRING,
KGB01 TYPE STRING,
KST01 TYPE STRING,
KPR01 TYPE STRING,
KBU02 TYPE STRING,
KGB02 TYPE STRING,
KST02 TYPE STRING,
KPR02 TYPE STRING,
KBU03 TYPE STRING,
KGB03 TYPE STRING,
KST03 TYPE STRING,
KPR03 TYPE STRING,
KBU04 TYPE STRING,
KGB04 TYPE STRING,
KST04 TYPE STRING,
KPR04 TYPE STRING,
KBU05 TYPE STRING,
KGB05 TYPE STRING,
KST05 TYPE STRING,
KPR05 TYPE STRING,
KBU06 TYPE STRING,
KGB06 TYPE STRING,
KST06 TYPE STRING,
KPR06 TYPE STRING,
KBU07 TYPE STRING,
KGB07 TYPE STRING,
KST07 TYPE STRING,
KPR07 TYPE STRING,
KBU08 TYPE STRING,
KGB08 TYPE STRING,
KST08 TYPE STRING,
KPR08 TYPE STRING,
KBU09 TYPE STRING,
KGB09 TYPE STRING,
KST09 TYPE STRING,
KPR09 TYPE STRING,
KBU10 TYPE STRING,
KGB10 TYPE STRING,
KST10 TYPE STRING,
KPR10 TYPE STRING,
KBU11 TYPE STRING,
KGB11 TYPE STRING,
KST11 TYPE STRING,
KPR11 TYPE STRING,
KBU12 TYPE STRING,
KGB12 TYPE STRING,
KST12 TYPE STRING,
KPR12 TYPE STRING,
KBU13 TYPE STRING,
KGB13 TYPE STRING,
KST13 TYPE STRING,
KPR13 TYPE STRING,
KBU14 TYPE STRING,
KGB14 TYPE STRING,
KST14 TYPE STRING,
KPR14 TYPE STRING,
KBU15 TYPE STRING,
KGB15 TYPE STRING,
KST15 TYPE STRING,
KPR15 TYPE STRING,
KBU16 TYPE STRING,
KGB16 TYPE STRING,
KST16 TYPE STRING,
KPR16 TYPE STRING,
KBU17 TYPE STRING,
KGB17 TYPE STRING,
KST17 TYPE STRING,
KPR17 TYPE STRING,
KBU18 TYPE STRING,
KGB18 TYPE STRING,
KST18 TYPE STRING,
KPR18 TYPE STRING,
KBU19 TYPE STRING,
KGB19 TYPE STRING,
KST19 TYPE STRING,
KPR19 TYPE STRING,
KBU20 TYPE STRING,
KGB20 TYPE STRING,
KST20 TYPE STRING,
KPR20 TYPE STRING,
KBU21 TYPE STRING,
KGB21 TYPE STRING,
KST21 TYPE STRING,
KPR21 TYPE STRING,
KBU22 TYPE STRING,
KGB22 TYPE STRING,
KST22 TYPE STRING,
KPR22 TYPE STRING,
KBU23 TYPE STRING,
KGB23 TYPE STRING,
KST23 TYPE STRING,
KPR23 TYPE STRING,
KBU24 TYPE STRING,
KGB24 TYPE STRING,
KST24 TYPE STRING,
KPR24 TYPE STRING,
KBU25 TYPE STRING,
KGB25 TYPE STRING,
KST25 TYPE STRING,
KPR25 TYPE STRING,
FCT01 TYPE STRING,
FCD01 TYPE STRING,
FCT02 TYPE STRING,
FCD02 TYPE STRING,
FCT03 TYPE STRING,
FCD03 TYPE STRING,
FCT04 TYPE STRING,
FCD04 TYPE STRING,
FCT05 TYPE STRING,
FCD05 TYPE STRING,
FCT06 TYPE STRING,
FCD06 TYPE STRING,
FCT07 TYPE STRING,
FCD07 TYPE STRING,
FCT08 TYPE STRING,
FCD08 TYPE STRING,
AUF01 TYPE STRING,
AUF02 TYPE STRING,
AUF03 TYPE STRING,
AUF04 TYPE STRING,
AUF05 TYPE STRING,
AUF06 TYPE STRING,
AUF07 TYPE STRING,END OF T_EKKO_STR. DATA: WA_E1P0027_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_E1P0027_STR-PERNR sy-vline
WA_E1P0027_STR-INFTY sy-vline
WA_E1P0027_STR-SUBTY sy-vline
WA_E1P0027_STR-OBJPS sy-vline
WA_E1P0027_STR-SPRPS sy-vline
WA_E1P0027_STR-ENDDA sy-vline
WA_E1P0027_STR-BEGDA sy-vline
WA_E1P0027_STR-SEQNR sy-vline
WA_E1P0027_STR-AEDTM sy-vline
WA_E1P0027_STR-UNAME sy-vline
WA_E1P0027_STR-HISTO sy-vline
WA_E1P0027_STR-ITXEX sy-vline
WA_E1P0027_STR-REFEX sy-vline
WA_E1P0027_STR-ORDEX sy-vline
WA_E1P0027_STR-ITBLD sy-vline
WA_E1P0027_STR-PREAS sy-vline
WA_E1P0027_STR-FLAG1 sy-vline
WA_E1P0027_STR-FLAG2 sy-vline
WA_E1P0027_STR-FLAG3 sy-vline
WA_E1P0027_STR-FLAG4 sy-vline
WA_E1P0027_STR-RESE1 sy-vline
WA_E1P0027_STR-RESE2 sy-vline
WA_E1P0027_STR-KSTAR sy-vline
WA_E1P0027_STR-KBU01 sy-vline
WA_E1P0027_STR-KGB01 sy-vline
WA_E1P0027_STR-KST01 sy-vline
WA_E1P0027_STR-KPR01 sy-vline
WA_E1P0027_STR-KBU02 sy-vline
WA_E1P0027_STR-KGB02 sy-vline
WA_E1P0027_STR-KST02 sy-vline
WA_E1P0027_STR-KPR02 sy-vline
WA_E1P0027_STR-KBU03 sy-vline
WA_E1P0027_STR-KGB03 sy-vline
WA_E1P0027_STR-KST03 sy-vline
WA_E1P0027_STR-KPR03 sy-vline
WA_E1P0027_STR-KBU04 sy-vline
WA_E1P0027_STR-KGB04 sy-vline
WA_E1P0027_STR-KST04 sy-vline
WA_E1P0027_STR-KPR04 sy-vline
WA_E1P0027_STR-KBU05 sy-vline
WA_E1P0027_STR-KGB05 sy-vline
WA_E1P0027_STR-KST05 sy-vline
WA_E1P0027_STR-KPR05 sy-vline
WA_E1P0027_STR-KBU06 sy-vline
WA_E1P0027_STR-KGB06 sy-vline
WA_E1P0027_STR-KST06 sy-vline
WA_E1P0027_STR-KPR06 sy-vline
WA_E1P0027_STR-KBU07 sy-vline
WA_E1P0027_STR-KGB07 sy-vline
WA_E1P0027_STR-KST07 sy-vline
WA_E1P0027_STR-KPR07 sy-vline
WA_E1P0027_STR-KBU08 sy-vline
WA_E1P0027_STR-KGB08 sy-vline
WA_E1P0027_STR-KST08 sy-vline
WA_E1P0027_STR-KPR08 sy-vline
WA_E1P0027_STR-KBU09 sy-vline
WA_E1P0027_STR-KGB09 sy-vline
WA_E1P0027_STR-KST09 sy-vline
WA_E1P0027_STR-KPR09 sy-vline
WA_E1P0027_STR-KBU10 sy-vline
WA_E1P0027_STR-KGB10 sy-vline
WA_E1P0027_STR-KST10 sy-vline
WA_E1P0027_STR-KPR10 sy-vline
WA_E1P0027_STR-KBU11 sy-vline
WA_E1P0027_STR-KGB11 sy-vline
WA_E1P0027_STR-KST11 sy-vline
WA_E1P0027_STR-KPR11 sy-vline
WA_E1P0027_STR-KBU12 sy-vline
WA_E1P0027_STR-KGB12 sy-vline
WA_E1P0027_STR-KST12 sy-vline
WA_E1P0027_STR-KPR12 sy-vline
WA_E1P0027_STR-KBU13 sy-vline
WA_E1P0027_STR-KGB13 sy-vline
WA_E1P0027_STR-KST13 sy-vline
WA_E1P0027_STR-KPR13 sy-vline
WA_E1P0027_STR-KBU14 sy-vline
WA_E1P0027_STR-KGB14 sy-vline
WA_E1P0027_STR-KST14 sy-vline
WA_E1P0027_STR-KPR14 sy-vline
WA_E1P0027_STR-KBU15 sy-vline
WA_E1P0027_STR-KGB15 sy-vline
WA_E1P0027_STR-KST15 sy-vline
WA_E1P0027_STR-KPR15 sy-vline
WA_E1P0027_STR-KBU16 sy-vline
WA_E1P0027_STR-KGB16 sy-vline
WA_E1P0027_STR-KST16 sy-vline
WA_E1P0027_STR-KPR16 sy-vline
WA_E1P0027_STR-KBU17 sy-vline
WA_E1P0027_STR-KGB17 sy-vline
WA_E1P0027_STR-KST17 sy-vline
WA_E1P0027_STR-KPR17 sy-vline
WA_E1P0027_STR-KBU18 sy-vline
WA_E1P0027_STR-KGB18 sy-vline
WA_E1P0027_STR-KST18 sy-vline
WA_E1P0027_STR-KPR18 sy-vline
WA_E1P0027_STR-KBU19 sy-vline
WA_E1P0027_STR-KGB19 sy-vline
WA_E1P0027_STR-KST19 sy-vline
WA_E1P0027_STR-KPR19 sy-vline
WA_E1P0027_STR-KBU20 sy-vline
WA_E1P0027_STR-KGB20 sy-vline
WA_E1P0027_STR-KST20 sy-vline
WA_E1P0027_STR-KPR20 sy-vline
WA_E1P0027_STR-KBU21 sy-vline
WA_E1P0027_STR-KGB21 sy-vline
WA_E1P0027_STR-KST21 sy-vline
WA_E1P0027_STR-KPR21 sy-vline
WA_E1P0027_STR-KBU22 sy-vline
WA_E1P0027_STR-KGB22 sy-vline
WA_E1P0027_STR-KST22 sy-vline
WA_E1P0027_STR-KPR22 sy-vline
WA_E1P0027_STR-KBU23 sy-vline
WA_E1P0027_STR-KGB23 sy-vline
WA_E1P0027_STR-KST23 sy-vline
WA_E1P0027_STR-KPR23 sy-vline
WA_E1P0027_STR-KBU24 sy-vline
WA_E1P0027_STR-KGB24 sy-vline
WA_E1P0027_STR-KST24 sy-vline
WA_E1P0027_STR-KPR24 sy-vline
WA_E1P0027_STR-KBU25 sy-vline
WA_E1P0027_STR-KGB25 sy-vline
WA_E1P0027_STR-KST25 sy-vline
WA_E1P0027_STR-KPR25 sy-vline
WA_E1P0027_STR-FCT01 sy-vline
WA_E1P0027_STR-FCD01 sy-vline
WA_E1P0027_STR-FCT02 sy-vline
WA_E1P0027_STR-FCD02 sy-vline
WA_E1P0027_STR-FCT03 sy-vline
WA_E1P0027_STR-FCD03 sy-vline
WA_E1P0027_STR-FCT04 sy-vline
WA_E1P0027_STR-FCD04 sy-vline
WA_E1P0027_STR-FCT05 sy-vline
WA_E1P0027_STR-FCD05 sy-vline
WA_E1P0027_STR-FCT06 sy-vline
WA_E1P0027_STR-FCD06 sy-vline
WA_E1P0027_STR-FCT07 sy-vline
WA_E1P0027_STR-FCD07 sy-vline
WA_E1P0027_STR-FCT08 sy-vline
WA_E1P0027_STR-FCD08 sy-vline
WA_E1P0027_STR-AUF01 sy-vline
WA_E1P0027_STR-AUF02 sy-vline
WA_E1P0027_STR-AUF03 sy-vline
WA_E1P0027_STR-AUF04 sy-vline
WA_E1P0027_STR-AUF05 sy-vline
WA_E1P0027_STR-AUF06 sy-vline
WA_E1P0027_STR-AUF07 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.