public static void FNDMarkInventTrans(InventTransId _inventTransId,InventTransId _refInventTransId,InventQty _qtyTomark) { InventTrans issueInventTrans; TmpInventTransMark tmpInventTransMask; Map mapMarkNow; container con; real qty; Map mapTmp; MapEnumerator mapEnumerator; InventTransOriginId issueInventTransOriginId = InventTransOrigin::findByInventTransId(_inventTransId).RecId; InventTransOriginId receiptInventTransOriginId = InventTransOrigin::findByInventTransId(_refInventTransId).RecId; InventQty qtyToMark = _qtyTomark; ttsBegin; issueInventTrans = InventTrans::findByInventTransOrigin( issueInventTransOriginId); [con, qty] = TmpInventTransMark::packTmpMark( InventTransOrigin::find(issueInventTransOriginId), issueInventTrans.inventDim(), issueInventTrans.Qty); mapTmp = Map::create(con); mapEnumerator = mapTmp.getEnumerator(); while (mapEnumerator.moveNext()) { tmpInventTransMask = mapEnumerator.currentValue(); if (tmpInventTransMask.InventTransOrigin == receiptInventTransOriginId) { tmpInventTransMask.QtyMarkNow = qtyToMark; tmpInventTransMask.QtyRemain -= tmpInventTransMask.QtyMarkNow; mapMarkNow = new Map(Types::Int64, Types::Record); mapMarkNow.insert(tmpInventTransMask.RecId, tmpInventTransMask); TmpInventTransMark::updateTmpMark( issueInventTransOriginId, issueInventTrans.inventDim(), -qtyToMark, mapMarkNow.pack()); } } ttsCommit; }
reference code :
https://community.dynamics.com/ax/b/dynamicsaxnotesonthecuffs/archive/2013/01/08/marking-from-code-part-2