A job to get the position of an employee

                
static void GetPosOFEmployees(Args _args)
{
   HcmWorker hcmWorker;
   HcmPositionWorkerAssignment workerAssignment;
   HcmPosition hcmPosition;
   HcmPositionDetail   hcmPositionDetail;

   while select recid, person from hcmWorker
       join worker, position from workerAssignment
       where workerAssignment.Worker == hcmWorker.RecId
       join recid from hcmPosition
       where hcmPosition.RecId == workerAssignment.Position
       join position, description from hcmPositionDetail
       where hcmPositionDetail.Position == hcmPosition.RecId
   {        
       info(strFmt("%1's position is %2",hcmWorker.name(), hcmPositionDetail.Description));
   }
}
Note that HcmPositionWorkerAssignment is a validTimeState table. The above query will only retrieve position assignment that is currently active.
This posting is provided "AS IS" with no warranties, and confers no rights.

Comments