Quantcast
Channel: Microsoft Dynamics AX Forum - Recent Threads
Viewing all articles
Browse latest Browse all 175888

DMFCustomerEntity - Dimension Attribute values not created for some customers

$
0
0

Hi,

I am trying to import customers and I have an error w.r.t. 2 customers. Both customers did not get created with the same error.

 Record ('8540') . Unable to return DimensionAttributeValue record for 8540

The error is popping while executing Classes\DMFCustomerEntityClass\generateDefaultDimension.

Classes\DMFDimensionhelper\generateDefaultDimension

Code in generalDefaultDimension:

storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(DimensionAttribute::findByName(conPeek(dimAttributeList,j)), conPeek(dimValueList,j), false, true));

 

Code in Tables\DimensionAttributeValue\findByDimensionAttributeAndValue(table method)

 

public static DimensionAttributeValue findByDimensionAttributeAndValue(

    DimensionAttribute _dimensionAttribute,

str255 _value,

boolean _forUpdate = false,

boolean _createIfNecessary = false)

{

    DimensionAttributeValue         dimAttributeValue;

    dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(_dimensionAttribute, _value, _forUpdate, _createIfNecessary);

if (!dimAttributeValue && _createIfNecessary)

    { 

// DimensionAttributeValue was expected to be returned

throw error(strFmt("@SYS311723", _value));

    }
return dimAttributeValue;

}

code in DimensionAttributeValue::findByDimensionAttributeAndValueNoError (table method)

else

        {       

// Look up value based on backing entity type and value attribute from the dimension attribute

            dictTable =new DictTable(_dimensionAttribute.BackingEntityType);

            backingEntity = dictTable.makeRecord();       

// No categorizations exist, so search across all values of that type.   

selectfirstonly backingEntity   where backingEntity.(_dimensionAttribute.ValueAttribute) == _value;        

if (backingEntity)

            {

                dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndEntityInst(_dimensionAttribute.RecId, backingEntity.(_dimensionAttribute.KeyAttribute), _forUpdate, _createIfNecessary);

                dimAttributeValue.CachedDisplayValue = backingEntity.(_dimensionAttribute.ValueAttribute);

                dimAttributeValue.CachedInvariantName = backingEntity.(_dimensionAttribute.NameAttribute);

            }

        }

    }

return dimAttributeValue;

While staging to Target, dicttable has to make record of backing entity and then fetch Dimension Attribute values from backingEntity (Views\DimAttributeCustTable). Unable to fetch record from this view, is throwing the error.

Why is the dicttable not able to make record of few customers?

Any help will be highly appreciated.

 

Thanks,

lakshmi

 

 

 

 

 

 


Viewing all articles
Browse latest Browse all 175888

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>