ABAP Select data from SAP table E1P0279 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 E1P0279 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 E1P0279. 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 E1P0279 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_E1P0279 TYPE STANDARD TABLE OF E1P0279,
      WA_E1P0279 TYPE E1P0279,
      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: <E1P0279> TYPE E1P0279.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM E1P0279
*  INTO TABLE @DATA(IT_E1P02792).
*--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_E1P0279 INDEX 1 INTO DATA(WA_E1P02792).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_E1P0279-ENDDA, sy-vline,
WA_E1P0279-BEGDA, sy-vline,
WA_E1P0279-SEQNR, sy-vline,
WA_E1P0279-AEDTM, sy-vline,
WA_E1P0279-UNAME, sy-vline,
WA_E1P0279-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_E1P0279 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_E1P0279 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_E1P0279 INTO WA_E1P0279. *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_E1P0279_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,
KASSE TYPE STRING,
WAERS TYPE STRING,
VAE01 TYPE STRING,
VAM01 TYPE STRING,
VTY01 TYPE STRING,
VAE02 TYPE STRING,
VAM02 TYPE STRING,
VTY02 TYPE STRING,
VAE03 TYPE STRING,
VAM03 TYPE STRING,
VTY03 TYPE STRING,
VAE04 TYPE STRING,
VAM04 TYPE STRING,
VTY04 TYPE STRING,
VAE05 TYPE STRING,
VAM05 TYPE STRING,
VTY05 TYPE STRING,
VAE06 TYPE STRING,
VAM06 TYPE STRING,
VTY06 TYPE STRING,
VAE07 TYPE STRING,
VAM07 TYPE STRING,
VTY07 TYPE STRING,
VAE08 TYPE STRING,
VAM08 TYPE STRING,
VTY08 TYPE STRING,
VAE09 TYPE STRING,
VAM09 TYPE STRING,
VTY09 TYPE STRING,
VAE10 TYPE STRING,
VAM10 TYPE STRING,
VTY10 TYPE STRING,
VAE11 TYPE STRING,
VAM11 TYPE STRING,
VTY11 TYPE STRING,
VAE12 TYPE STRING,
VAM12 TYPE STRING,
VTY12 TYPE STRING,
VAE13 TYPE STRING,
VAM13 TYPE STRING,
VTY13 TYPE STRING,
VAE14 TYPE STRING,
VAM14 TYPE STRING,
VTY14 TYPE STRING,
VAE15 TYPE STRING,
VAM15 TYPE STRING,
VTY15 TYPE STRING,
VAE16 TYPE STRING,
VAM16 TYPE STRING,
VTY16 TYPE STRING,
VAE17 TYPE STRING,
VAM17 TYPE STRING,
VTY17 TYPE STRING,
VAE18 TYPE STRING,
VAM18 TYPE STRING,
VTY18 TYPE STRING,
VAE19 TYPE STRING,
VAM19 TYPE STRING,
VTY19 TYPE STRING,
VAE20 TYPE STRING,
VAM20 TYPE STRING,
VTY20 TYPE STRING,
VAE01_470 TYPE STRING,
VAM01_470 TYPE STRING,
VAE02_470 TYPE STRING,
VAM02_470 TYPE STRING,
VAE03_470 TYPE STRING,
VAM03_470 TYPE STRING,
VAE04_470 TYPE STRING,
VAM04_470 TYPE STRING,
VAE05_470 TYPE STRING,
VAM05_470 TYPE STRING,
VAE06_470 TYPE STRING,
VAM06_470 TYPE STRING,
VAE07_470 TYPE STRING,
VAM07_470 TYPE STRING,
VAE08_470 TYPE STRING,
VAM08_470 TYPE STRING,
VAE09_470 TYPE STRING,
VAM09_470 TYPE STRING,
VAE10_470 TYPE STRING,END OF T_EKKO_STR. DATA: WA_E1P0279_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_E1P0279_STR-PERNR sy-vline
WA_E1P0279_STR-INFTY sy-vline
WA_E1P0279_STR-SUBTY sy-vline
WA_E1P0279_STR-OBJPS sy-vline
WA_E1P0279_STR-SPRPS sy-vline
WA_E1P0279_STR-ENDDA sy-vline
WA_E1P0279_STR-BEGDA sy-vline
WA_E1P0279_STR-SEQNR sy-vline
WA_E1P0279_STR-AEDTM sy-vline
WA_E1P0279_STR-UNAME sy-vline
WA_E1P0279_STR-HISTO sy-vline
WA_E1P0279_STR-ITXEX sy-vline
WA_E1P0279_STR-REFEX sy-vline
WA_E1P0279_STR-ORDEX sy-vline
WA_E1P0279_STR-ITBLD sy-vline
WA_E1P0279_STR-PREAS sy-vline
WA_E1P0279_STR-FLAG1 sy-vline
WA_E1P0279_STR-FLAG2 sy-vline
WA_E1P0279_STR-FLAG3 sy-vline
WA_E1P0279_STR-FLAG4 sy-vline
WA_E1P0279_STR-RESE1 sy-vline
WA_E1P0279_STR-RESE2 sy-vline
WA_E1P0279_STR-KASSE sy-vline
WA_E1P0279_STR-WAERS sy-vline
WA_E1P0279_STR-VAE01 sy-vline
WA_E1P0279_STR-VAM01 sy-vline
WA_E1P0279_STR-VTY01 sy-vline
WA_E1P0279_STR-VAE02 sy-vline
WA_E1P0279_STR-VAM02 sy-vline
WA_E1P0279_STR-VTY02 sy-vline
WA_E1P0279_STR-VAE03 sy-vline
WA_E1P0279_STR-VAM03 sy-vline
WA_E1P0279_STR-VTY03 sy-vline
WA_E1P0279_STR-VAE04 sy-vline
WA_E1P0279_STR-VAM04 sy-vline
WA_E1P0279_STR-VTY04 sy-vline
WA_E1P0279_STR-VAE05 sy-vline
WA_E1P0279_STR-VAM05 sy-vline
WA_E1P0279_STR-VTY05 sy-vline
WA_E1P0279_STR-VAE06 sy-vline
WA_E1P0279_STR-VAM06 sy-vline
WA_E1P0279_STR-VTY06 sy-vline
WA_E1P0279_STR-VAE07 sy-vline
WA_E1P0279_STR-VAM07 sy-vline
WA_E1P0279_STR-VTY07 sy-vline
WA_E1P0279_STR-VAE08 sy-vline
WA_E1P0279_STR-VAM08 sy-vline
WA_E1P0279_STR-VTY08 sy-vline
WA_E1P0279_STR-VAE09 sy-vline
WA_E1P0279_STR-VAM09 sy-vline
WA_E1P0279_STR-VTY09 sy-vline
WA_E1P0279_STR-VAE10 sy-vline
WA_E1P0279_STR-VAM10 sy-vline
WA_E1P0279_STR-VTY10 sy-vline
WA_E1P0279_STR-VAE11 sy-vline
WA_E1P0279_STR-VAM11 sy-vline
WA_E1P0279_STR-VTY11 sy-vline
WA_E1P0279_STR-VAE12 sy-vline
WA_E1P0279_STR-VAM12 sy-vline
WA_E1P0279_STR-VTY12 sy-vline
WA_E1P0279_STR-VAE13 sy-vline
WA_E1P0279_STR-VAM13 sy-vline
WA_E1P0279_STR-VTY13 sy-vline
WA_E1P0279_STR-VAE14 sy-vline
WA_E1P0279_STR-VAM14 sy-vline
WA_E1P0279_STR-VTY14 sy-vline
WA_E1P0279_STR-VAE15 sy-vline
WA_E1P0279_STR-VAM15 sy-vline
WA_E1P0279_STR-VTY15 sy-vline
WA_E1P0279_STR-VAE16 sy-vline
WA_E1P0279_STR-VAM16 sy-vline
WA_E1P0279_STR-VTY16 sy-vline
WA_E1P0279_STR-VAE17 sy-vline
WA_E1P0279_STR-VAM17 sy-vline
WA_E1P0279_STR-VTY17 sy-vline
WA_E1P0279_STR-VAE18 sy-vline
WA_E1P0279_STR-VAM18 sy-vline
WA_E1P0279_STR-VTY18 sy-vline
WA_E1P0279_STR-VAE19 sy-vline
WA_E1P0279_STR-VAM19 sy-vline
WA_E1P0279_STR-VTY19 sy-vline
WA_E1P0279_STR-VAE20 sy-vline
WA_E1P0279_STR-VAM20 sy-vline
WA_E1P0279_STR-VTY20 sy-vline
WA_E1P0279_STR-VAE01_470 sy-vline
WA_E1P0279_STR-VAM01_470 sy-vline
WA_E1P0279_STR-VAE02_470 sy-vline
WA_E1P0279_STR-VAM02_470 sy-vline
WA_E1P0279_STR-VAE03_470 sy-vline
WA_E1P0279_STR-VAM03_470 sy-vline
WA_E1P0279_STR-VAE04_470 sy-vline
WA_E1P0279_STR-VAM04_470 sy-vline
WA_E1P0279_STR-VAE05_470 sy-vline
WA_E1P0279_STR-VAM05_470 sy-vline
WA_E1P0279_STR-VAE06_470 sy-vline
WA_E1P0279_STR-VAM06_470 sy-vline
WA_E1P0279_STR-VAE07_470 sy-vline
WA_E1P0279_STR-VAM07_470 sy-vline
WA_E1P0279_STR-VAE08_470 sy-vline
WA_E1P0279_STR-VAM08_470 sy-vline
WA_E1P0279_STR-VAE09_470 sy-vline
WA_E1P0279_STR-VAM09_470 sy-vline
WA_E1P0279_STR-VAE10_470 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.