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

Hard wait after commit

former_member615325
Participant
0 Likes
1,056

Hi,

In the program I am using IW32 and IW3D transactions one after the other amd running into lock issues. If I put 1 second hard wait as follows it works and does not work witout hard wait, please let me know your comments for this happening. Even I am tried to lock and unlock the docs after each transaction but invain. also tried do enddo with exit option using lock/unlock function modules before printing and not successful. I want to avoid hard wait, please advise.

Working scenario.

Call IW 32

commit work and wait.

wait upto 1 sec.

Failing scenario:

call IW32

commit work and wait

Regards

Ram.

7 REPLIES 7
Read only

Former Member
0 Likes
983

Hi,

When you are calling the transaction give the update mode as "S" Synchronous processing...so that it will wait till the transaction is complete...

Thanks

Naren

Read only

0 Likes
983

Thank you for the info, I am already passing update mode parameter as "S".

Read only

Former Member
0 Likes
983

when you do call transaction please include options parameter like

call transaction 'IW32' using table bdc_data options from opt.

opt should be of type CTU_PARAMS

and set the value opt-RACOMMIT = 'X'.

Data opt type CTU_PARAMS.

opt-RACOMMIT = 'X'.

Please try.

Read only

0 Likes
983

Hi,

Thank you for the input, I am going to try this racommit option and update you.

Regards

Ram.

Read only

0 Likes
983

Update, RACOMMIT is not working.

Read only

Former Member
0 Likes
983

try DBCOMMIT (database commit)

Read only

Sandra_Rossi
Active Contributor
0 Likes
983

The problem is that the lock is kept during the Update task, and it lasts a few seconds after the commit work of the IW32.

To avoid this problem, run IW32 in local update task by using UPDATE = 'L' in the CALL TRANSACTION. It means that the update function modules will not be called in an update task, but in the same workprocess as the commit work, and this last ends, all locks are released.

Note that I never tried myself.

In worst cases, try function module DEQUEUE_ALL (I couldn't understand if it solves, maybe a kernel bug (or IW32 doesn't do a commit work, no it's impossible!) but why not)

sandra