Skip to Content
0

Call dialog using bdcdata mode 'N' not working ( I will not use call transaction)

Jul 13, 2017 at 10:26 PM

53

avatar image

Hi Experts,

My requirement is to create a project using the transaction CJ2D. I get the inbound idoc from the external system. I have used the Call transaction inside the IDOC inbound function module. After the call transaction am doing few other table updates.

CALL TRANSACTION iv_tcode USING gt_bdcdata
MODE iv_mode UPDATE iv_update
MESSAGES INTO gt_bdc_msg.

Every thing looks fine and works as expected 99 out of 100 times.

My issue is , Sometimes a single Idoc is being picked by the 2 users with out facing any locking issue. Due to which a single idoc is creating the duplicate projects.

In general when an Idoc is processed by an user using BD87 and if an another user tries to pick the same Idoc, SAP throws an error saying 'IDOC is already being processed by another user XXXX'. But in this case due to call transaction being used in the IDOC function module Idoc LUW is been ended which means IDOC lock be removed but the idoc status is not updated as we are updating the idoc status after the call transaction. At this moment, the second user is able to pick the same Idoc and is able to create a second project.

SAP has suggested to use Call dialog in place of call transaction.

https://uacp2.hana.ondemand.com/viewer/8f3819b0c24149b5959ab31070b64058/7.31.18/en-US/4a6d851657a960e6e10000000a42189b.html

Am struggling to find the right example for Call dialog using BDCdata.

Kindly help me out.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Horst Keller
Jul 14, 2017 at 05:49 AM
0

The normally obsolete statement CALL DIALOG has an addition USING for BDCdata. that works the same way as for CALL TRANSACTION.

Share
10 |10000 characters needed characters left characters exceeded