class TEST_DefaultDimensions
{
public DimensionDefault createDimension(container _conAttr, container _conValue)
{
DimensionAttributeValueSetStorage valueSetStorage = new DimensionAttributeValueSetStorage();
DimensionDefault result;
int i;
DimensionAttribute dimensionAttribute;
DimensionAttributeValue dimensionAttributeValue;
container conAttr = _conAttr;
container conValue = _conValue;
str dimValue;
for (i = 1; i <= conLen(conAttr); i++)
{
dimensionAttribute = dimensionAttribute::findByName(conPeek(conAttr,i));
if (dimensionAttribute.RecId == 0)
{
continue;
}
dimValue = conPeek(conValue,i);
if (dimValue != "")
{
dimensionAttributeValue = dimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,dimValue,false,true);
valueSetStorage.addItem(dimensionAttributeValue);
}
}
result = valueSetStorage.save();
return result;
}
public DimensionDefault unpackDimension(CustAccount _custAccount)
{
DimensionAttributeValueSetStorage dimStorage;
str segmentName, segmentValue, segmentDescription;
boolean isNullforSales;
int hierarchyCount, hierarchyIndex;
DefaultDimensionView defaultDimensionView;
RecId defaultDimension;
int i;
CustTable custTable = CustTable::find(_custAccount);
container conAttribute;
container conValues;
DimensionDefault result;
defaultDimension = custTable.DefaultDimension;
dimStorage = DimensionAttributeValueSetStorage::find(defaultDimension);
for (i= 1 ; i<= dimStorage.elements() ; i++)
{
segmentName = DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name;
segmentValue = dimStorage.getDisplayValueByIndex(i);
isNullforSales = DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).TEST_IsNULLForSales;
if(segmentName)
{
select defaultDimensionView
where defaultDimensionView.DefaultDimension == defaultDimension
&& defaultDimensionView.Name == segmentName;
segmentDescription = defaultDimensionView.dimensionDiscription();
}
conAttribute = conIns(conAttribute,1, segmentName);
if(isNullforSales == true)
{
segmentValue = "";
}
conValues = conIns(conValues,1, segmentValue);
}
ttsbegin;
result = this.createDimension(conAttribute, conValues);
ttscommit;
return result;
}
}
No comments:
Post a Comment