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.
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
Publicar un comentario