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