To get concatenated Display Value of Default dimension in x++
/// <summary>
/// this will return a concatenated dispay value default dimension
/// </summary>
/// <param name = "_defaultDimension"></param>
/// <returns></returns>
public static str DimensionDisplayValue(RecId _defaultDimension)
{
DimensionAttributeSetItem dimAttrItemSet;
DimensionAttribute dimAttr;
DimensionEnumeration dimensionSetId;
DimensionAttributeValueSet DimensionAttributeValueSet;
str DimensionList;
int dimAttrCount;
int i=1;
dimensionSetId = DimensionCache::getDimensionAttributeSetForLedger();
select count(RecId) from dimAttr
where dimAttr.Type != DimensionAttributeType::MainAccount
join RecId from dimAttrItemSet
where dimAttrItemSet.DimensionAttribute == dimAttr.RecId &&
dimAttrItemSet.DimensionAttributeSet == dimensionSetId;
dimAttrCount=dimAttr.RecId;
while select * from dimAttr
order by Name
where dimAttr.Type != DimensionAttributeType::MainAccount
join RecId from dimAttrItemSet
where dimAttrItemSet.DimensionAttribute == dimAttr.RecId &&
dimAttrItemSet.DimensionAttributeSet == dimensionSetId
{
//info(dimAttr.Name);
if(!DSCRUtil::getDimensionDisplayValuebyName(_defaultDimension,dimAttr.Name))
{
DimensionList+='-';
i++;
}
else
if(i<dimAttrCount)
{
DimensionList+=DSCRUtil::getDimensionDisplayValuebyName(_defaultDimension,dimAttr.Name)+"-";
i++;
}
else
{
DimensionList+=DSCRUtil::getDimensionDisplayValuebyName(_defaultDimension,dimAttr.Name);
}
}
//this.DimensionValueDisplay = DimensionList;
return DimensionList;
}
public static str getDimensionDisplayValuebyName(RecId defaultDimension, Name dimName)
{
DimensionAttributeValueSetStorage dimStorage;
dimStorage = DimensionAttributeValueSetStorage::find(defaultDimension);
return dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName(dimName).RecId);
}
Regards
Muhammad Farraz
email: farazjaved01@gmail.com
Comments
Post a Comment