Skip to Content

Client Requirements

The client would like to report on employees who come late or leave early and also report on unauthorized absence. This is required for working days as well as for attendance on public holidays and OFF days.


There are only 2 shifts – day shift and night shift – in the plant and an employee can work during one of the shifts. All working days of each shift have the same planned start time and planned end time.


When an employee is working on a public holiday and the daily work schedule is not OFF, then the start time and end time of the daily work schedule will be used to determine if the employee has come late or left early. If an employee works on OFF day or on public holiday, it will be counted as overtime.


When the employee is working on a day with daily work schedule as OFF, the planned start time and planned end time can differ. Hence, on some OFF days, the planned start time and planned end time can be 08:15 and 17:45 respectively and on some days, they can be 09:00 and 13:30 respectively.


Below are the conditions for late coming, early going and unauthorized absence.


  • 0 min < {Clock In Time – Planned Start Time} < 60 min    =>     Late Coming
  • 60 min =< {Clock In Time – Planned Start Time}             =>     May be an unauthorized absence. The time administrator/ supervisor will determine whether there is a need for unauthorized absence or not.
  • 0 min < {Planned End Time – Clock Out Time} < 60 min    =>     Early Going
  • 60 min =< {Planned End Time – Clock Out Time}             =>     May be an unauthorized absence. The time administrator/ supervisor will determine whether there is a need for unauthorized absence or not.

If clock in and clock out times are both missing on a working day, then the time administrator/supervisor must get informed about the employee not being at work. The time administrator/ supervisor will determine the cause of absence and then accordingly apply for unauthorized absence if needed.


Solution Design

The solution on late coming, early going and unauthorized absence can be achieved based on custom time types and PCRs.


I will create five time types as below:


  • ZVB7 – This time type will get generated if the employee is late by more than 0 min but less than 60 min when compared to shift start time. The time type will contain the decimalized min.

/wp-content/uploads/2013/07/1_251130.jpg


  • ZVB8 – This time type will get generated if the employee leaves early by more than 0 min but less than 60 min when compared to shift end time. The time type will contain the decimalized min.

/wp-content/uploads/2013/07/2_251131.jpg                                                                                                                    

  • ZVB9 – This time type will get generated if the employee comes to office more than 60 min late than the shift start time. This may bring following possibilities:


    • Employee is actually late by more than 60 min
    • Employee is on leave during the first half of the shift (IT2001 record)
    • Employee is in workshop at some other location during the first half (IT2002 record)

Hence, it is advisable that the system generates a time type with the decimalized time and a system message to the time administrator where he can take a judicious decision of handling this. If the employee is actually late by more than or equal to 60 min, then the time administrator will apply unauthorized leave for the duration in the system.

/wp-content/uploads/2013/07/3_251157.jpg

  • ZVB0 – This time type will get generated if the employee leaves office early by more than 60 min than the shift end time. This may bring following possibilities:


    • Employee actually left early by more than 60 min
    • Employee is on leave during the second half of the shift (IT2001 record)
    • Employee is in workshop at some other location during the second half (IT2002 record)

Hence, it is advisable that the system generates a time type with the decimalized time and a system message to the time administrator where he can take a judicious decision of handling this. If the employee actually left early by more than or equal to 60 min, then the time administrator will apply unauthorized leave for the duration in the system.

/wp-content/uploads/2013/07/4_251158.jpg

  • ZVBA – This monthly time type will get generated from unauthorized absence type 0150 through a custom PCR.

/wp-content/uploads/2013/07/5_251159.jpg

The next step is to find a way to apply planned start time and planned end time for days with daily work schedule as OFF. But before we decide this, let us go through the WSRs for the two shifts that the client has.


WSR 3/US/10 D0001-01 – This WSR uses PWS D001 and it is a 5D2X (5 working days 2 OFF days) PWS with DWS as D001 and OFF.

V_T508A

/wp-content/uploads/2013/07/6_251160.jpg

V_T551A

/wp-content/uploads/2013/07/7_251161.jpg

T550A

/wp-content/uploads/2013/07/8_251165.jpg

WSR 3/US/10 N0001-01 – This WSR uses PWS N001 and it is a 5N2X (5 working days 2 OFF days) PWS with DWS as N001 and OFF.

