As a Developer you should know the concept and idea behind the change pointers. I know when i say change pointers 40% readers mind will trigger two words:
BDCP
BDCPS (or BDCP2).
Ya you are right all the change pointers stored inside these tables. The main hero behind this is SMD(Shared Master Data)
The SMD tool is connected to the change document interface. If the master data changes are to be distributed, the application writes a change document. The contents of this are passed to the SMD tool. The tool writes change pointers, reads the application data and creates the master IDoc.
In simple word if you change anything in SAP, like material master, vendor info… etc.. it will create an entry in change pointers table (BDCP,BDCPS).After that We mostly run RBDMIDOC to pick up these change pointers and send the IDOC to other systems so that the changes can be reflected properly.
Sometimes you might come across reuirement wherein you need to manually make entries into these tables which can be achieved by standard function module For this check out the Function group BD01 where you will find Function modules like CHANGE_POINTERS_READ, CHANGE_POINTERS_DELETE, CHANGE_POINTERS_CREATE etc…
Hye…. Wait i am getting a call from my Girl Friend…
My GF : “Hye..Sweetie Pie”
(She only talks such a sweet when she needs a help).
Me: Ya Tell me Dear.
My GF : i need to de-activate the creation of change pointers for message type MATMAS what should i do?
Me: To activate or deactivate a change pointer you can use transaction BD50:

You can also activate or deactivate the change pointers at single go using transaction code : BD61 (Don’t play with this Transaction code else your managers will play with you
)
Huuhhhhhh… this was a simple question she asked else i would have stucked for the whole day…
Ohhhh man…she is calling again…
My GF: i want to kick your ass…
Me : Oh please… What did i do ??
My GF : You told me you can use transaction code BD50 to restrict the change pointer creation.
ME : Ya i said you can de-activate the change pointers for the perticular message type using it.
My GF: Let me Tell you clearly what is the requirement :
“I want that, for the MATMAS massage type it should not create a change pointers when material number is starting with “NON”.
Me : Darling you did not inform me this.
My GF : I did.now shut your mouth and give me the solution for this…
(Don’t smile i know you also have the same problem.And that is why we called such creature as sweet poison )
Luckily we have a Business addins called BDCP_BEFORE_WRITE .
This Badi will be called just before the creation of the change pointers. So if someone wants to restrict the change pointer creation for a particular condition he/she can create a implementation of this Badi with the required message type as a filter condition e.g. MATMAS.

So now what one need to do is create a Badi implementation using MATMAS as a filter criteria.

Put a condition to check whether material is starting with the “NON” or not.if it is non just delete that entry from the change_pointers internal table.

You can use change_document_header to find out the material number.and you can put the filter as per your requirement.
So now the Question is how the IDOC is generated using change pointers ???
For this We use Report program RBDMIDOC

This will pick up the Change pointers from the BDCP(2) tables and mark it as processed if IDOCs are created for the same.
Unfortunately this is the End of life for our change pointers.Mostly basis people deletes all the processed change pointers as it is of no use from the BDCP ,BDCP2/BDCPs tables.
Check the Below Image to see the Birdseye view of whole process:













