Many companies employ data sources about users, employees or org. structures that work with so-called time slices. For this purpose, an agenda of contract time slices was designed.
To recalculate the current slice, you can use the SelectCurrentContractSliceTaskExecutor
task. This task seeks all slices that should be used for the current date, and copy their values to their parent contracts.
There may be a situation when one time slice ends the contract, while there is another time slice that restarts this contract. If there is no gap between its termination and restart dates, then the contract will not terminate (no accounts will be deleted). However, if the dates do not follow seamlessly, then (by default) the contract is terminated, and all connected accounts will be removed from the target systems.
In some situations (projects), a protection period must be used over the course of which a contract will not be terminated, provided that there is another slice relevant for the contract that restarts the latter. Furthermore, the gap between the termination and the commencement of the contract must be less than or equal to the protection interval.
idm.sec.core.contract-slice.protection-interval
, where the value is a number of days. If the number of days between the termination of the contract and its renewal in the following time slice is less than or equal to the number of days set in the protection interval, then the date of the contract validity from the following slice will be used instead of the date of termination of the contract from the currently valid slice.
The synchronization of time slices is very similar to the sync of contracts.
Sync of slices adds new attributes:
String
value represents relation between all slices for the same contract. It means all slices of a contract must have the same value.More informations about sync of time slices are here.