I'm trying to come up with a lookup that fetches PositionId from HcmPosition and join it with the Description from HcmPositionDetail joining with RecId from HcmPosition and Position from HcmPositionDetail but am failing. I've created a view first which comprise of HcmPosition and HcmPositionDetail ON HcmPosition.RecId = HcmPositionDetail.Position but yielding wrong results. Also tried the following code.
Query query = new Query();
QueryBuildRange queryBuildRange;
QueryBuildDataSource qbds, Qbds1, Qbds2;
SysTableLookup sysTableLookUp;
sysTableLookUp = SysTableLookup::newParameters(tableNum(HcmPosition), _formControl);
qbds = query.addDataSource(tableNum(HcmPosition));
Qbds1 = qbds.addDataSource(tableNum(HcmPositionDetail));
Qbds1.addLink(fieldNum(HcmPosition, RecId), fieldNum(HcmPositionDetail, Position));
Qbds1.joinMode(JoinMode::InnerJoin);
Qbds1.relations(true);
//Qbds2 = qbds1.addDataSource(tableNum(HcmPositionDetail));
//Qbds2.addLink(fieldNum(HcmPosition, RecId), fieldNum(HcmPositionDetail, Position));
////Qbds1.fetchMode(QueryFetchMode::One2Many);
//Qbds2.joinMode(JoinMode::InnerJoin);
//Qbds2.relations(true);
sysTableLookup.parmQuery(query);
sysTableLookup.addLookupfield(fieldNum(HcmPosition, PositionId));
sysTableLookup.addLookupfield(fieldNum(HcmPositionDetail, Description));
//sysTableLookup.addLookupfield(fieldNum(HcmPosition, NameAlias));
sysTableLookup.performFormLookup();
Anyone with the idea how i can go about it?