V_T508A

/wp-content/uploads/2013/07/9_251166.jpg

V_T551A

/wp-content/uploads/2013/07/10_251167.jpg

T550A

/wp-content/uploads/2013/07/11_251168.jpg

Now, we are going to create constants in Table V_T511K to specify planned start time and planned end time for OFF days for each WSR.

V_T511K

/wp-content/uploads/2013/07/12_251169.jpg

Since these constants are date dependent, we can change the planned start time and planned end time on any particular OFF day by using delimitation functionality.


The first two constants will be considered for WSR D0001-01 when the employee works on OFF day. The next two constants will be considered for WSR N0001-01 when the employee works on OFF Day.


In this way, we need to define two constants for every WSR to be used in the plant to denote start time and end time of shift on OFF days.

Now we are going to define system messages which will get generated if the employee’s “clock in” is late by more than and equal to an hour compared to planned start time or if the employee’s “clock out” is early by more than and equal to an hour compared to planned end time. These messages can be accessed by time administrator through TCode PT_ERL00 or through PTMW.

V_T555E

/wp-content/uploads/2013/07/13_251170.jpg

The next step is to create a PCR which will generate time types and system messages. This is a very big PCR and hence, I will explain the logic in parts.

PCR ZVB1 Screenshot A

/wp-content/uploads/2013/07/14_251174.jpg


In PCR ZVB1 Screenshot A, we first determine whether the planned working hours is 0 or not using VARSTFREE. If it is not, it goes for processing at N and then if we check the day type of the day using VARSTDAYTY.


If the day type is *, the time pair is moved to output table using COLOP *. In the current scenario, only day types 0 and 1 are being used by client.


If the day type is 0, then we check if start and end times exist in the time pair or not using OUTTPEXTIM. If any of the start or end time is missing, the time pair gets processed through N and moves to output table using COLOP *. This time pair will later cause time evaluation to fail in PCR TE30 since either the clock in or clock out is missing.


If the start time and end time exist in the time pair, then it gets processed under Y and further processing happens under employee subgroup grouping specification A and B for PCR ZVB1 using PCY ZVB1A and PCY ZVB1B.


If the day type is 1, the processing is same as day type 0.

PCR ZVB1 Screenshot B


/wp-content/uploads/2013/07/15_251175.jpg

If the planned working hours is 0 (meaning DWS is OFF), the processing happens under Y (PCR ZVB1 Screenshot B). We check whether time pair has start and end times or not using OUTTPEXTIM.


If the start and end times don’t exist, then the time pair is processed under N and it is moved to output table using COLOP *.


If the start and end times do exist, the processing happens under Y and further processing happens under employee subgroup grouping specification C for PCR ZVB1 using PCY ZVB1C.


Under employee subgroup grouping A for PCR ZVB1, the “clock in” time of the time pair is read using HRS=PBEG. Then the planned start time of the shift is subtracted from “clock in” time using HRS-SWTB. The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.

If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB7 using ADDDBZVB7 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB9 using ADDDBZVB9, a message Z1 – “Employee came late > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.

PCR ZVB1 Screenshot C

/wp-content/uploads/2013/07/16_251176.jpg

Under employee subgroup grouping B for PCR ZVB1, the planned end time of the shift is read using HRS=SWTE. Then the “clock out” time of the shift is subtracted from planned end time of the shift using HRS-PEND. The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.


If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB8 using ADDDBZVB8 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB0 using ADDDBZVB0, a message Z2 – “Employee left early > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.


The time pair comes for processing under employee subgroup grouping C of PCR ZVB1 when the time pair has start and end times on an OFF day. The work schedule rule of the employee is read using OUTWPSHIFT.


If the WSR of the employee is D0001-01, the time pair gets processed under D0001-01. Further processing happens under employee subgroup grouping D & E using PCY ZVB1D and ZVB1E.


If the WSR of the employee is N0001-01, the time pair gets processed under N0001-01. Further processing happens under employee subgroup grouping F & G using PCY ZVB1F and ZVB1G.


