Announcements
public Common lookupReference(FormReferenceControl _formReferenceControl) { Common ret; FormReferenceGroupControl callingReferenceGroupControl; FormRun lookupForm; Args args; HcmWorkerLookup hcmWorkerLookup; if (!_formReferenceControl) { throw(error(strFmt("@SYS137393", Error::wrongUseOfFunction(funcName())))); } hcmWorkerLookup = hcmWorkerLookup::newOnlyActiveWorkersWithinCompany();// There are many methods in this, I've tried almost all args = new Args(formStr(HcmWorkerLookup)); args.parmObject(hcmWorkerLookup); args.record(My data source table); // I have given my custom datasource table here args.caller(_formReferenceControl); lookupForm = classfactory.formRunClass(args); lookupForm.init(); if (_formReferenceControl.handle() == classNum(FormReferenceGroupControl)) { callingReferenceGroupControl = _formReferenceControl; callingReferenceGroupControl.performFormLookup(lookupForm); ret = lookupForm.selectRecordModeSelectedRecord(); } return ret; }
public void lookup() { QueryBuildRange validFromRange; QueryBuildRange validToRange; utcdatetime now = DateTimeUtil::utcNow(); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; SysTableLookup sysTableLookup; QueryBuildDataSource queryBuildDataSource1; RecId _LegalEntity; ; //Create an instance of SysTableLookup with the form control passed in sysTableLookup = SysTableLookup::newParameters(tablenum(HcmWorker), this); //Add the fields to be shown in the lookup form sysTableLookup.addLookupfield(fieldnum(HcmWorker, PersonnelNumber), false); sysTableLookup.addLookupMethod(‘Name’); //create the query datasource queryBuildDataSource = query.addDataSource(tablenum(HcmWorker)); queryBuildDataSource1 = queryBuildDataSource.addDataSource(tableNum(HcmEmployment)); queryBuildDataSource1.joinMode(JoinMode::ExistsJoin); queryBuildDataSource1.relations(true); queryBuildDataSource1.addRange(fieldNum(HcmEmployment, LegalEntity)) .value(SysQuery::value(CompanyInfo::findDataArea(curExt()).recId)); validFromRange = queryBuildDataSource1.findRange(fieldNum(HcmEmployment, ValidFrom)); validToRange = queryBuildDataSource1.findRange(fieldNum(HcmEmployment, ValidTo)); query.validTimeStateDateTimeRange(now, now); validFromRange.value(SysQuery::valueUnlimited()); validToRange.value(SysQuery::valueUnlimited()); //add the query to the lookup form sysTableLookup.parmQuery(query); // Perform lookup sysTableLookup.performFormLookup(); }
public void lookup() { QueryBuildRange validFromRange; QueryBuildRange validToRange; utcdatetime now = DateTimeUtil::utcNow(); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; SysTableLookup sysTableLookup; QueryBuildDataSource queryBuildDataSource1; RecId _LegalEntity; ; //Create an instance of SysTableLookup with the form control passed in sysTableLookup = SysTableLookup::newParameters(tablenum(HcmWorker), this); //Add the fields to be shown in the lookup form sysTableLookup.addLookupfield(fieldnum(HcmWorker, PersonnelNumber), false); sysTableLookup.addLookupMethod(‘Name’); //create the query datasource queryBuildDataSource = query.addDataSource(tablenum(HcmWorker)); queryBuildDataSource1 = queryBuildDataSource.addDataSource(tableNum(HcmEmployment)); queryBuildDataSource1.joinMode(JoinMode::ExistsJoin); queryBuildDataSource1.relations(true); queryBuildDataSource1.addRange(fieldNum(HcmEmployment, LegalEntity)) .value(SysQuery::value(CompanyInfo::findDataArea(curExt()).recId)); //add the query to the lookup form sysTableLookup.parmQuery(query); // Perform lookup sysTableLookup.performFormLookup(); }
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Congratulations to our community stars!
Expanding mentorship, skilling, and AI innovation
These are the community rock stars!
Stay up to date on forum activity by subscribing.
SajeedMullaji 366
André Arnaud de Cal... 289 Super User 2026 Season 2
Martin Dráb 260 Most Valuable Professional