🔹 Join the OracleApps88 Telegram Group - Stay up to date with the latest on Oracle EBS R12 and Oracle Cloud/Fusion Applications. 📌 Telegram Group : https://t.me/OracleApps88

💡 Facing issues copying code/scripts or viewing posts? We're here to help!
📬 Contact on Telegram : https://t.me/apps88
📱 Telegram/WhatsApp: +91 905 957 4321
📧 Email Support: OracleApp88@Yahoo.com
Showing posts with label HRMS. Show all posts
Showing posts with label HRMS. Show all posts

Thursday, August 29, 2019

Fusion Security - Creating an Employee/User with Manual, HDL and Security Configuration Process

Security Configuration Overview
Data security makes data available to users by the following means.
Policies that define grants available through provisioned roles
Policies defined in application code

You secure data by provisioning roles that provide the necessary access.
Data roles also can be generated based on HCM security profiles. Data roles and HCM security profiles enable defining the instance sets specified in data security policies.

When you provision a job role to a user, the job role limits data access based on the data security policies of the inherited duty roles. When you provision a data role to a user, the data role limits the data access of the inherited job role to a dimension of data.

Data security consists of privileges conditionally granted to a role and used to control access to the data. A privilege is a single, real world action on a single business object. A data security policy is a grant of a set of privileges to a principal on an object or attribute group for a given condition. A grant authorizes a role, the grantee, to actions on a set of database resources. A database resource is an object, object instance, or object instance set. An entitlement is one or more allowable actions applied to a set of database resources.


Security Configuration Tasks
  01: Creating an Employee/User
  02: Adding Roles to User and Resetting the Password
  03: Create the Employee/User with HDL template
  04: Adding the Roles to User with HDL template
  05: Create Custom Role with View Privileges and add the role to User
  06: Verify the User in Manager Users
  07: Add Business Unit Data Access to User
  08: Setup Vacation Rule for a User
  09: Setup Printer in Cloud Application
  10: Run User and Roles Synchronization Process.         
  11: Setup the Manage Procurement Agent
  12: Creating a Descriptive Flexfields and testing


1: Creating an Employee/User
Creating an employee from HCM’s Hire an Employee page.

1. Navigate to My Workforce/My Client Groups àNew Person.
















Please click on the below link for more details:

Fusion Security - Creating an Employee/User with Manual, HDL and Security Configuration Process

Please Like and Share our FaceBook page to get more details on Oracle Applications

Sunday, May 12, 2019

Query to get Employee and Supervisor hierarchy Details in Oracle Apps HRMS R12


-->--------------------------------------------------------------------
SELECT lpad('->',8*(level-1)) ||
( select distinct full_name from per_all_people_f
where person_id = paf.person_id
and sysdate between effective_start_date and effective_end_date ) TREE
FROM per_all_assignments_f paf
START WITH paf.person_id = <PUT_IN_PERSON_ID>
AND paf.primary_flag = 'Y'
AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
CONNECT BY paf.person_id = PRIOR paf.supervisor_id
AND paf.primary_flag = 'Y'
AND SYSDATE BETWEEN paf.effective_start_date AND  paf.effective_end_date



-->--------------------------------------------------------------------
-- Find Employee- Supervisor Hierarchy in Oracle Apps
  SELECT papf.employee_number,           papf.person_id,
           papf.full_name,
           ppg.segment1 officer_flag, --executive flag for officers (Y is officer, N is not)
           NVL (spapf.full_name, 'NONE') supervisor_name,
           spapf.person_id supv_person_id,
           LEVEL
      FROM per_people_x papf,
           PER_PEOPLE_X SPAPF,
           per_assignments_x paaf,
           pay_people_groups ppg
     WHERE     papf.person_id = paaf.person_id
           AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
           AND sysdate BETWEEN paaf.effective_start_date AND paaf.effective_end_date
           and sysdate between SPAPF.EFFECTIVE_START_DATE and SPAPF.EFFECTIVE_END_DATE
           --AND xxx_person_type.is_employee(:p_eff_date, papf.person_id) = 'TRUE'
           AND paaf.assignment_type IN ('E', 'C')
           AND paaf.supervisor_id = spapf.person_id
           AND paaf.people_group_id = ppg.people_group_id
           AND paaf.primary_flag = 'Y'
START WITH papf.employee_number = :p_emp_num --emp num of employee or top level supervisor?
CONNECT BY PRIOR spapf.employee_number = papf.employee_number --AND LEVEL < :p_level
  ORDER BY LEVEL DESC
;

