[Home] [Help]
PACKAGE BODY: APPS.PER_PL_CREATE_EMPLOYEE
Source
1 package body PER_PL_CREATE_EMPLOYEE as
2 /* $Header: peplempp.pkb 120.6.12010000.1 2008/07/28 05:20:42 appldev ship $ */
3
4 PROCEDURE CREATE_PL_EMPLOYEE(p_last_name VARCHAR2
5 ,p_first_name VARCHAR2
6 ,p_date_of_birth DATE
7 ,p_marital_status VARCHAR2
8 ,p_nationality VARCHAR2
9 ,p_national_identifier VARCHAR2
10 ,p_business_group_id NUMBER
11 ,p_sex VARCHAR2
12 ,p_per_information1 VARCHAR2
13 ,p_per_information2 VARCHAR2
14 ,p_per_information3 VARCHAR2
15 ,p_per_information4 VARCHAR2
16 ,p_per_information5 VARCHAR2
17 ,p_per_information6 VARCHAR2
18 ,p_per_information7 VARCHAR2
19 ,p_per_information8 VARCHAR2) is
20 l_proc VARCHAR2(72);
21
22 BEGIN
23 l_proc := 'PER_PL_CREATE_EMPLOYEE.CREATE_PL_EMPLOYEE';
24 /* Added for GSI Bug 5472781 */
25 IF NOT hr_utility.chk_product_install('Oracle Human Resources', 'PL') THEN
26 hr_utility.set_location('Leaving : '||l_proc,10);
27 return;
28 END IF;
29 hr_api.mandatory_arg_error
30 (p_api_name => l_proc,
31 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','LAST'),
32 p_argument_value => p_last_name
33 );
34
35 hr_api.mandatory_arg_error
36 (p_api_name => l_proc,
37 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','FIRST'),
38 p_argument_value => p_first_name
39 );
40
41 hr_api.mandatory_arg_error
42 (p_api_name => l_proc,
43 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','STATUS'),
44 p_argument_value => p_marital_status
45 );
46
47 hr_api.mandatory_arg_error
48 (p_api_name => l_proc,
49 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','NAT'),
50 p_argument_value => p_nationality
51 );
52
53 hr_api.mandatory_arg_error
54 (p_api_name => l_proc,
55 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','BIRTH'),
56 p_argument_value => p_date_of_birth
57 );
58
59 --Mandatory argument Sex is checked for in per_per_bus.chk_sex_title.
60
61 --Legal employer Mandatory for Employee.
62 hr_api.mandatory_arg_error
63 (p_api_name => l_proc,
64 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','LEGAL_EMPLOYER'),
65 p_argument_value => p_per_information7
66 );
67
68 --Citizenship Mandatory for Employee.
69 hr_api.mandatory_arg_error
70 (p_api_name => l_proc,
71 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','CITIZENSHIP'),
72 p_argument_value => p_per_information8
73 );
74
75 --National Fund of Health Mandatory for Employee.
76 hr_api.mandatory_arg_error
77 (p_api_name => l_proc,
78 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','NATIONAL_FUND_OF_HEALTH'),
79 p_argument_value => p_per_information5
80 );
81 /* Modifying after NIP /PESEL enhancement.
82 PESEL and NIP mandatory if both Nationality and Citizenship are Polish */
83
84 if p_nationality = 'PQH_PL' and p_per_information8='PL' then
85 /* Bug fix 4627784 add check fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION') in ('ERROR','WARN') */
86 if fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION') in ('ERROR','WARN') then
87 hr_api.mandatory_arg_error
88 (p_api_name => l_proc,
89 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','PESEL'),
90 p_argument_value => p_national_identifier
91 );
92 end if;
93 /* Commented by nprasath for Bug 6272487
94 hr_api.mandatory_arg_error
95 (p_api_name => l_proc,
96 p_argument => hr_general.decode_lookup('PL_FORM_LABELS','NIP'),
97 p_argument_value => p_per_information1
98 ); */
99
100 if p_national_identifier is not null and p_national_identifier <> hr_api.g_varchar2 then
101 hr_pl_utility.per_pl_validate(p_national_identifier);
102 if p_per_information7 is not null then
103 hr_pl_utility.per_pl_check_ni_unique(p_national_identifier,0,p_business_group_id,p_per_information7);
104 end if;
105 end if;
106
107 hr_pl_utility.per_pl_nip_validate(p_per_information1,0,p_business_group_id,p_per_information7,p_nationality,p_per_information8
108 );
109
110 elsif p_per_information1 is not null then
111 hr_pl_utility.per_pl_nip_validate(p_per_information1,0,p_business_group_id,p_per_information7,p_nationality,p_per_information8
112 );
113 end if;
114
115 END create_pl_employee;
116
117 END PER_PL_CREATE_EMPLOYEE;