Hi All,
I'm facing an issue: "Queries with multiple top level data sources cannot be applied to Forms", when create a lookup method for RetailStore and assign values to RetailStore parameter from District parameter. while the district is from logisticsPostalAddress Table. And the RetailStore parameter is from RetailTransaction Table. If I omit the peace of code : qbds_District= query.addDataSource(tableNum(LogisticsPostalAddress));
then I'm facing the error: "QueryBuildDataSource object not initialized." I know very well the reason behind this error, but I want RetailStore parameter show the values according to the District Parmeter.
This Is My LookUP code:
private void storeidlookup(FormStringControl storelookup)
{
Query query = new Query();
QueryBuildDataSource qbds_District, qbds_join;
SysTableLookup sysTableLookup;
sysTableLookup = SysTableLookup::newParameters(tableNum(RetailTransactionTable), storelookup);
qbds_District = query.addDataSource(tableNum(RetailTransactionTable));
qbds_District.addSortField(fieldnum(RetailTransactionTable, store));
qbds_District.addOrderByField(fieldnum(RetailTransactionTable, store));
qbds_District.orderMode(OrderMode::GroupBy);
SysTableLookup.parmUseLookupValue(false);
sysTableLookup.parmQuery(query);
sysTableLookup.addLookupfield(fieldNum(RetailTransactionTable, store), true);
//qbds_District= query.addDataSource(tableNum(LogisticsPostalAddress));
query.dataSourceTable(tableNum(LogisticsPostalAddress)).addRange(fieldNum(LogisticsPostalAddress , state)).value(dialogRegion.value());
sysTableLookup.performFormLookup();
}
Any help would be appreciate.
cheers,
Safdar Ali.