Announcements
DimensionAttribute dimAttr = DimensionAttribute::findByName('ItemGroup');
DimensionAttributeValueSetStorage sourceDimStorage = DimensionAttributeValueSetStorage::find(_templateItemDefaultDimension);
DimensionAttributeValue attrValueSource = DimensionAttributeValue::find(sourceDimStorage.getValueByDimensionAttribute(dimAttr.RecId));
DimensionAttributeValueSetStorage targetDimStorage = DimensionAttributeValueSetStorage::find(_newItemDefaultDimension);
DimensionAttributeValue attrValueTarget = DimensionAttributeValue::find(targetDimStorage.getValueByDimensionAttribute(dimAttr.RecId));
targetDimStorage.removeDimensionAttributeValue(attrValueTarget.RecId);
targetDimStorage.addItem(attrValueSource);
DimensionDefault result = targetDimStorage.save();
DimensionAttribute dimAttr = DimensionAttribute::find('ItemGroup');
DimensionAttributeValueSetStorage sourceDimStorage = DimensionAttributeValueSetStorage::find(_templateItemDefaultDimension);
DimensionAttributeValue attrValue = DimensionAttributeValue::find(sourceDimStorage.getValueByDimensionAttribute(dimAttr.RecId));
DimensionAttributeValueSetStorage targetDimStorage = DimensionAttributeValueSetStorage::find(_newItemDefaultDimension);
targetDimStorage.addItem(attrValue);
targetDimStorage.save(); // Returns the new default dimension ID
DimensionAttributeValueSetStorage valueSetStorage = new DimensionAttributeValueSetStorage();
DimensionAttributeValueSet dimAttrValueSetTemplateItem = DimensionAttributeValueSet::find(_templateItemDefaultDimension);
DimensionAttributeValueSetItem dimAttrValueSetItemTemplateItem;
//Loop through the templateItem's dimensions
while select DimensionAttributeValue from dimAttrValueSetItemTemplateItem
where dimAttrValueSetItemTemplateItem.DimensionAttributeValueSet == dimAttrValueSetTemplateItem.RecId
{
DimensionAttributeValue dimAttrValueTemplateItem = DimensionAttributeValue::find(dimAttrValueSetItemTemplateItem.DimensionAttributeValue);
DimensionAttribute dimAttrTemplateItem = DimensionAttribute::find(dimAttrValueTemplateItem.DimensionAttribute);
//Only the itemGroup dimension value should be copied to the new product
if(dimAttrTemplateItem.Name == "ItemGroup")
{
DimensionAttributeValueSet dimAttrValueSetNewItem = DimensionAttributeValueSet::find(_newItemDefaultDimension);
DimensionAttributeValueSetItem dimAttrValueSetItemNewItem;
//Loop through the new item's dimensions
while select DimensionAttributeValue from dimAttrValueSetItemNewItem
where dimAttrValueSetItemNewItem.DimensionAttributeValueSet == dimAttrValueSetNewItem.RecId
{
DimensionAttributeValue dimAttrValueNewItem = DimensionAttributeValue::find(dimAttrValueSetItemNewItem.DimensionAttributeValue);
DimensionAttribute dimAttrNewItem = DimensionAttribute::find(dimAttrValueNewItem.DimensionAttribute);
if(dimAttrNewItem.Name == "ItemGroup")
{
//Copy template items dimension value to the new items dimension value
dimAttrValueNewItem.DisplayValue = dimAttrValueTemplateItem.DisplayValue;
valueSetStorage.addItem(dimAttrValueNewItem);
}
}
}
}
André Arnaud de Cal...
293,333
Super User 2025 Season 1
Martin Dráb
232,262
Most Valuable Professional
nmaenpaa
101,158
Moderator