Via la transaction SM58, visualisation des Remote Function Call ( RFC ) et de leur status.

Un RFC est une transaction exécuté dans SAP par un autre système, fait avec un user/password porté par l’application qui se connecte. Le user doit être valide et non-bloqué.

MD04 – Additional functionalities

source : https://blogs.sap.com/2014/11/04/explore-hidden-functions-in-md04/

MD04 has many hidden powerful and useful functions. Knowing them could make our daily work easier to evalute MRP results.

  1. Set a manual firming date.You can set a manual firming date by menu ‘Edit’ > ‘Set Firming Date’.

    Receipts lying before the firming date are firmed (an asterisk is added to the MRP element)and won’t be changed by MRP running.   For example, if you increase the PIR quantity to 10 and run MRP again, the firmed proposal (schedule line in this case) within 12.12.2014 is not changed. A new proposal is created to cover the requirement on the manual firming date.   

    Please note this is an examplle when using MRP type “PD” with blank firming type.  Read the F1 help of this field for restrictions and dependencies.
  2. Add additional navigation buttons

    You may also refer to the following SCN document with similar information:
    Icons for frequently used transactions in MD04You can add an additional navigation button for a particular MRP element by maintaining favorites, or add a series of buttons for different MRP elements by defining a navigation profile.– Maintaining favorites for an MRP element
      For example, display a purchase order in MD04.  Click the button ‘Maintain favorites’.

    Click button ‘New entries’.  You can maintain the fields by yourself or make use of existing examples by clicking button ‘Examples’.

    Check the result in MD04.  A new button is displayed which can lead you to transaction MDM2.

    – Navigation profile
    In MD04, go to menu ‘Settings’ > ‘Settings…’.

    Enter a navigation profile in tab ‘General settings’ > field ‘Navigation profile’

    Check MD04 again.  Additional buttons are added.

    Define or view a navigation profile. Go to SPRO > Production > Material Requirements Planning > Evaluation > Define Navigation Profiles

  3. Filter displayed MRP elementsIf there are many MRP elements displayed, you may want to use filter to display certain type of MRP elements. 
    – Display filter
      You can define a display filter in customizing : SPRO >  Production > Material Requirements Planning > Evaluation > Filter > Define Display Filter

    – Selection rule
    You can define a selection rule in customizing : SPRO >  Production > Material Requirements Planning > Evaluation > Filter > Define Selection Rules

    You can also configure whether you’d like to use filter by default when accessing MD04, menu ‘Settings’ > ‘Settings’.
    So what is the difference between ‘Display filter’ and ‘Selection rule’?  I’ll explain it with a simple example.– Original situation in MD04

    – Apply a display filter which only displays receipts

    – Apply a selection rule which only displays receipts

    As you can see, selction rule will affect the available quantity displayed in MD04.
  4. Material Grouping and Cross-Plant ViewSee the following blog post:
    Material Grouping and Cross-Plant View in the Stock/Requirement List(T-code MD04)



About BAPI:

BAPIs enable access to SAP functions across formal, stable and dialog-free interfaces. These interfaces can be used by external applications developed by customers and complementary software partners as well as by other SAP applications. Defined as API methods of SAP Business Object Types, these object types are used within the Business Framework to enable object-based communication between components.

Business objects and their BAPIs enable object orientation to be used in central information processing in companies. For example, existing functions and data can be re-used, trouble-free technical interoperability can be achieved and non-SAP components can be implemented. Applications can use BAPIs to directly access the application layer of the R/3 System and, as clients; applications can use the business logic of the R/3 System. BAPIs provide the client with an object-oriented view of the application objects without needing to know the implementation details. BAPIs are always developed by defining scenarios which are used to map and implement system-wide business processes.



BAPI_ROUTING_CREATE                                                                     Creation of a routing

BAPI_ROUTING_EXISTENCE_CHECK                                                Check existence of object

Reference operation set:

BAPI_REFSETOFOPERATIONS_CREATE                                           Creation of a reference operation set

BAPI_REFSETOFOPR_EXISTENCE_CHK                                           Check existence of reference operation set

Planned order:

BAPI_PLANNEDORDER_CHANGE                                                       Change Planned Order        

BAPI_PLANNEDORDER_CREATE                                                        Create Planned Order

