Wednesday, 18 January 2017

X++ Code to Hcm Worker Enquiry

X++ Code to Hcm Worker Enquiry


void clicked()
{
    Query                       query;
    QueryRun                    QueryRun;
    QueryBuildRange             qbr,qbr1,qbr2,qbr3,qbr4;
    QueryBuildDataSource        qbds,qbds1,qbds2,qbds3;
    HcmWorker                   hcmWorker;
    HcmEmployment               hcmEmployment;
    DirPartyTable               dirPartyTable;
    HcmPosition                 hcmPosition;
    HcmPositionDetail           hcmPositionDetail;
    HcmWorkerTitle              hcmWorkerTitle;
    HcmTitle                    hcmTitle;
    HcmWorkerDetailsView        hcmview;
    HcmEmploymentValidFrom      validFrom;
    HcmEmploymentValidTo        validto;
    ;
    super();
    delete_from DIPL_WorkerDetailsTmp;

    query = new query();
    qbds = query.addDataSource(tableNum(HcmWorker));
    qbr = qbds.addRange(fieldNum(HcmWorker,PersonnelNumber));
    qbr.value(EmployeeId.valueStr());

    qbds3 = qbds.addDataSource(tableNum(HcmEmployment));
    qbds3.relations(true);

    qbr2=qbds3.addrange(fieldnum(hcmemployment,validfrom));
    //qbr2.value(StartDate.valueStr());
    qbr2.value(queryRange(startdate.valuestr(),EndDate.valueStr()));

    qbr3 = qbds3.addrange(fieldnum(hcmemployment,employmenttype));
    qbr3.value(employmenttype.valuestr());

    qbds1 = qbds3.addDataSource(tableNum(HcmWorkerTitle));
    qbds1.relations(true);
    qbds1.addLink(fieldNum(HcmEmployment,worker),fieldNum(HcmWorkerTitle,worker));

    qbds2 = qbds1.addDataSource(tableNum(HcmTitle));
    qbds2.relations(true);
    qbr1=qbds2.addRange(fieldNum(HcmTitle,TitleId));
    qbr1.value(Designation.valueStr());

    QueryRun = new QueryRun(query);
    while(QueryRun.next())
    {
        hcmWorker       = QueryRun.get(tableNum(HcmWorker));
        hcmTitle        = QueryRun.get(tableNum(HcmTitle));
        hcmWorkerTitle  = QueryRun.get(tableNum(HcmWorkerTitle));
        hcmEmployment   = QueryRun.get(tableNum(HcmEmployment));

        DIPL_WorkerDetailsTmp.EmployeeId        = HcmWorker.PersonnelNumber;
        DIPL_WorkerDetailsTmp.Designation       = HcmTitle.TitleId;
        DIPL_WorkerDetailsTmp.Name              = HcmWorker.name();
        DIPL_WorkerDetailsTmp.EmployeeStartDate = HcmEmployment.ValidFrom;
        DIPL_WorkerDetailsTmp.EmployeeEndDate   = HcmEmployment.ValidTo;
        DIPL_WorkerDetailsTmp.WorkerType        = HcmEmployment.EmploymentType;
        DIPL_WorkerDetailsTmp.insert();
    }
    //info(strFmt("%1  %2", HcmEmployment.ValidFrom, HcmWorker.PersonnelNumber ));
        DIPL_WorkerDetailsTmp_ds.refresh();
        DIPL_WorkerDetailsTmp_ds.research();
}

No comments:

Post a Comment