To hide rows on the assignment history where the row appears due to a change in a column that is not interesting to the end user, the following technique has to be used:
- Use Functional Developer to find the object called 'Applaud Assignment History'
- This data object should have two instance sets, one for managers, one for employees
- Take the employee instance set (default name is 'Applaud Assignment History Restricted to Logged on Employee'. Look at predicate
The predicate dictates which rows EmployeeCenter will show in the UI based on the assignment_id being viewed at the time.
The default predicate is below:
&TABLE_ALIAS.assignment_id IN (SELECT assignment_id FROM per_all_assignments_f WHERE person_id = fnd_global.employee_id AND trunc(sysdate) BETWEEN effective_start_date AND effective_end_date)
this can be changed to explicitly only show rows when particular columns change, using the following logic:
&TABLE_ALIAS.assignment_id IN
(SELECT assignment_id FROM per_all_assignments_f
WHERE person_id = fnd_global.employee_id
AND trunc(sysdate) BETWEEN effective_start_date AND effective_end_date
and (nvl(department, 1) != nvl(department_prev,1)
or nvl(grade, 1) != nvl(grade_prev, 1)
)
);
This example above will only show rows where the department or grade has changed.
We advise you to test out the above in SQL first. The above example can be tested using the following SQL:
select * from xxas_assignment_history_v
where assignment_id = <test_assignment_id>
and (nvl(department, 1) != nvl(department_prev,1)
or nvl(grade, 1) != nvl(grade_prev, 1));
Once you have developed this, we advise creating a new instance set rather than changing the Applaud one and then updating the relevant grant to complete the change.
Remember you'll need to make the change twice: once for the Employee Role and once for the Manager Role.
As a final point, we don't yet have support for the assignment attributes in the Assignment History (mainly for performance, as each valueset needs to be evaluated in real-time), which would have to be logged as a separate issue and may be considered an ER by development.