[Home] [Help]
PACKAGE BODY: APPS.HR_RO_ORG_VALIDATIONS
Source
1 PACKAGE BODY HR_RO_ORG_VALIDATIONS AS
2 /* $Header: peroorgv.pkb 120.0.12020000.1 2013/03/27 10:27:32 nchinnam noship $ */
3
4 PROCEDURE checkParentOrg(p_org_type VARCHAR2,p_parent_org VARCHAR2) IS
5 l_proc varchar2(100) := 'checkParentOrg';
6 BEGIN
7 hr_utility.set_location('Entering '||l_proc,100);
8
9 IF ( p_org_type <> 'HQ' and (p_parent_org = hr_api.g_varchar2 OR p_parent_org is null ) )THEN
10 hr_utility.set_message(800,'HR_RO_PARENT_ORG_REQ');
11 hr_utility.raise_error;
12 END IF;
13
14 hr_utility.set_location('Leaving '||l_proc,100);
15 END checkParentOrg;
16
17
18 PROCEDURE checkFIC(p_value VARCHAR2) IS
19 l_proc varchar2(30) := 'checkFIC';
20 l_testKey varchar2(30) := '753217532';
21 l_testKey_rev number;
22 l_num_part varchar2(30);
23 l_num_part_rev number;
24 l_ctl_digit varchar2(10);
25 l_tot number := 0;
26 l_rem number := 0;
27 BEGIN
28
29 hr_utility.set_location('Entering '||l_proc,10);
30
31 l_num_part := lpad(substr(p_value,3,length(p_value)-3),9,'0');
32 l_ctl_digit := substr(p_value,-1,1);
33 hr_utility.set_location(' l_num_part: '||l_num_part,15);
34 hr_utility.set_location('l_ctl_digit: '||l_ctl_digit,15);
35
36 begin
37 select to_number(reverse(l_num_part)),
38 to_number(reverse(l_testKey))
39 into l_num_part_rev,
40 l_testKey_rev
41 from dual;
42 exception
43 when others then
44 hr_utility.set_message(800,'HR_RO_INVALID_FIC');
45 hr_utility.raise_error;
46 end;
47
48 for i in 1..9
49 loop
50 l_tot := l_tot + substr(l_num_part_rev,i,1)* substr(l_testKey_rev,i,1);
51 end loop;
52 l_rem := mod(l_tot *10,11);
53
54 IF (l_rem <> l_ctl_digit )THEN
55 hr_utility.set_message(800,'HR_RO_INVALID_FIC');
56 hr_utility.raise_error;
57 END IF;
58
59 hr_utility.set_location('Leaving '||l_proc,100);
60 END checkFIC;
61
62
63 PROCEDURE CREATE_RO_ORG_INFO(p_org_info_type_code VARCHAR2
64 ,p_org_information1 VARCHAR2
65 ,p_org_information2 VARCHAR2
66 ,p_org_information3 VARCHAR2
67 ,p_org_information4 VARCHAR2
68 ,p_org_information5 VARCHAR2
69 ,p_org_information6 VARCHAR2
70 ,p_org_information7 VARCHAR2
71 ,p_org_information8 VARCHAR2
72 ,p_organization_id NUMBER
73 ,p_effective_date DATE
74 ) IS
75 l_proc varchar2(30) := 'CREATE_RO_ORG_INFO';
76 BEGIN
77 --hr_utility.trace_on(null,'ROORG');
78 hr_utility.set_location('Entering '||l_proc,10);
79
80 IF p_org_info_type_code='RO_LEGAL_EMPLOYER' THEN
81 checkParentOrg(p_org_information1,p_org_information2);
82 checkFIC(p_org_information5);
83 END IF;
84
85 hr_utility.set_location('Leaving '||l_proc,100);
86 END CREATE_RO_ORG_INFO;
87
88 PROCEDURE UPDATE_RO_ORG_INFO(p_org_info_type_code VARCHAR2
89 ,p_org_information1 VARCHAR2
90 ,p_org_information2 VARCHAR2
91 ,p_org_information3 VARCHAR2
92 ,p_org_information4 VARCHAR2
93 ,p_org_information5 VARCHAR2
94 ,p_org_information6 VARCHAR2
95 ,p_org_information7 VARCHAR2
96 ,p_org_information8 VARCHAR2
97 ,p_org_information_id NUMBER
98 ,p_effective_date DATE
99 ) IS
100 l_proc varchar2(30) := 'UPDATE_RO_ORG_INFO';
101 BEGIN
102 --hr_utility.trace_on(null,'ROORG');
103 hr_utility.set_location('Entering '||l_proc,10);
104
105 IF p_org_info_type_code='RO_LEGAL_EMPLOYER' THEN
106 checkParentOrg(p_org_information1,p_org_information2);
107 checkFIC(p_org_information5);
108 END IF;
109
110 hr_utility.set_location('Leaving '||l_proc,100);
111 END UPDATE_RO_ORG_INFO;
112
113
114 END HR_RO_ORG_VALIDATIONS;