Close Sidebar close
Sapignite
  • SAP
  • Coding Challenges
  • Download
  • SAP Ignite Products

Subscribe & Follow

All product names on this web site are trademarks of the companies that own them. Sapignite.com is not affiliated with SAP AG in any way. SAP AG is the registered trademark holder of SAP, SAP R/3, mySAP, ABAP, xApps, NetWeaver, and other proprietary terms. The technical information on this site is verified to the greatest extent possible, however, any information found on this site is used at the site visitor's own risk. Sapignite.com reserves the right to correct any errors or omissions in any portion of this site at any time without obligation.

  • SAP
  • Coding Challenges
  • Download
  • SAP Ignite Products
Sapignite
Sapignite
    ABAP SAP

    Change Pointers in SAP ABAP

    August 7, 2017

    As a Developer you should know the concept and idea behind change pointers. I know when I say change pointers 40% readers mind will trigger two words:

    BDCP

    BDCPS (or BDCP2).

    Yes, 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 requirement 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…

    oh…. Wait I am getting a call from my Girl Friend…

    My GF: “Hello. Sweetie Pie”

    (She only talks in sweet way, when she needs help).

    Me: Ya Tell Me Dear.

    My GF: I need to de-activate 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 the Transaction code else you managers will play with you J )

    Huuhhhhhh… this was a simple question she asked else I would have stuck for the whole day…

    ( call dropped )

    Ohhhh man…she is calling…

    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 particular 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 give me solution for this…

    (Any way I know all have the same problem 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 an 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 criterion.


    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:




    2 Comments
    BDCPBDCP_BEFORE_WRITE BADI SAP ABAPBDCPSCHANGE_POINTERS_READDELETEhow to work with change pointers in IdocIdoc SAP ABAPRBDMIDOC sap abapsap abap change pointers
    raju borda
    Raju is working with Technical areas like SAP ABAP, PI , Web design, JAVA , PBT, robotics as architect also functional areas like SCM , QM, MM , insurance . When he is not Doing above geeky things you might find him travelling , Cooking , dancing or drinking with friends :-) .
    • Let’s remember our old friend : Classical Reports !

    • Most frequently asked interview DIFFERENCES

    You Might Also Like

    What is SAP Leonardo ?

    January 25, 2018

    Enhancement in sap how to find work and implement

    July 17, 2017

    Let’s remember our old friend : Classical Reports !

    August 7, 2017

    2 Comments

  • Reply Neha Gupta February 13, 2019 at 12:59 pm

    This BADI is valid only if table BDCPV is used, which was used in older versions. Now we are using BDCP2 for storing change pointers & this BADI is not useful. Is there any alternate BADI, which supports BDCP2?

  • Reply Pankaj Kumar April 12, 2019 at 4:03 am

    Very nice blog.. Simply awesome. Presented in nice way. Thanks a lot for this wonder ful information

  • Leave a Reply Cancel Reply

Sign up for some exciting content

Recent Posts

  • How to prepare for SAP IBP Certification
  • What is SAP Leonardo ?
  • RoadMap UI Tutorial webdynpro for ABAP
  • Offline Adobe forms in WebDynPro for ABAP
  • MVC Architecture for Webdynpro for ABAP

Categories

  • ABAP
  • Android
  • Coding Challenges
  • Enhancement
  • featured
  • Interviews
  • Learning Hub
  • PI ( Process integration )
  • SAP
  • SAP HANA
  • Uncategorized
  • Webdynpro for ABAP
  • Webdynpro For ABAP