Hi,
I have a requirement to make an activity lookup based on the project id as same as in all timesheet form for this i override lookup method of control and use the following code please consider bellow screenshot.
public void lookup() { //super(); Query query = new Query(); QueryBuildDataSource qbdsSmmActivities, qbdsProjTable, qbdsActivityParentLinkTable; QueryBuildRange qbrActivityParentLinkTable, qbrProjTable; QueryBuildLink qbl1, qbl2; SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(smmActivities), this); sysTableLookup.addLookupfield(fieldNum(smmActivities, ActivityNumber)); qbdsSmmActivities = query.addDataSource(tableNum(smmActivities)); qbdsActivityParentLinkTable = qbdsSmmActivities.addDataSource(tableNum(SmmActivityParentLinkTable)); qbdsActivityParentLinkTable.relations(false); qbdsActivityParentLinkTable.joinMode(JoinMode::OuterJoin); qbdsActivityParentLinkTable.addLink(FieldNum(SmmActivityParentLinkTable, ActivityNumber),FieldNum(smmActivities, ActivityNumber)); qbrActivityParentLinkTable = qbdsActivityParentLinkTable.addRange(fieldNum(SmmActivityParentLinkTable, ParentType)); qbrActivityParentLinkTable.value(queryValue(smmActivityParentType::Project)); qbdsProjTable = qbdsActivityParentLinkTable.addDataSource(tableNum(ProjTable)); qbdsProjTable.relations(false); qbdsProjTable.joinMode(JoinMode::OuterJoin); qbdsProjTable.addLink(fieldNum(ProjTable, RecId), fieldNum(SmmActivityParentLinkTable, RefRecId)); qbrProjTable = qbdsProjTable.addRange(fieldNum(ProjTable, ProjId)); qbrProjTable.value(XYZ.valueStr()); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); }
But I am unable to get the filtered values of activity numbers based on project id.