BAPI_PLANNEDORDER_DELETE                                                        Delete Planned Order

BAPI_PLANNEDORDER_EXIST_CHECK                                              Check Existence of Object

BAPI_PLANNEDORDER_GET_DETAIL                                                 Get Details for Planned Order

BAPI_PLANNEDORDER_GET_DET_LIST                                            Get Detailed List

Planned Independent Requirement:

BAPI_REQUIREMENTS_CHANGE                                                        Change Planned Independent Requirement

BAPI_REQUIREMENTS_CREATE                                                        Create Planned Independent Requirement                                     

BAPI_REQUIREMENTS_GETDETAIL                                                   Display detail of P.I.R

Production order:

BAPI_PRODORD_WM_MAT_STAGING                                               WM Material Staging

BAPI_PRODORD_SETUSERSTATUS                                                 Set User Status

BAPI_PRODORD_SET_DEL_INDICATOR                                          Set Deletion Indicator

BAPI_PRODORD_SET_DELETION_FLAG                                         Set Deletion Indicator

BAPI_PRODORD_SCHEDULE                                                            Carry Out Scheduling

BAPI_PRODORD_REVOKEUSERSTATUS                                        Cancel User Status

BAPI_PRODORD_RELEASE                                                               Release

BAPI_PRODORD_GET_LIST                                                               List of Order Headers

BAPI_PRODORD_GET_DETAIL                                                          Order Detail Data

BAPI_PRODORD_EXIST_CHECK                                                       Existence Check

BAPI_PRODORD_CREATE_FROM_REF                                           Create with Template

BAPI_PRODORD_CREATE_FROM_PLORD                                     Create with Planned Order

BAPI_PRODORD_CREATE_CAP_REQ                                             Generate Capacity Requirement

BAPI_PRODORD_CREATE                                                                 Create Production Order

BAPI_PRODORD_COSTING                                                               Create Cost Estimate

BAPI_PRODORD_COMPLETE_TECH                                               Complete Technically

BAPI_PRODORD_CLOSE                                                                  Close Order

BAPI_PRODORD_CHECK_MAT_AVAIL                                              Check Material Availability

BAPI_PRODORD_CHANGE                                                                Change Production Order

Production order confirmation:

BAPI_PRODORDCONF_GET_TT_PROP                                          Propose data for time ticket confirmation

BAPI_PRODORDCONF_GET_TE_PROP                                          Propose data for time event confirmation

BAPI_PRODORDCONF_GETLIST                                                      Confirmation lists

BAPI_PRODORDCONF_GETDETAIL                                                 Detailed data for production order confirmation

BAPI_PRODORDCONF_GET_HDR_PROP                                       Propose data for order confirmation

BAPI_PRODORDCONF_EXIST_CHK                                                 Check existence of object

BAPI_PRODORDCONF_CREATE_TT                                                Enter time ticket confirmation

BAPI_PRODORDCONF_CREATE_TE                                                Enter time ticket confirmation

BAPI_PRODORDCONF_PDC_UPLOAD_TT                                      Transfer time ticket confirmations from PDC system

BAPI_PRODORDCONF_PDC_UPLOAD_TE                                     Transfer time ticket confirmations from PDC system

BAPI_PRODORDCONF_CREATE_HDR                                            Enter order confirmations

BAPI_PRODORDCONF_CREATE_ACT                                             Enter activity confirmation

BAPI_PRODORDCONF_CANCEL                                                      Cancel production order confirmation

BDC Download & Upload for production order:

BAPI_RCVPRORDCF_RECEIVEPRODORD                                   PP-PDC: Download production orders

BAPI_RCVPRORDCF_RECEIVEWORKC                                        PP-PDC: Download work centers

BAPI_RCVPRODCF_REQUEST_CONF                                           PP-PDC: Upload request


BAPI_KANBAN_CHANGE                                                                   Change Kanban Data

BAPI_KANBAN_CHANGESTATUS                                                     Change status of a kanban

BAPI_KANBAN_CHANGESTATUS1                                                   Change status of a kanban

BAPI_KANBAN_GETLIST                                                                   Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLIST_ALL                                                           Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLISTFORSUPPLIE1                                         Determination of Kanbans Matching Selection Criteria

BAPI_KANBAN_GETLISTFORSUPPLIER                                         Provide Kanban data for vendors

