ABAP Select data from SAP table MIG_CMDS_EI_SALES 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 MIG_CMDS_EI_SALES 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 MIG_CMDS_EI_SALES. 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 MIG_CMDS_EI_SALES 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_MIG_CMDS_EI_SALES TYPE STANDARD TABLE OF MIG_CMDS_EI_SALES,
      WA_MIG_CMDS_EI_SALES TYPE MIG_CMDS_EI_SALES,
      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: <MIG_CMDS_EI_SALES> TYPE MIG_CMDS_EI_SALES.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM MIG_CMDS_EI_SALES
*  INTO TABLE @DATA(IT_MIG_CMDS_EI_SALES2).
*--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_MIG_CMDS_EI_SALES INDEX 1 INTO DATA(WA_MIG_CMDS_EI_SALES2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_MIG_CMDS_EI_SALES ASSIGNING <MIG_CMDS_EI_SALES>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<MIG_CMDS_EI_SALES>-VKORGKEY = 1.
<MIG_CMDS_EI_SALES>-VTWEGKEY = 1.
<MIG_CMDS_EI_SALES>-SPARTKEY = 1.
<MIG_CMDS_EI_SALES>-BEGRUDAT = 1.
<MIG_CMDS_EI_SALES>-LOEVMDAT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_MIG_CMDS_EI_SALES-VERSGDAT, sy-vline,
WA_MIG_CMDS_EI_SALES-AUFSDDAT, sy-vline,
WA_MIG_CMDS_EI_SALES-KALKSDAT, sy-vline,
WA_MIG_CMDS_EI_SALES-KDGRPDAT, sy-vline,
WA_MIG_CMDS_EI_SALES-BZIRKDAT, sy-vline,
WA_MIG_CMDS_EI_SALES-KONDADAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_MIG_CMDS_EI_SALES 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_MIG_CMDS_EI_SALES 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_MIG_CMDS_EI_SALES INTO WA_MIG_CMDS_EI_SALES. *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.

*Conversion exit ALPHA, internal->external for field VSORTDAT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-VSORTDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-VSORTDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTRG, internal->external for field PODTGDAT CALL FUNCTION 'CONVERSION_EXIT_TSTRG_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-PODTGDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-PODTGDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field FSH_MSOCDCDAT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-FSH_MSOCDCDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-FSH_MSOCDCDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ID004, internal->external for field INCO2_KEYDAT CALL FUNCTION 'CONVERSION_EXIT_ID004_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-INCO2_KEYDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-INCO2_KEYDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ID004, internal->external for field INCO3_KEYDAT CALL FUNCTION 'CONVERSION_EXIT_ID004_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-INCO3_KEYDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-INCO3_KEYDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ID004, internal->external for field INCO4_KEYDAT CALL FUNCTION 'CONVERSION_EXIT_ID004_OUTPUT' EXPORTING input = WA_MIG_CMDS_EI_SALES-INCO4_KEYDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MIG_CMDS_EI_SALES-INCO4_KEYDAT.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_MIG_CMDS_EI_SALES_STR,
VKORGKEY TYPE STRING,
VTWEGKEY TYPE STRING,
SPARTKEY TYPE STRING,
BEGRUDAT TYPE STRING,
LOEVMDAT TYPE STRING,
VERSGDAT TYPE STRING,
AUFSDDAT TYPE STRING,
KALKSDAT TYPE STRING,
KDGRPDAT TYPE STRING,
BZIRKDAT TYPE STRING,
KONDADAT TYPE STRING,
PLTYPDAT TYPE STRING,
AWAHRDAT TYPE STRING,
INCO1DAT TYPE STRING,
INCO2DAT TYPE STRING,
LIFSDDAT TYPE STRING,
AUTLFDAT TYPE STRING,
ANTLFDAT TYPE STRING,
KZTLFDAT TYPE STRING,
KZAZUDAT TYPE STRING,
CHSPLDAT TYPE STRING,
LPRIODAT TYPE STRING,
EIKTODAT TYPE STRING,
VSBEDDAT TYPE STRING,
FAKSDDAT TYPE STRING,
MRNKZDAT TYPE STRING,
PERFKDAT TYPE STRING,
PERRLDAT TYPE STRING,
WAERSDAT TYPE STRING,
KTGRDDAT TYPE STRING,
ZTERMDAT TYPE STRING,
VWERKDAT TYPE STRING,
VKGRPDAT TYPE STRING,
VKBURDAT TYPE STRING,
VSORTDAT TYPE STRING,
KVGR1DAT TYPE STRING,
KVGR2DAT TYPE STRING,
KVGR3DAT TYPE STRING,
KVGR4DAT TYPE STRING,
KVGR5DAT TYPE STRING,
BOKREDAT TYPE STRING,
KURSTDAT TYPE STRING,
PRFREDAT TYPE STRING,
KLABCDAT TYPE STRING,
KABSSDAT TYPE STRING,
KKBERDAT TYPE STRING,
CASSDDAT TYPE STRING,
RDOFFDAT TYPE STRING,
AGRELDAT TYPE STRING,
MEGRUDAT TYPE STRING,
UEBTODAT TYPE STRING,
UNTTODAT TYPE STRING,
UEBTKDAT TYPE STRING,
PVKSMDAT TYPE STRING,
PODKZDAT TYPE STRING,
PODTGDAT TYPE STRING,
BLINDDAT TYPE STRING,
PRAT1DAT TYPE STRING,
PRAT2DAT TYPE STRING,
PRAT3DAT TYPE STRING,
PRAT4DAT TYPE STRING,
PRAT5DAT TYPE STRING,
PRAT6DAT TYPE STRING,
PRAT7DAT TYPE STRING,
PRAT8DAT TYPE STRING,
PRAT9DAT TYPE STRING,
PRATADAT TYPE STRING,
CVP_XBLCK_VDAT TYPE STRING,
INCOVDAT TYPE STRING,
INCO2_LDAT TYPE STRING,
INCO3_LDAT TYPE STRING,
FSH_KVGR6DAT TYPE STRING,
FSH_KVGR7DAT TYPE STRING,
FSH_KVGR8DAT TYPE STRING,
FSH_KVGR9DAT TYPE STRING,
FSH_KVGR10DAT TYPE STRING,
FSH_SC_CIDDAT TYPE STRING,
FSH_VAS_DETCDAT TYPE STRING,
FSH_VAS_CGDAT TYPE STRING,
FSH_SSDAT TYPE STRING,
FSH_FRATEDAT TYPE STRING,
FSH_FRATE_AGG_LEVELDAT TYPE STRING,
FSH_MSOCDCDAT TYPE STRING,
FSH_MSOPIDDAT TYPE STRING,
KNVV_EEW_CONTACTDAT TYPE STRING,
STATUS_OBJ_GUIDDAT TYPE STRING,
BILLPLAN_PROCDAT TYPE STRING,
RFM_PSST_RULEDAT TYPE STRING,
RFM_PSST_EXCLUDEDAT TYPE STRING,
KNVV_ADDR_EEW_CUSTDAT TYPE STRING,
INCO2_KEYDAT TYPE STRING,
INCO3_KEYDAT TYPE STRING,
INCO4_KEYDAT TYPE STRING,
FUNCTIONS TYPE STRING,
TEXTS TYPE STRING,
DOCUMENTS TYPE STRING,
SALES_ADDR TYPE STRING,END OF T_EKKO_STR. DATA: WA_MIG_CMDS_EI_SALES_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_MIG_CMDS_EI_SALES_STR-VKORGKEY sy-vline
WA_MIG_CMDS_EI_SALES_STR-VTWEGKEY sy-vline
WA_MIG_CMDS_EI_SALES_STR-SPARTKEY sy-vline
WA_MIG_CMDS_EI_SALES_STR-BEGRUDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-LOEVMDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VERSGDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-AUFSDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KALKSDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KDGRPDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-BZIRKDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KONDADAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PLTYPDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-AWAHRDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO1DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO2DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-LIFSDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-AUTLFDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-ANTLFDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KZTLFDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KZAZUDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-CHSPLDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-LPRIODAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-EIKTODAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VSBEDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FAKSDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-MRNKZDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PERFKDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PERRLDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-WAERSDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KTGRDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-ZTERMDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VWERKDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VKGRPDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VKBURDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-VSORTDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KVGR1DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KVGR2DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KVGR3DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KVGR4DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KVGR5DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-BOKREDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KURSTDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRFREDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KLABCDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KABSSDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KKBERDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-CASSDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-RDOFFDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-AGRELDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-MEGRUDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-UEBTODAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-UNTTODAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-UEBTKDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PVKSMDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PODKZDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PODTGDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-BLINDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT1DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT2DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT3DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT4DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT5DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT6DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT7DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT8DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRAT9DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-PRATADAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-CVP_XBLCK_VDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCOVDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO2_LDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO3_LDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_KVGR6DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_KVGR7DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_KVGR8DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_KVGR9DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_KVGR10DAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_SC_CIDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_VAS_DETCDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_VAS_CGDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_SSDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_FRATEDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_FRATE_AGG_LEVELDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_MSOCDCDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FSH_MSOPIDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KNVV_EEW_CONTACTDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-STATUS_OBJ_GUIDDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-BILLPLAN_PROCDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-RFM_PSST_RULEDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-RFM_PSST_EXCLUDEDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-KNVV_ADDR_EEW_CUSTDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO2_KEYDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO3_KEYDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-INCO4_KEYDAT sy-vline
WA_MIG_CMDS_EI_SALES_STR-FUNCTIONS sy-vline
WA_MIG_CMDS_EI_SALES_STR-TEXTS sy-vline
WA_MIG_CMDS_EI_SALES_STR-DOCUMENTS sy-vline
WA_MIG_CMDS_EI_SALES_STR-SALES_ADDR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.