SAP Knowledge Base Article - Public

2262369 - Time Off: Period-End Process (PEP) Calendar Job Failed - Possible Causes

Symptom

Period-End Process (PEP) calendar job failed

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

SAP SuccessFactors Employee Central - Time Off

Reproducing the Issue

  • Navigate to Admin Center --> Manage Time Off Calendars --> Run the Period-End Process (PEP).
  • Go to Admin Center > Monitor Jobs > Check the status > Its "Failed" or "Completed" but with errors

Cause

Possible causes

  1. Pending leave request
  2. No Follow up account
  3. Terminated users  
  4. Users do not have mandatory fields filled in employee time object. 
  5. Wrong posting date
  6. User does not have proper job history record
  7. Follow up account has already been closed / following year PEP has already been completed (happens if PEP is done for a year in the past)
  8. PEP rule is not using "Generate External Code for Time Off()" rule function for External Code section in create statement.
  9. You have not used the Rule Scenario for Period-End Processing. If you use a Basic rule scenario and manually add the base objects you can experience errors for some users during PEP run, although the whole job did not fail. Please use PEP rule scenario to avoid errors. Example error in execution file: "Parent cannot be null when creating NewAccount.timeAccountDetails. Please check rule definition"

Note: If simulation is successful but running the calendar returns empty csv results file, please check the "Booking end date" on the time accounts you are closing / carrying leave from is already in the past.

The system will only pick up accounts with booking end date in the past, whereas simulation allows you to see results in advance of the booking end date.

See KBA 2149882 - Time Off Period End Processing: Received an empty csv file after simulation

Resolution

1. Pending leave request

  • ERROR: You cant close the account because it contains employee times with status Pending(Approver:[<approver Name>]).

Check whether any users related to this time account type has any pending leave request.If so ,approve the leave request and run the calendar again. System will not process PEP if a user has a pending request.

  • ERROR: You cant close the account because it contains employee times with status Pending(Approver:[ ])

This is due to leave request in pending status but no worflow request is sent to the approver. To resolve this error, refer SCENARIO 1 and it's resolution in the KBA 3005823 - MDF Workflow is not Getting Triggered but Transaction is set to Pending Status.

 

2. No Follow up account

ERROR:Parent cannot be null for creating new child!

Check whether the pep rule is creating a new time account detail.If so,the users should have a follow up account.

Example:

We are running a pep for 2016 account and planning to carry forward remaining balance to 2017.During PEP run, system will try to carry forward the balance and will throw an error if that user do not have a 2017 account. Always create follow up account  prior to running pep calendar

To create a new account Navigate to Manage time off calendar--->Account creation---->create a new 2017 account for respective time account type

 

3. Terminated users 

Based on the rule system will try to carry forward balance for all users.Hence it considers terminated users too,but they will not have a follow up account and pep fails.In this scenario,modify the rule in such a way that system will not carry forward balances for a user who do not have a follow up account.

If this is the case the PEP run may finish with errors, and you will see the following error for terminated users:  "Parent cannot be null when creating NewAccount.timeAccountDetails. Please check rule definition"

We can use an 'if else" condition for this.

  • IF {the user do not have a follow up account close the current account and do not carry forward}
  • ELSE {Close and carry forward}

Here is an example :

Logic :System will close the current account after setting the balance to Zero If a user do not have a follow up account.

PEPE.png

 

4. Users  do not have mandatory fields filled in employee time object. 

For example: Some users may not have attachment field  filled in employee time object though its mandatory.In this case PEP run will fail without any error logs,but simulation will be successful.Check the reference section for detailed solution

 

5. Wrong posting date

ERROR:DETAIL_WRONG_BOOKING_DATE

Check the posting date configuration inside the create .New Account.Time Account Details section in the PEP rule.Refer KBA 2420537for more details.

6.User do not have proper job history record

Some user's considered for the PEP run do not have any job history record. Check KBA 2584231for more details

7. Follow up account is already closed

This can happen if you are doing PEP for a year in the past, and the following year PEP has already been completed.

For example, in 2019 you try to run PEP for 2014 accounts, but PEP for years 2015 - 2018 have already been completed.

Result is that the 2014 accounts are not closed because system has no follow up account open for follow up actions.

It does not meet condition that if New account exists = No Then close account, because system function also considers closed account.

If you do not need to do anything with the remaining balances but just want to close these old accounts you can do so via import and export data. Set Is Closed = Yes and reimport.

8. PEP rule is not using "Generate External Code for Time Off()" rule function

Check PEP rule assigned to time account type = for example if they are using "Time Account.External Code" for creation Time Account details, this will lead to unique constraint error.

They also need to use "Generate External Code for Time Off() rule function"

generate code.jpg

FAQ 

Q1: 100 employees are eligible for a PEP run.Getting error for 20 employees.Will this affect PEP posting for remaining 80 employees.
A1: PEP will get successfully executed for all the employees who do not have any error and will fail for the rest of the employees.Identified a bug which is being worked by engineering.PEP is failing for all user's in a specific scenario(Check point 6 in possible causes section)

Q2: How to execute PEP for employees who has error
A2: Correct the data as per the error logs.Create a new PEP calendar.Simulate and check the results.Run the calendar once you are ok with the simulation results

Q3: Running PEP for second time- Will this results in duplicate posting ?
A3: Running PEP again on an account will not post duplicate balances. It will skip all the accounts considered during the first run.
Always try to simulate the calendar first. Simulation is just a trial run. Log files will show you the actual balances that will be posted after the run.

Q4:Can i run PEP any time.
A4: No, we cannot run PEP any time. You cannot do a PEP run  for an ongoing account. Bookable untill date for that time account type  must be in past.

For example:
A Time Account with start date 01/01/2016 and bookable end date 31/03/2017. You cannot run PEP for this account before 31/03/2017.

Q5:Can i simulate PEP any time.
A5:Yes, we can simulate PEP any time.

See Also

2149882 - Time Off Period End Processing: Received an empty csv file after simulation

2584231 - Period End processing simulation failed

2420537 - Period End Processing Error - DETAIL_WRONG_BOOKING_DATE

2413421 PEP run failed without any logs but simulation was successful

2262434 TIME OFF PEP: ERROR_RUNTIME - Parent cannot be null for creating new child!. Please check rule definition.

3005823 MDF Workflow is not Getting Triggered but Transaction is set to Pending Status.

Keywords

PEP Failed, Period end processing, follow up account is closed, unique constraint violated, Parent cannot be null when creating NewAccount.timeAccountDetails. Please check rule definition , KBA , LOD-SF-EC-TIM , Time Off , Problem

Product

SAP SuccessFactors HXM Suite all versions