Lookup using multiple tables

Hi All,

I’m trying to create a lookup which will display “employee name and employee id”. Employee name is present in “Hcmworker” table and Employee id is present in “DirpartyTable” .

I’m using a customized class called “SysMultiTableLookup” which i have referred from the following link - www.axaptapedia.com/…/PrivateProject_SysMultiTableLookup.xpo

I am not gettting the lookup with the desired fields now.Please can anybody help me.

Below is the piece of code which i have written.

Regards,

Rajee


public void lookup()

{

SysMultiTableLookup sysTableLookup;

Query query = new Query();

QueryBuildDataSource QbdsHcmWorker;

QueryBuildDataSource QbdsDirAddressBookParty,QbdsDirPartyTable;

;

QbdsHcmWorker = query.addDataSource(tablenum(HcmWorker));

QbdsDirAddressBookParty = QbdsHcmWorker.addDataSource(tablenum(DirAddressBookParty));

QbdsDirAddressBookParty.joinMode(JoinMode::OuterJoin);

QbdsDirAddressBookParty.relations(true);

QbdsDirPartyTable = QbdsDirAddressBookParty.addDataSource(tablenum(DirPartyTable));

QbdsDirPartyTable.joinMode(JoinMode::OuterJoin);

QbdsDirPartyTable.relations(true);

sysTableLookup = SysMultiTableLookup::newParameters(this,query,true);

sysTableLookup.addLookupfield(fieldNum(HcmWorker, PersonnelNumber));

sysTableLookup.addLookupField(fieldNum(DirAddressBookParty,Party));

sysTableLookup.addLookupfield(fieldNum(DirPartyTable, Name));

sysTableLookup.performFormLookup();

}


Hi,

Found the mistake which i had been doing.

The below piece of code works good.

Regards,

Rajee


public void lookup()

{

SysMultiTableLookup sysTableLookup;

Query query = new Query();

QueryBuildDataSource queryBuildDataSource;

QueryBuildDataSource queryBuildDataSourceGroup,queryBuildDataSourceGroup1;

;

queryBuildDataSource = query.addDataSource(tablenum(HcmWorker));

queryBuildDataSourceGroup = queryBuildDataSource.addDataSource(tablenum(DirPersonName));

queryBuildDataSourceGroup.joinMode(JoinMode::ExistsJoin);

queryBuildDataSourceGroup.relations(true);

sysTableLookup = SysMultiTableLookup::newParameters(this, query);

sysTableLookup.addLookupfield(fieldNum(HcmWorker, PersonnelNumber));

sysTableLookup.addLookupfield(fieldNum(DirPersonName, Person));

sysTableLookup.performFormLookup();

}