[Home] [Help]
PACKAGE BODY: APPS.HR_MX_PERSONAL_PAY_METHOD_API
Source
1 PACKAGE BODY hr_mx_personal_pay_method_api AS
2 /* $Header: hrmxwrpm.pkb 120.0 2005/05/31 01:32 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33);
7 g_debug boolean;
8 -- ---------------------------------------------------------------------------
9 -- |--------------------< create_mx_personal_pay_method >----------------------|
10 -- ---------------------------------------------------------------------------
11 procedure create_mx_personal_pay_method
12 (p_validate in boolean default false
13 ,p_effective_date in date
14 ,p_assignment_id in number
15 ,p_run_type_id in number default null
16 ,p_org_payment_method_id in number
17 ,p_amount in number default null
18 ,p_percentage in number default null
19 ,p_priority in number default null
20 ,p_comments in varchar2 default null
21 ,p_attribute_category in varchar2 default null
22 ,p_attribute1 in varchar2 default null
23 ,p_attribute2 in varchar2 default null
24 ,p_attribute3 in varchar2 default null
25 ,p_attribute4 in varchar2 default null
26 ,p_attribute5 in varchar2 default null
27 ,p_attribute6 in varchar2 default null
28 ,p_attribute7 in varchar2 default null
29 ,p_attribute8 in varchar2 default null
30 ,p_attribute9 in varchar2 default null
31 ,p_attribute10 in varchar2 default null
32 ,p_attribute11 in varchar2 default null
33 ,p_attribute12 in varchar2 default null
34 ,p_attribute13 in varchar2 default null
35 ,p_attribute14 in varchar2 default null
36 ,p_attribute15 in varchar2 default null
37 ,p_attribute16 in varchar2 default null
38 ,p_attribute17 in varchar2 default null
39 ,p_attribute18 in varchar2 default null
40 ,p_attribute19 in varchar2 default null
41 ,p_attribute20 in varchar2 default null
42 ,p_bank in varchar2
43 ,p_branch in varchar2
44 ,p_account in varchar2
45 ,p_account_type in varchar2
46 ,p_clabe in varchar2
47 ,p_concat_segments in varchar2 default null
48 ,p_payee_type in varchar2 default null
49 ,p_payee_id in number default null
50 ,p_personal_payment_method_id out nocopy number
51 ,p_external_account_id out nocopy number
52 ,p_object_version_number out nocopy number
53 ,p_effective_start_date out nocopy date
54 ,p_effective_end_date out nocopy date
55 ,p_comment_id out nocopy number
56 ) is
57 --
58 -- Declare cursors and local variables
59 --
60
61 l_proc VARCHAR2(72);
62 l_effective_date DATE;
63 l_legislation_code per_business_groups.legislation_code%type;
64 l_business_group_id per_assignments_f.business_group_id%TYPE;
65 --
66 BEGIN
67
68 l_proc := g_package||'create_mx_personal_pay_method';
69
70 if g_debug then
71 hr_utility.set_location('Entering:'|| l_proc, 10);
72 end if;
73 --
74 -- Initialise local variables
75 --
76 l_effective_date := trunc(p_effective_date);
77 l_business_group_id := hr_mx_utility.get_bg_from_assignment(p_assignment_id);
78
79 if g_debug then
80 hr_utility.set_location(l_proc, 20);
81 end if;
82
83 --
84 -- Check if Business Group of the assignment lies in "MX" legislation
85 --
86 hr_mx_utility.check_bus_grp(l_business_group_id, 'MX');
87
88 if g_debug then
89 hr_utility.set_location(l_proc, 30);
90 end if;
91
92 --
93 -- Create the Personal Payment method
94 --
95 hr_personal_pay_method_api.create_personal_pay_method
96 (p_validate => p_validate
97 ,p_effective_date => l_effective_date
98 ,p_assignment_id => p_assignment_id
99 ,p_org_payment_method_id => p_org_payment_method_id
100 ,p_amount => p_amount
101 ,p_percentage => p_percentage
102 ,p_priority => p_priority
103 ,p_comments => p_comments
104 ,p_attribute_category => p_attribute_category
105 ,p_attribute1 => p_attribute1
106 ,p_attribute2 => p_attribute2
107 ,p_attribute3 => p_attribute3
108 ,p_attribute4 => p_attribute4
109 ,p_attribute5 => p_attribute5
110 ,p_attribute6 => p_attribute6
111 ,p_attribute7 => p_attribute7
112 ,p_attribute8 => p_attribute8
113 ,p_attribute9 => p_attribute9
114 ,p_attribute10 => p_attribute10
115 ,p_attribute11 => p_attribute11
116 ,p_attribute12 => p_attribute12
117 ,p_attribute13 => p_attribute13
118 ,p_attribute14 => p_attribute14
119 ,p_attribute15 => p_attribute15
120 ,p_attribute16 => p_attribute16
121 ,p_attribute17 => p_attribute17
122 ,p_attribute18 => p_attribute18
123 ,p_attribute19 => p_attribute19
124 ,p_attribute20 => p_attribute20
125 ,p_territory_code => 'MX'
126 ,p_segment1 => p_bank
127 ,p_segment2 => p_branch
128 ,p_segment3 => p_account
129 ,p_segment4 => p_account_type
130 ,p_segment5 => p_clabe
131 ,p_concat_segments => p_concat_segments
132 ,p_payee_type => p_payee_type
133 ,p_payee_id => p_payee_id
134 ,p_personal_payment_method_id => p_personal_payment_method_id
135 ,p_external_account_id => p_external_account_id
136 ,p_object_version_number => p_object_version_number
137 ,p_effective_start_date => p_effective_start_date
138 ,p_effective_end_date => p_effective_end_date
139 ,p_comment_id => p_comment_id
140 );
141 --
142 if g_debug then
143 hr_utility.set_location(' Leaving:'||l_proc, 40);
144 end if;
145 --
146 end create_mx_personal_pay_method;
147
148 -- ----------------------------------------------------------------------------
149 -- |--------------------< update_mx_personal_pay_method >---------------------|
150 -- ----------------------------------------------------------------------------
151 --
152 PROCEDURE update_mx_personal_pay_method
153 (p_validate IN BOOLEAN DEFAULT false
154 ,p_effective_date IN DATE
155 ,p_datetrack_update_mode IN VARCHAR2
156 ,p_personal_payment_method_id IN NUMBER
157 ,p_object_version_number IN OUT NOCOPY NUMBER
158 ,p_amount IN NUMBER DEFAULT hr_api.g_number
159 ,p_comments IN VARCHAR2 DEFAULT hr_api.g_varchar2
160 ,p_percentage IN NUMBER DEFAULT hr_api.g_number
161 ,p_priority IN NUMBER DEFAULT hr_api.g_number
162 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
163 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
164 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
165 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
166 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
167 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
168 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
169 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
170 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
171 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
172 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
173 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
174 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
175 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
176 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
177 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
178 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
179 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
180 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
181 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
182 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2
183 ,p_bank IN VARCHAR2 DEFAULT hr_api.g_varchar2
184 ,p_branch IN VARCHAR2 DEFAULT hr_api.g_varchar2
185 ,p_account IN VARCHAR2 DEFAULT hr_api.g_varchar2
186 ,p_account_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
187 ,p_clabe IN VARCHAR2 DEFAULT hr_api.g_varchar2
188 ,p_concat_segments IN VARCHAR2 DEFAULT null
189 ,p_payee_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
190 ,p_payee_id IN NUMBER DEFAULT hr_api.g_number
191 ,p_comment_id OUT NOCOPY NUMBER
192 ,p_external_account_id OUT NOCOPY NUMBER
193 ,p_effective_start_date OUT NOCOPY DATE
194 ,p_effective_end_date OUT NOCOPY DATE
195 ) IS
196 --
197 -- Declare cursors and local variables
198 --
199 l_proc VARCHAR2(72);
200 l_effective_date DATE;
201 l_business_group_id pay_personal_payment_methods_f.business_group_id%TYPE;
202
203 CURSOR csr_get_bg IS
204 SELECT business_group_id
205 FROM pay_personal_payment_methods_f
206 WHERE personal_payment_method_id = p_personal_payment_method_id
207 AND rownum < 2;
208 --
209 BEGIN
210 --
211 l_proc := g_package||'update_mx_personal_pay_method';
212
213 if g_debug then
214 hr_utility.set_location('Entering:'|| l_proc, 10);
215 end if;
216
217 --
218 --
219 l_effective_date := trunc(p_effective_date);
220 --
221 -- Fetch Business Group ID for the given Personal Payment Method
222 --
223 OPEN csr_get_bg;
224 FETCH csr_get_bg INTO l_business_group_id;
225
226 IF csr_get_bg%NOTFOUND THEN
227
228 if g_debug then
229 hr_utility.set_location(l_proc, 20);
230 end if;
231
232 CLOSE csr_get_bg;
233 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
234 hr_utility.raise_error;
235 END IF;
236 --
237 CLOSE csr_get_bg;
238
239 --
240 -- Check if the business group lies within 'MX' legislation
241 --
242 hr_mx_utility.check_bus_grp(l_business_group_id, 'MX');
243
244 if g_debug then
245 hr_utility.set_location(l_proc, 30);
246 end if;
247
248 --
249 -- Call the business process to update the personal payment method
250 --
251 hr_personal_pay_method_api.update_personal_pay_method
252 (p_validate => p_validate
253 ,p_effective_date => l_effective_date
254 ,p_datetrack_update_mode => p_datetrack_update_mode
255 ,p_personal_payment_method_id => p_personal_payment_method_id
256 ,p_object_version_number => p_object_version_number
257 ,p_amount => p_amount
258 ,p_comments => p_comments
259 ,p_percentage => p_percentage
260 ,p_priority => p_priority
261 ,p_attribute_category => p_attribute_category
262 ,p_attribute1 => p_attribute1
263 ,p_attribute2 => p_attribute2
264 ,p_attribute3 => p_attribute3
265 ,p_attribute4 => p_attribute4
266 ,p_attribute5 => p_attribute5
267 ,p_attribute6 => p_attribute6
268 ,p_attribute7 => p_attribute7
269 ,p_attribute8 => p_attribute8
270 ,p_attribute9 => p_attribute9
271 ,p_attribute10 => p_attribute10
272 ,p_attribute11 => p_attribute11
273 ,p_attribute12 => p_attribute12
274 ,p_attribute13 => p_attribute13
275 ,p_attribute14 => p_attribute14
276 ,p_attribute15 => p_attribute15
277 ,p_attribute16 => p_attribute16
278 ,p_attribute17 => p_attribute17
279 ,p_attribute18 => p_attribute18
280 ,p_attribute19 => p_attribute19
281 ,p_attribute20 => p_attribute20
282 ,p_territory_code => 'MX'
283 ,p_segment1 => p_bank
284 ,p_segment2 => p_branch
285 ,p_segment3 => p_account
286 ,p_segment4 => p_account_type
287 ,p_segment5 => p_clabe
288 ,p_concat_segments => p_concat_segments
289 ,p_payee_type => p_payee_type
290 ,p_payee_id => p_payee_id
291 ,p_comment_id => p_comment_id
292 ,p_external_account_id => p_external_account_id
293 ,p_effective_start_date => p_effective_start_date
294 ,p_effective_end_date => p_effective_end_date
295 );
296 --
297 if g_debug then
298 hr_utility.set_location(' Leaving:'||l_proc, 40);
299 end if;
300
301 END update_mx_personal_pay_method;
302
303 BEGIN
304 g_package := 'hr_mx_personal_pay_method_api.';
305 g_debug := hr_utility.debug_enabled;
306 END hr_mx_personal_pay_method_api;