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.


Report
All responses (
Answers (