How to Best Understand the CIF aka The Core Interface

Last Updated on March 1, 2021 by Shaun Snapp

Executive Summary

  • CIF is the integration component between APO and SAP ERP. We cover how to create integration models in the CIF, understanding outbound and inbound queues, how to interpret CIF errors, and the CIF Queue Manager.
  • There is much to learn about the CIF regarding the real story and the importance of the CIF administrator.

apo-to-erp-integration

Introduction: Understanding the CIF

The CIF is the integration between APO and ECC. You will learn how the CIF is configured and used.

Lack of Financial Bias Notice: We have not financial ties to SAP or any other entity mentioned in this article.

  • This is published by a research entity.
  • Second, no one paid for this article to be written, and it is not pretending to inform you while being rigged to sell you software or consulting services. Unlike nearly every other article you will find from Google on this topic, it has had no input from any company's marketing or sales department. 

What is the CIF?

The CIF integrates SAP ERP and APO. The CIF (or core interface) is the standard method by which you move data between APO and ECC. The systems are “loosely coupled.” That is that master data and transaction data must be transferred between the systems periodically and in only a few situations (such as GATP) is immediate interaction necessary. APO becomes increasingly transactionally oriented; we can see the CIF being increasingly transactionally real time. 

Whether the CIF is ready for that is hard to say. It is by in large not a very effective solution to many problems, especially in the area of error checking (which has been significantly enhanced in 5.1, but its functionality still lags open even source tools). And is the worst middleware software I can recall using or ever seeing demonstrated.

The CIF is both a frontend (GUI) and a container where multiple (Remote Function Calls) RFCs that are batched into logical units of work that are collected for a data transfer using the core interface CIF. CIF has its configuration transaction (PIMG) This is a highly recommended transaction to go into for managing the CIF; it is much more efficient than going into SPRO and does not waste your time navigating through items that have nothing to do with the CIF. However, it does not have any extra functionality over that of SPRO; it is just a specialized transaction to give you access to all ECC CIF functionality and nothing else.

cif-interactions-common

Here you can see the CIF is the central integrating component for all the APO modules. 

SAP makes a big deal about the CIF but is doing nothing more sophisticated than what other people who work in integration or I do with simple AWK scripts and UNIX batch jobs. Companies are live for years and have the CIF as a continual maintenance item. For years SAP used the Core Interface (CIF), an adapter between SAP ERP and APO, to convince companies that they were offering a truly integrated solution. And that businesses should never use best of breed applications that were better than APO’s modules because they were not “integrated to SAP.” However, as a person who moves between different SAP accounts, often attempting to improve APO implementations, I can say unequivocally that the CIF has been nothing like advertised by SAP sales or by large consulting companies.

As much as everyone hates working with the CIF is an unfortunate fact of life for APO projects, and this post is assuming you decide to use the CIF. It is going to be painful, but let’s get on with it.

I found a nice slide on the CIF from SlideShare, so we thought we would start there.

cif-intro.jpg

One of the advantages of using A is that you can “CIF” or send over data from SAP ERP, where it is often maintained as the system of record (although that can change per implementation). CIF always requires configuration and often some enhancements. However, it is the standard integration harness between APO and SAP ERP. The integration includes:

From SAP ERP to APO Master Data

  1. Plant
  2. Material Master
  3. BOM / PPM / iPPE
  4. Schedule Agreement

Transaction Data

  1. Requirements
  2. Planned Orders
  3. Production Orders
  4. Purchase orders
  5. Confirmations

From APO to SAP ERP Transactional Data

  1. Purchase Order Req
  2. Stock Transfer Order Req
  3. Production Order
  4. Planned Order
  5. ATP Request

Integration Models

There is also a primary organizing principle, the integration models that should be followed. SAP recommends the following:

  1. ATP customizing and product allocation customizing
  2. Plants
  3. Characteristics and Classes
  4. Material Masters and Characteristics and Classes
  5. MRP Areas, Material Masters for MRP Areas, Characteristics, and Classes
  6. Planning Product
  7. Availability Check
  8. Product Allocation
  9. Customer and Suppliers
  10. Work Centers
  11. PPM
  12. Schedule Agreement, Contracts, Purchase Info Records,

CIF uses a queuing system (like other middleware products) and comes with a consistency checking transaction that allows for the monitoring of the transfer.

