Hi,
Below is the sample code used to build a custom lookup on control.
public void lookup()
{
Query query = new Query();
QueryBuildDataSource qbs;
QueryBuildRange qr;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(MZK_Goals), this);
sysTableLookup.addLookupField(fieldNum(MZK_Goals, GoalNo));
sysTableLookup.addLookupField(fieldNum(MZK_Goals, Goals));
qbs = query.addDataSource(tableNum(MZK_Goals));
qr = qbs.addRange(fieldNum(MZK_Goals, HcmGoalType));
qr.value(MZK_MassGoalEnrollmentHeader_HcmGoalType.valueStr());
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}