You are on page 1of 5

Creating HCM Approval Transaction Detail Report in Oracle HCM Cloud

By: Ashish Harbhajanka

Introduction
One of the most common requirements for any organization using an HCM ERP System is to find the
number of pending transactions at any point of time. All of us live in a busy world where everyone has to
don multiple responsibilities at same time. Imagine if there are multiple transactions like Add
Employment, Change Salary, Change Location, Leave Approval and many other such ESS transactions
which needs Manager Approval and the supervisors/managers are pre-occupied with other priority tasks.
Chances are that in such situation the HCM Transaction wither remains in PENDING stated or goes into
ERROR. One may use the Worklist Notifications View available in the UI but having a custom report
which gives a consolidated view of all pending transactions really helps.
Such a report can be created wither using OTBI or even BI Report too (Not sure if there is an available
UE for the same using which HCM Extracts can be created too, but in this article we will restrict
ourselves to the OTBI and BI part only).
Let-us get started then.
Creating HCM Approval Transaction Detail Report (OTBI Analysis)
Until Release 11 creating such a Report was not possible as there was no Subject Area available. But
starting release 12 we have “Human Capital Management – Approval Notification Archive Real Time”
which allows us to get an insight into HCM Transaction data.
One perquisite prior to creating an analysis based on “Human Capital Management – Approval
Notification Archive Real Time” subject area is that one should run “Archive Workflow Tasks” ESS Job
which is only available post Release 12 PB8 onwards.

Once you run the above mentioned ESS Job you can get started with creating a OTBI Analysis.
For this example, we have selected 5 columns as below:

Attribute Name Data Source


Business Process Name "Approval Notification Details"."Process Name"
Task Status "Approval Notification Details"."Task Status"
Subject "Approval Notification Details"."Task Title"
Status "Approval Notification History Details"."Status"
Stage "Approval Notification History Details"."Stage"
Creating HCM Approval Transaction Detail Report in Oracle HCM Cloud
By: Ashish Harbhajanka

A quick look at the results tab shows the output data:

The Analysis XML which gets created as a result is mentioned below:

Analysis XML
<saw:report xmlns:saw="com.siebel.analytics.web/report/v1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlVersion="201201160"
xmlns:sawx="com.siebel.analytics.web/expression/v1.1">
<saw:criteria xsi:type="saw:simpleCriteria" subjectArea="&quot;Human Capital Management -
Approval Notification Archive Real Time&quot;" withinHierarchy="true">
<saw:columns>
<saw:column xsi:type="saw:regularColumn" columnID="ca5e8067945e45d3e">
<saw:columnFormula>
<sawx:expr xsi:type="sawx:sqlExpression">"Approval Notification Details"."Process
Name"</sawx:expr></saw:columnFormula></saw:column>
<saw:column xsi:type="saw:regularColumn" columnID="cfeb94fbeb0a2a399">
<saw:columnFormula>
<sawx:expr xsi:type="sawx:sqlExpression">"Approval Notification Details"."Task
Status"</sawx:expr></saw:columnFormula></saw:column>
<saw:column xsi:type="saw:regularColumn" columnID="c9adf6f3808900783">
<saw:columnFormula>
<sawx:expr xsi:type="sawx:sqlExpression">"Approval Notification Details"."Task
Title"</sawx:expr></saw:columnFormula></saw:column>
<saw:column xsi:type="saw:regularColumn" columnID="c1bf5178aee607a62">
<saw:columnFormula>
<sawx:expr xsi:type="sawx:sqlExpression">"Approval Notification History
Details"."Status"</sawx:expr></saw:columnFormula></saw:column>
<saw:column xsi:type="saw:regularColumn" columnID="c393e0a93c5d544da">
<saw:columnFormula>
<sawx:expr xsi:type="sawx:sqlExpression">"Approval Notification History
Details"."Stage"</sawx:expr></saw:columnFormula></saw:column></saw:columns></saw:criteria>
<saw:interactionOptions drill="true" movecolumns="true" sortcolumns="true"
addremovevalues="false" groupoperations="false" calcitemoperations="false"
showhidesubtotal="false" showhiderunningsum="false" inclexclcolumns="true"/>
<saw:views currentView="0" textDelivery="compoundView!1" parentsBefore="true"
includeNewColumns="true" nullSuppress="true">
<saw:view xsi:type="saw:compoundView" name="compoundView!1">
<saw:cvTable>
Creating HCM Approval Transaction Detail Report in Oracle HCM Cloud
By: Ashish Harbhajanka

<saw:cvRow>
<saw:cvCell viewName="titleView!1">
<saw:displayFormat>
<saw:formatSpec/></saw:displayFormat></saw:cvCell></saw:cvRow>
<saw:cvRow>
<saw:cvCell viewName="tableView!1"/></saw:cvRow></saw:cvTable></saw:view>
<saw:view xsi:type="saw:titleView" name="titleView!1" includeName="true"
startedDisplay="none">
<saw:title>
<saw:caption fmt="text">
<saw:text>Pendng Transactions Report</saw:text></saw:caption></saw:title></saw:view>
<saw:view xsi:type="saw:tableView" name="tableView!1" scrollingEnabled="false" deck="hide">
<saw:edges>
<saw:edge axis="page" showColumnHeader="true"/>
<saw:edge axis="section"/>
<saw:edge axis="row" showColumnHeader="true">
<saw:edgeLayers>
<saw:edgeLayer type="column" columnID="ca5e8067945e45d3e"/>
<saw:edgeLayer type="column" columnID="c9adf6f3808900783"/>
<saw:edgeLayer type="column" columnID="cfeb94fbeb0a2a399"/>
<saw:edgeLayer type="column" columnID="c1bf5178aee607a62"/>
<saw:edgeLayer type="column"
columnID="c393e0a93c5d544da"/></saw:edgeLayers></saw:edge>
<saw:edge axis="column"
showColumnHeader="rollover"/></saw:edges></saw:view></saw:views></saw:report>

