how to create a new custom lookup method for contract parameter using SysOperationAutomaticUIBuilder
--
class afmProductDimensionGroupConvertUIBuilder extends SysOperationAutomaticUIBuilder
{
DialogField ecoResProductDimensionName;
}
1. Override the build method
// parmAFMEcoResProdDimGrpId - parameter method name on contract class
// ProductdimensionLookup - new custom lookup method
public void build()
{
super();
ecoResProductDimensionName = this.bindInfo().getDialogField(this.dataContractObject(), methodStr(afmProductDimensionGroupConvertContract, parmAFMEcoResProdDimGrpId));
if(ecoResProductDimensionName)
{
ecoResProductDimensionName.registerOverrideMethod(methodstr(FormStringControl, lookup), methodstr(afmProductDimensionGroupConvertUIBuilder,ProductdimensionLookup), this);
}
}
2. new cusotom lookup method to override the parameter lookup
public void ProductdimensionLookup(FormStringControl _control)
{
FormStringControl dimensionsControl;
SysTableLookup tableLookup;
Query query = new Query();
dimensionsControl = _control;
tableLookup = SysTableLookup::newParameters(tablenum(EcoResProductDimensionGroup),dimensionsControl);
tableLookup.addLookupfield(fieldnum(EcoResProductDimensionGroup,Name),true);
tableLookup.addLookupfield(fieldnum(EcoResProductDimensionGroup,Description),false);
query.addDataSource(tablenum(EcoResProductDimensionGroup));
tableLookup.parmQuery(query);
tableLookup.performFormLookup();
}
Comments
Post a Comment