X++ Set One Of Financial Dimension Value to Empty
[ExtensionOf(TableStr(TrvCashAdvance))]
final class TrvCashAdvance_Extension
{
public void modifiedField(fieldId _fieldId)
{
next modifiedField(_fieldId);
switch (_fieldId)
{
case(fieldnum(TrvCashAdvance, Worker)):
this.updateDefaultDimension();
break;
}
}
private void updateDefaultDimension()
{
HcmPersonnelNumberId hcmPersonnelNumberId;
DimensionAttributeValueSetStorage dimStorage = new DimensionAttributeValueSetStorage();
DimensionAttribute dimAttribute;
DimensionAttributeValue dimAttributeValue;
DimensionDefault defaultDimension;
#define.Worker('Worker')
hcmPersonnelNumberId = this.Worker;
defaultDimension = this.DefaultDimension;
ttsBegin;
dimStorage = DimensionAttributeValueSetStorage::find(defaultDimension);
dimAttribute = DimensionAttribute::findByName(#Worker);
if(hcmPersonnelNumberId)
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimAttribute, hcmPersonnelNumberId, true, true);
dimStorage.addItem(dimAttributeValue);
}
else
{
dimStorage.removeDimensionAttribute(dimAttribute.RecId);
}
// Dimension modified or updated including Worker as well.
defaultDimension = dimStorage.save();
this.DefaultDimension = defaultDimension;
ttsCommit;
}
}
Comments
Post a Comment