https://sapintegrationhub.com/abap/ale-idoc/how-to-generate-idocs-using-change-pointers-in-sap/
Step 1: Activate Change Pointer Globally – Transaction BD61.
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.
Activate Change Pointers globally
Step 2: Activate Change Pointers for iDoc Message Type – Transaction BD50
Go to transaction BD50 and activate change pointers for Message Type COND_A.
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.
Field selection for COND_A message type
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.
Assign table names and field names
Step 4: Configure Partner Profile – Transaction WE20
Configure partner profile with outbound message type COND_A. In this example we are sending Price Condition changes to POS logical system.
Configure partner profile and assign message type in outbound parameters.
There are several other configuration steps to set up iDoc communication. Complete guide for iDoc configuration transactions can be found here.
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’.
Create new model view in BD64
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.
Add new Message Type to Model ViewModel View configuration completed
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.
Filter Groups in BD64
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.
RBDMIDOC selection screen. Input Message TypeRBDMIDOC program output.
In production system you can schedule this program to create outbound iDocs periodically.
To test change pointers, change condition values using transaction VK12.
VK12 – Change Condition values
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’.
Change pointers ready to be processedRBDMIDOC program output.
Using transaction we02, view the iDocs generated.
Master data iDoc generated from Change Pointers
Change Pointers processing status updated.
Change Pointers table BDCP2 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.
This entry was posted in ALE/iDoc and tagged ALE, ALE Distribution Model, bd50, bd52, bd61, bd64, BDCP, BDCP2, BDCPS, Change Pointers, iDoc, Partner Profile, RBDMIDOC, SE38, vk12, vk13, we02, we20.
ISURU FERNANDO
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!
Register SAP ABAP System in SLD
The Difference Between Collapse Context and Remove Context in SAP PI/PO
SIGN UP TODAY!
Sign up to receive our monthly newsletter and special deals!
Top of Form
I accept Newsletters & Blog updates.
Bottom of Form
BECOME AN AUTHOR
Sign up as a contributing author to write your own articles!
REGISTER
TECH GADGETS I USE EVERY DAY
These are some of the tech gadgets I use every day. If you make a purchase through these links I will earn a small comission at absolutely no extra cost to you.
40 THOUGHTS ON “GENERATE IDOCS USING CHANGE POINTERS IN SAP”
good information which is not available everywhere
MAY 22, 2018 AT 12:18 PM
REPLY
Thank you Venkat!
MAY 26, 2018 AT 8:06 AM
REPLY
Hello,
Thank you for this very rewarding article.
However, I have a problem.
I hope you can have the solution.
In BD64, even though I put my filters on an organizational ELEC structure for example: the generated idocs are also generated on the GAZ organizational structures. Do you know where the problem is coming from?
I admit that I am a little short of ideas regarding this problem
JUNE 7, 2018 AT 7:28 AM
REPLY
Hi Mister,
What iDoc type are you using and whats the table/field of the filter field?
JUNE 9, 2018 AT 2:24 AM
REPLY
Hello,
Thank you for this very rewarding article.
However, I have a problem.
I hope you can have the solution.
In BD64, even though I put my filters on an organizational ELEC structure for example: the generated idocs are also generated on the GAZ organizational structures. Do you know where the problem is coming from?
I admit that I am a little short of ideas regarding this problem
JUNE 7, 2018 AT 6:06 AM
REPLY
Hi Mister,
What iDoc type are you using and whats the table/field of the filter field?
JUNE 9, 2018 AT 2:46 AM
REPLY
Hello,
Thank you for this very rewarding article.
However, I have a problem.
I hope you can have the solution.
In BD64, even though I put my filters on an organizational ELEC structure for example: the generated idocs are also generated on the GAZ organizational structures. Do you know where the problem is coming from?
I admit that I am a little short of ideas regarding this problem .
JUNE 7, 2018 AT 6:08 AM
REPLY
Hi Mister,
Thanks for your document, it’s really helpful.
One further question looking for your advise.
In the filter, are we able to filter by number ranges (from/to), instead of value list? For example, for the message type of customer master, we would like to set the filter by certain customer number ranges. Will that be possible?
Thanks.
JUNE 28, 2018 AT 8:33 AM
REPLY
Hi Sean,
Thank you for reading! Try using wild card for “Customer Number” field’s value list in the filter group. But I have not tested this before.
JUNE 30, 2018 AT 2:19 PM
REPLY
thanks for the blog!
JULY 2, 2018 AT 7:20 AM
REPLY
Your welcome! Thank you
JULY 6, 2018 AT 11:42 AM
REPLY
Really useful article
JULY 4, 2018 AT 5:09 PM
REPLY
Thank you Sujith!
JULY 6, 2018 AT 11:41 AM
REPLY
Hello
i have added new field of material master in exist change pointer (functionality working for other field changes), when i ran bd21 it is showing 1 master idoc generated and ‘0 communication idoc created”
what will be rootcause ?
AUGUST 14, 2018 AT 3:43 PM
REPLY
Hi Kalyanam,
Is it a custom data field or a standard data element? Check if the “change document” of the data element is activated using transaction se11.
Cheers,
Isuru
AUGUST 19, 2018 AT 7:39 PM
REPLY
Hello,
Thank you for the article!
However, I wanted to generate IDOCs automatocally (DEVMAS, MATMAS, BOMMAT, LOIPRO, etc.)
I executed Tcode se38 and went to RBDMIDOC. When, I execute message type BOMMAT, I get “0 change poi. deleted before processing: 0 inbound events checked” and “0 master IDocs set up for message type BOMMAT” eventhough I already sent manually BOMMAT IDocs.
AUGUST 29, 2018 AT 1:47 PM
REPLY
...