Thursday, November 26, 2015

AX 2012 - Create a new finance dimension tag AX2012


To create a new finance dimension attribute value


void findOrcreateEMPDimension(container _conAttr, container _conAttrVal)
{
    DimensionAttributeValueSetStorage   valueSetStorage = new DimensionAttributeValueSetStorage();
    DimensionAttribute                  dimensionAttribute;
    DimensionAttributeValue             dimensionAttributeValue;
    DimensionFinancialTag               financialTag;
    int                                 i;
    #macrolib.Dimensions_glc

    //_conAttr = ["BU"];
    //_conAttrVal = ["123"];
    for (i = 1; i <= conLen(_conAttr); i++)
    {
        dimensionAttribute = DimensionAttribute::findByName(conPeek(_conAttr,i));

        if (dimensionAttribute.RecId == 0)
        {
            continue;
        }

        if (conPeek(_conAttrVal,i) != "")
        {
            dimensionAttributeValue =  DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimensionAttribute,conPeek(_conAttrVal,i),false,false);
            if (!dimensionAttributeValue)
            {
                financialTag.Description    =   conPeek(_conAttrVal,i);
                financialTag.Value          =   financialTag.Description;
                financialTag.FinancialTagCategory   = FinancialTagCategory::find(dimensionAttribute.financialTagCategory()).RecId;
                financialTag.insert();
            }
        }
    }
}

No comments:

Post a Comment