ABAP Select data from SAP table E101COD_S_SLS_ITEM_DATA 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 E101COD_S_SLS_ITEM_DATA 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 E101COD_S_SLS_ITEM_DATA. 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 E101COD_S_SLS_ITEM_DATA 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_E101COD_S_SLS_ITEM_DATA TYPE STANDARD TABLE OF E101COD_S_SLS_ITEM_DATA,
      WA_E101COD_S_SLS_ITEM_DATA TYPE E101COD_S_SLS_ITEM_DATA,
      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: <E101COD_S_SLS_ITEM_DATA> TYPE E101COD_S_SLS_ITEM_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM E101COD_S_SLS_ITEM_DATA
*  INTO TABLE @DATA(IT_E101COD_S_SLS_ITEM_DATA2).
*--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_E101COD_S_SLS_ITEM_DATA INDEX 1 INTO DATA(WA_E101COD_S_SLS_ITEM_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_E101COD_S_SLS_ITEM_DATA ASSIGNING <E101COD_S_SLS_ITEM_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<E101COD_S_SLS_ITEM_DATA>-APPL_SNAME = 1.
<E101COD_S_SLS_ITEM_DATA>-OPERATION = 1.
<E101COD_S_SLS_ITEM_DATA>-DOC_NUMBER = 1.
<E101COD_S_SLS_ITEM_DATA>-ITM_NUMBER = 1.
<E101COD_S_SLS_ITEM_DATA>-MATERIAL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_E101COD_S_SLS_ITEM_DATA-MAT_ENTRD, sy-vline,
WA_E101COD_S_SLS_ITEM_DATA-PR_REF_MAT, sy-vline,
WA_E101COD_S_SLS_ITEM_DATA-BATCH, sy-vline,
WA_E101COD_S_SLS_ITEM_DATA-MATL_GROUP, sy-vline,
WA_E101COD_S_SLS_ITEM_DATA-SHORT_TEXT, sy-vline,
WA_E101COD_S_SLS_ITEM_DATA-ITEM_CATEG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_E101COD_S_SLS_ITEM_DATA 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_E101COD_S_SLS_ITEM_DATA 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_E101COD_S_SLS_ITEM_DATA INTO WA_E101COD_S_SLS_ITEM_DATA. *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_E101COD_S_SLS_ITEM_DATA_STR,
APPL_SNAME TYPE STRING,
OPERATION TYPE STRING,
DOC_NUMBER TYPE STRING,
ITM_NUMBER TYPE STRING,
MATERIAL TYPE STRING,
MAT_ENTRD TYPE STRING,
PR_REF_MAT TYPE STRING,
BATCH TYPE STRING,
MATL_GROUP TYPE STRING,
SHORT_TEXT TYPE STRING,
ITEM_CATEG TYPE STRING,
ITEM_TYPE TYPE STRING,
REL_FOR_DE TYPE STRING,
REL_FOR_BI TYPE STRING,
HG_LV_ITEM TYPE STRING,
ALTERN_ITM TYPE STRING,
REA_FOR_RE TYPE STRING,
PROD_HIER TYPE STRING,
OUT_AGR_TA TYPE STRING,
TARGET_QTY TYPE STRING,
TARGET_QU TYPE STRING,
T_UNIT_ISO TYPE STRING,
TARG_QTY_N TYPE STRING,
TARG_QTY_D TYPE STRING,
BASE_UOM TYPE STRING,
T_BAS_UNIT TYPE STRING,
SCALE_QUAN TYPE STRING,
ROUND_DLV TYPE STRING,
RECON_DATE TYPE STRING,
MAX_DEVIAT TYPE STRING,
PO_ITM_NO TYPE STRING,
CUST_MAT22 TYPE STRING,
MAX_DEV_PE TYPE STRING,
MAX_DEV_DA TYPE STRING,
REPAIR_PRO TYPE STRING,
DLVSCHEDUS TYPE STRING,
DLV_GROUP TYPE STRING,
FIXED_QUAN TYPE STRING,
DELI_UNLIM TYPE STRING,
OVER_DLV_T TYPE STRING,
UNDER_DLV TYPE STRING,
BILL_BLOCK TYPE STRING,
REPLACE_PT TYPE STRING,
METH_BILL TYPE STRING,
DIVISION TYPE STRING,
BUS_AREA TYPE STRING,
NET_VALUE TYPE STRING,
CURRENCY TYPE STRING,
CURREN_ISO TYPE STRING,
MAX_PL_DLV TYPE STRING,
PART_DLV TYPE STRING,
BTCH_SPLIT TYPE STRING,
REQ_QTY TYPE STRING,
CUM_REQ_DE TYPE STRING,
CUM_CF_QTY TYPE STRING,
CUM_CON_QU TYPE STRING,
SALES_UNIT TYPE STRING,
ISOCODUNIT TYPE STRING,
SALES_QTY1 TYPE STRING,
SALES_QTY2 TYPE STRING,
GROSS_WEIG TYPE STRING,
NET_WEIGHT TYPE STRING,
UNIT_OF_WT TYPE STRING,
UNIT_WTISO TYPE STRING,
VOLUME TYPE STRING,
VOLUMEUNIT TYPE STRING,
VOLUNITISO TYPE STRING,
CAU_VBELN TYPE STRING,
CAU_POSNR TYPE STRING,
REF_DOC TYPE STRING,
POSNR_VOR TYPE STRING,
OBJ_COPY TYPE STRING,
UPDAT_FLAG TYPE STRING,
END_RULE TYPE STRING,
DLV_PRIO TYPE STRING,
PLANT TYPE STRING,
STGE_LOC TYPE STRING,
SHIP_POINT TYPE STRING,
ROUTE TYPE STRING,
KEY_ST TYPE STRING,
DATE_ST TYPE STRING,
NBR_ST TYPE STRING,
STPOS_VBAP TYPE STRING,
ORDER_PROB TYPE STRING,
CREAT_DATE TYPE STRING,
CREATED_BY TYPE STRING,
REC_TIME TYPE STRING,
TAX_CLASS1 TYPE STRING,
TAX_CLASS2 TYPE STRING,
TAX_CLASS3 TYPE STRING,
TAX_CLASS4 TYPE STRING,
TAX_CLASS5 TYPE STRING,
TAX_CLASS6 TYPE STRING,
TAX_CLASS7 TYPE STRING,
TAX_CLASS8 TYPE STRING,
TAX_CLASS9 TYPE STRING,
FIX_SP_DAY TYPE STRING,
VAR_SP_DAY TYPE STRING,
PREC_DOC TYPE STRING,
NET_PRICE TYPE STRING,
COND_P_UNT TYPE STRING,
COND_UNIT TYPE STRING,
CONISOUNIT TYPE STRING,
RETOURE TYPE STRING,
CASH_DISC TYPE STRING,
AVAILCHECK TYPE STRING,
SUM_REQUIR TYPE STRING,
MAT_PR_GRP TYPE STRING,
ACCT_ASSGT TYPE STRING,
REBATE_GRP TYPE STRING,
COMM_GROUP TYPE STRING,
EUR_ART_NR TYPE STRING,
PRICE_OK TYPE STRING,
VAL_TYPE TYPE STRING,
SEP_VALUAT TYPE STRING,
BATCH_MGMT TYPE STRING,
IND_BTCH TYPE STRING,
MIN_DELY TYPE STRING,
UPDATE_GRP TYPE STRING,
COST_DOC_C TYPE STRING,
SUBTOT_PP1 TYPE STRING,
SUBTOT_PP2 TYPE STRING,
SUBTOT_PP3 TYPE STRING,
SUBTOT_PP4 TYPE STRING,END OF T_EKKO_STR. DATA: WA_E101COD_S_SLS_ITEM_DATA_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_E101COD_S_SLS_ITEM_DATA_STR-APPL_SNAME sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-OPERATION sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DOC_NUMBER sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ITM_NUMBER sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MATERIAL sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAT_ENTRD sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PR_REF_MAT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BATCH sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MATL_GROUP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SHORT_TEXT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ITEM_CATEG sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ITEM_TYPE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REL_FOR_DE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REL_FOR_BI sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-HG_LV_ITEM sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ALTERN_ITM sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REA_FOR_RE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PROD_HIER sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-OUT_AGR_TA sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TARGET_QTY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TARGET_QU sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-T_UNIT_ISO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TARG_QTY_N sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TARG_QTY_D sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BASE_UOM sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-T_BAS_UNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SCALE_QUAN sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ROUND_DLV sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-RECON_DATE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAX_DEVIAT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PO_ITM_NO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CUST_MAT22 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAX_DEV_PE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAX_DEV_DA sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REPAIR_PRO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DLVSCHEDUS sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DLV_GROUP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-FIXED_QUAN sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DELI_UNLIM sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-OVER_DLV_T sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-UNDER_DLV sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BILL_BLOCK sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REPLACE_PT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-METH_BILL sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DIVISION sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BUS_AREA sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-NET_VALUE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CURRENCY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CURREN_ISO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAX_PL_DLV sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PART_DLV sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BTCH_SPLIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REQ_QTY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CUM_REQ_DE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CUM_CF_QTY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CUM_CON_QU sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SALES_UNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ISOCODUNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SALES_QTY1 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SALES_QTY2 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-GROSS_WEIG sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-NET_WEIGHT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-UNIT_OF_WT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-UNIT_WTISO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-VOLUME sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-VOLUMEUNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-VOLUNITISO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CAU_VBELN sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CAU_POSNR sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REF_DOC sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-POSNR_VOR sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-OBJ_COPY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-UPDAT_FLAG sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-END_RULE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DLV_PRIO sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PLANT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-STGE_LOC sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SHIP_POINT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ROUTE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-KEY_ST sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-DATE_ST sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-NBR_ST sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-STPOS_VBAP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ORDER_PROB sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CREAT_DATE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CREATED_BY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REC_TIME sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS1 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS2 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS3 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS4 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS5 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS6 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS7 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS8 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-TAX_CLASS9 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-FIX_SP_DAY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-VAR_SP_DAY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PREC_DOC sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-NET_PRICE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-COND_P_UNT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-COND_UNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CONISOUNIT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-RETOURE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-CASH_DISC sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-AVAILCHECK sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SUM_REQUIR sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MAT_PR_GRP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-ACCT_ASSGT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-REBATE_GRP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-COMM_GROUP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-EUR_ART_NR sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-PRICE_OK sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-VAL_TYPE sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SEP_VALUAT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-BATCH_MGMT sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-IND_BTCH sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-MIN_DELY sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-UPDATE_GRP sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-COST_DOC_C sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SUBTOT_PP1 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SUBTOT_PP2 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SUBTOT_PP3 sy-vline
WA_E101COD_S_SLS_ITEM_DATA_STR-SUBTOT_PP4 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.