If the WSR is other than D0001-01 and N0001-01, the processing happens under ******** and the time pair is moved to output table using COLOP *. This means that the late coming and early going time types won’t get generated in this case.

PCR ZVB1 Screenshot D

/wp-content/uploads/2013/07/17_251183.jpg

The time pair comes for processing under employee subgroup grouping D for WSR D0001-01 when start and end times exist in time pair for OFF day.


The “clock in” time of the time pair is read using HRS=PBEG. Then the planned start time of OFF day is subtracted from “clock in” time using HRS-CZD01B (The constant ZD01B is read from Table V_T511K). The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.


If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB7 using ADDDBZVB7 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB9 using ADDDBZVB9, a message Z1 – “Employee came late > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.

PCR ZVB1 Screenshot E

/wp-content/uploads/2013/07/18_251184.jpg

The time pair comes for processing under employee subgroup grouping E for WSR D0001-01 when start and end times exist in time pair for OFF day.


The planned end time on OFF day is read using HRS=CZD01E (Constant ZD01E is read from Table V_T511K. Then the “clock out” time of the shift is subtracted from planned end time of the shift using HRS-PEND. The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.


If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB8 using ADDDBZVB8 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB0 using ADDDBZVB0, a message Z2 – “Employee left early > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.

PCR ZVB1 Screenshot F

/wp-content/uploads/2013/07/19_251185.jpg

The time pair comes for processing under employee subgroup grouping F for WSR N0001-01 when start and end times exist in time pair for OFF day.


The “clock in” time of the time pair is read using HRS=PBEG. Then the planned start time of OFF day is subtracted from “clock in” time using HRS-CZN01B (The constant ZN01B is read from Table V_T511K). The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.


If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB7 using ADDDBZVB7 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB9 using ADDDBZVB9, a message Z1 – “Employee came late > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.

PCR ZVB1 Screenshot G

/wp-content/uploads/2013/07/20_251186.jpg

The time pair comes for processing under employee subgroup grouping G for WSR N0001-01 when start and end times exist in time pair for OFF day.


The planned end time on OFF day is read using HRS=CZN01E (Constant ZN01E is read from Table V_T511K. Then the “clock out” time of the shift is subtracted from planned end time of the shift using HRS-PEND. The result is compared with 0 using HRS?0 and if it is less than and equal to 0, the time pair gets processed under * and is moved to output table using COLOP *.


If the result is greater than 0, then it is compared with 1 using HRS?1. If the result is less than 1, it gets processed under < and the result is added to time type ZVB8 using ADDDBZVB8 and the time type is moved to output table using COLOP *.


If the result is equal to or greater than 1, then the time pair gets processed under * and the result is added to time type ZVB0 using ADDDBZVB0, a message Z2 – “Employee left early > 1hr” gets generated in time evaluation and the time pair is moved to output table using COLOP *.

If a new WSR is being defined in the plant, then we must incorporate this WSR in the PCR ZVB1 at the point highlighted below. We should also define the constants for the WSR shift start and end times for OFF day. Also, the processing under D and E in PCR ZVB1 for existing WSR D0001-01 should be copied to the new ones and the constants of WSR D0001-01 are replaced by constants of new WSR.


PCR ZVB1 Screenshot H

/wp-content/uploads/2013/07/21_251187.jpg

An unauthorized absence 0150 is also created.


Table T554S

/wp-content/uploads/2013/07/22_251188.jpg

The time evaluation class of this absence type is maintained as 10. This has been done because all absences captured currently get a time type 0220 assigned to absence time pair through table V_T555Z using function TIMTP.


We would like to have a custom time type ZVBA – unauthorized absence assigned to absence type – unauthorized absence. This is done using PCR ZVB2.


V_554S_E

/wp-content/uploads/2013/07/23_251192.jpg

PCR ZVB2

/wp-content/uploads/2013/07/24_251193.jpg

This PCR helps to assign a unique time type ZVBA for unauthorized absence captured in IT2001. The PCR reads the pair type of the time pair using OUTTPPTYPE. If the pair type is anything other than 2, the time pair gets processed under * and it moves to output table using COLOP *.


If the pair type is 2, the time pair gets processed under 2 and the class for time evaluation for the absence captured on the particular day is read using VARABCAT. If the class is anything other than 10 (means absence captured is not unauthorized absence), the time pair moves to output table using COLOP *.


If the pair type is 10, the time pair gets processed under 10 and the no. of hours of unauthorized absence is added to time type ZVBA using ADDDBZVBA and the time pair is moved to output table using COLOP *.


The next step is to include both the PCRs in custom time schema ZTCN. The time schema ZTCN is a copy of time schema TM00 – Time Evaluation with Personnel Time Events.

Schema ZTCN

/wp-content/uploads/2013/07/25_251194.jpg

PCR ZVB1 is being processed by function RTIP because TIP table is being read in this PCR. Par 2 is GEN because it is called for all time types.


PCR ZVB2 is being processed by function RTIPA because TIP table is being read in this PCR only in case of absence on this day. Par 2 is GEN because it is called for all time types.


Let us now move towards testing this solution design.


I could think of 18 different scenarios and I tested them and all of them successfully passed.


IT0007

/wp-content/uploads/2013/07/26_251198.jpg

Work Schedule

/wp-content/uploads/2013/07/27_251199.jpg

Please note the below:


  • 01-Jan-12 has DWS as OFF and is also a public holiday
  • 02-Jan-12 has DWS as D001 and is also a public holiday
  • 03-Jan-12 has DWS as D001 and is not a public holiday

Scenario 1: No time type generation if the employee neither comes late nor leaves early on a working day

Scenario 2: No time type generation if the employee neither comes late nor leaves early on a public holiday

Scenario 3: No time type generation if the employee neither comes late nor leaves early on a off day

IT2011

/wp-content/uploads/2013/07/28_251200.jpg

Time Evaluation Result – It is successful and doesn’t generate any time types.

/wp-content/uploads/2013/07/29_251201.jpg

/wp-content/uploads/2013/07/30_251202.jpg                                                                                                                  

01-Jan-12 – Late coming, early going time types don’t get generated

/wp-content/uploads/2013/07/31_251203.jpg

02-Jan-12 – Late coming, early going time types don’t get generated

/wp-content/uploads/2013/07/32_251204.jpg

03-Jan-12 – Late coming, early going time types don’t get generated

/wp-content/uploads/2013/07/33_251205.jpg

Scenario 1: Pass


Scenario 2: Pass


Scenario 3: Pass

————————————————————————————————————————————————————-

Scenario 4: Employee came late by more than 0 min but less than 60 min on a working day


Scenario 5: Employee went early by more than 0 min but less than 60 min on a working day


Scenario 6: Employee came late by more than 0 min but less than 60 min on a public holiday


Scenario 7: Employee went early by more than 0 min but less than 60 min on a public holiday


Scenario 8: Employee came late by more than 0 min but less than 60 min on an off day


Scenario 9: Employee went early by more than 0 min but less than 60 min on an off day

IT2011

/wp-content/uploads/2013/07/34_251206.jpg

Time Evaluation Result – It is successful and generates early going and late coming time types.

/wp-content/uploads/2013/07/35_251210.jpg

/wp-content/uploads/2013/07/36_251211.jpg

01-Jan-12

/wp-content/uploads/2013/07/37_251212.jpg

02-Jan-12

/wp-content/uploads/2013/07/38_251216.jpg

03-Jan-13

/wp-content/uploads/2013/07/39_251217.jpg

RPTBAL00 Report – This report will display the late coming, early going and unauthorized absence for an employee.

/wp-content/uploads/2013/07/40_251218.jpg

RPTBAL00 Report Output

/wp-content/uploads/2013/07/41_251219.jpg

Scenario 4: Pass


Scenario 5: Pass


Scenario 6: Pass


Scenario 7: Pass


Scenario 8: Pass


Scenario 9: Pass

————————————————————————————————————————————————-

Scenario 10: Employee came late by more than 60 min on a working day


Scenario 11: Employee went early by more than 60 min on a working day


Scenario 12: Employee came late by more than 60 min on a public holiday


Scenario 13: Employee went early by more than 60 min on a public holiday


Scenario 14: Employee came late by more than 60 min on an off day


Scenario 15: Employee went early by more than 60 min on an off day

IT2011

/wp-content/uploads/2013/07/42_251220.jpg

Time Evaluation – It is successful and generates late coming and early going time types and messages of being late or leaving early by more than an hour. These messages can also be read in PTMW or TCode PT_ERL00.

/wp-content/uploads/2013/07/43_251221.jpg

/wp-content/uploads/2013/07/44_251222.jpg

/wp-content/uploads/2013/07/45_251223.jpg

/wp-content/uploads/2013/07/46_251224.jpg

/wp-content/uploads/2013/07/47_251225.jpg

01-Jan-12

/wp-content/uploads/2013/07/48_251226.jpg

02-Jan-12

/wp-content/uploads/2013/07/49_251227.jpg

03-Jan-12

/wp-content/uploads/2013/07/50_251228.jpg

RPTBAL00 Report

/wp-content/uploads/2013/07/51_251229.jpg

RPTBAL00 Report Output

/wp-content/uploads/2013/07/52_251230.jpg

There are no existing absences or attendances for the first half or second half for the period 01-Jan-12 to 03-Jan-12. This means that the employee actually came late (> 1hr) and went early (>1 hr) on these days. We can’t capture any unauthorized absence on 01-Jan-12 and 02-Jan-12 as they are non-working days due to being OFF day and public holiday.


The unauthorized absence will be captured only for 03-Jan-12.


IT2001

/wp-content/uploads/2013/07/53_251231.jpg

Once the time evaluation rerun happens because of capture of unauthorized absence, the time type ZVBA gets generated.

/wp-content/uploads/2013/07/54_251232.jpg

Report RPTBAL00 Output


A variant of the report RPTBAL00 can be developed to display data related to the below time types only:


  • ZVB7   –       Late Coming
  • ZVB8   –       Early Going
  • ZVBA  –        Unauthorized Absence

Scenario 10: Pass


Scenario 11: Pass


Scenario 12: Pass


Scenario 13: Pass


Scenario 14: Pass


Scenario 15: Pass

——————————————————————————————————————————————————————————

Scenario 16: Employee didn’t turn up on a working day


Scenario 17: Employee didn’t turn up on a public holiday


Scenario 18: Employee didn’t turn up on an off day

IT2011

/wp-content/uploads/2013/07/56_251237.jpg

Time Evaluation – No message gets generated for 01-Jan-12 (OFF and public holiday) and 02-Jan-12 (public holiday) because they are non-working days and no attendance or time events have been captured for these days.


The time evaluation fails for 03-Jan-12 since there is no leave or attendance captured and time events are missing too. The message will go to time administrator in PTMW or can also be accessed using TCode PT_ERL00.

/wp-content/uploads/2013/07/57_251238.jpg

/wp-content/uploads/2013/07/58_251239.jpg

Unauthorized absence is captured in IT2001 since the employee was not at work and also didn’t have any pre-approved absence or attendance captured for 03-Jan-12.


IT2001

/wp-content/uploads/2013/07/59_251243.jpg

Time Evaluation – It runs successfully after absence is captured.

/wp-content/uploads/2013/07/60_251244.jpg

P2001

/wp-content/uploads/2013/07/61_251246.jpg

Table TES

/wp-content/uploads/2013/07/62_251247.jpg

RPTBAL00 Report

/wp-content/uploads/2013/07/63_251248.jpg

RPTBAL00 Report Output

/wp-content/uploads/2013/07/64_251249.jpg

Scenario 16: Pass


Scenario 17: Pass


Scenario 18: Pass

————————————————————————————————————————————————————-

Here I come to the end of this knowledge artifact. I hope you enjoyed reading through this document.

If you liked this document and found it to be beneficial, request you to please kindly rate it for the benefit of other users.

Warm regards,

Vivek Barnwal.


**************************************************************************************************

You can also refer to other knowledge artifacts created by me at the below link:


One Stop Shop of my Knowledge Artifacts in SAP HCM


To report this post you need to login first.

53 Comments

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

  1. praneeth kumar m

    hi vivek,

    very good document, please add the Time wage types (T510S) also for clear understanding and learn positive time management.

    regards,

    praneeth kumar

    (0) 
      1. Albio Vivas

        Hi Vivek!

        Really a very helpfull post! Thanks.

        Vivek, if I want to generate a wagetype for each time types, could you suggest me the best way to do it?

        Thanks in advance.

        Albio.-

        (0) 
      1. Saritha Sivabalan

        Hi Vivek,

        First of all thank you very much for this document for learn more about positive time management for leaners like me. 🙂

        Just i wanted to know one thing. when an employee is late more than 60 min in this case, can i update an absence record (unauthorised absence) in IT2001 automaticaly via time evaluation without users manual intervention. if so can you please explain how the time type ZVBA updating the record in IT2001 as ubsence type 0150..

        Regards,

        Saritha

        (0) 
        1. Vivek Barnwal Post author

          Hi Saritha,

          Unfortunately, I couldn’t find any operation which could create an absence record for the given period in IT2001.

          You can ask for development of a custom operation regarding this.

          Thanks and regards,

          Vivek Barnwal

          (0) 
    1. Vivek Barnwal Post author

      If you are working on +ve time and looking for a solution for system to determine first clock in and last clock out, you can refer to my other document too.

      Regards,

      Vivek

      (0) 
        1. Vivek Barnwal Post author

          Hi M.S. Raju,

          Thanks for your appreciation.

          Request you to please kindly rate the quality of the document for the benefit of other SCN users.

          Thanks and regards,

          Vivek Barnwal

          (0) 
  2. Alina Yi

    Hi Vivek,

    This is a so fabulous doc on positive time evaluation! Thanks very much for your sharing.

    I am kind interested that attendance on off & public holiday will be recorded as OT. It’s not the case in our plant. Employee must get manager approval via ESS first then such attendance quota can be proceeded to a dammuy IT2007 via schema.

    (0) 
    1. Vivek Barnwal Post author

      Thank you so much Alina.

      My client couldn’t use ESS because blue collar workers didn’t have ESS access and not all of them were computer savvy.

      You can also go through my other document on ” Determination of First Clock In and Last Clock Out in Time Evaluation”.

      http://scn.sap.com/docs/DOC-44182

      This solution will work in any scenario and will determine which is the first clock in and last clock out. If the first clock in or last clock out is missing, it will point it out.

      I have modified PDC processing statuses to achieve this.

      Unfortunately, this document doesn’t come up in search in SCN. Not sure why…

      Thanks and regards,

      Vivek Barnwal

      (0) 
    1. Vivek Barnwal Post author

      Thank you Nick.

      You can also go through my other document on ” Determination of First Clock In and Last Clock Out in Time Evaluation”.

      http://scn.sap.com/docs/DOC-44182

      This solution will work in any scenario and will determine which is the first clock in and last clock out. If the first clock in or last clock out is missing, it will point it out.

      I have modified PDC processing statuses to achieve this.

      Unfortunately, this document doesn’t come up in search in SCN. Not sure why…

      Thanks and regards,

      Vivek Barnwal

      (0) 
  3. YF Hou

    Hi Vivek,

    It is really clear and helpful !!

    Here I’m doing a positive time evaluation practice and I’m thinkng a senario like this:

    what if there are four time events in one day? For example, an employee takes a 2-hours (14:00-16:00) paid leave and after that he/she goes back to work.

    8:00 clock-in

    14:00 clock-out

    16:00 clock-in

    16:50 clock-out

    How can we determine whether the employee has early going?

    If we still use

    the same rules above, they will identify the first clock-out (14:00) as a early-going. Am I right?
    Can you help give any suggestions on multiple time events in one day to determine early going? Thank you very much!!

    (0) 
    1. Vivek Barnwal Post author

      Hi,

      If we have a 2 hours leave from 14:00 – 16:00, then also my solution will work.

      The PCRs for first clock in and last clock out solution are introduced in schema after function P2011 and before function P2001.

      Hence, a time pair gets formed using first clock in and last clock out before function P2001. The time pair will be 8:00 – 16:50. The PCR for late coming and early going needs to be introduced here.

      You need to use P2001 and use 1 in Par 2 for function P2001.

      This will split the time like below:

      8:00 – 14:00    Working

      14:00 – 16:00   Absence

      16:00 – 16:50   Working

      This approach is based on the assumption that you require only first clock in and last clock out for evaluation purposes.

      If you need to evaluate all time stamps, then the first prerequisite will be availability of all time stamps.

      Then you write in the PCR to search for the first time pair VARSTFIRST and read the data of Clock in and feed it into a time type. Compare the value of this time type with shift start time and you will come to know whether the employee has come late or not.

      In the same way, find the last time pair VARSTLAST and feed the value of Clock out in a time type. Compare the value of this time type with shift end time and you will come to know whether the employee has left early or not.

      Introduce this PCR after function P2011 and before P2001.

      I hope this helps.

      Warm regards,

      Vivek Barnwal

      (0) 
    1. Vivek Barnwal Post author

      Thanks Pradyp.

      Please go through my content section. It has the list of documents published in the last 3 weeks.

      Regards,

      Vivek Barnwal

      (0) 
  4. Sriram Tamil

    Hi Vivek,

    No words to explain you contribution on time Management . really amazing.

    do you have more documents on this except this one and Determination first clock in and last clock out ???

    thanks

    Sri

    (0) 
      1. Sriram Tamil

        Hi Vivek.

        Great. i have seen your one stop shop. well explained all scenarios. i hope i learn more in time management. thank you

        Regards.

        Sriram

        (0) 
          1. rohan sharma

            Hi Vivek,

            Hope you are well.

            Please advice me for the configuration of Sick Leave in UAE.

            1to 15 days, full pay

            16 to 30 days : half pay

            30 to 45 days LOP

            I already my put my query in SDN.

            Please advice me.

            Regards,

            Sharma

            (0) 
            1. Vivek Barnwal Post author

              Hi Rohan,

              Please send me the link for the query you posted in SDN.

              I will reply the solution there.

              Thanks and regards,

              Vivek Barnwal

              (0) 
      1. Masroor Ahmed Siddique

        Hi Vivek,

        I need some help in understanding a scenario, I would appreciate if you can help me with this.

        I have a scenario at hand where I have to replace the generated overtime through with compensatory time off.

        This decision is in the hands of the employee so I have created a time transfer type which has to be filled by the administrator through 2012 but the logic of how it can replace the generated OT, I am unable to get there as of yet; it would be a big help if you can guide me through this.

        Regards,

        Masroor Ahmed

        (0) 
        1. Vivek Barnwal Post author

          Hi Masroor,

          Please log a separate thread for this.

          Also, please explain how you are generating overtime in your scenario – is it through T510S table or through ADDZL wage type?

          Thanks and regards,

          Vivek Barnwal

          (0) 
  5. BALASUBRAMANIAN AP

    Hi Vivek,

    What I observe and wonder was that you are achieving with out using ABAP development. That is really great.

    Your sharing mind set is really wonderful. Your blogs/articles are wonderful and mind blowing.

    Thanking you.

    Regards,

    Bala.

    (0) 
  6. Alberto Reyes

    Hi Viviek

    I have an PCR to early coming and late coming. If the employee late coming an absence should be created in infotype 2001. Example the employee has a shift from 06;00 to 15:00. The employee has in infotype 2011 P10 07;00 and P20 15:00

    This is the PCR

    LATE COMING.png

    If the employee late coming (>) the message employee coming late is sending with coler 57 and  ZW10 creates an absence

    This is the PCR

    LATE COMING 1.png

    In this case the PCR is working ok

    But i have other case, the employee has the same information, but the employee late coming because he has an authorized absence (Medical exam) from 06;00 to 07:00 for this reason the time administrator captures the absence in infotype 2001. In this case when i run time evalaution  the message employee late coming should not be sent.

    This is infotype 2001

    MEDICAL.png

    ¿How can I check if the employee has an absence? if the employee has an absence i need to skip the message employee is late and the creation of absence in zw01

    I am testing with VARABCAT  but i dont know how it works..

    Thanks for your help

    (0) 
  7. Rabi R

    Hi Sir,

    Thanks for the document. it’s like an artifact for the learners like me.

    I have a query, If there’s a requirement to update absence automatically as per late coming or early going then what changes will be required?

    Thanks

    (0) 

Leave a Reply