BAPI_KANBAN_SETINPROCESS                                                     Provide Kanban data for vendors


BAPI_KANBANCC_ADDEVENTDRKANBAN                                     Create Event-Driven KANBAN for Control Cycle    

BAPI_KANBANCC_CHANGE                                                            Change Control Cycle

BAPI_KANBANCC_CREATE                                                             Create Control Cycle

BAPI_KANBANCC_DELETE                                                             Delete Control Cycles

BAPI_KANBANCC_EXISTCHECK                                                    Check Existence of Control Cycle

BAPI_KANBANCC_GETLIST                                                             Determine Kanban Control Cycles with Selection Criteria

BAPI_KANBANCC_GETLIST_ALL                                                     Determine Kanban Control Cycles with Selection Criteria

BAPI_KANBANCC_WITHDRAWQUANTITY                                     Quantity Signal for Kanban Control Cycle

REM Confirmation:

BAPI_REPMANCONF_CANCEL                                                       Reverse REM Backflush

BAPI_REPMANCONF_CREATE_MTO                                             Execute Backflush in Sales Order Scenario

BAPI_REPMANCONF_CREATE_PLOT                                           Execute Backflush in Production Lot Scenario

BAPI_REPMANCONF_CREATE_MTS                                             Execute Backflush in Production Lot Scenario    

BAPI_REPMANCONF_EXIST_CHK                                                 Check Existence of Object

REM Confirmation1:

BAPI_REPMANCONF1_CANCEL                                                    Reverse REM Backflush

BAPI_REPMANCONF1_CREATE_MTO                                          Execute Backflush in Sales Order Scenario

BAPI_REPMANCONF1_CREATE_MTP                                          Execute Backflush in Production Lot Scenario

BAPI_REPMANCONF1_CREATE_MTS                                          Execute Backflush in Stock Scenario

BAPI_REPMANCONF1_EXIST_CHK                                              Check Existence of Object

Process order PI:

BAPI_PROCORD_WM_MAT_STAGING                                        WM Material Staging

BAPI_PROCORD_SETUSERSTATUS                                          Set User Status

BAPI_PROCORD_SET_DEL_INDICATOR                                   Set Deletion Indicator

BAPI_PROCORD_SET_DELETION_FLAG                                  Set Deletion Indicator

BAPI_PROCORD_SCHEDULE                                                     Carry Out Scheduling

BAPI_PROCORD_REVOKEUSERSTATUS                                 Cancel User Status

BAPI_PROCORD_RELEASE                                                        Release

BAPI_PROCORD_GET_LIST                                                        List of Order Headers

BAPI_PROCORD_GET_DETAIL                                                   List of Order Headers

BAPI_PROCORD_EXIST_CHECK                                               Existence Check

BAPI_PROCORD_CREATE_FROM_REF                                   Create with Template

BAPI_PROCORD_CREATE_FROM_PLORD                              Create with Planned Order

BAPI_PROCORD_CREATE_CAP_REQ                                     Generate Capacity Requirement

BAPI_PROCORD_CREATE                                                         Create Process Order

BAPI_PROCORD_COSTING                                                        Create Cost Estimate  

BAPI_PROCORD_COMPLETE_TECH                                        Complete Technically

BAPI_PROCORD_CLOSE                                                           Close Order

BAPI_PROCORD_CHECK_MAT_AVAIL                                       Check Material Availability

BAPI_PROCORD_CHANGE                                                         Change Process Order

Process Order Confirmation:

BAPI_PROCORDCONF_CANCEL                                          Cancel Process Order Confirmation

BAPI_PROCORDCONF_CREATE_ACT                                 Enter Activity Confirmation

BAPI_PROCORDCONF_CREATE_HDR                                Enter Order Confirmations

BAPI_PROCORDCONF_CREATE_TE                                   Enter Confirmation Time Events

BAPI_PROCORDCONF_CREATE_TT                                   Enter Time Ticket Confirmation

BAPI_PROCORDCONF_EXIST_CHK                                    Check Existence of Object

BAPI_PROCORDCONF_GET_HDR_PROP                          Propose Data for Order Confirmation

BAPI_PROCORDCONF_GETDETAIL                                    Detail Data for Process Order Confirmation

BAPI_PROCORDCONF_GETLIST                                         List of Confirmations for Process Orders

