This post aims to illustrate how to create outbound iDocs for master data changes in SAP using Change Pointers mechanism. When master data such as Material Master, Vendor Master, Customer Master, etc. changes in SAP, we can capture the changes using Change Pointers mechanism. Change Pointers are useful when you want to communicate SAP master data changes to external systems using iDocs.
To illustrate how Change Pointers are enabled for master data changes in SAP, let’s assume we need to communicate sales pricing conditions to external system (POS) using COND_A iDoc. When price condition values are changed or conditions are created, change point mechanism should be activated and outbound COND_A iDocs in basic type should be generated.
SAP Versions used in the illustration:
SAP S4 HANA Fashion 1709
Step by Step Guide on How to Activate Change Pointers for Price Conditions:
Go to transaction BD61 and activate Change Pointers generally. This is a global setting which should be activated if you want to use Change Pointers in your SAP system.
Step 2: Activate Change Pointers for iDoc Message Type – Transaction BD50
Go to transaction BD50 and activate change pointers for Message Type COND_A.
Here we can decide for which Message Types Change Pointers should be activated. If you want to capture changes of Material Master activate Change Pointers for Message Type MATMAS or ARTMAS. If you want to distribute changes of Customer Master activate Change Pointers for CREMAS Message Type.
Step 3: Assign Change Point Items for Message Type – Transaction BD52
Go to transaction BD52 and select Message Type COND_A.
Assign table names and fields which change pointers should be activated for. Change pointers will be activated when values of these fields are changed and change log will be maintained in table BDCP2.
Step 5: Configure ALE Distribution Model – Transaction Bd64
To distribute Master Data iDocs we need to configure Distribution Model using transaction BD64.
Create a Distribution Model View. Assign the Message Type, Sender SAP system name and receiver partner name using ‘Add Message Type’.
Sender system is the Logical System name of the sender SAP system. Receiver is the name of the partner profile configured in the previous step using transaction we20.
Additionally, you can restrict iDocs being generated for certain Sales Organizations, Material Groups, Distribution Chains etc by creating Filter Groups. Double click on ‘filter set’ and create a filter group with filter criteria and values. Here I have restricted generation of iDocs only for US region.
Step 6: Generate Outbound iDocs Using Standard Program RBDMIDOC – Transaction se38.
When you create or change conditions, change pointers mechanism will flag changes in change pointers table BDCP2. The program RBDMIDOC reads this table and creates master and communication iDocs. This program dynamically executes the Change Point read Function Module of Message Type selected in selection screen. Function Module for COND_A Message Type is MASTERIDOC_CREATE_SMD_COND_A.
In production system you can schedule this programto create outbound iDocs periodically.
Test Change Pointers:
To test change pointers,change condition values using transaction VK12.
Once you change values of conditions, changes will be flagged in table BDCP2. In older SAP versions change points were saved in tables BDCP and BDCPS, but in newer HANA versions data is aggregated to table BDCP2.
Change Pointers are initially created in null processed status in this table. Once you execute the program RBDMIDOC and iDocs are generated, processing status changes to ‘X’.
Using transaction we02, view the iDocs generated.
Change Pointers processing status updated.
Hope this guide will help you set up Change Pointers for master data changes in SAP. If you have any questions on creating outbound iDocs using change pointers, leave a comment below.
Hi, I am Isuru Fernando, Senior SAP Integration Consultant with 10 years of SAP full-cycle implementation and support project experience.
From the early days, I had a passion for coding, software development, and everything tech-related. I started my carrier as an ABAP developer and soon found my love for system integration when I learned SAP XI 3.0 in 2008. Playing a variety of roles from an offshore technical consultant (ABAP, PI/PO, BW, BOBJ) at the beginning of my career to a technical lead managing a team of consultants in different countries, I have gained immense experience in SAP project implementation life cycle.
Having the opportunity to work on SAP implementation projects in USA, EU, and Asia, I learned valuable ins and outs of global business processors in Sales and Distribution (SD), Material Management, Retail, Customer Relationship Management (CRM), and Finance and Controlling (FICO).
Through this blog, I want to share my expertise in SAP technical areas such as SAP ABAP, PI/PO, AIF, and Basis. I also want to provide a platform for others with similar ambitions who would like to share their SAP technical expertise with the world!