D365/AX7: Create Inventory Movement Journal Using X++ Code

public static void main(Args _args)
{ 
InventTable inventTable;
InventSite inventSite;
InventJournalTrans inventJournalTrans;
InventDim inventDimFrom;
InventJournalTable inventJournalTable;
int lineNum;
InventParameters inventParameters = InventParameters::find();
inventJournalTable.clear();
inventJournalTable.initValue();
inventJournalTable.initFromInventJournalName(InventJournalName::find(inventParameters.MovementJournalNameId));
if (inventJournalTable.validateField(fieldNum(InventJournalTable, JournalNameId)))
{
inventJournalTable.modifiedField(fieldNum(InventJournalTable, JournalNameId));
inventJournalTable.JournalType = InventJournalType::Movement;
inventJournalTable.insert();
}

lineNum ++;
inventJournalTrans.clear();
inventJournalTrans.initValue();
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.TransDate = today();
inventJournalTrans.ItemId = '1104X';
inventJournalTrans.LineNum = lineNum;
inventJournalTrans.modifiedField(fieldNum(InventJournalTrans, ItemId));
inventDimFrom.clear();
inventDimFrom.initValue();
inventDimFrom.InventSiteId = 'Site 1';
inventDimFrom.InventLocationId = '11';
inventDimFrom = InventDim::findOrCreate(inventDimFrom);
inventJournalTrans.InventDimId = inventDimFrom.inventDimId;
inventJournalTrans.modifiedField(fieldNum(InventJournalTrans, inventDimId));
inventJournalTrans.Qty = 2;
inventJournalTrans.modifiedField(fieldNum(inventJournalTrans, Qty));
inventTable = InventTable::find(inventJournalTrans.ItemId);
inventJournalTrans.DefaultDimension = LedgerDimensionDefaultFacade::serviceMergeDefaultDimensions(inventTable.DefaultDimension, inventDimFrom.inventSite().DefaultDimension);
inventJournalTrans.JournalType = InventJournalType::Movement;
inventJournalTrans.insert();
}

D365/AX7: Calculate On Hand Stock Of Item Using X++ & Code

public static void main(Args _args)
{
InventDimParm inventDimParm;
InventDim inventDim; 
Qty availPhysicalCalculated; ;
inventDim.InventLocationId = 'MLT-WH';
inventDim = InventDim::findOrCreate(inventDim);
inventDimParm.initFromInventDim(InventDim::find(inventDim.inventDimId));
availPhysicalCalculated = InventSum::findSum("ALLOY",inventDim,inventDimParm).availPhysicalCalculated();
info(strfmt("availPhys:%1 ",availPhysicalCalculated));
}

D365/AX7: X++ Code To Create Item or Released Product Using Data Entity EcoResReleasedProductCreationV2Entity

Requirement

X++ Code To Create Item or Released Production Using Data Entity EcoResReleasedProductCreationV2Entity

Sample Code

class CreateReleasedProduct
{ 
/// <summary>
/// Runs the class with the specified arguments.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{ 
EcoResReleasedProductCreationV2Entity ecoResReleasedProductCreationV2Entity;
;

ecoResReleasedProductCreationV2Entity.clear();
ecoResReleasedProductCreationV2Entity.initValue();
ecoResReleasedProductCreationV2Entity.ItemNumber = '1104X';
ecoResReleasedProductCreationV2Entity.ItemModelGroupId = 'Stocked';
ecoResReleasedProductCreationV2Entity.InventoryUnitSymbol = 'ea';
ecoResReleasedProductCreationV2Entity.BOMUnitSymbol = 'ea';
ecoResReleasedProductCreationV2Entity.ProductGroupId = 'FG';
ecoResReleasedProductCreationV2Entity.ProductType = EcoResProductType::Item;
ecoResReleasedProductCreationV2Entity.ProductNumber = '1104X';
ecoResReleasedProductCreationV2Entity.ProductSearchName = '1104X';
ecoResReleasedProductCreationV2Entity.ProductName = '1104X';
ecoResReleasedProductCreationV2Entity.TrackingDimensionGroupName = 'None';
ecoResReleasedProductCreationV2Entity.ProductSubType = EcoResProductSubtype::Product;
ecoResReleasedProductCreationV2Entity.SearchName = '1104X';
ecoResReleasedProductCreationV2Entity.SalesUnitSymbol = 'ea';
ecoResReleasedProductCreationV2Entity.StorageDimensionGroupName = 'SiteWH';
ecoResReleasedProductCreationV2Entity.PurchaseUnitSymbol = 'ea';
ecoResReleasedProductCreationV2Entity.insert();

}

}

D365/AX7: Inventory Registration & Un-Registration Using X++ Class InventTransWMS_register

Hey Visitors,

Here is the sample code for Inventory Registration & Un-Registration Using X++ Class InventTransWMS_register.

cheers,

piyush adhikari – +91-7995802472

public static void operations(PurchId _purchId)
{
PurchLine purchLine;
InventTrans inventTrans;
InventDim inventDim;
InventTransWMS_Register inventTransWMS_register;
TmpInventTransWMS tmpInventTransWMS;
;

ttsbegin;
while select RecId, InventTransId from purchLine
where purchLine.PurchId == _purchId
&& purchLine.IsDeleted == NoYes::No
&& purchLine.PurchQty > 0
{
inventTrans = InventTrans::findTransId(purchLine.InventTransId);
if(inventTrans && inventTrans.StatusReceipt != StatusReceipt::Registered)
{
inventDim = inventTrans.inventDim();
tmpInventTransWMS.clear();
tmpInventTransWMS.initFromInventTrans(inventTrans);
tmpInventTransWMS.InventQty = inventTrans.Qty;
tmpInventTransWMS.InventDimId = inventDim.inventDimId;
tmpInventTransWMS.insert();

inventTransWMS_register = inventTransWMS_register::newStandard(tmpInventTransWMS);
inventTransWMS_Register.createFromInventTrans(inventTrans, inventDim);
inventTransWMS_register.writeTmpInventTransWMS(tmpInventTransWMS, inventTrans, inventDim);
inventTransWMS_register.updateInvent(inventTrans);
}
}
ttscommit;
}