DBA Data[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;