ABAP Select data from SAP table IMATCOV 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 IMATCOV 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 IMATCOV. 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 IMATCOV 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_IMATCOV TYPE STANDARD TABLE OF IMATCOV,
      WA_IMATCOV TYPE IMATCOV,
      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: <IMATCOV> TYPE IMATCOV.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IMATCOV
*  INTO TABLE @DATA(IT_IMATCOV2).
*--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_IMATCOV INDEX 1 INTO DATA(WA_IMATCOV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IMATCOV ASSIGNING <IMATCOV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IMATCOV>-MANDT = 1.
<IMATCOV>-MRPPLANT = 1.
<IMATCOV>-MRPAREA = 1.
<IMATCOV>-MATERIAL = 1.
<IMATCOV>-MRPPLANNINGSEGMENT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IMATCOV-MRPPLANNINGSEGMENTTYPE, sy-vline,
WA_IMATCOV-MATERIALSHORTAGEPROFILE, sy-vline,
WA_IMATCOV-MATERIALSHORTAGEPROFILECOUNT, sy-vline,
WA_IMATCOV-FACTORYCALENDAR, sy-vline,
WA_IMATCOV-SUPPLIER, sy-vline,
WA_IMATCOV-MRPPLANNINGSEGMENTEXTERNALCODE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IMATCOV 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_IMATCOV 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_IMATCOV INTO WA_IMATCOV. *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 MATN1, internal->external for field MATERIAL CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_IMATCOV-MATERIAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-MATERIAL.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit CUNIT, internal->external for field MATERIALBASEUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_IMATCOV-MATERIALBASEUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-MATERIALBASEUNIT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ISOLA, internal->external for field PLANTLANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_IMATCOV-PLANTLANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-PLANTLANGUAGE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ABPSN, internal->external for field PROJECTNETWORK CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING input = WA_IMATCOV-PROJECTNETWORK IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-PROJECTNETWORK.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ABPSN, internal->external for field PROJECT CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING input = WA_IMATCOV-PROJECT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-PROJECT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ABPSN, internal->external for field WBSELEMENT CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING input = WA_IMATCOV-WBSELEMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-WBSELEMENT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field CROSSPLANTCONFIGURABLEPRODUCT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_IMATCOV-CROSSPLANTCONFIGURABLEPRODUCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IMATCOV-CROSSPLANTCONFIGURABLEPRODUCT.
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_IMATCOV_STR,
MANDT TYPE STRING,
MRPPLANT TYPE STRING,
MRPAREA TYPE STRING,
MATERIAL TYPE STRING,
MRPPLANNINGSEGMENT TYPE STRING,
MRPPLANNINGSEGMENTTYPE TYPE STRING,
MATERIALSHORTAGEPROFILE TYPE STRING,
MATERIALSHORTAGEPROFILECOUNT TYPE STRING,
FACTORYCALENDAR TYPE STRING,
SUPPLIER TYPE STRING,
MRPPLANNINGSEGMENTEXTERNALCODE TYPE STRING,
MATERIALNAME TYPE STRING,
MATERIALBASEUNIT TYPE STRING,
MRPCONTROLLER TYPE STRING,
MRPAVAILABLESTOCKQTY TYPE STRING,
MATERIALSHORTAGEQUANTITY TYPE STRING,
EVALUATIONHORIZONINDAYS TYPE STRING,
MATERIALSHORTAGEDEFINITIONNAME TYPE STRING,
MATERIALSHORTAGESTARTDATE TYPE STRING,
MATERIALSHORTAGEENDDATE TYPE STRING,
MATERIALSHORTAGEDURATION TYPE STRING,
MATERIALSHORTAGEDURNINWORKDAYS TYPE STRING,
DAYSOFSUPPLYCOVERAGEPERCENT TYPE STRING,
MATLMAXCOVERAGEDURNINWORKDAYS TYPE STRING,
NUMBEROFSHORTAGESPERSEGMENT TYPE STRING,
MINAVAILQTYOVERCOMPLETEHRZN TYPE STRING,
MATERIALFIRSTSHORTAGEDATE TYPE STRING,
MATERIALFIRSTSHORTAGEDATEQTY TYPE STRING,
DAYSOFSUPPLYDURATION TYPE STRING,
INTRADAYSUPPLYDURATION TYPE STRING,
MATERIALPROCUREMENTPROFILE TYPE STRING,
MATERIALPROCUREMENTCATEGORY TYPE STRING,
MRPTYPE TYPE STRING,
MATERIALPLANNEDDELIVERYDURN TYPE STRING,
MATERIALPLANNEDPRODUCTIONDURN TYPE STRING,
MRPSAFETYDURATION TYPE STRING,
PLANNINGTIMEFENCEINDAYS TYPE STRING,
MATERIALGOODSRECEIPTDURATION TYPE STRING,
MATERIALGROUP TYPE STRING,
MATERIALGROUPNAME TYPE STRING,
MRPGROUP TYPE STRING,
PURCHASINGGROUP TYPE STRING,
TOTALREPLENISHMENTLEADDURATION TYPE STRING,
MATERIALTYPE TYPE STRING,
MATERIALTYPENAME TYPE STRING,
MATERIALABCCLASSIFICATION TYPE STRING,
MATERIALSAFETYSTOCKQTY TYPE STRING,
MATERIALREPLNMTLEADDURNENDDATE TYPE STRING,
TOTALREPLNMTLEADDURNENDDATE TYPE STRING,
MANUALPLANNINGHORIZONENDDATE TYPE STRING,
MRPSAFETYDURATIONENDDATE TYPE STRING,
CUSTOMER TYPE STRING,
CUSTOMERNAME TYPE STRING,
NUMBEROFSUPPLIER TYPE STRING,
AVAILABILITYCHART TYPE STRING,
WEEKLYAVAILABILITYCHART TYPE STRING,
HASMATERIALSHORTAGEREPLNMTLEAD TYPE STRING,
HASSHORTAGETOTALREPLNMTLEAD TYPE STRING,
HASSHORTAGEMANUALPLANHORIZON TYPE STRING,
HASSHORTAGEMRPSAFETYDURATION TYPE STRING,
TIMETILLSHORTAGEINCALENDARDAYS TYPE STRING,
PLANTLANGUAGE TYPE STRING,
MRPVALIDMATERIALSTATUS TYPE STRING,
SCHEDULEAGREEMENTHASRELEASEDOC TYPE STRING,
MATERIALCOMPISPROCUREDDIRECTLY TYPE STRING,
PROJECTNETWORK TYPE STRING,
PROJECTINTERNALID TYPE STRING,
PROJECT TYPE STRING,
PROJECTDESCRIPTION TYPE STRING,
WBSELEMENTINTERNALID TYPE STRING,
WBSELEMENT TYPE STRING,
WBSDESCRIPTION TYPE STRING,
RESPONSIBLEPERSON TYPE STRING,
RESPONSIBLEPERSONNAME TYPE STRING,
PLANNINGSEGMENTDOCUMENT TYPE STRING,
PLANNINGSEGMENTDOCUMENTITEM TYPE STRING,
ISMARKEDFORDELETION TYPE STRING,
LOWLEVELCODE TYPE STRING,
HASACCEPTEDSHORTAGE TYPE STRING,
UNITOFMEASUREDSPNMBROFDCMLS TYPE STRING,
UNITOFMEASURENUMBEROFDECIMALS TYPE STRING,
PRODUCTIONPRODUCTHIERARCHY TYPE STRING,
PRODUCTIONPRODUCTHIERARCHYNODE TYPE STRING,
CROSSPLANTCONFIGURABLEPRODUCT TYPE STRING,
SEGMENTATIONSTRATEGY TYPE STRING,
SEGMENTATIONISRELEVANT TYPE STRING,END OF T_EKKO_STR. DATA: WA_IMATCOV_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_IMATCOV_STR-MANDT sy-vline
WA_IMATCOV_STR-MRPPLANT sy-vline
WA_IMATCOV_STR-MRPAREA sy-vline
WA_IMATCOV_STR-MATERIAL sy-vline
WA_IMATCOV_STR-MRPPLANNINGSEGMENT sy-vline
WA_IMATCOV_STR-MRPPLANNINGSEGMENTTYPE sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEPROFILE sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEPROFILECOUNT sy-vline
WA_IMATCOV_STR-FACTORYCALENDAR sy-vline
WA_IMATCOV_STR-SUPPLIER sy-vline
WA_IMATCOV_STR-MRPPLANNINGSEGMENTEXTERNALCODE sy-vline
WA_IMATCOV_STR-MATERIALNAME sy-vline
WA_IMATCOV_STR-MATERIALBASEUNIT sy-vline
WA_IMATCOV_STR-MRPCONTROLLER sy-vline
WA_IMATCOV_STR-MRPAVAILABLESTOCKQTY sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEQUANTITY sy-vline
WA_IMATCOV_STR-EVALUATIONHORIZONINDAYS sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEDEFINITIONNAME sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGESTARTDATE sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEENDDATE sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEDURATION sy-vline
WA_IMATCOV_STR-MATERIALSHORTAGEDURNINWORKDAYS sy-vline
WA_IMATCOV_STR-DAYSOFSUPPLYCOVERAGEPERCENT sy-vline
WA_IMATCOV_STR-MATLMAXCOVERAGEDURNINWORKDAYS sy-vline
WA_IMATCOV_STR-NUMBEROFSHORTAGESPERSEGMENT sy-vline
WA_IMATCOV_STR-MINAVAILQTYOVERCOMPLETEHRZN sy-vline
WA_IMATCOV_STR-MATERIALFIRSTSHORTAGEDATE sy-vline
WA_IMATCOV_STR-MATERIALFIRSTSHORTAGEDATEQTY sy-vline
WA_IMATCOV_STR-DAYSOFSUPPLYDURATION sy-vline
WA_IMATCOV_STR-INTRADAYSUPPLYDURATION sy-vline
WA_IMATCOV_STR-MATERIALPROCUREMENTPROFILE sy-vline
WA_IMATCOV_STR-MATERIALPROCUREMENTCATEGORY sy-vline
WA_IMATCOV_STR-MRPTYPE sy-vline
WA_IMATCOV_STR-MATERIALPLANNEDDELIVERYDURN sy-vline
WA_IMATCOV_STR-MATERIALPLANNEDPRODUCTIONDURN sy-vline
WA_IMATCOV_STR-MRPSAFETYDURATION sy-vline
WA_IMATCOV_STR-PLANNINGTIMEFENCEINDAYS sy-vline
WA_IMATCOV_STR-MATERIALGOODSRECEIPTDURATION sy-vline
WA_IMATCOV_STR-MATERIALGROUP sy-vline
WA_IMATCOV_STR-MATERIALGROUPNAME sy-vline
WA_IMATCOV_STR-MRPGROUP sy-vline
WA_IMATCOV_STR-PURCHASINGGROUP sy-vline
WA_IMATCOV_STR-TOTALREPLENISHMENTLEADDURATION sy-vline
WA_IMATCOV_STR-MATERIALTYPE sy-vline
WA_IMATCOV_STR-MATERIALTYPENAME sy-vline
WA_IMATCOV_STR-MATERIALABCCLASSIFICATION sy-vline
WA_IMATCOV_STR-MATERIALSAFETYSTOCKQTY sy-vline
WA_IMATCOV_STR-MATERIALREPLNMTLEADDURNENDDATE sy-vline
WA_IMATCOV_STR-TOTALREPLNMTLEADDURNENDDATE sy-vline
WA_IMATCOV_STR-MANUALPLANNINGHORIZONENDDATE sy-vline
WA_IMATCOV_STR-MRPSAFETYDURATIONENDDATE sy-vline
WA_IMATCOV_STR-CUSTOMER sy-vline
WA_IMATCOV_STR-CUSTOMERNAME sy-vline
WA_IMATCOV_STR-NUMBEROFSUPPLIER sy-vline
WA_IMATCOV_STR-AVAILABILITYCHART sy-vline
WA_IMATCOV_STR-WEEKLYAVAILABILITYCHART sy-vline
WA_IMATCOV_STR-HASMATERIALSHORTAGEREPLNMTLEAD sy-vline
WA_IMATCOV_STR-HASSHORTAGETOTALREPLNMTLEAD sy-vline
WA_IMATCOV_STR-HASSHORTAGEMANUALPLANHORIZON sy-vline
WA_IMATCOV_STR-HASSHORTAGEMRPSAFETYDURATION sy-vline
WA_IMATCOV_STR-TIMETILLSHORTAGEINCALENDARDAYS sy-vline
WA_IMATCOV_STR-PLANTLANGUAGE sy-vline
WA_IMATCOV_STR-MRPVALIDMATERIALSTATUS sy-vline
WA_IMATCOV_STR-SCHEDULEAGREEMENTHASRELEASEDOC sy-vline
WA_IMATCOV_STR-MATERIALCOMPISPROCUREDDIRECTLY sy-vline
WA_IMATCOV_STR-PROJECTNETWORK sy-vline
WA_IMATCOV_STR-PROJECTINTERNALID sy-vline
WA_IMATCOV_STR-PROJECT sy-vline
WA_IMATCOV_STR-PROJECTDESCRIPTION sy-vline
WA_IMATCOV_STR-WBSELEMENTINTERNALID sy-vline
WA_IMATCOV_STR-WBSELEMENT sy-vline
WA_IMATCOV_STR-WBSDESCRIPTION sy-vline
WA_IMATCOV_STR-RESPONSIBLEPERSON sy-vline
WA_IMATCOV_STR-RESPONSIBLEPERSONNAME sy-vline
WA_IMATCOV_STR-PLANNINGSEGMENTDOCUMENT sy-vline
WA_IMATCOV_STR-PLANNINGSEGMENTDOCUMENTITEM sy-vline
WA_IMATCOV_STR-ISMARKEDFORDELETION sy-vline
WA_IMATCOV_STR-LOWLEVELCODE sy-vline
WA_IMATCOV_STR-HASACCEPTEDSHORTAGE sy-vline
WA_IMATCOV_STR-UNITOFMEASUREDSPNMBROFDCMLS sy-vline
WA_IMATCOV_STR-UNITOFMEASURENUMBEROFDECIMALS sy-vline
WA_IMATCOV_STR-PRODUCTIONPRODUCTHIERARCHY sy-vline
WA_IMATCOV_STR-PRODUCTIONPRODUCTHIERARCHYNODE sy-vline
WA_IMATCOV_STR-CROSSPLANTCONFIGURABLEPRODUCT sy-vline
WA_IMATCOV_STR-SEGMENTATIONSTRATEGY sy-vline
WA_IMATCOV_STR-SEGMENTATIONISRELEVANT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.