Академический Документы
Профессиональный Документы
Культура Документы
1. Create Sequence
create sequence xyz_emp_number
start with 1
2. Create Function to Generate Desired Sequence Number
CREATE OR REPLACE FUNCTION XYZ_GENERATE_EMP_NUMBER
(
p_business_group_id IN NUMBER,
p_person_type
IN VARCHAR2,
p_party_id
IN NUMBER
) RETURN VARCHAR2 IS
l_emp_number
VARCHAR2(15) := NULL;
l_applicant_number VARCHAR2(15) := NULL;
l_npw_number
VARCHAR2(15) := NULL;
l_auto_number
VARCHAR2(15) := NULL;
BEGIN
BEGIN
SELECT employee_number,
applicant_number,
npw_number
INTO l_emp_number,
l_applicant_number,
l_npw_number
FROM per_all_people_f
WHERE party_id = p_party_id
AND TRUNC(SYSDATE) BETWEEN effective_start_date AND
effective_end_date;
EXCEPTION
WHEN OTHERS THEN
l_emp_number
:= NULL;
l_applicant_number := NULL;
l_npw_number
:= NULL;
END;
IF l_emp_number IS NULL AND l_applicant_number IS NULL AND
l_applicant_number IS NULL THEN
IF p_person_type = 'EMP' THEN
l_auto_number := 'XYZ-' || xyz_emp_number.NEXTVAL;
ELSIF p_person_type = 'APL' THEN
l_auto_number := 'APL-' || xyz_emp_number.NEXTVAL;
ELSIF p_person_type = 'CWK' THEN
l_auto_number := 'CONT-' || xyz_emp_number.NEXTVAL;
END IF;
END IF;
RETURN l_auto_number;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/
3. Attach Setup Business Group to Global Super HRMS Manager
Navigation: System Administrator -> Profile -> System
Responsibility Name: Global Super HRMS Manager
Profile Option Name: HR: Security Profile
Set Profile as Setup Business Group at Responsibility Level
Note:
The Above Step is Mandatory as one cannot generate Auto Employee Numbering on
any custom Business Group. This could be possible on "Setup Business Group"
Context Usages
Parameters
return next_number
Please note if one has different Numbering Sequence in-case of Multiple
business groups, it has to be handles via Fast Formula or PL/SQL Code