Der nachstehende Job demonstriert, wie man den Wert einer Dimension (im Beispiel wird die Dimension Kostenstelle eines Debitors geändert) innerhalb der Standardfinanzdimensionen eines Datensatzes per Code austauschen kann. Auf diese Art & Weise können auch einzelne Dimensionswerte entfernt werden.
static void changeDimensionValue(Args _args)
{
DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage;
DimensionAttribute dimensionAttribute;
CustTable custTable = CustTable::find("US-014");
DimensionValue oldDimensionValue;
DimensionValue newDimensionValue = "011";
DimensionDefault newDimensionDefault;
#define.dimensionName("CostCenter")
DimensionValue getDimensonValue(DimensionDefault _dimensionDefault)
{
DefaultDimensionView defaultDimensionView;
select firstonly DisplayValue
from defaultDimensionView
where defaultDimensionView.Name == #dimensionName
&& defaultDimensionView.DefaultDimension == _dimensionDefault;
return defaultDimensionView.DisplayValue;
}
// Get current value
oldDimensionValue = getDimensonValue(custTable.DefaultDimension);
// Build DimensionAttributeValueSetStorage
dimensionAttributeValueSetStorage = DimensionAttributeValueSetStorage::find(custTable.DefaultDimension);
// Remove old dimension value
dimensionAttribute = DimensionAttribute::findByName(#dimensionName);
dimensionAttributeValueSetStorage.removeDimensionAttributeValue(
DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, oldDimensionValue).RecId);
// Set new dimension value
if(newDimensionValue != "")
{
dimensionAttribute = DimensionAttribute::findByName(#dimensionName);
dimensionAttributeValueSetStorage.addItem(
DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, newDimensionValue));
}
newDimensionDefault = dimensionAttributeValueSetStorage.save();
ttsbegin;
custTable.selectForUpdate(true);
custTable.DefaultDimension = newDimensionDefault;
custTable.update();
ttscommit;
}
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
Der nachstehende Job demonstriert, wie man den Wert einer Dimension (im Beispiel wird die Dimension Kostenstelle eines Debitors geändert) innerhalb der Standardfinanzdimensionen eines Datensatzes per Code austauschen kann. Auf diese Art & Weise können auch einzelne Dimensionswerte entfernt werden.
Screenshot vor der Änderung
Screenshot nach der Änderung