This blog is part of a series of articles on setting up custom security in Fusion HCM Analytics using Area of Responsibility (AOR) data from Oracle Fusion Cloud HCM. It describes setting up custom data security in Oracle Fusion HCM Analytics using Organization Hierarchy AOR data extracted from Cloud HCM.
The Oracle Fusion HCM Analytics data pipeline can extract Area of Responsibility (AOR) data from Oracle Fusion Cloud HCM and load it into the associated Oracle Autonomous Data Warehouse (ADW). Fusion Analytics security administrators can then utilize AOR data to set up custom security following the steps below.
With inputs from Niraj Kumar, Sr. Director, Software Development and Sreebhushan Shivapuram, Consulting Member Technical Staff, Software Development.
Navigation: Fusion Analytics Console -> Data Configuration -> Data Augmentation.
Create two augmentation jobs for extracting hierarchy tree versions and row-flattened organization hierarchy data. Note: with an upcoming Fusion Analytics Warehouse release, both View Objects (VOs) mentioned below will be available by enabling the Fusion HCM Security Configuration functional area, after which you can refer to the corresponding tables in the steps to create session variables and skip additional augmentation.
Data Augmentation for Extracting Hierarchy Tree Versions
VO used: CrmAnalyticsAM.PartiesAnalyticsAM.FndTreeVersionVO
Select the Create Dimension Augmentation Type.
Select the Supplemental Data Source Dataset Type.
Select the Human Capital ManagementPillar.
Select theCustomer Provided Source Table Type.
Enter the Source Table, i.e.,CrmAnalyticsAM.PartiesAnalyticsAM.FndTreeVersionVO.
Click Next.
Search and select the following attributes:
Status
EffectiveStartDate
EffectiveEndDate
Accept the default for Incremental Key.
Click Next.
Accept the default for the Extract date, then click Next.
Enter a Name, e.g., Hierarchy Tree Versions.
Enter a Description.
Enter a Table Suffix, e.g., HIER_TREE_VERSION.
Leave the Subject Areas blank.
Select Run Now for the Schedule.
Click Finish.
Data Augmentation for Extracting Row-Flattened Organization Hierarchy Data
VO used: HcmTopModelAnalyticsGlobalAM.OrganizationAM.OrgTreeBIRVOForFscm
Select the Create Dimension Augmentation Type.
Select the Supplemental Data Source Dataset Type.
Select the Human Capital Management Pillar.
Select theCustomer Provided Source Table Type.
Enter the Source Table, i.e.,HcmTopModelAnalyticsGlobalAM.OrganizationAM.OrgTreeBIRVOForFscm.
Click Next.
Search and select the following attributes:
AncestorPk1Value
Pk1Value
Distance
FndTreeVersionEffDateEOLastUpdateDate
FndTreeVersionEffDateEOLastValidationDate
Accept the default for Incremental Key.
EnsureFndTreeVersionEffDateEOLastUpdateDate and FndTreeVersionEffDateEOLastValidationDate columns are selected for the Extract date.
Enter a Group Name, e.g., Custom AOR Organization Hierarchy Data Security Group.
Enter a Description
Click Save.
Assign the Custom Data Application Role to a Group
Search using Custom AOR and select the Custom AOR Organization Hierarchy Data Security Group.
Click Application Roles.
Click Add Mapping.
Search for and select the Custom AOR Org Hierarchy Data Security application role.
Search for and select the required duty role, e.g., Workforce Core Analysis Dutyapplication role.
Click Save.
Note: you can add the Custom AOR Org Hierarchy Data Security application role to other prebuilt and custom groups based on your requirements.
Add the User to the Custom Group
Click Users.
Click Assign Users.
Search the Users and select Suzanne.Martha.
Click Assign.
Add the User to the License Group
Search the Groups and select FAW Licensed HCM Authors. (Only if you want users to be able to create their own content, otherwise you can also assign users to FAW Licensed HCM Consumers too.)
Click Users.
Search the Users for Suzanne.Martha.
If the user is not found, Click Assign Users.
Search the Users and select Suzanne.Martha. Click Assign.
Click Add Session Variables in the Add Step popup window.
Enter a Step Name, e.g., HCM AOR Org Hierarchy Session Variables.
Enter a Description.
Click Next.
Enter an Initialization Block Name, e.g., HCM_AOR_ORG_HIERARCHY.
Enter a Description.
Enter the SQL Query
Note: Modify the values for TREECODE and RESPONSIBILITY_TYPE in the SQL query as needed.
SELECT
'AORDEPTLIST',
dd.department_id
FROM
dw_fa_x_hier_tree_version ftv,
dw_fa_x_rf_org_hier_data dwaor,
dw_asg_responsibility_d dwar,
dw_user_person_d dwup,
dw_department_d dd
WHERE
1 = 1
AND TO_NUMBER(dwaor.pk1value) = dd.department_id
AND ftv.treestructurecode = 'PER_ORG_TREE_STRUCTURE'
AND dwaor.treecode = 'PRJORGHRY'
AND ftv.status = 'ACTIVE'
AND trunc(sysdate) BETWEEN ftv.effectivestartdate AND ftv.effectiveenddate
AND ftv.treeversionid = dwaor.treeversionid
AND ftv.treecode = dwaor.treecode
AND dwar.responsibility_type = 'HR_REP'
AND dwar.organization_tree_code = ftv.treecode
AND dwar.person_id = dwup.person_id
AND upper(dwup.username) = upper(':USER')
AND sysdate BETWEEN dwar.start_date AND nvl(dwar.end_date, sysdate)
AND TO_NUMBER(dwaor.ancestorpk1value) = nvl(dwar.top_organization_id,
TO_NUMBER(dwaor.ancestorpk1value))
AND dwaor.distance > decode(dwar.include_top_hier_node, 'N', 0,(dwaor.distance - 1))
AND dwaor.distance < nvl(decode(dwar.hierarchy_levels, '-99999', '', dwar.hierarchy_levels),
dwaor.distance + 1)
UNION ALL
SELECT
'AORBULIST',
dbu.business_unit_id
FROM
dw_fa_x_hier_tree_version ftv,
dw_fa_x_rf_org_hier_data dwaor,
dw_asg_responsibility_d dwar,
dw_user_person_d dwup,
dw_business_unit_d dbu
WHERE
1 = 1
AND TO_NUMBER(dwaor.pk1value) = dbu.business_unit_id
AND ftv.treestructurecode = 'PER_ORG_TREE_STRUCTURE'
AND dwaor.treecode = 'PRJORGHRY'
AND ftv.status = 'ACTIVE'
AND trunc(sysdate) BETWEEN ftv.effectivestartdate AND ftv.effectiveenddate
AND ftv.treeversionid = dwaor.treeversionid
AND ftv.treecode = dwaor.treecode
AND dwar.responsibility_type = 'HR_REP'
AND dwar.organization_tree_code = ftv.treecode
AND dwar.person_id = dwup.person_id
AND upper(dwup.username) = upper(':USER')
AND sysdate BETWEEN dwar.start_date AND nvl(dwar.end_date, sysdate)
AND TO_NUMBER(dwaor.ancestorpk1value) = nvl(dwar.top_organization_id,
TO_NUMBER(dwaor.ancestorpk1value))
AND dwaor.distance > decode(dwar.include_top_hier_node, 'N', 0,(dwaor.distance - 1))
AND dwaor.distance < nvl(decode(dwar.hierarchy_levels, '-99999', '', dwar.hierarchy_levels),
dwaor.distance + 1)
UNION ALL
SELECT
'AORLELIST',
led.legal_employer_id
FROM
dw_fa_x_hier_tree_version ftv,
dw_fa_x_rf_org_hier_data dwaor,
dw_asg_responsibility_d dwar,
dw_user_person_d dwup,
dw_legal_employer_d led
WHERE
1 = 1
AND TO_NUMBER(dwaor.pk1value) = led.legal_employer_id
AND ftv.treestructurecode = 'PER_ORG_TREE_STRUCTURE'
AND dwaor.treecode = 'PRJORGHRY'
AND ftv.status = 'ACTIVE'
AND trunc(sysdate) BETWEEN ftv.effectivestartdate AND ftv.effectiveenddate
AND ftv.treeversionid = dwaor.treeversionid
AND ftv.treecode = dwaor.treecode
AND dwar.responsibility_type = 'HR_REP'
AND dwar.organization_tree_code = ftv.treecode
AND dwar.person_id = dwup.person_id
AND upper(dwup.username) = upper(':USER')
AND sysdate BETWEEN dwar.start_date AND nvl(dwar.end_date, sysdate)
AND TO_NUMBER(dwaor.ancestorpk1value) = nvl(dwar.top_organization_id,
TO_NUMBER(dwaor.ancestorpk1value))
AND dwaor.distance > decode(dwar.include_top_hier_node, 'N', 0,(dwaor.distance - 1))
AND dwaor.distance < nvl(decode(dwar.hierarchy_levels, '-99999', '', dwar.hierarchy_levels),
dwaor.distance + 1)
Click Next
Enter three Variables:
AORDEPTLIST
AORBULIST
AORLELIST
Check Row-wise Initialization.
Enter Descriptions.
Enter Default Values, e.g.,-1.
Click Finish.
Note: Ensure session variable names are in upper case.
Have a user with a membership in the HCM View All Data Security application role or the Fusion Analytics Service Administrator group log into Fusion Analytics and run a Data Visualization (DV) showing the Overall Headcount and the Headcount Under Specific NodeAU Content Business Unit associated with AOR.
The overall headcount is 2,835, and the business unit has 14.
Have user Suzanne.Martha log in and run the same DV. The AOR data security is applied.
The overall headcount is 14, and the business unit has 14.
When user Suzanne.Martha logs in to FAW and runs the DV, the data filter expression used in the data security configuration step is applied in the generated physical SQL query.
This blog describes setting up custom data security in Fusion HCM Analytics using Organization Hierarchy AOR data extracted from Fusion Cloud HCM. Currently automated data security synchronization between Oracle Cloud HCM and Fusion HCM Analytics is not available. However, with AOR data in Fusion Analytics, custom data security provides business users with a nearly seamless experience.