Often much of the following paragraphs have been set up already if you arrive on a site. However, if not, this work has to be done before you even go into the CIF and start creating integration models. They are both on the APO side and the ECC side. We will address the ECC configuration first.

ERP Side of the CIF

The SAP ERP side of the CIF is much bigger with more transactions and much more feature rich. The first we will look at is Name Logical Systems.

SAP ERP SPRO – SAP Customizing Implementation Guide – Integration with Other MySAP Components – Advanced Planning and Optimization – Name Logical System

ecc-cif-name-logical-systems.jpg
Next is assigning to a client.

ecc-spro-cif-assign-to-a-client.jpg
Next, setting up an RFC destination is SM59.

ecc-rfc-destination-setup.jpg
After the RFC destination has been created, we assign it to application cases.

Go to this path…

ECC SPRO – SAP Customizing Implementation Guide – Integration with Other MySAP Components – Advanced Planning and Optimization – Assign RFC Destination to Different Application Cases

SAP SCM Implementation Guide – Advanced Planning and Optimization – Master Data – Integration with SAP Components

SAP SCM Implementation Guide – Advanced Planning and Optimization – Master Data – Integration with SAP Components – Integration via Core Interface (CIF) – Assign Logical Systems to a Client

SPRO – Integration with other mySAP Components – Advanced Planning and Optimization – Application Specific Settings and Enhancements

SAP SCM Implementation Guide – Integration with SAP Components – Integration via Core Interface – Basic Settings for Creating the System Landscape – Assign Logical System and Queue Type

scm-spro-bsg-2.jpg

However, a logical system can only be assigned to one BSG, as you can see from the error below.

Go to this path…

SAP SCM Implementation Guide – Integration with SAP Components – Integration via Core Interface – Basic Settings for Creating the System Landscape – Maintain Business System Group

Logistics – Central Functions – Supply Chain Planning Interface – Core Interface Advanced Planner and Optimizer – Monitoring – qRFC MonitorThe qRFC Outbound Queue

Logistics – Central Functions – Supply Chain Planning Interface – Core Interface Advanced Planner and Optimizer – Monitoring – Application Log

APO SPRO – Integration with SAP Components – Integration Via Core Interface – Basic Settings for Data Transfer – Publication – Maintain Distribution Definition

Enterprise Structure – Definition – Materials Management – Maintain Storage Location.

SPRO – Materials Management – Consumptive Based Planning – Master Data – MRP Areas – Define MRP Areas

Integration with Other mySAP.com Components – Advanced Planning and Optimization – Application Specific Settings and Enhancements – Settings and Enhancements for Sales Orders – Settings for Vendor Managed Inventory VMI – Assign Sales Orders and Order Type to Ordering Party/Plant

 

While this functionality has been moved to the CIF, interestingly, another portion does not move through the CIF – that is, the sales transactions.

“Similar to that of the plant, stock movements will be modeled via stock transport requests in SNP and PP/DS. When it is time to deploy and ship, SAP SCM can instruct SAP ECC to convert stock transports to sales orders. This functionality is the reason for the addition of the VMI tab.” – SCM215

Now we will want to create an integration model to move the customer over to SCM and see if it is picked up as a location type 1010. Underneath Material Independent Objects, we find the selection of Customers. We want to CIF our one customer over.

ecc-cif-integration-model-customers1.jpg

We will activate and run the model with (CFM2) and not bother looking at the error log as the CIF error log always seems to have some problem. Now we can see the customer has been created.

scm-customer-check1.jpg

 

Supplier/Vendor Creation and Transfer

The supplier is just another location (type 1020). Let’s start by creating our Supplier.

ecc-vendor-create1.jpg

Now we will transfer to CFM2 by typing /nCFM2.

However, we keep getting an error on the address of the Vendor. This error is critical as it prevents the activation of the integration model. We do have the address field filled in, so the actual problem is not apparent to us. We learned that we had left errors and a blocked message queue even after we changed vendors, we received the old error.

ecc-cif-all-inclusive-error1.jpg

So we goto the qRFC Monitor and delete the queue.

Conclusion

To start, it is essential to have comprehensive CIF transactions. Strangely, as it would not appear as if we have to bring over plants and materials into APO each time, although it seems we do have to. We seem to get more errors in the CIF when we try to just bring the transactional objects (POs in this case) without the associated master data.

This was an introduction to the CIF. For more on the CIF, see other posts that show use using the CIF to bring data between the systems.