3.2.Modificar un valor de una defaultDimension.

Hoy daré un pequeño ejemplo de como modificar un valor de una defaulDimension.

Lo que realizará nuestro job es modificar la dimensión Department con valor OU_115 por OU_241.



static void ModificarValorDeUnaDefaultDimension(Args _args)
{    
    DimensionAttribute                             dimensionAttribute;
    DimensionAttributeValue                    dimensionAttributeValue;
    DimensionAttributeValueSetStorage   dimensionAttributeValueSetStorage;
    DimensionStorage                              dimensionStorage;
     
    CustTable                                          custTable;
 
    DimensionValue                                 dimensionValue;
 
    #define.DimensionName("Department")
    #define.DimensionValue("OU_241")
 
    ttsBegin;
 
    select firstOnly forUpdate custTable;                  
 
    dimensionAttributeValueSetStorage = dimensionAttributeValueSetStorage::find(custTable.DefaultDimension);

    dimensionAttribute = dimensionAttribute::findbyname(#DimensionName);
    dimensionAttributeValue = dimensionAttributeValue::findbyDimensionAttributeAndValue(dimensionAttribute, #DimensionValue);
 
    dimensionAttributeValueSetStorage.addItem(dimensionAttributeValue);
 
    custTable.DefaultDimension = dimensionAttributeValueSetStorage.save();
    custTable.update();
 
    info(strFmt("Cliente: %1  - Dimensión %2: %3", custTable.AccountNum, #DimensionName, #DimensionValue));
 
    ttsCommit;
}

Si todo ha ido bien recibiremos un mensaje similar a este.



Comentarios