Trigger CREMAS change pointer for vendor classification change in XK02/FK02

Hi,
I have a business case where I need to trigger a change pointer of type CREMAS whenever a client modifies vendor classification in transactions FK02/XK02.  I realize classificatiion/characteristics have their own change pointer types (CLFMAS, CHRMAS, etc.), but I was wondering if there was a user exit/BADI available for this scenario where I can manually create a change pointer.  I need the characteristic data to be part of a custom IDoc type (based off of CREMAS03), and it's no problem to include this data in the custom IDoc, but I need a way to trigger the change pointer if the clients changes vendor characteristic data, and nothing else. 
I also went into transaction BD52 for type CREMAS to see if there's another row for classification (CLASSIFY), but couldn't figure out the right object type.
There's a BADI called CACL_VALUE_CHANGE that triggers when vendor classification is changed, where I can generate my change pointer, but it's triggered before the client saves which means I would have a useless change pointer. 
Does anyone have any ideas on what my options are?  I hope I've elaborated enough
Thanks,
Chris

I figured out a way to do this which was to implement the BDCP_BEFORE_WRITE BADI which allows you to interrogate a change pointer based on an IDoc message type before it's saved to the database.  For starters, change pointers for message type CLFMAS must be activated in order for this to work, even though I'm not interested in those eventual IDocs. 
In the IF_EX_BDCP_BEFORE_WRITE~FILTER_BDCPV_BEFORE_WRITE method of the BADI implementation, I was able to loop through all of the change pointers about to be created and this is where I was able to obtain the vendor number the classification is being applied to.  I actually added another line to the internal table that's changeable in the method for CREMAS and it worked out well.
The only thing that was difficult was to debug this baby.  No matter how you set the breakpoint, it just never hits it until I discovered it's called using an UPDATE TASK.  I found an unorthodox method to debug this situation on the web which is to force an endless loop before your custom code such as.........
while sy-subrc <> 98.
endwhile.
<custom code here>
Once your process runs, it will be sitting in an endless loop in an update task which you can view in transaction SM50.  From here, you can highlight this line then you can click on "Program Session > Program > Debugging" to debug your code.  It's not something I was used to, but it allowed me to debug in the end.  I would hope there's better ways, but this worked for now.
I hope this helps someone else!
Cheers,
Chris