BAPI_PROCORDCONF_GET_TE_PROP                             Propose Data for Time Event Confirmation

BAPI_PROCORDCONF_GET_TT_PROP                             Propose Data for Time Ticket Confirmation

Process Characteristic PI:

BAPI_PROC_CHAR_GET_HELPVALUES                             Get Allowed Values for Process Characteristic

BAPI_PROC_CHAR_GET_LIST                                             Read Characteristic List Incl. Details

Process Message PI:

BAPI_PROCESS_MESSAGE_CREATEMLT                          Create process messages

BAPI_PROCESS_MESSAGE_CHK_EXIST                           Check process message existence

Control Recipe:

BAPI_CONTROL_RECIPE_GET_LIST                                   Read control recipe list

BAPI_CONTROL_RECIPE_REQUEST                                               Request and transfer control recipes

Consommer des composants

Quantités par défaut :

Backflushing simple (SLOC par défaut et Automatic Batch Determination) – ex : Typique des emballages secondaires (palette, film, etiquette Palette).

Backflushing guidé par Supply Area & Control cycle vers un emplacement WM, détermination auto du lot – Ex : Mise à dispo d’une palette dans l’emplacement par mouvement WM puis conso dessus.

« Branchement d’un lot » – Programme de MAJ en masse de tous les OF futurs contenant un composant pour indiquer le Batch dans l’OF (Ex : Branchement du tank de sauce, mise à jour du lot pour tous les OF futurs. Au prochain tank/lot branché, update de tous les OF en cours ou à venir).

Backflushing avec SLOC forcée (ex : Selection des silos source lors de l’ordo) et détermination automatique des lots.

Manuel : Via mouvement 261 direct, entrant quantité, lot, SLOC.

Manuel & Réintégration : Flashage d’une palette qui est consommée entièrement. Puis en fin d’OF, Réintégration du reste de palette (pesée ou comptage), nouvelle étiquette et remise en stock (ou conso dans le prochain OF). Compatible avec une traça forte (Ex : Bac de viandes/Farces)

Auto via PLC : Déclaration toutes les X minutes par le MES/Scada de la quantité pesée/comptée. SLOC source définie, Détermination automatique des lots.

Eclatement Palette puis conso par flashage : La palette est éclatée en sous unité, et chaque sous-unité est étiquetée. Conso par flashage des sous-unités.


WB – Starting stock

PA – Planned order

BR – Process order

PP – Independant Requirements

VC – Customer order

VJ – Outbound Delivery

LA – Inbound Delivery

LE – Schedule line

UR – Inbound Transfer reservations

MR – Material Reservation (Outbound)

U1 – Outgoing STO

U2 – Outgoing STR

SB – Dependant Requirements

AR – Order reservation

BB – Subcontracting Requirements

BA – Purchase Requisitions

BE – Purchase Order

Transfert IBP to ECC


SAP IBP Data Integration via CPI-DS – How to synchronize data from SAP IBP through webservice

FollowRSS feedLike2 Likes 1,148 View 1 Comment

In this blog, you will get an end to end case for how to synchronize data from SAP Integrated Business Planning for Supply Chain solution through webservice.

Let’s assume the following scenario: Planners want to maintenance some additional information in SAP IBP and send these data to SAP ERP Central Component (SAP ECC)’s Z-table. To implement this scenario, we need SAP Cloud Platform Integration for data services (CPI-DS) as a middleware to connect both SAP IBP and SAP ECC.  The data flow will be SAP IBP>>CPI-DS>>SAP ECC. Let’s have a look at how to complete this scenario step by step.

1. Webservice Part

Firstly, SAP ECC as a service provider need to publish a web service to receive the data which is sent by SAP IBP through CPI-DS. In this part, I will show you how to deal with these in SAP ECC side. If you have already known these steps, you can skip to CPI-DS part.

1.1 Define a Z-table and create an RFC to receive data.

We need to define a table to store the data sent from SAP IBP, in this example, table is named as ‘ZIBP_DATA_FLITER’. And then, we can use an RFC to receive the data.

1.2 Generate service definition

After the RFC ‘ZIBP_SET_DATA_FILTER’ have been created. We should create an enterprise service and follow the wizard to generate service definition.

1.3 Publish webservice

