Thank you for your reply. I've notice that if the "explode lines" option is flagged, i do not get any error and the trasnfer order gets posted properly.
In the InventTransferUpd class, createInventTransferJourLine method there's a if condition on this parameter:
if (inventTransferParmTable.ExplodeLines)
{
select forceplaceholders TableId from inventTransOrigin
where inventTransOrigin.InventTransId == _inventTransferParmLine.InventTransId
&& inventTransOrigin.ReferenceCategory == inventTransType
join sum(Qty) from inventTrans
group by InventDimId
where inventTrans.InventTransOrigin == inventTransOrigin.RecId
&& inventTrans.StatusIssue <= statusIssue
&& inventTrans.StatusReceipt <= statusReceipt
&& inventTrans.Voucher == voucherId
&& inventTrans.DateFinancial == inventTransferParmTable.TransDate
#inventDimExistsJoin(inventTrans.InventDimId,inventDim,_inventDimCriteria,_inventDimParm);
}
else
{
select TableId from inventTransOrigin
where inventTransOrigin.InventTransId == _inventTransferParmLine.InventTransId
&& inventTransOrigin.ReferenceCategory == inventTransType
join sum(Qty) from inventTrans
group by InventDimId
where inventTrans.InventTransOrigin == inventTransOrigin.RecId
&& inventTrans.StatusIssue <= statusIssue
&& inventTrans.StatusReceipt <= statusReceipt
&& inventTrans.Voucher == voucherId
&& inventTrans.DateFinancial == inventTransferParmTable.TransDate;
}
So i've tried to comment the #inventDimExistsJoin macro in InventUpd_Physical class,
updatePhysicalIssue method (line 52,right before the while statement):
select forupdate inventTrans
order by StatusIssue,InventDimId
where inventTrans.InventTransOrigin == movement.inventTransOriginId()
&& inventTrans.StatusReceipt == StatusReceipt::None
&& inventTrans.StatusIssue >= caseStatusIssueFrom
&& inventTrans.StatusIssue <= caseStatusIssueTo
&& inventTrans.TransChildType == movement.transChildType()
&& inventTrans.TransChildRefId == movement.transChildRefId();
//#InventDimExistsJoin(InventTrans.inventDimId,inventDimJoin,inventDimCriteria,inventDimParmCriteria);
It worked like a charm, but i now need to check for the explodelines parameter here and write an if condition like the one i've found in the InventTransferUpd class.
Any idea? I cannot find it anywhere...