X++ code to create default dimension in D365 fo

X++ code to create default dimension .  

In parameters pass the attribute names in conAttribute container and attribute values in attributeValue container in Sequentially.

public static DimensionDefault createDefaultDimension(container conAttribute,container attributeValue)

    {

        DimensionAttributeValueSetStorage   valueSetStorage                     = new DimensionAttributeValueSetStorage();

        DimensionDefault        result;

        DimensionAttribute      dimensionAttribute;

        DimensionAttributeValue dimensionAttributeValue;

        int                     i;

        container               conAttr = conAttribute;

        container               conValue = attributeValue;

        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();

        return result;

    }

Thank you !!

No comments:

Post a Comment