In this article, we will look into the Assignment Types available in HCM Cloud and how to use them in the reports.
Each worker type is denoted by its alphabet value in the ASSIGNMENT_TYPE and PERIOD_TYPE columns of the PER_ALL_ASSIGNMENTS_M and PER_PERIODS_OF_SERVICE tables respectively. Both ASSIGNMENT_TYPE and PERIOD_TYPE should have the same values for the given work terms record.
For example, pending worker is denoted by P, employee by E, contingent worker by C, nonworker by N, and offer by O.
Worker Type Assignment Type Description Pending Worker P for Assignment,
PT for Work TermsA person who will be hired as an employee or contingent worker and for whom we create a person record prior to the hire or start date. When the hire is finalized, we convert the pending worker to the proposed worker type. We can create a pending worker work relationship in these scenarios:
For a new worker, as part of their hire.
For an ex-worker, as part of their rehire or renew placement.
For an existing worker, as part of their new job in a different legal employer or for a different worker type in the same legal employer.
Note: A pending worker work relationship can’t be created for an existing worker who has a job offer in Oracle Recruiting Cloud (ORC).Employee E for Assignment,
ET for Work TermsA person who typically has a permanent relationship with the organization. Contingent Worker C for Assignment,
CT for Work TermsA non-employee, for example, contract worker or temporary worker. Nonworker N for Assignment,
NT for Work TermsA person having a nonwork relationship with a legal employer, for example, a volunteer or retiree. The work relationship defines the details of the association. Offer O for Assignment,
OT for Work TermsA person having an offer assignment in the organization.
Note: This worker type is available only if you’re using Oracle Recruiting Cloud and an offer is created for the candidate.
Both Assignment and Work Terms information will be stored in PER_ALL_ASSIGNMENTS_M table with a different ASSIGNMENT_TYPE.
Now, if you are building reports based on the Assignment table, we should use the right Assignment types.
If we have to pull Employees only, we need to use ASSIGNMENT_TYPE = ‘E’.
If you use ASSIGNMENT_TYPE <>’ET’ then this query might work if you ONLY have Employees in the client POD without any contingent workers and pending workers, else it will pull additional employees on the report.
I have seen many cases where the developers used ASSIGNMENT_TYPE NOT IN (‘ET’,’CT’).. In this case, it will pull Employees, Contingent Workers, Non-Workers, and Offers. Instead of writing like this, it is better to rewrite it as ASSIGNMENT_TYPE IN (‘E’,’C’) if there is a need for pulling Employees and Contingent Workers.