Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Question on Change Pointers

Former Member
0 Likes
697

Hi All,

I am working on changing pointers in HR.

According to the requirement, whenever an inbound IDOC gets triggerred and master data is updated or when there are any changes made to the master data manually, an Outbound IDOC needs to be generated through Change Pointers.

This works absolutely fine, however only those segments in the IDOC structure for which the changes take place is populated in the Outbound IDOC. But I need all the segments to be present in the generated IDOC even if few of them are blank.

I am using the Message Type HRMD_A and the IDOC type HRMD_A07.

Its really urgent, any help is appreciated.

Thanks.

5 REPLIES 5
Read only

Former Member
0 Likes
630

We had a similar issue with material master changes. We used the BADI BDCP_BEFORE_WRITE. This is called at the time the change pointer is to be written. We then used the BADI to get SAP to write more changes pointers for the data we wanted to be sent.

The standard IDoc sending program should then do the rest for you.

Read only

Former Member
0 Likes
630

Hi Martin,

Thanks for the reply.

But will the BADI help in populating all the segments in the IDOC structure.

In my case, the IDOC HRMD_A07 has more than 100 segments, so if changes occur in only 3 or 4 segments, will the Outbound IDOC that will be generated contain all the 100 segments with only the 3 or 4 segments with the changed data?

Is there any code for the BADI that I can refer to?

Thanks

Read only

0 Likes
630

You will have a list of segments that you require on your IDoc. These segments will be populated based on the type of change pointer created. Therefore if you make a specific change only a single change pointer may be created. If you require other segments then you will need to create extra change pointers so that the standard IDoc program will create the segments that you require.

Use the BADI to create these extra change pointers.

Otherwise, you would need to write a program yourself to create the IDoc based on the change pointers that have been created.

Read only

Former Member
0 Likes
630

Hi Martin,

Will this BADI work if I am using RBDMIDOC to generate the IDOC?

When I try to run RBDMIDOC, this BADI does not trigger. It triggers only when you try to change or update data from the TCode where data is maintained.

Thanks.

Read only

0 Likes
630

The BADI is exeuted at the time the change pointer is created.