Human Capital Management Blogs by Members
Gain valuable knowledge and tips on SAP SuccessFactors HCM suite and human capital management market from member blog posts. Share your insights with a post of your own.
cancel
Showing results for 
Search instead for 
Did you mean: 
Ivan_Dosaev
Discoverer
2,377

Recently, SuccessFactors customers have voiced frustrations regarding the unavailability of the Job Requisition Approved Date field in Story reports. As legacy reporting tools are planned for deprecation and users transition to Story reports, they encounter a notable absence of this crucial field. Despite an improvement idea submitted to the SAP Influence Portal, earmarked for long-term consideration, the immediate business need for a solution prompts the creation of this post. 

Here, we explore practical workarounds based on our own experience of migrating the Approved Date to a Story report. 

Option 1: Adding a Custom Field, Calculation Rule, and Uploading Historical Data

SAP suggests adding a custom field to store the approved date and creating a rule for future entries (SAP Note 2957351 and  SAP Note 3048126). While effective for future requisitions, this solution leaves historical requisitions with a blank field and requires certain important conditions. If the rule is configured as shown in the KBAs, every existing Open requisition will be updated with a wrong date upon save action. To prevent this, add a date condition excluding requisitions created before the field addition to production instance. Below is the example: 

 ivandosaev2_0-1706788814172.png

In this example the rule was migrated to production instance on Sept 21, 23.

Following mentioned Knowledge Base Articles (KBAs) and adding the field with the associated rule, historical data must be uploaded. Use a Table report to get the approved date for the historical requisitions. Then use an Integration Center job as recommended by SAP (SAP KBA 2771951) for any Job Requisition mass update action. Despite the KBA advising to ignore "Mandatory fields" errors, certain errors cannot be ignored: 

  • Requisitions with operators no longer part of recruiting groups.
  • Requisitions assigned to inactive organizational units/jobs.

Any of these errors will cause the job to stop importing the current batch (with batch size being 1000 rows) and no requisitions will be updated. Example of such an error is shown below. Despite the "WARNING" type this particular issue prevents the job from completion.

Error log extract:

"20780221","Integration Process Warning","WARNING","2023-SEP-14 06:52:53","JobRequisition: Batch upsert failed: Unexpected error ocurred when executing requisition batch operations.. The batch will not be processed for subsequent entities",""
"20780222","Integration Process Warning","WARNING","2023-SEP-14 06:52:53","JobRequisition: UPSERT failed for the row with key: . Reason: department_obj are invalid as on JobStartDate Thu Sep 14 06:52:23 EDT 2023. Enter valid data, or change Job Start Date, . The row will not be processed for subsequent entities",""
"20780223","Integration Process Warning","WARNING","2023-SEP-14 06:52:53","JobRequisition: UPSERT failed for the row with key: . Reason: department_obj are invalid as on JobStartDate Thu Sep 14 06:52:31 EDT 2023. Enter valid data, or change Job Start Date, . The row will not be processed for subsequent entities",""

 

The error log is not informative as it does not include the job requisition ID impacted by the error, hence the only solution is to manually find it and correct (altering the data as a result) or temporarily remove the checks for the import duration.

To remove the checks, a recruiting settings modification is needed:

a) Temporarily remove the group restriction from the people field in job requisition. In Manage Templates find the requisition templates, find standard operator fields and remove the Group Name:

 ivandosaev2_2-1706789327948.png

b) Set a parameter in Recruiting Settings to suppress the effective date check for organizational objects.

 ivandosaev2_3-1706789408314.png

After this the import job will run as described in the KBA and historical data will be uploaded. The newly created custom field will be available in the Story report with historical data. Do not forget to revert the settings back.

 

Option 2: Calculating Approval Date Based on Requisition Age

Another alternative involves calculating the Approved Date based on requisition age. This works if you don't use standard "Age" or "Time to fill" metrics or have them configured in the same way as described below.

ivandosaev2_4-1706789600736.png

In this example Age is calculated based on the Approved Date that is unfortunately unavailable in Story reports. Note: "Exclude time spent in..." must be disabled in order to get accurate results. 

When creating a story report, add a calculated column that would show the Approved Date. Keep in mind that Age stops counting when the requisition is closed. It means that for closed requisitions Age should subtracted from Closed Date, while for Open requisition from today's date. Example formula for this column is shown below:

ivandosaev2_5-1706789925906.png

As a result you will have an Approved Date column in your report. You can do a cross-check against the data in Table report to validate it.

 

Option 3: Calculating Approved Date Based on Job Requisition Status Audit Log

Reverse engineering the Table report's Approved Date logic provides another workaround. In Table reports, the field takes the earliest date when the requisition first got "Open" status.

ivandosaev2_6-1706790057634.png

The screenshot shows that approval date is equal to the Created Date of the first Open status record in the Audit table. 

Approved Date can be derived as the "Created date" of the Open status record for the job Requisition. Apply filter on Status Audit table to get only "Open" records.  

Note: Filtering the Job Req Status Audit table by "Open" status might not suffice, as some requisitions may have multiple rows with different dates in an "Open" status. Utilize an aggregation to find the earliest date. Story report does not allow to do this directly by converting a date field to a measure, so a measure needs to be created by calculating the difference in days between today and the Created Date.

ivandosaev2_7-1706790344958.png

ivandosaev2_0-1706791395774.png

 

A new integer column is created that can be used as a measure with aggregation MAX (to find the earliest date the difference with today should be max). This measure can be used in your aggregated report to find the approval date based on "Create Date" column in Status Audit - Job Requisition table.

 

By exploring these options, you can tailor a workaround that best suits your business needs, ensuring you have the necessary Approved Date information in your Story reports.

Labels in this area