ABAP Select data from SAP table EASIMREF 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 EASIMREF 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 EASIMREF. 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 EASIMREF 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_EASIMREF TYPE STANDARD TABLE OF EASIMREF,
      WA_EASIMREF TYPE EASIMREF,
      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: <EASIMREF> TYPE EASIMREF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EASIMREF
*  INTO TABLE @DATA(IT_EASIMREF2).
*--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_EASIMREF INDEX 1 INTO DATA(WA_EASIMREF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EASIMREF ASSIGNING <EASIMREF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EASIMREF>-SERVICE = 1.
<EASIMREF>-SERVICETEXT = 1.
<EASIMREF>-SIMLINEKEY = 1.
<EASIMREF>-SIMLINEKEYTXT = 1.
<EASIMREF>-SIMMODE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EASIMREF-BILL_DOC_ORG, sy-vline,
WA_EASIMREF-ERCH, sy-vline,
WA_EASIMREF-MANDT, sy-vline,
WA_EASIMREF-BELNR, sy-vline,
WA_EASIMREF-BUKRS, sy-vline,
WA_EASIMREF-SPARTE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EASIMREF 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_EASIMREF 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_EASIMREF INTO WA_EASIMREF. *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 BELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EASIMREF-BELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EASIMREF-BELNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit HH_MM, internal->external for field EROETIM CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_EASIMREF-EROETIM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EASIMREF-EROETIM.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field MAINDOCNO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EASIMREF-MAINDOCNO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EASIMREF-MAINDOCNO.
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_EASIMREF_STR,
SERVICE TYPE STRING,
SERVICETEXT TYPE STRING,
SIMLINEKEY TYPE STRING,
SIMLINEKEYTXT TYPE STRING,
SIMMODE TYPE STRING,
BILL_DOC_ORG TYPE STRING,
ERCH TYPE STRING,
MANDT TYPE STRING,
BELNR TYPE STRING,
BUKRS TYPE STRING,
SPARTE TYPE STRING,
GPARTNER TYPE STRING,
VKONT TYPE STRING,
VERTRAG TYPE STRING,
BEGABRPE TYPE STRING,
ENDABRPE TYPE STRING,
ABRDATS TYPE STRING,
ADATSOLL TYPE STRING,
PTERMTDAT TYPE STRING,
BELEGDAT TYPE STRING,
ABWVK TYPE STRING,
BELNRALT TYPE STRING,
STORNODAT TYPE STRING,
ABRVORG TYPE STRING,
HVORG TYPE STRING,
KOFIZ TYPE STRING,
PORTION TYPE STRING,
FORMULAR TYPE STRING,
SIMULATION TYPE STRING,
BELEGART TYPE STRING,
BERGRUND TYPE STRING,
BEGNACH TYPE STRING,
TOBRELEASD TYPE STRING,
TXJCD TYPE STRING,
KONZVER TYPE STRING,
EROETIM TYPE STRING,
ERCHO_V TYPE STRING,
ERCHZ_V TYPE STRING,
ERCHU_V TYPE STRING,
ERCHR_V TYPE STRING,
ERCHC_V TYPE STRING,
ERCHV_V TYPE STRING,
ERCHT_V TYPE STRING,
ERCHP_V TYPE STRING,
ERCHE_V TYPE STRING,
ABRVORG2 TYPE STRING,
ABLEINH TYPE STRING,
ENDPRIO TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
BEGRU TYPE STRING,
LOEVM TYPE STRING,
ABRDATSU TYPE STRING,
ABRVORGU TYPE STRING,
N_INVSEP TYPE STRING,
ABPOPBEL TYPE STRING,
MANBILLREL TYPE STRING,
BACKBI TYPE STRING,
PERENDBI TYPE STRING,
NUMPERBB TYPE STRING,
BEGEND TYPE STRING,
ENDOFBB TYPE STRING,
ENDOFPEB TYPE STRING,
NUMPERPEB TYPE STRING,
SC_BELNR_H TYPE STRING,
SC_BELNR_N TYPE STRING,
ZUORDDAA TYPE STRING,
BILLINGRUNNO TYPE STRING,
SIMRUNID TYPE STRING,
KTOKLASSE TYPE STRING,
ORIGDOC TYPE STRING,
NOCANC TYPE STRING,
ABSCHLPAN TYPE STRING,
MEM_OPBEL TYPE STRING,
MEM_BUDAT TYPE STRING,
EXBILLDOCNO TYPE STRING,
BCREASON TYPE STRING,
NINVOICE TYPE STRING,
NBILLREL TYPE STRING,
CORRECTION_DATE TYPE STRING,
BASDYPER TYPE STRING,
ESTINBILL TYPE STRING,
ESTINBILLU TYPE STRING,
ESTINBILL_SAV TYPE STRING,
ESTINBILL_USAV TYPE STRING,
ACTPERIOD TYPE STRING,
ACTPERORG TYPE STRING,
EZAWE TYPE STRING,
DAUBUCH TYPE STRING,
FDGRP TYPE STRING,
BILLING_PERIOD TYPE STRING,
OSB_GROUP TYPE STRING,
BP_BILL TYPE STRING,
DUMMY_UTILBILLGDOC_INCL_EEW_TS TYPE STRING,
MAINDOCNO TYPE STRING,
INSTGRTYPE TYPE STRING,
INSTROLE TYPE STRING,
MDUSREQUESTID TYPE STRING,
ASBACH_REL TYPE STRING,
ISU2CI_CATEGORY TYPE STRING,
COLOGRP_INST TYPE STRING,
COLOGRP_INST_L TYPE STRING,
COLOGRP_BP_TAX TYPE STRING,
IERCHR TYPE STRING,
IERCHU TYPE STRING,
IERCHZ TYPE STRING,
IERCHC TYPE STRING,
IERCHO TYPE STRING,
IERCHV TYPE STRING,
IERCHT TYPE STRING,
IERCHP TYPE STRING,
IERCHE TYPE STRING,
SIMERROR TYPE STRING,
REF TYPE STRING,END OF T_EKKO_STR. DATA: WA_EASIMREF_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_EASIMREF_STR-SERVICE sy-vline
WA_EASIMREF_STR-SERVICETEXT sy-vline
WA_EASIMREF_STR-SIMLINEKEY sy-vline
WA_EASIMREF_STR-SIMLINEKEYTXT sy-vline
WA_EASIMREF_STR-SIMMODE sy-vline
WA_EASIMREF_STR-BILL_DOC_ORG sy-vline
WA_EASIMREF_STR-ERCH sy-vline
WA_EASIMREF_STR-MANDT sy-vline
WA_EASIMREF_STR-BELNR sy-vline
WA_EASIMREF_STR-BUKRS sy-vline
WA_EASIMREF_STR-SPARTE sy-vline
WA_EASIMREF_STR-GPARTNER sy-vline
WA_EASIMREF_STR-VKONT sy-vline
WA_EASIMREF_STR-VERTRAG sy-vline
WA_EASIMREF_STR-BEGABRPE sy-vline
WA_EASIMREF_STR-ENDABRPE sy-vline
WA_EASIMREF_STR-ABRDATS sy-vline
WA_EASIMREF_STR-ADATSOLL sy-vline
WA_EASIMREF_STR-PTERMTDAT sy-vline
WA_EASIMREF_STR-BELEGDAT sy-vline
WA_EASIMREF_STR-ABWVK sy-vline
WA_EASIMREF_STR-BELNRALT sy-vline
WA_EASIMREF_STR-STORNODAT sy-vline
WA_EASIMREF_STR-ABRVORG sy-vline
WA_EASIMREF_STR-HVORG sy-vline
WA_EASIMREF_STR-KOFIZ sy-vline
WA_EASIMREF_STR-PORTION sy-vline
WA_EASIMREF_STR-FORMULAR sy-vline
WA_EASIMREF_STR-SIMULATION sy-vline
WA_EASIMREF_STR-BELEGART sy-vline
WA_EASIMREF_STR-BERGRUND sy-vline
WA_EASIMREF_STR-BEGNACH sy-vline
WA_EASIMREF_STR-TOBRELEASD sy-vline
WA_EASIMREF_STR-TXJCD sy-vline
WA_EASIMREF_STR-KONZVER sy-vline
WA_EASIMREF_STR-EROETIM sy-vline
WA_EASIMREF_STR-ERCHO_V sy-vline
WA_EASIMREF_STR-ERCHZ_V sy-vline
WA_EASIMREF_STR-ERCHU_V sy-vline
WA_EASIMREF_STR-ERCHR_V sy-vline
WA_EASIMREF_STR-ERCHC_V sy-vline
WA_EASIMREF_STR-ERCHV_V sy-vline
WA_EASIMREF_STR-ERCHT_V sy-vline
WA_EASIMREF_STR-ERCHP_V sy-vline
WA_EASIMREF_STR-ERCHE_V sy-vline
WA_EASIMREF_STR-ABRVORG2 sy-vline
WA_EASIMREF_STR-ABLEINH sy-vline
WA_EASIMREF_STR-ENDPRIO sy-vline
WA_EASIMREF_STR-ERDAT sy-vline
WA_EASIMREF_STR-ERNAM sy-vline
WA_EASIMREF_STR-AEDAT sy-vline
WA_EASIMREF_STR-AENAM sy-vline
WA_EASIMREF_STR-BEGRU sy-vline
WA_EASIMREF_STR-LOEVM sy-vline
WA_EASIMREF_STR-ABRDATSU sy-vline
WA_EASIMREF_STR-ABRVORGU sy-vline
WA_EASIMREF_STR-N_INVSEP sy-vline
WA_EASIMREF_STR-ABPOPBEL sy-vline
WA_EASIMREF_STR-MANBILLREL sy-vline
WA_EASIMREF_STR-BACKBI sy-vline
WA_EASIMREF_STR-PERENDBI sy-vline
WA_EASIMREF_STR-NUMPERBB sy-vline
WA_EASIMREF_STR-BEGEND sy-vline
WA_EASIMREF_STR-ENDOFBB sy-vline
WA_EASIMREF_STR-ENDOFPEB sy-vline
WA_EASIMREF_STR-NUMPERPEB sy-vline
WA_EASIMREF_STR-SC_BELNR_H sy-vline
WA_EASIMREF_STR-SC_BELNR_N sy-vline
WA_EASIMREF_STR-ZUORDDAA sy-vline
WA_EASIMREF_STR-BILLINGRUNNO sy-vline
WA_EASIMREF_STR-SIMRUNID sy-vline
WA_EASIMREF_STR-KTOKLASSE sy-vline
WA_EASIMREF_STR-ORIGDOC sy-vline
WA_EASIMREF_STR-NOCANC sy-vline
WA_EASIMREF_STR-ABSCHLPAN sy-vline
WA_EASIMREF_STR-MEM_OPBEL sy-vline
WA_EASIMREF_STR-MEM_BUDAT sy-vline
WA_EASIMREF_STR-EXBILLDOCNO sy-vline
WA_EASIMREF_STR-BCREASON sy-vline
WA_EASIMREF_STR-NINVOICE sy-vline
WA_EASIMREF_STR-NBILLREL sy-vline
WA_EASIMREF_STR-CORRECTION_DATE sy-vline
WA_EASIMREF_STR-BASDYPER sy-vline
WA_EASIMREF_STR-ESTINBILL sy-vline
WA_EASIMREF_STR-ESTINBILLU sy-vline
WA_EASIMREF_STR-ESTINBILL_SAV sy-vline
WA_EASIMREF_STR-ESTINBILL_USAV sy-vline
WA_EASIMREF_STR-ACTPERIOD sy-vline
WA_EASIMREF_STR-ACTPERORG sy-vline
WA_EASIMREF_STR-EZAWE sy-vline
WA_EASIMREF_STR-DAUBUCH sy-vline
WA_EASIMREF_STR-FDGRP sy-vline
WA_EASIMREF_STR-BILLING_PERIOD sy-vline
WA_EASIMREF_STR-OSB_GROUP sy-vline
WA_EASIMREF_STR-BP_BILL sy-vline
WA_EASIMREF_STR-DUMMY_UTILBILLGDOC_INCL_EEW_TS sy-vline
WA_EASIMREF_STR-MAINDOCNO sy-vline
WA_EASIMREF_STR-INSTGRTYPE sy-vline
WA_EASIMREF_STR-INSTROLE sy-vline
WA_EASIMREF_STR-MDUSREQUESTID sy-vline
WA_EASIMREF_STR-ASBACH_REL sy-vline
WA_EASIMREF_STR-ISU2CI_CATEGORY sy-vline
WA_EASIMREF_STR-COLOGRP_INST sy-vline
WA_EASIMREF_STR-COLOGRP_INST_L sy-vline
WA_EASIMREF_STR-COLOGRP_BP_TAX sy-vline
WA_EASIMREF_STR-IERCHR sy-vline
WA_EASIMREF_STR-IERCHU sy-vline
WA_EASIMREF_STR-IERCHZ sy-vline
WA_EASIMREF_STR-IERCHC sy-vline
WA_EASIMREF_STR-IERCHO sy-vline
WA_EASIMREF_STR-IERCHV sy-vline
WA_EASIMREF_STR-IERCHT sy-vline
WA_EASIMREF_STR-IERCHP sy-vline
WA_EASIMREF_STR-IERCHE sy-vline
WA_EASIMREF_STR-SIMERROR sy-vline
WA_EASIMREF_STR-REF sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.