Financial Dimensions
Here is a couple of helper methods that simply the retrieval of dimension data.
These can be included in a helper class and referenced to as static methods are normally,
but I recommend including these in your Global class, then you can just call the method directly.
I have 2 methods: dimValue() and dimDesc(), they return the value and description, respectively.
Code and usage is below:
//Usage for dimValue() and dimDesc()
static void JobDimensionUsage(Args _args)
{
SalesLine sl;
DimensionValue value;
Description desc;
;
select firstonly sl;
value = dimValue(sl.DefaultDimension, 'Department');
desc = dimDesc(sl.DefaultDimension, 'Department');
info(strfmt("%1: %2", value, desc));
}
static DimensionValue dimValue(RefRecId _defaultDimension, Name _name)
{
DimensionAttributeValueSetItemView davsi;
DimensionAttribute da;
;
select DisplayValue from davsi
where davsi.DimensionAttributeValueSet == _defaultDimension
join RecId from da
where da.RecId == davsi.DimensionAttribute
&& da.Name == _name;
return davsi.DisplayValue;
}
static Description dimDesc(RefRecId _defaultDimension, Name _name)
{
DimensionAttributeValueSetItemView davsi;
DimensionAttribute da;
DimensionFinancialTag dft;
DimensionAttributeDirCategory dadc;
DimAttributeCustTable dact;
DimAttributeProjTable dapt;
;
select DimensionAttributeValueSet from davsi
where davsi.DimensionAttributeValueSet == _defaultDimension
join RecId from da
where da.RecId == davsi.DimensionAttribute
&& da.Name == _name
outer join Name from dadc
where dadc.DimensionAttribute == da.RecId;
outer join Description from dft
where dft.RecId == dav.EntityInstance
&& dft.FinancialTagCategory == dadc.DirCategory
outer join Name from dact
where dact.RecId == dav.EntityInstance
&& dact.Value == davsi.DisplayValue
outer join Name from dapt
where dapt.RecId == dav.EntityInstance
&& dapt.Value == davsi.DisplayValue;
return (dft.Description ? dft.Description : (dact.Name ? dact.Name : (dapt.Name ? dapt.Name : "")));
}
reference from
No comments:
Post a Comment