Wednesday, 4 March 2015

Getting Availablephysical for item based on financial Dimension site in Ax 2012

public InventQty getavailablephysicalqty(ItemId _itemId, DimensionDefault _defualtDimension)
{
    InventSum                       inventSum;
    DefaultDimensionView            defaultDimensionView;
    DimensionAttributeValueSetItem  dimensionAttributeValueSetItem;
    DimensionAttributeValueSet      dimensionAttributeValueSet;
    InventSite                      inventSite;
    InventDim                       inventDimtemp,inventDimdummy;

    select firstonly DisplayValue from defaultDimensionView
        where defaultDimensionView.DefaultDimension == _defualtDimension
        && defaultDimensionView.Name == 'CostCenterSYS';

    select DimensionAttributeValueSet from dimensionAttributeValueSetItem
        where dimensionAttributeValueSetItem.DisplayValue == defaultDimensionView.DisplayValue
    join dimensionAttributeValueSet
        where dimensionAttributeValueSet.RecId  == dimensionAttributeValueSetItem.DimensionAttributeValueSet
    join SiteId from inventSite
        where inventSite.DefaultDimension == dimensionAttributeValueSet.RecId;

    inventDimtemp.InventLocationId  = "";
    inventDimtemp.InventColorId     = "";
    inventDimtemp.InventSizeId      = "";
    inventDimtemp.inventBatchId     = "";
    inventDimtemp.InventStyleId     = "";
    inventDimtemp.inventSerialId    = "";
    inventDimtemp.InventSiteId      = inventSite.SiteId;

    inventDimdummy = InventDim::findOrCreate(inventDimtemp);
    inventDimdummy = null;
   
     select PhysicalInvent from inventSum
         exists join inventDimdummy
            where inventSum.ItemId == _itemId
               && inventSum.Closed == NoYes::No     
               && inventSum.InventDimId == inventDimdummy.inventDimId
               && inventDimdummy.InventSiteId == inventSite.SiteId;

    return inventSum.PhysicalInvent;
}

No comments:

Post a Comment

Best Practices for Troubleshooting Application Issues in D365 and Power Platform

When facing application issues, it’s important to systematically troubleshoot before reaching out for support.  Follow these steps to ensure...