Friday, 21 June 2019

Get Purchase Order Financial Dimensions Using X++

Public void run()
{
    Di_FinancialDimensionsTmp         Di_FinancialDimensionsTmp;
    PurchLine                                        purchLine;
    PurchTable                                      purchTable;
    DimensionAttribute                        dimensionAttribute;
    DimensionAttributeValue               dimensionAttributeValue;
    Dimensionattributevalueset            dimensionattributevalueset;
    DimensionAttributeValueSetItem   dimensionAttributeValueSetItem;


    while select PurchLine
    {
     while select dimensionAttributeValueSetItem
        where dimensionAttributeValueSetItem.DimensionAttributeValueSet == purchLine.DefaultDimension
          join dimensionAttributeValue
            where dimensionAttributeValue.RecId == dimensionAttributeValueSetItem.DimensionAttributeValue
              join  dimensionAttribute
                where dimensionAttribute.RecId == dimensionAttributeValue.DimensionAttribute
     {
        switch (DimensionAttribute.Name)
        {
            case BusinessUnit     :
            Di_FinancialDimensionsTmp.BusinessUnit = dimensionAttributeValueSetItem.DisplayValue;
            break;
            case CostCenter :
            Di_FinancialDimensionsTmp.CostCenter    = dimensionAttributeValueSetItem.DisplayValue;
            break;
            case Department :
            Di_FinancialDimensionsTmp.Department    = dimensionAttributeValueSetItem.DisplayValue;
            break;
            case ItemGroup :
            Di_FinancialDimensionsTmp.ItemGroup     = dimensionAttributeValueSetItem.DisplayValue;
            break;
            case Project:
            Di_FinancialDimensionsTmp.Project         = dimensionAttributeValueSetItem.DisplayValue;
            break;
        }
        Di_FinancialDimensionsTmp.LineNumber = PurchLine.LineNumber;
     }
    Di_FinancialDimensionsTmp.Purchid = purchLine.PurchId;
    Di_FinancialDimensionsTmp.insert();
}

No comments:

Post a Comment