The Purpose the document is to explain the Time Constraints Reaction on Time Management infotypes as i come across many questions in the forum related to Time Constraint Z, hence i thought of providing a document explaining the functionality of it with an example.
You are on privilege leave, but there is an opportunity to attend a company provided training. But if the time administrator enters the attendance for training while you are privilege leave. There are chances system would issue a collision & error and would never allow you to enter the data.
Purpose of the document:
To explain the concept and usage of Time Constraint Z where time management infotypes is depend on.
This document is organized as below.
- What is Time Constraint
- Scenarios and reactions on SAP system
- Different reaction indicators
- Creating a new time constraint
What is time constraint?
SAP lets you create data with validity period, sometimes you may have data conflicts, for example you can’t be present and absent at the same time, to control such inconsistencies in data.
SAP has a concept of time constraint. Time constraint is an important concept, which ensures that the data makes sense.
We have many time constraints SAP has listed below
- Time constraint 1 – One and only record
- Time constraint 2 – not more than one record on any day
- Time constraint 3 – there may be 0, 1, or more records on any day
- Time constraint A –you can have only one record, history not maintained validity period Jan 1 1800 to Dec 12, 9999.
- Time constraint B –you can have only one record, validity period can be anything
- Time constraint T –each subtype of infotype can have different time constraints
- Time constraint Z –Time constraint for time management infotypes— V_554Y_B
This article focuses on Time constraint Z which is defined for time management infotypes in the table T554Y.
Time constraint Z:
When you enter a record in a time management infotype for a time ( period ) , for which a record already exist, system throws an information called collision, and system has to decide
- Whether the old records can co-exist with the new record.
- The old records can co-exist with the new record but a warning is given
- The old records cannot co-exist with the new record
- The old record is delimited
Based on the above requirements, you can group the subtypes of an infotype, which have identical behavior as far as collisions are concerned, in a time constraint class and you can set a reaction indicator in V_554Y_B.
These scenarios are explained below.
Scenario: Two leaves have to be captured on same validity interval for legal purpose but system issues a collision, so records may not get created or may get split, but we want the system to save both the records without any issues.
For example, its legal that in some countries, when an employee is in Suspension leave for a month, he may avail Annual leave within the same period, in such cases system would not throw any collision with Warning or Error messages, rather it must save the record successfully. Let’s see how Time constraints and Reaction indicator work on this to achieve the functionality.
Let’s take those absence types
Time Constraints: Let’s look at the time constraints of the both absence types first.
Annual leave: Time constraint class which is 01
Suspension leave: Time constraint Class 01
Record creation in PA30:
Creating a suspension leave for an employee for a month, successfully created
Creating Annual leave for the same employee 2 days within the period, let’s see the reaction from system on this. System issues a collision message and error that “ Insertion cannot be made due to collision”
How to rectify it: As I mentioned already Time management infotypes follow time constraint Z which is defined in the View V_554Y_B, both absence types have time constraint 01, let’s look at the table.
You could see all the time management infotypes available with the time constraint class specified in it
Since my absence type time constraint class is 01, I am selecting the first row and get inside
As you see many reaction indicators have been set like E, W, A, N, each every reaction indicator has different meaning over here, please look at the explanation below
So the absence types Suspension and Annual leave both have Time constraint classes 01. If you look in the matrix format in the table you could see 01 vs 01 the reaction indicator has been set to E, which means system never allows to create the new record and it must display the collisions, that’s what we have received in above scenario
For example, if the Annual leave has time constraint 03, you could see reaction indicator has been set to A,
So 01 vs 03 will be A which means split or delimit the record and show the collisions, so they record will be like this below
As we can see system created a split for the suspension leave, as annual leave applied within the suspension period
For example, if the reaction indicator has been set to W, .i.e. 01 vs 03 will be W, the old record remains unchanged, there won’t be any split, but system issues a collision message
Record can be saved without a split
Same as W, the only difference is collisions won’t be displayed, record will be saved without any messages.
So in our scenario we just need both absence types to be saved without any collisions, hence we can go and replace the indicator from E to N, so records will be saved without any issues and collision messages. Will that solve the issue? No
Because we do have a challenge here, these two absence types have time constraint class 01, so if we go and change the reaction indicator to N, whenever these two absence types are created, there won’t be any problem. But think about other absence types who have time constraint 01, where record never to be created and collision must always occur and system should not insert both the records, hence we can’t go and simply change reaction indicator as our wish because it impacts the other absence types
Create a new Time constraint: Let’s create a customized time constraint called 50, go and create the same in the View V_T554Y
Copy the existing entry IT2001 TC 01 and create a new one IT2001 TC 50 like below
Change the time constraint of the absence type to new time constraint 50 in the view V_554S_O
And customize the indicators according the business requirement in the view V_554Y_B to the time constraints 01 Vs 50
Like above we can customize the time constraints and change indicators according to the business requirements as we have done in this document.
Thanks for your patience and reading , hope this document would be helpful for the beginners who are struggling understand the Time constraint of Time Management infotypes.