Hi Vinay,
static void lookupOpportunityId(FormStringControl _callerControl, smmOpportunityId _opportunityId, DirPartyId _partyId)
{
Query query = new Query();
QueryBuildDataSource queryBuildDataSource, queryBuildDataSource1;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(smmOpportunityTable), _callerControl);
;
sysTableLookup.addLookupfield(fieldnum(smmOpportunityTable, OpportunityId),true);
sysTableLookup.addLookupfield(fieldnum(smmOpportunityTable, Subject));
sysTableLookup.addLookupfield(fieldnum(smmOpportunityTable, PartyId));
sysTableLookup.addLookupfield(fieldnum(smmOpportunityTable, ProbabilityId));
queryBuildDataSource = query.addDataSource(tablenum(smmOpportunityTable));
queryBuildDataSource1 = queryBuildDataSource.addDataSource(tablenum(smmQuotationProbabilityGroup));
// queryBuildDataSource1.relations(true);
queryBuildDataSource1.joinMode(JoinMode::ExistsJoin);
queryBuildDataSource.fetchMode(QueryFetchMode::One2One);
queryBuildDataSource1.addLink(fieldnum(smmOpportunityTable, ProbabilityId), fieldnum(smmQuotationProbabilityGroup, ProbabilityId));
queryBuildDataSource1.addRange(fieldnum(smmQuotationProbabilityGroup, INU_smmProbabilityStatus)).value(queryvalue(INU_smmProbabilityStatus::Active));
queryBuildDataSource.addRange(fieldnum(smmOpportunityTable, Status)).value(queryNotValue(smmOpportunityStatus::Won));
queryBuildDataSource = queryBuildDataSource.addDataSource(tablenum(DirPartyTable));
queryBuildDataSource.joinMode(JoinMode::ExistsJoin);
queryBuildDataSource.fetchMode(QueryFetchMode::One2One);
queryBuildDataSource.addLink(fieldnum(smmOpportunityTable, PartyId), fieldnum(DirPartyTable, PartyId));
queryBuildDataSource.addRange(fieldnum(DirPartyTable, PartyId)).value(_partyId);
//INU_smmProbabilityStatus //BACK
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}