IDOC trigger using Z change pointers for standard SAP table

For IDOC trigger, is using custom change pointers on standard SAP master data tables, a good idea? A seasoned abaper told me "it will mess with the standard" and further told to go with scheduled job.
So, for example, say that my data for table T001K is updated via transports in PRD and I need to transfer this updated data via IDOC to an external system. Since there is no standard message type for this data, I will create a new one. Further, I will create a new change pointer for table T001K (it already has six fields with their data elements activated for Change Documents). Then I link the message type and the new change pointer. And so on an so forth. I have followed the procedure given here:SAP Tips: A to Z of Custom Change Pointer
Now, the question is, will this be a good idea to capture data and trigger IDOC? Or a batch program with calls to standard FM to read CDHRD/CDPOS be a more suitable option.
I need to know if a near instantaneous data transfer (and an effecient one as far as the system performance and reliability is concerned) can be acheived. If there is any other way of doing this, I am not aware of it!
Any one has any input/experience on this?

Hi Viktor,
I think the batch program approach would be a good solution as the by this way you are taking matter into your own hands rather giving control to the SAP framework because you may have to test out the other approach as to how the standard SAP framework is behaving for custom change pointers.
Thanks,
Ravi

Similar Messages

  • This is regarding creation of change pointers for a particular table?

    Hi to all,
    Here is my requirement,
    How to create change pointers for a given table.
    i know that change pointers record changes of master data at field level......
    here now i have to create change pointers for a given table..
    how to do this,......\
    regards,
    swami

    Configuration steps :
    BD53 -> create reduced message type (use MATMAS as your reference for material master records). Select tables
    BD52 -> specify fields to track (use fieldname KEY for new entries)
    BD50 -> activate change pointers for new reduced message type
    BD61 -> activate change ponter generally (only if not already done) Make sure if this is not already active that you deselect the default enteries in BD50 for the message types you don't care about
    The view BDCPV will now contain change pointer entries for the master data that has change or been created
    Use function modules
    CHANGE_POINTERS_READ                - read new unprocessed change pointers
    CHANGE_POINTERS_STATUS_WRITE - mark change pointers as processed
    Hope it helps.
    Chang

  • ALE/IDOC-How to create Change Pointers for Custom Infotype

    Hi,
    My requirement is to transfer custom OM infotype changes using IDOCs.
    But its not creating any change pointers for that infotype.
    The message used is a copy of standard message OM_HRMD_A.
    Can any one please help me out in this issue.
    Thanks,
    Sarika

    Hi Sarika,
    How did you solve this issue? We are also facing a similar problem, it will be helpful if you could explain how you found out the solution.
    Thanks
    Anu.

  • Creating index for standard SAP tables

    Hi!
    What are the advantages and disadvantages of creating addtional indexes for tables with massive amount of data (BSEG, BKPF, COEP, etc...).
    If I create a new index it supposed to make the table access faster, for the cost of hard disk space.
    Am I right?
    Thank you
    Tamá

    Hi,
    Primary and secondary indexes
    Index: Technical key of a database table.
    Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database.
    Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table.
    Structure of an Index
    An index can be used to speed up the selection of data records from a table.
    An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read.
    When creating indexes, please note that:
    An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position.
    Only those fields whose values significantly restrict the amount of data are meaningful in an index.
    When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes.
    Make sure that the indexes on a table are as disjunctive as possible.
    (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)
    Accessing tables using Indexes
    The database optimizer decides which index on the table should be used by the database to access data records.
    You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table.
    The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z.
    If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database.
    When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated
    Thanks and Regards
    Arun Joseph

  • Why change pointers for master data, why not change message?

    Hi Gurus,
    I have one doubt about Idoc.
    When changes to master data has to be sent Change pointers are configured and used. (CDPOS & CDHDR). In case of the transaction data change change idoc is used as is the case with orders (we use ORDCHG for ORDERS message type to send the chnage details to a order which was already sent to other system.
    Why we can't use change idoc or message type whatever, instead of Chnage pointers in case of master data or vice versa in case of transaction data.
    Your valuable input will be rewarded with suitable points!!
    -B S B.

    Change pointers are getting stored in the tables BDCP and BDCPS. As SAP suggests these tables should be as small as possible. And Master data are not much frequently changed data.
    As you compare with the transactional data, you need to change them many times in the real scenario. If we also process the transaction data via chnage pointer, these changes BDCP is getting more and more entries.
    RBDCPCLR is the program used to process the change pointer. If you have much data in the BDCP table, this program will take much time to run.
    So, we use the change pointers for the master data only.
    Regards,
    Naimesh Patel

  • Activate change pointers for Z-idocs

    Hi friends,
    I've created a Z-idoc for some standard SAP tables (like TCJ1T, TCJ05 etc). I've written a function module which fetches all the data from the above-mentioned tables and pass it on to the idoc. So far so good.
    Now the requirement is like, I need to pass only the updated records (insert/update/delete) in these tables to the idoc. I found that there are concepts like change document and change pointers assosciated with it. Again, the fields that I need to transfer in the above tables have their change document flag set. I've also created a Z-Object through SCDO to capture the changes. (I initially tried adding the tables in the standard object PROJ regenerated the programs, but the approach didn't work). The function modules generated through SCDO, i guess, have to be called somewhere, may be in an exit (I got an info in a previous question that it is never called automatically, but has to be called explicitly). The entries for most of the tables I'm working with are created via SPRO (which links to the Table Maintainence Generator for the above tables). I found that there are no user-exits for the transactions SPRO and SM30, to call these function modules in the first place.
    Change pointers refer to the tables CDHDR and CDPOS, the tables which the change document updates (as found in the function module CHANGE_POINTERS_CREATE). Now, how do I track the updates on these tables, since the change pointers itself is dependent on the change documents and I couldn't find a place to incorporate the function module call that would update the change document tables?
    Any help is appreciated.
    Thanks & Regards
    Anil Madhavan

    Hi Anil,
    In SM30 you have programmable events:
    Environment -> Modification -> Events
    Here's the link to documentation teaching how to create change documents:
    http://help.sap.com/saphelp_47x200/helpdata/en/2a/fa015b493111d182b70000e829fbfe/frameset.htm
    I'm also trying to learn how to access the needed data in these SM30 events so that I can call the function to generate the change document with the right data in SM30
    Let me know if this was useful.
    Bye,
    Nuno

  • Change pointers for the ZSEGMENT of IDOC Extension.

    Hello Experts,
    We are working on the SAP version ECC 5.0.
    Our requirement is creating the ZZField and use this field to interface with legacy systems in the trnx FD02 and table KNB1.
    We have created the ZZField in table KNB1 and also ZSEGMENT for the IDOC DEBMAS06.
    We want to add the IDOC change pointers proramme for this ZSEGMENT that is being created.
    I know there are two methods of doing this:
    OLD METHOD:USER EXIT....
    NEW METHOD:CALL CUSTOMER FUNCTION'...'
    I tried the old method with the user EXIT_SAPLVV01_0001 for the Cutomer master.
    But I am getting the error as
    PROGRAMME NAMES zx....ARE PRESERVED FOR THE INCLUDES OF EXIT FUNCTION GROUPS.
    Can any one tell me how do i need to write the programme for the IDOC CHANGE POINTERS for the ZSEGMENT?
    Thank you.

    Our requirement is creating the ZZField and use this field to interface with legacy systems in the trnx FD02 and table KNB1.
    We have created the ZZField in table KNB1 and also ZSEGMENT for the IDOC DEBMAS06.
    in the above question watr the fields ur going to populate in KNB1 TABLE or in ZSEGMENT FOR DEBMAS06.
    CAN U PL GUIDE ME..
    thanking u...
    ajay

  • Reprocessing change pointers for MATMAS idoc

    Hi
    I have a situation where i executed BD21 for changes to materials but no idocs were created due to some issue with the distribution model. Now i have fixed the issue and would like to re process all the materials which were changed. Since i have already executed BD21, now no new idocs are being generated. Is there a way to reprocess the changed materials and generate the idocs again.
    Thanks
    Nag

    Hi Roger
    Thanks for your inputs. I am trying to generate idocs through the change pointers and not using output determination.
    When i executed BD21 the first time, idocs were not generated due to some config issues. But the job ended successfully saying that idocs were generated and marked all the changed material documents under change pointers (But in WE02, the idocs never showed up actually).
    Now i have fixed the issue in config and want to generate the idocs using the change pointers. Is there any way to regenerate the same idocs using BD21 or some alternative.
    Thanks
    Nag

  • Restrict IDoc creation by using deactivate change pointers

    Hi Experts,
    I am trying to restrict the creation of IDOCS by deactivate the change pointers from a ztable. if the record in ztable and BDCP table match then i should deactivate the change pointer. And restrict the creation of Idocs.
    pls, suggest me soon... its urgernt.......
    Regards,
    CHK

    Maybe using program RBDCPCLR to delete change pointers you don't want to use?

  • Avoiding change pointers for data with status planned

    Hi,
    we have to distribute HCM-data, standard infotypes and customer infotypes, into other SAP sytems. One of the receiving systems must not get data with the status planned (istat = 2).
    Which would be the best way to avoid planned data in the receiving system? Is it possible to avoid creating change pointers for planned data in the delivering system or have I to delete the planned data in the receiving system while processing the idocs via user-exit?
    Best regards
    Stefan

    Dear Stefan,
    You can create the change pointers manually from the IDOC data (e.g.with  FM CHANGE_POINTERS_CREATE) during the inbound processing within of the customer-exits of enhancement RHALE001 or within an own BAdI implementation of BAdI HRALE00INBOUND_IDOC.
    Or else you can use method IDOC_DATA_FOR_RECEIVER_MODIFY of BAdI HRALE00OUTBOUND_IDOC. In this case please make sure that note 1292241 is implemented.
    Hope it helps,
    Christine

  • Change Pointers for Infotypes - HR Master Data distribution

    Hi,
    I want to distribute HR infotypes Master Data to other systems...
    How do I activate Change pointers for HR infotypes?
    Do I have to use idoc HRMD_A or HRMD_B?
    Do I have to distribute thru PFAL transaction?
    Can I do that a employee change the data of an infotype send the idoc authomaticly?
    Thanks in advance.
    Regards.
    Urtzi.

    Thanks Roman,
    I've looking also for idoc HRMD_ABA. What is the diference between HRDM_ABA and HRMD_A?
    When I press SAVE in PA20 doing changes in an employee system distributes authomatically HRMD_ABA but not HRMD_A. Is it correct?
    So, if that is correct could I say the following:
    - To distribute HRDM_A we can use report RBDMIDOC scheduleing periodic JOB.
    - iDoc HRDM_ABA is distributed when saving data in standard transactions.
    Is that correct?
    Regards.
    Urtzi.

  • Change Pointers for the fields PERNR, GBDAT and PERID

    Hi,
         I want to know, how we can delete/de-activate and then add/activate Change Pointers for these fields. Is my Question a valid one? Please guide me if I'm wrong and help me in this issue.
    Thanks in advance,
    Exertive.
    Message was edited by:
            Exertive

    Hi Suresh,
                   I didn't get your point exactly. With this report, we can only Log the Changes that has been performed on a Particular Pernr or an Infotype. Actually, if see go through my Previous Post, you will get Clear Idea. Actually, I'm looking for the Concept below:
    Actually, I'm using the Standard ALE Process for Masking Master Data fields (PERID and GBDAT) with default values from one system to another using the Message Type, HRMD_A (which will be used as a Standard Message Type for HR Personnel Administration and Organizational Management). For this, I' have used two Conversion Rules in the above Message Type. To make this ALE trigger, I have to Run the Report, RBDMIDOC. But, before trigerring the ALE for all the Employees in the System, I want to test the ALE for few Employees, whether it is working properly or not. For this, I think, I need to delete the Change Pointers for all the Employees except for the few Employees whom I want to Test. But, I don't have any idea, how to delete those Change Pointers. Please guide me some solution or provide me some document where I can find exact procedure for doing this. Guide me, If I'm going in wrong procedure.
    Thanks in advance,
    Exertive.

  • Regarding change pointers for HRMD_A

    Hi Abapers,
    I need to distribute changes to HR master data to a middleware system. hence i have activated the change pointers for the message type: HRMD_A. now my idoc is populating the infotype segments whenever it is changed with all fields.
    But a particular change (on an infotype) should be sent individually in two different runs of RBDMIDOC run to the middleware. Ex: Vendor A needs changes to be sent to it on a weekly basis whereas Vendor B needs changes to be sent to it on a biweekly basis. When an employee X has a change on infotype 2, this change should be sent to middleware in both instances separately in different IDOCS at different times when RBDMIDOC program is run (by capturing change pointers pertinent to the message type of the particular vendor).
    What are the changes required for ALE config.? Do i need to create a new message type for vendor B and  configure. Please help.
    Thanks.

    Hi sudarshan,
    Yuo need to create Z program to trigger IDOC.
    As you need to set read status of change pointer as X after yuo send it to both system.
    So you need to create Z table to keep track of this whether you have send to sys a or Sys  B..
    If you willl not update read status in will cause performance prob.
    Hope this helps.
    Dhiraj.

  • How to create change pointers for IT6 when custom table Z777A changes?

    Situation: We are using custom table Z777A (copied T777A and added fields) to store building locations. Employee's IT6 subtype 92 retrieves valid work address building locations from table Z777A.
    Problem: Whenever there are updates to Z777A, we need to find all IT6 subtype 92 records that use the changed building location from Z777A and create IDOC's The change pointer entry will need to be for the IT6 subtype 92 row that is affected.
    Question: Can anyone give me specific details as to how this can be accomplished? Thanks.

    Hi,
    MASTER DATA CHANGES DISTRIBUTION BY CHANGE POINTER TECHNIQUE:
    Step 1: Creating change document object in SCDO transaction.
    Step 2:Assigning tables to the change document object.
    Step 3:Specifying change document items in transaction BD52.
    Step 4: Activating change pointers for the message type HRMD_ABA in transaction BD50.
    Step 5:Activating change pointers globally.
    Step 6:Executing program RBDMIDOC  in SE38, Specifying message type HRMD_ABA.
    with regards,
    M.Sreeram.

  • Change pointers for custom message type

    Hi All,
      Please help me with questions.
    1. The requirement is to add two additional fields to CSCK table and then activate change pointers for COSMAS. My question is when I activate the change pointers for COSMAS will it send this two z fields when there is a change?
    2. I dont see a message type in BD50 for a standard IDOC Internal_order? Can I add that standard message type? How can I do this? WIll this create an IDOC when ever there is a change in data?
    Thanks.

    Hello Oscar,
    1. Which changes should be relevant for creation of COSMAS-IDoc, you have to define in BD52.
    2. You need to define INTERNAL_ORDER in WE20. In BD64 you add BAPI "InternalOrder.SaveReplica", filters can be added.
    Best Regards, Dirk

