Oct 18, 2018

How to call HcmWorkerLookup in X++

public void lookup()
{
    HcmWorker               selectedRecord;
    Args                    args;
    FormRun                 formRun;
    Form                    workerLookupForm = new Form(formStr(HcmWorkerLookup));
    FormControl             control = this;
    FormStringControl       stringControl       = control as FormStringControl;

    HcmWorkerLookup         _HcmWorkerLookup;
    _HcmWorkerLookup  = HcmWorkerLookup::newActiveWorkers();

    args = new Args(formStr(HcmWorkerLookup));
    args.parmObject(_HcmWorkerLookup);
    args.caller(this);

    selectedRecord = HcmWorker::findByPersonnelNumber(stringControl.text());

    if (selectedRecord.RecId != 0)
    {
        args.lookupRecord(selectedRecord);
    }

    formRun = FormAutoLookupFactory::buildLookupFromCustomForm(stringControl, workerLookupForm , AbsoluteFieldBinding::construct(fieldStr(HcmWorker, PersonnelNumber), tableStr(HcmWorker)), args);

    stringControl.performFormLookup(formRun);

    super();
}

No comments:

Post a Comment