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