Similar Messages

  • Change pointer for Sales Order

    Hi,
    Using change pointers I want to create an IDOC when ever a specific field in the sales order line item is changed. I have activated the change pointer for message type ORDRSP. Also maintained the following entries in BD52
    VERKBELEG(Object) VBAP(Table) ABGRU(field).
    After this when I change this field at the sales order line item, it inserts entries into change pointer table.
    But my problem is creating IDOC's from those change pointer entries. I am not sure which function module (MASTERIDOC_CREATE_XXXXX) works for this.
    Anyhelp on this highly appreciated.
    Thanks
    Ram

    Hi Ram,
    I don't think so you can use change pointer for sales order changes. Usually, it is done through transaction code<b> NACE</b> - configuring condition for output type.
    You can setup requeirement in procedure control to trigger IDoc ORDRSP for any changes in item level.
    Hope this will help you and give an idea.
    Regards,
    Ferry Lianto

  • Change pointer for Master data

    Hello Experts :
      If I Configure and Activate Change pointer ,so will it record  only existing change or it will update new entry also
    Example : Did changes in vendor master payment terms (I know change pointer will work for this).
                     But if I create any new vendor in system 1 will change pointer will record this change and going to update system 2 and will create this vendor in system 2  ?

    the graphic in the docu cleary says create/change master data will create change pointers:
    http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a61bd507d11d18ee90000e8366fc2/content.htm

  • Activate Change pointers for TREX classification search for Business Objects

    Hey all...
    Does anyone out here has any idea on how to activate the change pointers for TREX classification search for business objects: - for me I am specifically doing it for Materials and Customers.
    Okay, let me explain the issue: -
    For TREX search, we need to schedule a background job for Delta Indexing. But Alas! Delta indexing does not capture the changes to Classification data of the business object.
    For this we activated the change documents for the particular class in the customizing. But to my surprise, change documents and change pointers for TREX are entrirely different.
    How do I know:
    Change ID of CDHDR does not correspond to Change pointer in table COM_SE_CPOINTER. Now by activating the change documents I am getting entry in CDHDR and CDPOS but the mentioned change pointer table still does not get the entry.
    I searched for BTEs and I got the below: -
    Now to me the very obvious one was 4003, but it is not called while changing the classification data for materials. Ofcourse I activated the Product and the function module.
    and now I am stuck!!
    Any pointers for the Change pointers would be really appreciated??
    Please share your knowledge even if you don't know the exact answer . I am new to TREX so possibly vague conversations could provide me a hint .
    Thanks,
    Best Regards,
    Shreya

    Hi Guys,
    This issue was solved by implementing the BTE 4005 (OPEN_FI_PERFORM_00004005_E). This particular event is triggered in the update task for saving changes to business object. So In my function module (corresponding to BTE), I have explicitly called the method to write an entry in COM_SE_CPOINTER, because we just need the reference of business object for which classification data is changed.
    Please refer the below code for more clarity.
    BTE position: -
    method called in FM to write change pointer.
    Thanks anyways, for all the responses.
    Cheers,
    Shreya

  • Change pointer for HR master data is not getting generated in table BDCP

    Hi,
    I have done all the required configuration for change pointer for HR master Distribution and it was working fine few days back. Now suddnly it has stopped working.
    Can anyone assist me on how should i debug it.
    Thanks
    Sunil Singh

    Hi Shital,
    Thanks for your Reply.
    I am not able to find that path in SPRO
    Basic Functions-> application Area
    And Also My change pointer configuration was working properly and it suddenly stopped working.
    I mean to say all the required settings was done previously.
    Anyways kindly let me know how should i proceed.
    Thanks
    Sunil Singh

  • What is the impact - Activating Change Logs for Material Classification Dta

    To activate Change Logs for Material Classification Data I must first set the flag for "Multiple Objs Allowed" for the Class Type 001 Material Class. I am curious of what the impact of setting this flag will be. Also, is there a way to measure the DASD impact of activating the Change logging for this data.
    Thankyou
    Kevin

    In addition to the performance impact the process of turning on Change Logs for Classification data will convert the tables KSSK and AUSP to use an internal SAP number as a key instead of the Material number. This will cause problems for any custom programs that access those files directly and expect the material number to be the key. This file conversion occurs during the execution of program RCCLUKA2 which is used to Flag the change logs for existing records. This can be reversed by running report RMCLINOB. Because of the above impact we decided here to NOT implement this change in production.

  • How to set a change pointer for a perticular table?

    Hi,
    Please let me know how to set a change pointer for a perticular table.

    what do you mean by 'change pointer'? normally this idiom is used for sending ÍDOCs from one system/client/org-unit to another ...
    do you generally want to record changes to a specific table? then set parameter rec/client using RZ10 for your instance profiles and restart the instances in order for the parameter to take effect.
    set the table to 'record all changes' using SE11.
    you might re-consider if the table has a lot of  data and is accessed very often for performance-resons.
    change protocols can be evaluated using tx, SCU3.

  • Change Pointers for Vendor Master

    Hi All,
    I have to activate change pointers for Vendor Master data. I have some doubts regarding the same.
    1. An Idoc will be generated for newly created vendor, right?
    2. If I extend the vendor master IDOC, where should I write code to extract the values of newly added fields?
    3. If I create a custom IDOC for vendor master, what is the procedure to configure this in the change pointers for Vendor Master?
    Thanks & Best Regards,
    Kumar.

    >
    Sivapuram Phani Kumar wrote:
    > Hi All,
    >
    > I have to activate change pointers for Vendor Master data. I have some doubts regarding the same.
    >
    > 1. An Idoc will be generated for newly created vendor, right?
    > 2. If I extend the vendor master IDOC, where should I write code to extract the values of newly added fields?
    > 3. If I create a custom IDOC for vendor master, what is the procedure to configure this in the change pointers for Vendor Master?
    >
    > Thanks & Best Regards,
    > Kumar.
    Hi,
    1. Afer doing all the settings required to create change pointers (BD61, BD50, BD52), the idocs will be created when u run the report RBDMIDOC or execute transaction BD21.if any changes happen in master data
    like new vendor is created or vendor data is changed, then only change pointers will be created and on executing the aforesaid report, idocs will be generated.
    Also idocs can be generated by replicating vendor data through transaction BD14 or any other custom transaction.
    2. When you add custom segments to basic type, you have to write code in suitable user exits.
    Identify suitable user exit to populate data in custom segments and write the code in oubound side.
    Identify suitable user exit to populate the values in custom segments to database table, this code is to be written in inbound side.
    Regards
    Vinod

  • Points for my Profile changed from thousand to Zero

    Hi,
    I had some 53K points but immediately it changed to Zero(0). Is some update going on ?
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Articles

    I replied in your thread here:
    http://social.technet.microsoft.com/Forums/en-US/de7bd69f-b600-4514-858d-971299c093f3/points-for-my-profile-changed-from-thousand-to-zero?forum=reportabug
    Seems to be happening for everyone.
    EDIT: I've sent an email to fissues, I'll post back when I hear something.
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • Change pointer for functional location- deletion flag & activation status

    Hello,
    Im trying to use change pointer for functional location outbound interface. I did all required settings in BD52. The problem is with deletion flag and acive/deactive status.
    I found that those two are stored in:
    table     field
    TAPL     LOEKZ
    TAPL     PARKZ
    The problem I have is that I cannot find the object for those table, and due to that it cannot be customized in BD52.
    Could You please advise which object class should I use or alternatively which other table/field and object should I type in to activate change poiters for deletion flag and active/ not active status?
    For object IFLO, and its table (IFLOT, IFLOTX, ILOA)- there is no field for del flag and active status.
    Thanks in advance.

    Hi, standard didnt let us fulfilling this requirement. What we did- we extended table IFLOT with additional field for the status and used an user exit when saving FL, to take the value (status) from table JEST/TJ02T and copy the value to the newly created field. Then BD52, iflo, iflot, and the new field and it worked. Of course the function module for the message type (BD60) had to be changed to add this status value in additional segment/field for the idoc. Hope this will help You, as there is a lot of technical background behind it, and this is only functional overview.
    rgds.

  • I want IDOC for Vendor master updation ( XK01 &XK02 )

    Hi
    I want to do LSMW in IDOC method for this vendor updation.
    So I want IDOC for Vendor master updation ( XK01 & XK02 ).
    I want to do both create vendor and change also.
    Regards,
    Ravi
    Edited by: kandukuri ravi on Dec 1, 2008 2:56 PM

    Hi,
        For Vendor Master using IDoc's for LSMW,Use Message Type = CREMAS and Basic Type = CREMAS05.
    For Basic type 01,02,03...05 are versions which includes more fields in basic type so better use latest version.
    Hope it will help you.
    Regards,
    Sudhakar Reddy.A

  • Vendor Classification Change Log Activate : Configuration Change

    Hi,
    I want to know what is the process of activate Change Log for the Vendor Classification. Please suggest.
    Rgds

    You can see in Xk02 / Xk03 transaction - Environment tab - Field changes..

  • Maintain Change Pointer for Customer Master?(change in Master data)

    Hello everyone,
    i want to capture change in master data .whenever a change happen to  required  field in  customer master an idoc should be create for that and the entry should e made in table CDHDR and CDPOS.
    Please tell me the entire process how  can i achieve this .

    Hi,
    Tables / Functions:
    The change pointers are stored in tables BDCP and BDCPS.
    With release ECC 6.0 SAP delivered a new table BDCP2 for increased performance. Which table shall be used is defined in transaction BD50 (see below). There is a function to migrate “old” change pointers to the new table.
    The function group BD01 contains function modules for reading and updating the new change pointers in table BDCP2.
    BDCP                     
    Change pointer
    BDCP2                    
    Aggregated Change Pointers (BDCP, BDCPS)
    BDCPS                    
    Change pointer: Status
    Prerequisites:
    There has to exist a Change Document Object (CDO) for the SAP-object we change. For standard objects like material masters, vendors or customers these objects already exist. For own business objects we have to define a change document object with transaction SCDO .
    In the corresponding data element for the database field the flag „Change document“ has to be active.  check the details in the transaction
    The usage of change pointers has to be actived generally for the system
    Transaction BD61

  • Report for vendor master changes

    Good day,
    Please can you assist with this issue,
    Report S_ALR_87012089,program RFKABL00
    Version ECC 6.0
    This report does not reflect the old and the new values for changed bank details.
    It does not show anything under the old value and shows **deleted** and **created** for new values.
    Thanks in advance

    You will have to do configuration in T Codes OBAT and OBAU to achieve what you want in the report.
    Check the IMG activity documentation for the following.
    SPRO -> IMG -> Financial Accounting -> Accounts Receivable and Accounts Payable -> Vendor Accounts -> Master Records -> Preparations for Changing Vendor Master Records -> Define Field Groups for Vendor Master Records.
    SPRO -> IMG -> Financial Accounting -> Accounts Receivable and Accounts Payable -> Vendor Accounts -> Master Records -> Preparations for Changing Vendor Master Records -> Group Fields for Vendor Master Records.
    Also read the RFKABL00 program documentation.

  • EXIT/ BADI/ Enhancement point for User Status change in Order

    Hi all,
    I am looking for an EXIT or a BADI or an enhancement point specifically for user status change in an order thru IW31/IW32.
    I have the exit names for Order PBO, PAI, 'SAVE' event etc. so m not looking for generic answers.
    I have to put some validations for the Order on USER STATUS CHANGE. Let me know if any of u have any pointers on that.
    Thanks and Regards,
    Sonal

    Hi,
    Use this Enhancement IWO10009 and call these function module to change the User Status
    STATUS_TEXT_EDIT --> To Read the existing status.
    STATUS_CHANGE_INTERN_VB --> to change the status.
    Regards,
    Satish

Maybe you are looking for

  • My screen goes black then macbook restarts...what's happening?

    my screen goes black then macbook restarts...what's happening?  This has been happening often (3-4 times per day).  Not sure what kind of problem I am dealing with.  ideas?

  • HELP!  Missing?? for Mpeg Streamclip

    First, forgive me if this question is too simplistic but my knowledge is basic, at best. I just had a new hard drive installed on my vintage iMac (10.9.2. was installed on it) and am busy trying to replace the apps I knew and used and loved.  I have

  • Since the Yosemite upgrade on my macbook pro I have not been able to sync with my Nokia Lumia

    Since the Yosemite upgrade on my macbook pro I have not been able to sync with my Nokia Lumia and assume that this is an Apple issue?

  • Images with Transparent Backgrounds.

    I would like to have an image with a transparent background, so that any image underneath will show through. I know that this can be done with watermarks, but I would like the flexibility to move the image around on a book page background. Is this po

  • GUI won't run

    Hi Guys I am working on a project. I am building an application for an Estates Agent who specialize in Domestic and Commercial properties. Yesterday night, my GUI ran fine with no problems. This morning when I woke up I wanted to go ahead and do some