Hi Will, Thanks for the reply. yeah sure, below I paste together my code. btw, systablelookup or sysreferencetablelookup? we need to use sysreferencetablelookup if reference group isnt it?
[FormControlEventHandler(formControlStr(TrvRequisition, ProjTable_Details), FormControlEventType::Lookup)]
public static void ProjTable_Details_OnLookup(FormControl sender, FormControlEventArgs e)
{
SysReferenceTableLookup sysRefTableLookup = SysReferenceTableLookup::newParameters(tableNum(ProjTableFinancialDimension), sender);
Query query = new Query();
QueryBuildDataSource qbds, qbdsProjStatusTypeRule;
QueryBuildRange qbrHeader, qbrStatus, qbrType, qbrProjStatusRule;
qbds = query.addDataSource(tableNum(ProjTableFinancialDimension));
qbds.addSortField(fieldNum(ProjTableFinancialDimension, ProjId));
qbrHeader = qbds.addRange(fieldNum(ProjTableFinancialDimension, Header));
qbrHeader.value('0');
qbrStatus = qbds.addRange(fieldNum(ProjTableFinancialDimension, Status));
qbrStatus.value(SysQuery::valueNot('4'));
qbrType = qbds.addRange(fieldNum(ProjTableFinancialDimension, Type));
qbrType.value(SysQuery::valueNot('5'));
qbdsProjStatusTypeRule = qbds.addDataSource(tableNum(ProjStatusTypeRule));
qbdsProjStatusTypeRule.addLink(fieldNum(ProjTableFinancialDimension, Status),fieldNum(ProjStatusTypeRule, ProjStatus));
qbdsProjStatusTypeRule.addLink(fieldNum(ProjTableFinancialDimension, Type),fieldNum(ProjStatusTypeRule,ProjType));
qbdsProjStatusTypeRule.joinMode(JoinMode::ExistsJoin);
qbrProjStatusRule = qbdsProjStatusTypeRule.addRange(fieldNum(ProjStatusTypeRule, ProjStatusRule));
qbrProjStatusRule.value('5');
// Run lookup
sysRefTableLookup.parmQuery(query);
//Add fields
sysRefTableLookup.addLookupfield(fieldNum(ProjTableFinancialDimension, ProjId));
sysRefTableLookup.addLookupfield(fieldNum(ProjTableFinancialDimension, Name));
sysRefTableLookup.addLookupfield(fieldNum(ProjTableFinancialDimension, B1_Business_Unit));
sysRefTableLookup.addLookupfield(fieldNum(ProjTableFinancialDimension, B1_Business_Unit_Desc));
sysRefTableLookup.performFormLookup();
FormControlCancelableSuperEventArgs ce = e as FormControlCancelableSuperEventArgs;
//cancel super() to prevent error.
ce.CancelSuperCall();
}