What is Change pointer in SAP ?

What is Change pointer in SAP ?

check out this article to know about change pointers. how it is created , processed and deleted.

Author : Raj

Author's Website | Articles from Raj

Raj is an Application Developer focusing on Custom Development - particularly in the areas of ABAP ,WD4A , JAVA , APO , Enterprise services and PI Developer/consultant . He is also certified in ABAP and PI. Facebook

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?

MeTo activate or deactivate a change pointer you can use transaction BD50:

step1

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.

image2

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

image3

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.

image4

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

image5

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:

image_final



Like this post? Share it!

  • Tweet
  • Facebook
  • Diggit
  • Delicious
  • Diggit
  • Diggit
  • Diggit
  • Diggit
  • Diggit

ADVERTISE HERE


User Comments


  1. Really GOOD One!!!!!!!!!!!!!!!!!!1

    Reply


  2. Surender
    June 3, 2011

    It’s awesome mate.. such a detailed presentation.. It helped me a lot.. Once again, Thanks a lot mate……

    Reply


  3. sam
    January 24, 2012

    Raj,

    You are really great. Compliment from a consultant with 25+ years Business Exp.

    Keep it up.:wink: :wink: :wink: :wink: :wink: :wink:

    Reply


  4. senthil
    February 14, 2012

    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

    Reply


  5. vak
    February 27, 2012

    how many change pointers can exist for a particular message type.

    Reply


    • Raj
      February 27, 2012

      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.

      Reply


  6. Bhaskar
    May 14, 2012

    Hi Raj,
    is it possible to enable BAPI-ALE interface and trigger IDOCS through change pointers.
    Regards,
    Bhaskar.

    Reply


    • Raj
      May 14, 2012

      Hi,
      The report program RBDMIDOC will do that job.
      It will read the change pointer tables and send the docs.

      Reply


  7. Narsimha
    July 2, 2012

    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.

    Reply


  8. Narsimha
    July 2, 2012

    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.”"

     

    Reply


  9. Narsimha
    July 5, 2012

    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.

    Reply


    • Raj
      July 5, 2012

      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.

      Reply


      • Narsimha
        July 6, 2012

        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….

        Reply


        • Raj
          July 6, 2012

          Hello ,
          You need to activate the change pointers for that message type..
          try : BD50

          Thanks
          Raj
          SAP IGnite

          Reply


  10. Eric
    August 14, 2012

     
    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

    Reply


    • Raj
      August 15, 2012

      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.

      Reply


  11. Bala
    August 22, 2012

    Good Article Raj.. Keep rocking :)

    Reply


  12. CROMA
    September 4, 2012

    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

    Reply


    • Raj
      September 5, 2012

      Hello ,

      Can you see any dumps while execution of Report RBDMIDOC ??
      Try ST22 …

      Thanks
      ~Raj
      SAP IGnite

      Reply


  13. Dheeraj
    December 27, 2012

    Hey Raj,Thanks for such a detailed article.~D

    Reply


  14. prasant
    January 11, 2013

    Nice explanation thanks fo rthe post :)
     
     

    Reply


  15. sasidhar gupta
    February 1, 2013

    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

    Reply


  16. ram
    February 15, 2013

    Hi Raj,
     
    May i know how you got this much knowledge on all modules espically on ABAP

    Reply

Leave a Reply

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:
  Twitter Followers Email Updates