Showing posts with label Create Default Dimension ax 2012. Show all posts
Showing posts with label Create Default Dimension ax 2012. Show all posts

Saturday 2 January 2021

Create Default Dimension with a set of dimension values through Code (x++)

 

      Create Default Dimension with a set of dimension values through Code (x++)


Below job specifies set of dimension values and get the default dimension(Recid) for that combination of the values passed.

static void getDefaultDimension(Args _args)
{
DimensionAttributeValueSetStorage valueSetStorage = new DimensionAttributeValueSetStorage();
DimensionDefault result;

int i;
DimensionAttribute dimensionAttribute;
DimensionAttributeValue dimensionAttributeValue;
container conAttr = [“Department”,”CostCentre” ,”ExpensePurpose”];
container conValue = [“00000030”, “OU_4574”, “Conference/Seminar”];
str dimValue;

for (i = 1; i <= conLen(conAttr); i++)
{
dimensionAttribute = dimensionAttribute::findByName(conPeek(conAttr,i));

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

dimValue = conPeek(conValue,i);

if (dimValue != "")
{
// The last parameter is "true". A dimensionAttributeValue record will be created if not found.
dimensionAttributeValue =
dimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,dimValue,false,true);

// Add the dimensionAttibuteValue to the default dimension
valueSetStorage.addItem(dimensionAttributeValue);
}
}

result = valueSetStorage.save();

}


Thanks & Regards

Sindhu