2020 Oct 20 7:42 AM
Hi experts,
I need to send multiple idocs in tx. PLOIT, but only one is being triggered.
I execute with 10 orders and there's only one idoc as a result. When debugging module function CLOI_MASTERIDOC_CREATE_LOIPRO, all idocs are being processed but at this point:
IF done_since_commit >= c_idocs_before_commit.
done_since_commit is always > c_idocs_before_commit, which has value 50. So the program doesn't commit every single idoc. Instead of that, after the loop, at this point:
IF done_since_commit > 0.
IF no_commit IS INITIAL.
CALL FUNCTION 'DB_COMMIT'.
ENDIF.
CALL FUNCTION 'DEQUEUE_ALL'.
IF no_commit IS INITIAL.
COMMIT WORK.
ENDIF.
ENDIF
The programs does the commit but only 1 idoc is triggered.
I've checked it's working fine in quality system but not in production system. Both systems are equal.
Any help please?
thanks !
Maria
2020 Oct 20 7:59 AM
Did you check in WE20 if you have set a number of idocs to be processed at one time ?
2020 Oct 20 9:18 AM
2020 Oct 20 11:18 AM
Yes, WE20 is okay. In TST is working fine and in Prodction wrong.
2020 Oct 20 1:25 PM
2020 Oct 20 2:46 PM
2020 Dec 01 4:21 PM
I've seen within the user exit there is a perform with a call to BAPI_PRODORD_CHANGE and then BAPI_TRANSACTION_COMMIT. So I think the problem is with this commit.
Do I have to call BAPI_PRODORD_CHANGE in update or in background task?
thanks!
maría