After that, you can use T-CODE: SOAMANAGER to publish webservice and get the WSDL URL.

Go to the web service configuration pageSelect your service definition ‘ZIBP_SRV_ECC_DATA_INBOUND’ and follow the wizard to create service.After you have created the service, you can use ‘open binding WSDL generation’ button to open binding page where you can get WSDL URL.You can use web browser to open this WSDL URL, like below. It means the service has been published.


If you find that the web page occurrs 403 error, like this:That means you need to active some services through T-Code: SICF

Firstly, we need to get service path. You can right click and choose properties in the web page.Find the path under /bndg_url, for this example is /sap/bc/srt/rfc/sap/zibp_srv_ecc_data_inbound …Secondly, back to SAP GUI and use T-Code: SICF to find the service and active it.

Now we’ve finished service provide part. Let’s move to CPI-DS part.

2. CPI-DS Part

2.1 Import SAP IBP source table

CPI-DS need to know service consumer’s metadata, so we need to import SAP IBP source table for datastores first.

In SAP IBP side, the master data types which we want to synchronize to SAP ECC is like below:And we should import this table in CPI-DS. Let’s move to CPI-DS datastores sheet, find SAP IBP’s datastore and click ‘Import object’ button.Tips:

table name is SOPMD_<master data type ID> and folder name is your planning area ID.

SOPMD means S&OP master data. In this example, planning area ID is ‘INT’ and master data type ID is ‘FILTERCONFIG’, so we need to find table ‘SOPMD_ FILTERCONFIG’ which is under folder ‘INT’.

Now we’ve got the table in CPI-DS, and you can review table data in datastores

2.2 Create a web service datastore

After importing SAP IBP table, we should create a datastore to call the web service which we published.

In new datastores screen, we should choose datastore’s type as ‘SOAP Web Service’ and fill the WSDL URL which we got in step 1.3 in WSDL Path.

We also need to fill credentials info, for this example, it’s a http webservice and authentication with user ID/Password, so we should put the username and password which SAP ECC provided for integration.


For the WSDL Path field, we can also use WSDL file’s address.

If you want to use this way, you need to download the webservice’s WSDL file and upload to Data Service Agent service’s file folder. After that, you can fill the WSDL file address in WSDL Path field.

For this example, Data Service Agent are installed in a windows server, the WSDL file address will like this:


You can use test button to check datastores connection.

After our web service datastores passed connection test, we need to import web service metadata.Now we’ve finished both sides’ datastores configuration.

2.3 Create a task

From this step, Let’s move to CPI-DS project’s sheet to do the configuration.

Select the projects which you want to input new task and click ‘create task’ button.Follow the wizard to name the task, then select source/target datastores and save it.

Let’s open the task which we’ve just saved. We can check source/target datastores in connections sheet, edit data flows in data flows sheet and we can define some global variable for these data flows in execution properties sheet.

2.4 Create a data flow

After task has been created, we need to define movement and transformation of data from SAP IBP to SAP ECC, so we should create a data flow to handle it.

Use ‘Add target Object’ link to choose target object and create data flow

That’s a simple data flow, we just need 3 transform objects to deal with the work.Our data flow begins from source target ’SOPMD_FILTERCONFIG’ to the ‘output Loader’ which is to store web service response by xml file.

Firstly, use a Query transform to filter the fields which we need. If you want to define some field value levels’ filter, you can write some codes in filter sheet.Secondly, use an XML Map transform to map the fields between query and web service’s input.

If your web service supports inputting multiple rows of data, you need to define iteration rule for it. Use ‘propose rule’ button to choose the suitable object.Thirdly, use a web service call transform to call SAP ECC’s web service target. In this transform, we can use ‘select function’ button to choose web service input structure.After importing it, don’t forget to map these two structures.You can use ‘configure design time data viewer’ button to check each transform running status.

2.5 Create a process and test data flow

Select the projects which you want to input new process. And then click ‘create process’ button.Fill process name. Deselect the Load to SAP Integrated Business Planning (requires post-processing) box because our target datastores is web service.

Select the data flow which you want to test and drop it in the process pool.

Go back to project sheet, select the process and click ‘run now’And you can use ‘view history’ button to view the process log.Check SAP ECC’s Z-table whether it has received the data.

Hopefully, this article will help you better understand how to synchronize data from SAP IBP through webservice.