And the SQL Issued is:

Issued SQL
SET VARIABLE PREFERRED_CURRENCY='User Preferred Currency 1';SELECT
0 s_0,
"Human Capital Management - Approval Notification Archive Real Time"."Approval Notification
Details"."Process Name" s_1,
"Human Capital Management - Approval Notification Archive Real Time"."Approval Notification
Details"."Task Status" s_2,
"Human Capital Management - Approval Notification Archive Real Time"."Approval Notification
Details"."Task Title" s_3,
"Human Capital Management - Approval Notification Archive Real Time"."Approval Notification
History Details"."Stage" s_4,
"Human Capital Management - Approval Notification Archive Real Time"."Approval Notification
History Details"."Status" s_5,
DESCRIPTOR_IDOF("Human Capital Management - Approval Notification Archive Real
Time"."Approval Notification Details"."Task Status") s_6,
DESCRIPTOR_IDOF("Human Capital Management - Approval Notification Archive Real
Time"."Approval Notification History Details"."Status") s_7
FROM "Human Capital Management - Approval Notification Archive Real Time"
ORDER BY 1, 2 ASC NULLS LAST, 4 ASC NULLS LAST, 3 ASC NULLS LAST, 7 ASC NULLS
LAST, 6 ASC NULLS LAST, 8 ASC NULLS LAST, 5 ASC NULLS LAST
FETCH FIRST 75001 ROWS ONLY
Creating HCM Approval Transaction Detail Report in Oracle HCM Cloud
By: Ashish Harbhajanka

Creating Pending Approval Transaction Report (BI Report)


We can even create a BI Report to get a consolidated list of all HCM Transactions which have not been
completed (In-Flight status).
The SQL statement is as follows:
SQL Query Used to Create BI Data Model
SELECT A.*
FROM
(
SELECT txnh.module_identifier ProcessName,
wft.creator Requestor,
wft.assignees CurrentAssignee,
wft.assigneddate AssignedDate,
wft.title NotificationTitle,
txnd.status TxnStatus,
txnh.object ObjectName
FROM fusion.per_all_people_f dp,
fusion.per_person_names_f_v n,
fusion.per_all_assignments_m asg,
fusion.hrc_txn_header txnh,
fusion.hrc_txn_data txnd,
hcm_fusion_soainfra.WFTASK wft
WHERE dp.person_id =n.person_id
AND asg.person_id =n.person_id
AND LENGTH(asg.assignment_type)=1
AND asg.assignment_id =txnh.object_id
AND wft.identificationkey =TO_CHAR(txnh.transaction_id)
AND txnh.object ='PER_ALL_ASSIGNMENTS_M'
AND txnh.transaction_id =txnd.transaction_id
AND sysdate BETWEEN asg.effective_start_date AND asg.effective_end_date
AND asg.effective_latest_change='Y'
AND sysdate BETWEEN dp.effective_start_date AND dp.effective_end_date
AND sysdate BETWEEN n.effective_start_date AND n.effective_end_date
UNION
SELECT txnh.module_identifier ProcessName,
wft.creator Requestor,
wft.assignees CurrentAssignee,
wft.assigneddate AssignedDate,
wft.title NotificationTitle,
txnd.status TxnStatus,
txnh.object ObjectName
FROM fusion.per_all_people_f dp,
fusion.per_person_names_f_v n,
fusion.per_all_assignments_m asg,
fusion.hrc_txn_header txnh,
fusion.hrc_txn_data txnd,
hcm_fusion_soainfra.WFTASK wft
WHERE dp.person_id =n.person_id
AND asg.person_id =n.person_id
Creating HCM Approval Transaction Detail Report in Oracle HCM Cloud
By: Ashish Harbhajanka

AND LENGTH(asg.assignment_type)=1
AND asg.period_of_service_id =txnh.object_id
AND wft.identificationkey =TO_CHAR(txnh.transaction_id)
AND txnh.object ='PER_PERIODS_OF_SERVICE'
AND txnh.transaction_id =txnd.transaction_id
AND sysdate BETWEEN asg.effective_start_date AND asg.effective_end_date
AND asg.effective_latest_change='Y'
AND sysdate BETWEEN dp.effective_start_date AND dp.effective_end_date
AND sysdate BETWEEN n.effective_start_date AND n.effective_end_date
UNION
SELECT txnh.module_identifier ProcessName,
wft.creator Requestor,
wft.assignees CurrentAssignee,
wft.assigneddate AssignedDate,
wft.title NotificationTitle,
txnd.status TxnStatus,
txnh.object ObjectName
FROM fusion.hrc_txn_header txnh,
fusion.hrc_txn_data txnd,
hcm_fusion_soainfra.WFTASK wft
WHERE wft.identificationkey =TO_CHAR(txnh.transaction_id)
AND txnh.object ='PER_ALL_PEOPLE_F'
AND txnh.transaction_id =txnd.transaction_id
)A
order by A.TxnStatus

And the Output (with Conditional Formatting applied on TxnStatus column looks as below):

You might also like