Tuesday 30 April 2019

Create default dimensions

Create default dimensions

private void createDefaultDimensions(ProjForecastUnion _projForecastUnion)
{
    DimensionAttributeValueSetStorage       dimStorage;
    ProjTable                               ProjTable;
    Counter                                 i;
    DimensionAttribute                      dimensionAttribute;
    DimensionAttributeValue                 dimensionAttributeValue;
    DimensionAttributeValueSetItem          dimensionAttributeValueSetItem;
    DimensionAttributeValueSetStorage       valueSetStorage = new DimensionAttributeValueSetStorage();
    DimensionDefault                        defaultDim;
    container                               conAttribute, conAttributeValue;
    DimensionValue                          BusinessLine, BusinessUnit, Department, Project, ProjectcategoryItem,
                                            Projectpurpose, Purpose, Region, Site, Vehicle, Worker;

    dimStorage = DimensionAttributeValueSetStorage::find(ProjForecastCost::find(_projForecastUnion.TransId).DefaultDimension);

    for (i=0 ; i<= dimStorage.elements() ; i++)
    {
        if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "BusinessLine")
        {
            BusinessLine = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "BusinessUnit")
        {
            BusinessUnit = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Department")
        {
            Department = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Project")
        {
            Project = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "ProjectcategoryItem")
        {
            ProjectcategoryItem = dimStorage.getDisplayValueByIndex(i);
            if(ProjectcategoryItem == '')
            {
                ProjectcategoryItem = _projForecastUnion.CategoryId;
            }
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Projectpurpose")
        {
            Projectpurpose = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Purpose")
        {
            Purpose = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Region")
        {
            Region = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Site")
        {
            Site = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Vehicle")
        {
            Vehicle = dimStorage.getDisplayValueByIndex(i);
        }
        else if (DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == "Worker")
        {
            Worker = dimStorage.getDisplayValueByIndex(i);
        }

    }


    conAttribute        = conNull();
    conAttributeValue   = conNull();

    conAttribute        = conIns(conAttribute,1,'BusinessLine');
    conAttributeValue   = conIns(conAttributeValue, 1, BusinessLine);

    conAttribute        = conIns(conAttribute,2,'BusinessUnit');
    conAttributeValue   = conIns(conAttributeValue, 2, BusinessUnit);

    conAttribute        = conIns(conAttribute,3,'Department');
    conAttributeValue   = conIns(conAttributeValue, 3, Department);

    conAttribute        = conIns(conAttribute,4,'Project');
    conAttributeValue   = conIns(conAttributeValue, 4, Project);

    conAttribute        = conIns(conAttribute,5,'ProjectcategoryItem');
    conAttributeValue   = conIns(conAttributeValue, 5, ProjectcategoryItem);

    conAttribute        = conIns(conAttribute,6,'Projectpurpose');
    conAttributeValue   = conIns(conAttributeValue, 6, Projectpurpose);

    conAttribute        = conIns(conAttribute,7,'Purpose');
    conAttributeValue   = conIns(conAttributeValue, 7, Purpose);

    conAttribute        = conIns(conAttribute,8,'Region');
    conAttributeValue   = conIns(conAttributeValue, 8, Region);

    conAttribute        = conIns(conAttribute,9,'Site');
    conAttributeValue   = conIns(conAttributeValue, 9, Site);

    conAttribute        = conIns(conAttribute,10,'Vehicle');
    conAttributeValue   = conIns(conAttributeValue, 10, Vehicle);

    conAttribute        = conIns(conAttribute,11,'Worker');
    conAttributeValue   = conIns(conAttributeValue, 11, Worker);

    for (i = 1; i <= conLen(conAttribute); i++)
    {
        dimensionAttribute = dimensionAttribute::findByName(conPeek(conAttribute,i));
        if (dimensionAttribute.RecId == 0)
        {
            continue;
        }
        if (conPeek(conAttributeValue,i) != "")
        {
            dimensionAttributeValue =  dimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,conPeek(conAttributeValue,i),false,true);
            valueSetStorage.addItem(dimensionAttributeValue);
        }

        defaultDimension = valueSetStorage.save();
    }

}

No comments:

Post a Comment