Really Good ONE!!!!!!!!!!!!!!!!!!!!!!!!! :)
Really GOOD One!!!!!!!!!!!!!!!!!!1
Surender
It’s awesome mate.. such a detailed presentation.. It helped me a lot.. Once again, Thanks a lot mate……
sam
Raj,
You are really great. Compliment from a consultant with 25+ years Business Exp.
Keep it up.:wink:
senthil
Hi Raj,
Its a good article. I was seraching somthing on change pointers and found this link and enthough it isnot sloving my purpose it has good info.
May be you know the answer for my query. We are using BATMAS outbound Interface from SAP. It is working if the batch is created in a plant. But if the batch is created in Plant A for batch X and if the same Batch is extended to Plant B, then change pointers are not getting created. Please let me know if you have any input on this.
Regards,
Senthil
vak
how many change pointers can exist for a particular message type.
Raj
Hi Vak,
There is no limit as such for the creation of the change pointers..
Once the change pointer is processed it can be mark for deletion.
*Get back if i am not clear.
Thanks & Regards.
~Raj
SAP IGnite.
Bhaskar
Hi Raj,
is it possible to enable BAPI-ALE interface and trigger IDOCS through change pointers.
Regards,
Bhaskar.
Raj
Hi,
The report program RBDMIDOC will do that job.
It will read the change pointer tables and send the docs.
Narsimha
Hi Raj,
How to send the Transactinal data(FIDCC1) via change pointers(Outbound IDOC).
i know it is not possibl as per SAP standards Transactional data can not move via CHANGE POINTERS.
But in my team project manager & On site coordinator saying try it on..it is possible.
Please provide me way / solution.
Narsimha
Hi Raj,,
The FD description for the above query:
“” The Objective of this document will be to interface the Accounting Document Data of Sales Invoice from Outbound Logistics (OL) in X to Y System.
All Account posting or account adjustment should go to Y system. All the financial documents that are created in SAP Paragon system are automatically transferred to the SAP Y system via ALE.”"
Narsimha
Hi Raj,
Can you please provide me the solution to my object..
If you need additional information .. i am ready to send complete Funtional Description (FD) also.. if you provide your personal mail ID.
Raj
Hello Narsimha,
Its very well possible to send an IDOC for FIDCC1 .
try using the FM : FI_IDOC_CREATE_FIDCC1
Thanks & regards,
~Raj
SAP IGnite.
Narsimha
HI,
In my object IDOC is triggering, But when i was trying to display output it is diaspalying a message as
performance asistant:
“Message type FIDCC1 cannot be sent with change pointers”…
Message no : B1157….
Raj
Hello ,
You need to activate the change pointers for that message type..
try : BD50
Thanks
Raj
SAP IGnite
Eric
Hi Raj,
I’m trying to use RBDMIDOC to send BATMAS type. I go to MSC2N transaction and change lot master data. Checking the transaction SE16 , table BDCPV, I can see the change pointer generated. But when I got to RBDMIDOC (BD21) I put the message type BATMAS and I receive a message “0 Idocs set up for message type BATMAS”. For MATMAS It work fine, do you know if is there another configuration? I checked almost all transaction related to IDOC… but I still receving this message.
tks
Eric
Raj
Hello Eric,
Let’s go step by step for this issue..please check the below standard steps :
(initial steps not necessary to check as change pointers are created )
1. BD61 Active change pointers generally
– Check the checkbox “Change pointers activated -generally”
– Save it
2. BD50 Active change pointers for Message Type
– Message Type Active
-
BATMAS check the check box
3. SCDO Change Document Objects
– Check whether the “BATCH” is available in the object list.
4. BD52 Maintain Table Views
– Enter the Message type “BATMAS” and press enter.
– OBJECT TABLE NAME FIELD NAME
-
Ex: MATERIAL MARA BISMT
5. BD60 Additional data for message types
– Message Type Function Module Table
-
Ex: MATMAS MASTERIDOC_CREATE_SMD_MATMAS MARA
6. WE20 Partner Profile
7. BD64 Distribution Model
8. try MSC2n
9. SE38 Run the program RBDMIDOC by passing Message type “BATMAS”
10. WE02 IDOC List
Get back if it does not help.
Thanks
Raj
SAP IGnite.
Bala
Good Article Raj.. Keep rocking
CROMA
Hello Raj
I appreciated a lot this site. Maybe you can help me with one problem.
I have one situation where the Network is changed, generate the dates into table BDCP2. We have the field “ALE processing indicator” changed , but the “IDOC” was not generated.
Do you know if there are some program to change this ?
Regards
CROMA
Raj
Hello ,
Can you see any dumps while execution of Report RBDMIDOC ??
Try ST22 …
Thanks
~Raj
SAP IGnite
Dheeraj
Hey Raj,Thanks for such a detailed article.~D
prasant
Nice explanation thanks fo rthe post
sasidhar gupta
Hi Raj
It is helpful and nice explanation. I have a question on master data updates. For vendor master we have a problem. When we update general data like address, it is not generating any E1LFM1M segments. Since we have filters in middleware based on E1LFM1M\EKORG values, this IDoc is not getting through. But target system needs changes to general data also. Is it a standard SAP behavior or can we change any configurations to get all segments of IDoc populated always?
Thanks
Sasidhar Gupta
ram
Hi Raj,
May i know how you got this much knowledge on all modules espically on ABAP