Tuesday, 10 September 2019

to change dimension order x++

private container getProjDimension(ProjId _projId)
    {
        DimensionAttributeValueSetStorage   dimStorage;
        Str                                 displayValue, dimensionName;
        ProjTable                           projTable   =   ProjTable::find(_projId);
        Map                                 dimMap = new Map(Types::String, Types::String);
        MapEnumerator                       mapEnum;
        Counter                             i;
        INTC_DimensionPatternTable          dimensionPatternTable;
        container                           dimContainer;

   
        dimStorage = DimensionAttributeValueSetStorage::find(projTable.DefaultDimension);
 
        for (i= 1 ; i<= dimStorage.elements() ; i++)
        {
            dimensionName   = DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name;
            displayValue    = dimStorage.getDisplayValueByIndex(i);

            if(dimensionName    ==  "BusinessUnit")
            {
                dimMap.insert(dimensionName, displayValue);
            }
            if(dimensionName    ==  "Department")
            {
                dimMap.insert(dimensionName, displayValue);
            }
            if(dimensionName    ==  "Project")
            {
                dimMap.insert(dimensionName, displayValue);
            }
            if(dimensionName    ==  "ServiceLine")
            {
                dimMap.insert(dimensionName, displayValue);
            }
           
        }
        delete_from dimensionPatternTable;
        mapEnum = dimMap.getEnumerator();
        while(mapEnum.moveNext())
        {
            str             dimName, dimValue;
            boolean         dimNameValid;

            dimName      =  mapEnum.currentKey();
            dimValue     =  mapEnum.currentValue();

            dimensionPatternTable.DimName   =   dimName;
            dimensionPatternTable.DimValue  =   dimValue;
            dimensionPatternTable.insert();
        }

        while select dimensionPatternTable order by RecId desc
        {
            dimContainer =  conIns(dimContainer, 1, dimensionPatternTable.DimValue);
        }
        return dimContainer;
    }

No comments:

Post a Comment