Monday, 11 May 2020

Gel the ledger dimension from x++ or SQL

select dimensionAttributeValueCombination.RecId,
DimensionAttribute.Name,
DimensionAttributeLevelValue.DisplayValue
 from dimensionAttributeValueCombination
         
       inner join dimensionAttributeValueGroupCombination
            on dimensionAttributeValueGroupCombination.DimensionAttributeValueCombination =
                  dimensionAttributeValueCombination.RecId
       inner join dimensionAttributeValueGroup
            on dimensionAttributeValueGroup.RecId = dimensionAttributeValueGroupCombination.DimensionAttributeValueGroup
       inner join dimensionAttributeLevelValue
            on dimensionAttributeLevelValue.DimensionAttributeValueGroup = dimensionAttributeValueGroup.RecId
       inner join dimensionAttributeValue
            on dimensionAttributeValue.RecId = dimensionAttributeLevelValue.DimensionAttributeValue
       inner join dimensionAttribute
            on dimensionAttribute.RecId = dimensionAttributeValue.DimensionAttribute
                 -- and  DimensionAttribute.Name = "Project"

-- where dimensionAttributeValueCombination.RecId = 5637174256


======================== X++====================

DimensionDefault                        d =  5637169331;
    DimensionAttributeValueSet  dimAttrValueSet;
    DimensionAttributeValueSetItem  dimAttrValueSetItem;
    DimensionAttributeValue         dimAttrValue;
    DimensionAttribute          dimAttr;
    Common      dimensionValueEntity;
    DimensionValue  dimensionValue;
    DimensionAliasName  dimensionName;
   
    dimAttrValueSet = DimensionAttributeValueSet::find(D);
    while select dimAttrValueSetItem
        where dimAttrValueSetItem.DimensionAttributeValueSet == dimAttrValueSet.RecId
    {
        dimAttrValue = DimensionAttributeValue::find(dimAttrValueSetItem.DimensionAttributeValue);
       
        dimAttr = DimensionAttribute::find(DimAttrValue.DimensionAttribute);
        dimensionvalueentity = DimensionDefaultingControllerBase::findBackingEntityInstance(
        curext(),DimAttr,dimAttrvalue.EntityInstance);
        dimensionvalue = dimattrvalue.getValue();
        info(strFmt("%1 %2",Dimensionvalue, DimAttr.Name));
    }

No comments:

Post a Comment