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.


View: V_554Y_B


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


Indicator E:




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


Indicator A:


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


Indicator W:

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



Indicator N:


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.


Thanks

Sriram


To report this post you need to login first.

8 Comments

You must be Logged on to comment or reply to a post.

    1. Sriram Tamil Post author

      Hi Sankarsan,

      when i look at the document i feel i have added all. and all the screenshots are visible to me.

      is there anything missing from your side? can you please let me know ?

      Thanks

      Sriram

      (0) 
        1. Sriram Tamil Post author

          Hi Sankarsan,

          Thanks for your reply. i have checked it, i dont know why is it shows like something is missing, but actually there is no screenshot i have added there.. i dont know why there is a box.

          do you feel anything missing in the flow of the document when i explained?

          Thanks

          Sriram

          (0) 
  1. Kuppan Gounder

    Hi Sriram,

    Good document with clear explanation…

    Please let me know if there is any workaround for this one. I have a scenario where i had to create 22 different TCC to avoid collisions among them, however if the number of entries in table V_T554Y crosses 50 line items (50 TCCs in count) i get a dump (DATA_OFFSET_TOO_LARGE) while generating the quota (through PT_QAT00) or even through PA30. There are standard entries exist in this table which i don’t want to delete to make space form my custom TCCs. 

    Regards,

    Kuppan Seenu

    (0) 

Leave a Reply