Following code can be used to create invent batch id for production order.
static InventBatchId generateActiveInventBatch(
ProdTable _prodTable)
{
InventBatchId inventBatchId;
InventBatch inventBatch;
NoYes isBatchActive;
InventNumGroup inventNumGroup;
FieldId checkInventBatch = fieldNum(InventDim, InventBatchId);
try
{
isBatchActive = ecoResTrackingDimensionGroupFldSetup::findByDimensionGroupFieldId(InventTable::find(_prodTable.ItemId).trackingDimensionGroup(), checkInventBatch).IsActive;
if (isBatchActive)
{
inventNumGroup = InventNumGroup::find(InventTable::find(_prodTable.ItemId).BatchNumGroupId);
inventbatchId = inventNumGroup.buildNumberParameters(DateTimeUtil::date(_prodTable.CreatedDateTime), _prodTable.ProdId, _prodTable.InventTransId, extendedTypeNum(InventBatchId));
inventBatch = InventBatch::findOrCreate(inventbatchId, _prodTable.ItemId);
}
}
catch (Exception::Error)
{
inventBatchId = "";
}
return inventBatchId;
}
