Skip to main content

Unreserve the inventory from sales orders or lines in Axapta

 InventTrans             inventTrans;


    InventTransOrigin       inventTransOrigin;


    SalesLine               salesLine;


    InventMovement          inventMovement;


    InventUpd_Reservation   inventUpd_Reservation ;


    SalesId                 SalesId = "TesSo0001";//get sales id 


 


    // Remove reservations and markings on a reserved salesorder


    while select inventTrans


        where inventTrans.StatusReceipt                == StatusReceipt::None


           && (inventTrans.StatusIssue                 == StatusIssue::ReservPhysical 


           ||  inventTrans.StatusIssue                 == StatusIssue::ReservOrdered)


        exists join inventTransOrigin 


            where   inventTransOrigin.RecId            == inventTrans.InventTransOrigin


        exists join salesLine 


            where   salesLine.InventTransId            == inventTransOrigin.InventTransId                    


                &&  SalesLine.SalesId                  == SalesId    


    {


            if (inventTrans.MarkingRefInventTransOrigin)


            {


                InventTransOrigin::deleteMarking(inventTrans.MarkingRefInventTransOrigin, inventTrans.InventTransOrigin, -inventTrans.Qty, true);


                InventTransOrigin::deleteMarking(inventTrans.InventTransOrigin, inventTrans.MarkingRefInventTransOrigin, inventTrans.Qty, true);


            }


 


            if (inventTrans.StatusIssue == StatusIssue::ReservPhysical || inventTrans.StatusIssue == StatusIssue::ReservOrdered)


            {                


                Inventmovement = inventTrans.inventmovement(true); 


                inventUpd_Reservation = InventUpd_Reservation::newInventDim(inventmovement,inventTrans.inventDim(), -1 * inventTrans.Qty, false); 


                inventUpd_Reservation.updatenow(); 


            }


    }


}


Comments

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole