In this blog, I will discuss how to get a distinct display product number in Dynamics 365 Finance and Operations. Please see the screenshot below with the source code explanation.
Note: In my case, I have got Item Id and Invent Dim Id from RFQ Lines.
Explanation of source code (1.1):
- Get a purchase request for quotation from RFQCaseId and LineNum.
- Updating inventory dimensions.
- Find or create an inventory dimension.
- Find the inventory dimension combination is order to get the product variant record ID.
- Get the display product number and set it in the info method.
class JobToGetDisplayProductNumber
{
/// <summary>
/// In this job we
are getting display product number by
/// Item Id and
Invent Dim Id.
/// </summary>
/// <param name = "args">The specified arguments.</param>
public static void main(Args _args)
{
PurchRFQCaseLine line;
InventDim
inventDim;
InventDimCombination inventDimComb;
//Get purchase request for quotation line from RFQId and LineNum
line = PurchRFQCaseLine::find('CDPL-000051', 3);
//Updating inventory dimensions
inventDim = line.inventDim();
inventDim.InventSiteId = '';
inventDim.InventLocationId = '';
//Find or Create inventory dimensions
inventDim = InventDim::findOrCreate(inventDim);
//Find
inventory dimension combination in order to get Product Variant Record Id
inventDimComb = InventDimCombination::findByInventDim(line.ItemId, inventDim);
//Display product from <c>EcoResDistinctProductVariant</c> table.
info(EcoResDistinctProductVariant::find(inventDimComb.DistinctProductVariant).DisplayProductNumber);
}
}