-->--------------------------------------------------------------------
    SELECT LEVEL seq,
           e.person_id,
           e.grade_id,
           e.job_id,
           e.supervisor_id,
           e.employee_number,
           e.full_name
      FROM (SELECT DISTINCT paf.person_id,
                            paf.grade_id,
                            paf.job_id,
                            paf.supervisor_id,
                            ppf.employee_number,
                            ppf.full_name
              FROM    per_all_people_f ppf
                   LEFT JOIN
                      per_all_assignments_f paf
                   ON     ppf.person_id = paf.person_id
                      AND paf.person_id IS NOT NULL
                      AND (SYSDATE BETWEEN ppf.effective_start_date
                                       AND ppf.effective_end_date)
                      AND (SYSDATE BETWEEN paf.effective_start_date
                                       AND paf.effective_end_date)) e
CONNECT BY person_id = PRIOR supervisor_id
START WITH employee_number = :p_employee_number         --person_id = :P_PERSON_ID
  ORDER BY LEVEL
;


-->--------------------------------------------------------------------
SELECT 
LPAD(' ',10*(LEVEL-1)) || org.name hierarchy,ose.organization_id_parent, 
org.organization_id 
FROM 
hr_all_organization_units org, 
per_org_structure_elements ose 
WHERE 1=1 
AND org.organization_id = ose.organization_id_child 
AND ose.org_structure_version_id = 61 
--and org.organization_id = 340 
START WITH 
ose.organization_id_parent = 81 
CONNECT BY PRIOR 
ose.organization_id_child = ose.organization_id_parent 
ORDER SIBLINGS BY 
org.location_id, 
ose.organization_id_child  
 
-->--------------------------------------------------------------------
SELECT haou.name, papf.EMPLOYEE_NUMBER, papf.full_name 
FROM  
per_org_structure_elements ose 
,hr_all_organization_units haou 
,per_all_assignments_f paaf 
,per_all_people_f papf 
WHERE ose.ORGANIZATION_ID_PARENT = 81 
AND ose.ORG_STRUCTURE_VERSION_ID = 61 
AND haou.organization_id = ose.organization_id_child 
--and paaf.organization_id = ose.organization_id_child 
and papf.person_id = paaf.person_id 
and paaf.organization_id = haou.organization_id 
and :P_GIVEN_DATE between papf.effective_start_date and papf.effective_end_date 
and :P_GIVEN_DATE between paaf.effective_start_date and paaf.effective_end_date


-->--------------------------------------------------------------------
select (select full_name from per_all_people_f where person_id=a1.person_id and effective_end_date > syadate) Employee_name,
 (select full_name from per_all_people_f where person_id=a1.supervisor_id and effective_end_date > syadate) Supervisor_name,
PATH,
LEVEL
from
(
SELECT paf.person_id, paf.supervisor_id
 , LPAD (' ', 2 * LEVEL - 1)
 || SYS_CONNECT_BY_PATH (paf.person_id, '/') PATH
 , LEVEL
 FROM per_all_assignments_f paf
 START WITH paf.person_id = <:person_id>
 AND paf.primary_flag = 'Y'
 AND paf.assignment_type = 'E'
 AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
 AND assignment_status_type_id = 1
 CONNECT BY PRIOR paf.person_id = paf.supervisor_id
 AND paf.primary_flag = 'Y'
 AND paf.assignment_type = 'E'
 AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
 AND assignment_status_type_id = 1) a1
order by LEVEL

-->--------------------------------------------------------------------
SELECT LEVEL seq,
  e.person_id,
  e.grade_id,
  e.job_id,
  e.supervisor_id,
  e.employee_number,
  e.full_name
FROM
  (SELECT DISTINCT paf.person_id,
    paf.grade_id,
    paf.job_id,
    paf.supervisor_id,
    ppf.employee_number,
    ppf.full_name
  FROM per_all_people_f ppf
  LEFT JOIN per_all_assignments_f paf
  ON ppf.person_id   = paf.person_id
  AND paf.person_id IS NOT NULL
  AND (SYSDATE BETWEEN ppf.effective_start_date AND ppf.effective_end_date )
  AND (SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date )
  ) e
  CONNECT BY person_id = PRIOR supervisor_id
  START WITH person_id = :P_PERSON_ID
ORDER BY LEVEL
-->--------------------------------------------------------------------


If you are facing any issues while copying the Code/Script or any issues with Posts, Please send a mail to OracleApp88@Yahoo.com or message me at @apps88 or +91 905 957 4321 in telegram.
Best Blogger TipsGet Flower Effect