Why Data Directive works In-Transaction not in Standard

Hello,
I have a Data Directive to Unallocate, Move Inventory, Reallocate. I have the Unallocate portion in another code block In-Transaction, since I need to Unallocate, before it moves the inventory to another bin. Below is the Move inventory code and is the only Directive I have enabled. Using this exact code, works In-Transaction but errors in Standard. Error: Error Creating Part Tran, Please retry.

1 Like

Ahh, thank you. As you can tell I’m new to this whole epicor thing

1 Like

Also if you are using any conditions against RowMod (added\updated\etc) you can have issues (doesnt seem to be applicable in your case here).

This is because after a BO update processes the rows (using RowMod to determine action), in most cases the BO will clear the RowMod making your conditions fail.

2 Likes

@Chris_Conn @Mark_Wonsil fyi you guys are practically living legends in my book with your help on other threads. Thank you!!

Hello ,

I also faced this issue while performing multiple inventory transfers in a loop — Epicor was showing the error “Error creating PartTran. Please retry.” This happens because Epicor uses a deferred processing queue, and changes made by CommitTransfer() aren’t immediately finalized. To resolve it, I added the following code after each CommitTransfer():

Erp.Internal.Lib.DeferredUpdate libDeferredUpdate = new Erp.Internal.Lib.DeferredUpdate(Db);
libDeferredUpdate.UpdPQDemand();

This manually triggers Epicor to process any pending updates from PartBinDeferred, finalizing the transfer before the next one begins. This resolved the issue and allowed smooth back-to-back transfers.