. Set financial dimension mandatory on a form
Create a new Class with the name ‘CustTableEventHandler’
2 Create a new Pre-or post-event handler method as shown below
3. Rename newly created method as ‘custValidateWrite’ and write logic as shown below.
public static void custValidateWrite(XppPrePostArgs _args)
{
DimensionAttribute dimAttr;
DimensionAttributeValue dimAttrValue;
DimensionAttributeValueSetItem dimAttrValueSetItem;
CustTable custTable;
RefRecId defaultDimension;
boolean ret;
;
custTable = _args.getThis();
ret = _args.getReturnValue();
defaultDimension = custTable.DefaultDimension;
dimAttr = DimensionAttribute::findByName('Department');
select firstonly RecId, DisplayValue from dimAttrValueSetItem
where dimAttrValueSetItem.DimensionAttributeValueSet == defaultDimension
join dimAttrValue
where dimAttrValue.RecId == dimAttrValueSetItem.DimensionAttributeValue &&
dimAttrValue.DimensionAttribute == dimAttr.RecId &&
dimAttrValue.IsDeleted == false;
if (!dimAttrValueSetItem.DisplayValue)
{
ret = checkFailed("Department must be specified.");
}
}
4. Go to ‘validateWrite’ method of CustTable then right click & select New event handler subscription as shown below.
5. Go to the properties of newly created event handler method & set the properties as shown below.
6. Now try to create new customer without department then it throws a message saying that ‘Department must be specified.’
You have made this so simple to understand. Thanks for sharing.
ReplyDeletefree printable budget templates
free invoice generator
legal document creator