ABAP Select data from SAP table E1EDD12 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 E1EDD12 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 E1EDD12. 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 E1EDD12 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_E1EDD12 TYPE STANDARD TABLE OF E1EDD12,
      WA_E1EDD12 TYPE E1EDD12,
      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: <E1EDD12> TYPE E1EDD12.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM E1EDD12
*  INTO TABLE @DATA(IT_E1EDD122).
*--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_E1EDD12 INDEX 1 INTO DATA(WA_E1EDD122).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_E1EDD12 ASSIGNING <E1EDD12>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<E1EDD12>-STOSU = 1.
<E1EDD12>-COTMP = 1.
<E1EDD12>-TPCUN = 1.
<E1EDD12>-EMTMP = 1.
<E1EDD12>-TPEUN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_E1EDD12-FLTMP, sy-vline,
WA_E1EDD12-TPFUN, sy-vline,
WA_E1EDD12-TPSNL, sy-vline,
WA_E1EDD12-TPSLU, sy-vline,
WA_E1EDD12-TPSNH, sy-vline,
WA_E1EDD12-TPSHU, sy-vline.
ENDLOOP. *Add any further fields from structure WA_E1EDD12 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_E1EDD12 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_E1EDD12 INTO WA_E1EDD12. *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_E1EDD12_STR,
STOSU TYPE STRING,
COTMP TYPE STRING,
TPCUN TYPE STRING,
EMTMP TYPE STRING,
TPEUN TYPE STRING,
FLTMP TYPE STRING,
TPFUN TYPE STRING,
TPSNL TYPE STRING,
TPSLU TYPE STRING,
TPSNH TYPE STRING,
TPSHU TYPE STRING,
COWE TYPE STRING,
VBFC TYPE STRING,
SDCL TYPE STRING,
SOOWA TYPE STRING,
USOOW TYPE STRING,
DENFEE TYPE STRING,
UDENFE TYPE STRING,
DENTWE TYPE STRING,
UDENTWE TYPE STRING,
DENFIF TYPE STRING,
UDENFI TYPE STRING,
BUDEN TYPE STRING,
UBUDE TYPE STRING,
BOPOI TYPE STRING,
UBOPO TYPE STRING,
VISCO TYPE STRING,
UVISC TYPE STRING,
STPRES TYPE STRING,
USTPRE TYPE STRING,
HYGRO TYPE STRING,
MEPOI TYPE STRING,
UMEPO TYPE STRING,
COOEX TYPE STRING,
UCOOE TYPE STRING,
MTMPF TYPE STRING,
UMTMP TYPE STRING,
PAI TYPE STRING,
PAIU TYPE STRING,
PAO TYPE STRING,
PAOU TYPE STRING,
RQA TYPE STRING,
RQU TYPE STRING,
MINQ TYPE STRING,
MINU TYPE STRING,
MAXQ TYPE STRING,
MAXU TYPE STRING,
RELQ TYPE STRING,
RELU TYPE STRING,
MULRQ TYPE STRING,
RCHEM TYPE STRING,
STOPA TYPE STRING,
PASI TYPE STRING,
UPASI TYPE STRING,
PAGW TYPE STRING,
UPAGW TYPE STRING,
MIOWA TYPE STRING,
UMIOW TYPE STRING,
RQA2 TYPE STRING,
RQU2 TYPE STRING,
EXPL_NET TYPE STRING,
EXPL_NET_U TYPE STRING,
EXPL_REL_PERCENT TYPE STRING,
ACTVTY_MAX TYPE STRING,
ACTVTY_MAX_U TYPE STRING,
ACTVTY_MAX_REL TYPE STRING,
ACTVTY_MAX_REL_U TYPE STRING,
TRANSP_INDEX TYPE STRING,
CRIT_SAF_INDEX TYPE STRING,
PACKAGE_CAT TYPE STRING,
ACTVTY_SINGLE_A2 TYPE STRING,
LTSK TYPE STRING,
EMV TYPE STRING,
FSAK TYPE STRING,
SFK TYPE STRING,
MUNAKODE TYPE STRING,
EXNUMBER TYPE STRING,
PINEQ TYPE STRING,
EXC_QUANT_IP TYPE STRING,
EXC_QUANT_IP_U TYPE STRING,
EXC_QUANT_OP TYPE STRING,
EXC_QUANT_OP_U TYPE STRING,
DANLAB01 TYPE STRING,
DANLAB02 TYPE STRING,
DANLAB03 TYPE STRING,
DANLAB04 TYPE STRING,
DANLAB05 TYPE STRING,
DANLAB06 TYPE STRING,
DANLAB07 TYPE STRING,END OF T_EKKO_STR. DATA: WA_E1EDD12_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_E1EDD12_STR-STOSU sy-vline
WA_E1EDD12_STR-COTMP sy-vline
WA_E1EDD12_STR-TPCUN sy-vline
WA_E1EDD12_STR-EMTMP sy-vline
WA_E1EDD12_STR-TPEUN sy-vline
WA_E1EDD12_STR-FLTMP sy-vline
WA_E1EDD12_STR-TPFUN sy-vline
WA_E1EDD12_STR-TPSNL sy-vline
WA_E1EDD12_STR-TPSLU sy-vline
WA_E1EDD12_STR-TPSNH sy-vline
WA_E1EDD12_STR-TPSHU sy-vline
WA_E1EDD12_STR-COWE sy-vline
WA_E1EDD12_STR-VBFC sy-vline
WA_E1EDD12_STR-SDCL sy-vline
WA_E1EDD12_STR-SOOWA sy-vline
WA_E1EDD12_STR-USOOW sy-vline
WA_E1EDD12_STR-DENFEE sy-vline
WA_E1EDD12_STR-UDENFE sy-vline
WA_E1EDD12_STR-DENTWE sy-vline
WA_E1EDD12_STR-UDENTWE sy-vline
WA_E1EDD12_STR-DENFIF sy-vline
WA_E1EDD12_STR-UDENFI sy-vline
WA_E1EDD12_STR-BUDEN sy-vline
WA_E1EDD12_STR-UBUDE sy-vline
WA_E1EDD12_STR-BOPOI sy-vline
WA_E1EDD12_STR-UBOPO sy-vline
WA_E1EDD12_STR-VISCO sy-vline
WA_E1EDD12_STR-UVISC sy-vline
WA_E1EDD12_STR-STPRES sy-vline
WA_E1EDD12_STR-USTPRE sy-vline
WA_E1EDD12_STR-HYGRO sy-vline
WA_E1EDD12_STR-MEPOI sy-vline
WA_E1EDD12_STR-UMEPO sy-vline
WA_E1EDD12_STR-COOEX sy-vline
WA_E1EDD12_STR-UCOOE sy-vline
WA_E1EDD12_STR-MTMPF sy-vline
WA_E1EDD12_STR-UMTMP sy-vline
WA_E1EDD12_STR-PAI sy-vline
WA_E1EDD12_STR-PAIU sy-vline
WA_E1EDD12_STR-PAO sy-vline
WA_E1EDD12_STR-PAOU sy-vline
WA_E1EDD12_STR-RQA sy-vline
WA_E1EDD12_STR-RQU sy-vline
WA_E1EDD12_STR-MINQ sy-vline
WA_E1EDD12_STR-MINU sy-vline
WA_E1EDD12_STR-MAXQ sy-vline
WA_E1EDD12_STR-MAXU sy-vline
WA_E1EDD12_STR-RELQ sy-vline
WA_E1EDD12_STR-RELU sy-vline
WA_E1EDD12_STR-MULRQ sy-vline
WA_E1EDD12_STR-RCHEM sy-vline
WA_E1EDD12_STR-STOPA sy-vline
WA_E1EDD12_STR-PASI sy-vline
WA_E1EDD12_STR-UPASI sy-vline
WA_E1EDD12_STR-PAGW sy-vline
WA_E1EDD12_STR-UPAGW sy-vline
WA_E1EDD12_STR-MIOWA sy-vline
WA_E1EDD12_STR-UMIOW sy-vline
WA_E1EDD12_STR-RQA2 sy-vline
WA_E1EDD12_STR-RQU2 sy-vline
WA_E1EDD12_STR-EXPL_NET sy-vline
WA_E1EDD12_STR-EXPL_NET_U sy-vline
WA_E1EDD12_STR-EXPL_REL_PERCENT sy-vline
WA_E1EDD12_STR-ACTVTY_MAX sy-vline
WA_E1EDD12_STR-ACTVTY_MAX_U sy-vline
WA_E1EDD12_STR-ACTVTY_MAX_REL sy-vline
WA_E1EDD12_STR-ACTVTY_MAX_REL_U sy-vline
WA_E1EDD12_STR-TRANSP_INDEX sy-vline
WA_E1EDD12_STR-CRIT_SAF_INDEX sy-vline
WA_E1EDD12_STR-PACKAGE_CAT sy-vline
WA_E1EDD12_STR-ACTVTY_SINGLE_A2 sy-vline
WA_E1EDD12_STR-LTSK sy-vline
WA_E1EDD12_STR-EMV sy-vline
WA_E1EDD12_STR-FSAK sy-vline
WA_E1EDD12_STR-SFK sy-vline
WA_E1EDD12_STR-MUNAKODE sy-vline
WA_E1EDD12_STR-EXNUMBER sy-vline
WA_E1EDD12_STR-PINEQ sy-vline
WA_E1EDD12_STR-EXC_QUANT_IP sy-vline
WA_E1EDD12_STR-EXC_QUANT_IP_U sy-vline
WA_E1EDD12_STR-EXC_QUANT_OP sy-vline
WA_E1EDD12_STR-EXC_QUANT_OP_U sy-vline
WA_E1EDD12_STR-DANLAB01 sy-vline
WA_E1EDD12_STR-DANLAB02 sy-vline
WA_E1EDD12_STR-DANLAB03 sy-vline
WA_E1EDD12_STR-DANLAB04 sy-vline
WA_E1EDD12_STR-DANLAB05 sy-vline
WA_E1EDD12_STR-DANLAB06 sy-vline
WA_E1EDD12_STR-DANLAB07 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.