Maybe you are looking for

  • Cant add files/folders to library

    Everytime i try to add a file or folder i click on it then click ok and the screen just disapears nothing happens at all. I dont know what to do im very frusterated because i have over 1000 songs on my computer and i cant get any of them in to itunes

  • Understand the memory consumption in Solaris

    Hi All, There is some things that I don't understand on Solaris, regarding the memory utilization. In my research on google, I have found this very usefull command : echo "::memstat" | mdb -k the output is : root@localhost > echo "::memstat" | mdb -k

  • Purchase Orders replicated in BE with wrong number

    Hello, Recently we've observed that in our dev system Purchase Orders are being replicated from SRM to R/3 System with numbers used for POs created in R/3, Let say, for example,  that in SRM the PO number starts with 33 and once the PO is replicated

  • SQL 2005 and Database Restores

    We have 2 NW2004S systems both with ABAP+Java. When we copy one database over from one system (A) to another (B), we've noticed that the schema attached to all of the tables in on the B system are now A. Using the SQL Tools application from SAP, we w

  • Interface with I2C SDA and SCL with PCI 6224 digital ouputs in C/C++

    I am trying to use the pci 6224 in order to send SDA and SCL to an I2C. I have been able to control the Digital Output, but I have been unsuccessful with generating a clock source to satify the I2C. I am writing this code in C/C++. Any ideas or examp