2018-10-19

[AX2012] Ledger Dimension Description

display Description getLedgerDimensionDesc()
{
    DimensionStorage                        dimensionStorage;
    DimensionStorageSegment                 segment;
    Description                             dimDesc;
    int                                     hierarchyIndex, hierarchyCount;
    int                                     segmentIndex, segmentCount;
    Name                                    segmentName;
    ;

    dimensionStorage = DimensionStorage::findById(this.LedgerDimension);
    if(!dimensionStorage)
        return dimDesc;

    hierarchyCount = dimensionStorage.hierarchyCount();

    for(hierarchyIndex=1; hierarchyIndex<=hierarchyCount; hierarchyIndex++)
    {
        segmentCount = dimensionStorage.segmentCountForHierarchy(hierarchyIndex);
        for(segmentIndex=1; segmentIndex<=segmentCount; segmentIndex++)
        {
            segment = dimensionStorage.getSegmentForHierarchy(hierarchyIndex, segmentIndex);
            if(segment.parmDimensionAttributeValueId()!=0)
            {
                segmentName = segment.getName();
                if(!dimDesc)
                    dimDesc = segmentName;
                else
                    dimDesc += "-"+segmentName;
            }
        }
    }

    return dimDesc;
}