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

Doubt about BDCP_BEFORE_WRITE badi

adrian_mejido
Contributor
0 Likes
2,227

Hi,

I have a doubt about this badi. What would happend if I deleted a change pointer in this badi? Would the change pointer dissapear from BDCP2 table or the change pointer wouldn't create a new entrie in BDCP2 table?

My requirement is that I have to avoid the execution of change pointers if they don't pass some validations. But I don't want to delete or mark them as processed because they might pass those validations in the future.

Thanks and best regards.

1 ACCEPTED SOLUTION
Read only

karthikeyan_p3
Contributor
0 Likes
1,556

Hi Adrian,

Deleting the change pointer in BDCP_BEFORE_WRITE will not create an entry in BDCP2. When RBDMIDOC is run, IDOCs will not be generated when you delete change pointer using this BADI.

Change pointers are determined by FM CHANGE_POINTERS_READ when RBDMIDOC is run. May be you could write an implicit enhancement at the end of the FM & if your validation does not met, you could remove it from the interface CHANGE_POINTERS.

Explore the Function Module CHANGE_POINTERS_READ.

Thanks,

Karthikeyan

Hi,

I have a doubt about this badi. What would happend if I deleted a change pointer in this badi? Would the change pointer dissapear from BDCP2 table or the change pointer wouldn't create a new entrie in BDCP2 table?

My requirement is that I have to avoid the execution of change pointers if they don't pass some validations. But I don't want to delete or mark them as processed because they might pass those validations in the future.

Thanks and best regards.

5 REPLIES 5
Read only

karthikeyan_p3
Contributor
0 Likes
1,557

Hi Adrian,

Deleting the change pointer in BDCP_BEFORE_WRITE will not create an entry in BDCP2. When RBDMIDOC is run, IDOCs will not be generated when you delete change pointer using this BADI.

Change pointers are determined by FM CHANGE_POINTERS_READ when RBDMIDOC is run. May be you could write an implicit enhancement at the end of the FM & if your validation does not met, you could remove it from the interface CHANGE_POINTERS.

Explore the Function Module CHANGE_POINTERS_READ.

Thanks,

Karthikeyan

Read only

0 Likes
1,556

Thanks for your reply,

But I would like to avoid implicit enhancements...

Read only

0 Likes
1,556

Hi,

do you want to only proccess some of your change pointers? this logic should take place in the specific application, that reads the change pointer.

In FM BDCP_BEFORE_WRITE you avoid creating new change pointer.

if your actual change-pointer does not suit ur requirement ( for example you only want to proccess half of them) its maybe a good idea to create your own change pointer for this specific requirement. so you end up having 2 independend change pointers, that can be proccessed by different logic.

regards

Stefan Seeburger

Read only

0 Likes
1,556

Hi Stefan,

But the change pointers would be configured at the BD52 table and after that how I could implement the logic for proccess them with different logic? And how I could split each group of change pointers?

Read only

0 Likes
1,556

Hi,

if you need spezific change pointers, feel free to define new z-change pointers. In my Opinion its not a good design to have multiple programms all just proccessing some of thr date of a single change pointer.

Also its important to know what change pointers you use. Standard or z? where does they get generated? what programm proccesses the change pointer?

it might help if you explain ur requirement more in detail.

regards

Stefan Seeburger