DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ES_ADDRESS

Source


1 PACKAGE body per_es_address AS
2 /* $Header: peespadp.pkb 120.1 2006/09/14 16:20:12 mgettins noship $ */
3 --
4 PROCEDURE check_es_address (p_postal_code IN VARCHAR2
5                            ,p_region_2    IN VARCHAR2) IS
6     --
7     l_province_code     varchar2(2);
8     --
9 BEGIN
10    --
11    -- Added for GSI Bug 5472781
12    --
13    IF hr_utility.chk_product_install('Oracle Human Resources', 'ES') THEN
14      --
15     --
16     l_province_code := substr(p_postal_code,1,2);
17 
18     IF  l_province_code <> p_region_2 THEN
19          hr_utility.set_message(800,'HR_ES_INVALID_VALUE');
20          hr_utility.set_message_token(800,'FIELD',hr_general.decode_lookup('ES_FORM_LABELS','POSTAL_CODE'));
21          hr_utility.raise_error;
22     END IF;
23   END IF;
24   --
25 END check_es_address;
26 --
27 PROCEDURE create_es_address (p_style        IN VARCHAR2
28                             ,p_postal_code  IN VARCHAR2
29                             ,p_region_2     IN VARCHAR2) IS
30 BEGIN
31    --
32    -- Added for GSI Bug 5472781
33    --
34    IF hr_utility.chk_product_install('Oracle Human Resources', 'ES') THEN
35      --
36      --
37      IF  p_style = 'ES' THEN
38         IF  p_postal_code IS NOT NULL THEN
39             per_es_address.check_es_address(p_postal_code => p_postal_code
40                                            ,p_region_2    => p_region_2);
41         END IF;
42      END IF;
43    END IF;
44     --
45 END create_es_address;
46 --
47 PROCEDURE update_es_address (p_address_id   IN NUMBER
48                             ,p_postal_code  IN VARCHAR2
49                             ,p_region_2     IN VARCHAR2) IS
50     --
51     CURSOR csr_get_address_info(c_address_id number) is
52     SELECT style,  postal_code, region_2
53     FROM   per_addresses
54     WHERE  address_id=c_address_id;
55     --
56     l_rec         csr_get_address_info%ROWTYPE;
57     l_postal_code per_addresses.postal_code%TYPE;
58     l_region_2    per_addresses.region_2%TYPE;
59 
60 
61 BEGIN
62    --
63    -- Added for GSI Bug 5472781
64    --
65    IF hr_utility.chk_product_install('Oracle Human Resources', 'ES') THEN
66      --
67     --
68     IF p_postal_code <> hr_api.g_varchar2
69        OR p_region_2 <> hr_api.g_varchar2 THEN
70         --
71         OPEN csr_get_address_info(p_address_id);
72         FETCH csr_get_address_info INTO l_rec;
73         CLOSE csr_get_address_info;
74         --
75         IF  l_rec.style = 'ES' THEN
76             --
77             l_postal_code := p_postal_code;
78             l_region_2 := p_region_2;
79             --
80             IF p_postal_code = hr_api.g_varchar2 THEN
81                 l_postal_code := l_rec.postal_code;
82             ELSIF p_region_2 = hr_api.g_varchar2 THEN
83                 l_region_2 := l_rec.region_2;
84             END IF;
85             --
86             per_es_address.check_es_address(p_postal_code => l_postal_code
87                                            ,p_region_2    => l_region_2);
88         END IF;
89 
90     END IF;
91     --
92   END IF;
93 END update_es_address;
94 --
95 PROCEDURE update_es_address_style(p_address_id   IN NUMBER
96                                  ,p_postal_code  IN VARCHAR2
97                                  ,p_region_2     IN VARCHAR2
98                                  ,p_style        IN VARCHAR2) IS
99     --
100     CURSOR csr_get_address_info(c_address_id number) is
101     SELECT postal_code, region_2
102     FROM   per_addresses
103     WHERE  address_id=c_address_id;
104     --
105     l_rec         csr_get_address_info%ROWTYPE;
106     l_postal_code per_addresses.postal_code%TYPE;
107     l_region_2    per_addresses.region_2%TYPE;
108     --
109 BEGIN
110    --
111    -- Added for GSI Bug 5472781
112    --
113    IF hr_utility.chk_product_install('Oracle Human Resources', 'ES') THEN
114      --
115     --
116     IF  p_postal_code IS NOT NULL THEN
117         IF  p_style = 'ES' THEN
118         --
119             IF  p_postal_code <> hr_api.g_varchar2
120             OR p_region_2 <> hr_api.g_varchar2 THEN
121                 OPEN csr_get_address_info(p_address_id);
122                 FETCH csr_get_address_info INTO l_rec;
123                 CLOSE csr_get_address_info;
124                 --
125                 l_postal_code := p_postal_code;
126                 l_region_2 := p_region_2;
127                 --
128                 IF p_postal_code = hr_api.g_varchar2 THEN
129                     l_postal_code := l_rec.postal_code;
130                 ELSIF p_region_2 = hr_api.g_varchar2 THEN
131                     l_region_2 := l_rec.region_2;
132                 END IF;
133                 --
134                 per_es_address.check_es_address(p_postal_code => l_postal_code
135                                                ,p_region_2    => l_region_2);
136             END IF;
137         END IF;
138 
139     END IF;
140     --
141    END IF;
142 END update_es_address_style;
143 --
144 END per_es_address;