Skip to end of metadata
Go to start of metadata


This page provides information about the process of how the Material / Product is transferred from the ERP system to the SCM/APO system using the Core Interface function (CIF). The current description will focus on transferring materials exclusively and details the highlights in the code where usually the problems occur at APO side.

This page will NOT focus on the Cross Interface Function customizing, setup and related problems. For such information please see: SAP Help / Core Interface and the SCM Core Interface (CIF) and BAPIs Wiki Page.


  • Material Master: Materials can be created in ERP using the UI eg. in MM01 and adjusted in MM02 transaction. If the Integration Model (IM) and change pointers are correctly set up and active, then changes made on an ERP material will be reflected on the APO product. Such changes trigger the CIF process to transfer the data changes to the APO system. An initial transfer sends all the current material data regardless of any change has been made to the material master since the last transfer or it has remained intact.
  • More info about change Pointers: SAP Help / Changes to Master Data

Setup an integration model for a material data transfer at ERP (ECC) Side:

    • CFM1 - Create Integration Model, Program name: RIMODGEN


    • CFM2 - Activate Integration Model, Program name: RIMODACT    / Background Transaction: CFM3, Report: RIMODAC2, Initial transfer report: RIMODINI More info note: 533755 /

    • Check details

    • There are some cases when the material is not included in the model (eg. in case of larger IMs). Therefore the material is not transferred via CIF. The ''details'' view can reveal and allow a search for the respected material number to verify its existence in the model.

    • Activate the model - this step will initiate the data transfer of the IM

    • After the  transfer the products and product locations will shortly be reflected in the SCM system's /N/SAPAPO/MAT1 transaction and the APO Product Master tables.
      The table which connects ERP and SCM Products is: /SAPAPO/MATMAP. For more info about the APO product tables please check the Products and Materials Wiki.

    • CFM5 - Search for Filter Objects in Integration Model - You can look for object to verify if they are included in an active IM

Main Code Parts:

Function Module: CIF_PRODUCT_SEND > It hands over the data from ERP to the SCM side

User exit at ERP side to enhance product transfer via CIF: EXIT_SAPLCMAT_001 (via SMOD = CIFMAT01 / Components)

Function Module: /SAPAPO/CIF_PROD_INBOUND > It receives the data to SCM side

  • SMOD_APOCF005 > Inbound processing BAdi (Tr: SE18) called from /SAPAPO/CIF_PROD_INBOUND at line: CALL METHOD lv_badi->exit_/sapapo/saplcif_prod_001.
    Product names and other attributes can be customized here. Eg. in case of more than one systems are connected to the SCM system and they have identical product names. These identical names from different systems can be overwritten in this BAdi, therefore can be distinguished in the SCM system. It is also possible to aggregate different materials to one product etc.

Debugging a material data transfer during Integration Model Activation:

  • CFC2 - You can set up the RFC user for eg. debugging, which is important for troubleshooting
  • Before activation of the integration model in CFM2 or CFM9 hit the /h command to the command line
  • After activation of the IM, the debugger opens: set the breakpoint to FM: CIF_PRODUCT_SEND - line CALL FUNCTION 'CIF_SER_MESSAGE_SERIALIZE' and drive the program to stop there.
  • Now override the LV_NOSEND variable to 'S' and let the code go with ''Execute'' F8. See below illustration:

  • This will take you back to the CFM2 UI where you can access to the ''stopped'' RFC queue at SCM by pressing the ''qRFC monitor'' button. You can also open the qRFC monitor from SMQ1 or SMQ2 transaction directly from the SCM system.

Troubleshooting / debugging a material data transfer from a failed or stopped queue:

  • SMQ1 (ECC-Outbound) or SMQ2 (SCM-Inbound) transaction -> select and open queue number -> it shows to /SAPAPO/CIF_PROD_INBOUND function module -> select line and click on debug
    Note: The error messages are usually self-explanatory or correctly explain why the transfer has been failed
    Note: During debugging a breakpoint can be placed to the error message number to localize which code part called it and why.

  • The first thing to check in /SAPAPO/CIF_PROD_INBOUND are the IT_CIF_MATKEY and IT_CIF_MATLOC variable's contents. These are including the Product numbers and their attributes.

  • The upcoming parts in the code:
    • CALL METHOD lv_badi->exit_/sapapo/saplcif_prod_001  > The SMOD_APOCF005 is called
      CALL FUNCTION '/SAPAPO/DM_PRODUCTS_MAINTAIN'   > Products are maintained in the database incl. change document registration. Enhancement option: EXIT_SAPMMDUSER_005
      • Function Modules: /SAPAPO/DM_PRODUCTS_POST (database operations) and /SAPAPO/DM_PROD_POST
    • CALL FUNCTION '/SAPAPO/DM_SUP_PLANT_MAINTAIN'  > Maintain Supplying Plant

Frequent problems:

  1. Changes are not transferred from ERP to SCM. For example you change a field of your Material in ERP, but the respective field is not transferred to SCM. The change date also remains intact. You may also tried initial activation of the integration model, but still, the transfer does not occur. Most cases the object is not included in the integration model.
      • Please verify in transaction CFM2 that the model details include you object. You can do this by:
          • 1. clicking on the active model with the mouse.
          • 2. push details
          • 3. select the relevant row and click on the number of objects
          • 4. use filter on the column and search the object (eg. material number)
          • This move reveals if the object is included in the model. If you realize that the object is missing, please make sure to extend the model and re-generate and re-activate it. The changes will be transfered then.


          2. Some CIF product transfer fails due to entry duplications or inconsistencies between the receiving product tables. To explore such inconsistencies the respective product number (MATNR) and the GUID (MATID) can be cross-checked in the product master data tables. If necessary there are inconsistency removal reports can be used. Please find the tables and reports in: Products and Materials

Detailed troubleshooting is available at the Guided Answer tree.

For CIF transfer related error messages, that are not detailed in the SMQ2 transaction, you can search in transaction SLG1 with the object: ''CIFSCM''

Related Documents

Change Pointer Setup Example

Related SAP Notes/KBAs

/SAPAPO/MAT213 > 793080 - CIF: Product transfer without reference material (RMATP) for packaging



  • No labels