[Home] [Help]
PACKAGE BODY: APPS.ZX_P2P_DEF_AP_PREUPG
Source
1 PACKAGE BODY ZX_P2P_DEF_AP_PREUPG AS
2 /* $Header: zxappreupgb.pls 120.0 2006/04/05 12:14:01 asengupt noship $ */
3
4 PG_DEBUG CONSTANT VARCHAR(1) := 'Y';
5 ID_CLASH VARCHAR2(1) default NULL;
6
7 l_multi_org_flag FND_PRODUCT_GROUPS.MULTI_ORG_FLAG%TYPE;
8 l_org_id NUMBER(15);
9
10
11 /*===========================================================================+
12 | Procedure : OU_EXTRACT |
13 | |
14 | |
15 | Description: This procedure is a part of party tax |
16 | profile migration which does the data |
17 | migration for Operating Unit details. |
18 | |
19 | |
20 | ARGUMENTS : |
21 | |
22 | |
23 | NOTES : Handle case for Non-Multi Org Environments |
24 | |
25 | |
26 | MODIFICATION HISTORY |
27 | |
28 | 06-Mar-06 Arnab Sengupta Created. |
29 | |
30 | |
31 +===========================================================================*/
32
33 PROCEDURE OU_EXTRACT(p_party_id in NUMBER) IS
34 BEGIN
35
36 NULL;
37 EXCEPTION
38 WHEN OTHERS THEN
39 arp_util_tax.debug('Exception: Error Occurred during Operating Units Extract in PTP'||SQLERRM );
40
41 END;
42
43 /*===========================================================================+
44 | Procedure : load_results_for_ap |
45 | |
46 | |
47 | Description: This procedure is used to load data |
48 | into zx_update_criteria_results |
49 | which is the driving table for rates data load |
50 | |
51 | |
52 | ARGUMENTS : |
53 | |
54 | |
55 | MODIFICATION HISTORY |
56 | |
57 | 06-Mar-06 Arnab Sengupta Created. |
58 | |
59 | |
60 +===========================================================================*/
61 PROCEDURE load_results_for_ap (p_tax_id NUMBER) AS
62 BEGIN
63 NULL;
64 END load_results_for_ap;
65
66 /*===========================================================================+
67 | PROCEDURE |
68 | migrate_normal_tax_codes |
69 | |
70 | DESCRIPTION |
71 | This routine processes AP normal Tax codes and inserts appropriate |
72 | data into the following zx base tables. |
73 | ZX_RATES_B |
74 | ZX_RATES_TL |
75 | ZX_ACCOUNTS |
76 | |
77 | SCOPE - PUBLIC |
78 | |
79 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
80 | |
81 | CALLED FROM |
82 | migrate_ap_tax_codes_setup |
83 | NOTES |
84 | |
85 | MODIFICATION HISTORY |
86 | 24-Dec-03 Srinivas Lokam Created. |
87 | 30-Jan-04 Srinivas Lokam Added INPUT parameters,AND conditions |
88 | in SELECT statements for handling |
89 | SYNC process. |
90 |==========================================================================*/
91
92 PROCEDURE Migrate_Normal_Tax_Codes(p_tax_id IN NUMBER DEFAULT NULL) IS
93 BEGIN
94 null;
95
96
97 EXCEPTION
98 WHEN OTHERS THEN
99 IF PG_DEBUG = 'Y' THEN
100 arp_util_tax.debug('EXCEPTION: Migrate_normal_tax_codes ');
101 arp_util_tax.debug(sqlerrm);
102 arp_util_tax.debug('Migrate_Normal_Tax_Codes(-)');
103 END IF;
104 --app_exception.raise_exception;
105
106
107 END migrate_normal_tax_codes;
108
109
110
111 /*===========================================================================+
112 | PROCEDURE |
113 | migrate_assign_offset_codes |
114 | |
115 | DESCRIPTION |
116 | This routine processes assigned OFFSET Tax codes and inserts |
117 | appropriate data into the following zx base tables. |
118 | ZX_RATES_B |
119 | ZX_RATES_TL |
120 | ZX_ACCOUNTS |
121 | |
122 | SCOPE - PUBLIC |
123 | |
124 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
125 | |
126 | CALLED FROM |
127 | migrate_ap_tax_codes_setup |
128 | NOTES |
129 | |
130 | MODIFICATION HISTORY |
131 | 24-Dec-03 Srinivas Lokam Created. |
132 | 30-Jan-04 Srinivas Lokam Added INPUT parameters,AND conditions |
133 | in SELECT statements for handling |
134 | SYNC process. |
135 | |
136 |==========================================================================*/
137
138
139
140 PROCEDURE migrate_assign_offset_codes(p_tax_id IN NUMBER DEFAULT NULL) IS
141 BEGIN
142
143 NULL;
144
145 EXCEPTION
146 WHEN OTHERS THEN
147 IF PG_DEBUG = 'Y' THEN
148 arp_util_tax.debug('EXCEPTION: Migrate_assign_offset_codes ');
149 arp_util_tax.debug(sqlerrm);
150 arp_util_tax.debug('Migrate_Assign_Offset_Codes(-)');
151 END IF;
152 --app_exception.raise_exception;
153
154 END migrate_assign_offset_codes;
155
156 /*===========================================================================+
157 | PROCEDURE |
158 | migrate_unassign_offset_codes |
159 | |
160 | DESCRIPTION |
161 | This routine processes unassigned OFFSET Tax codes and inserts |
162 | appropriate data into the following zx base tables. |
163 | ZX_RATES_B |
164 | ZX_RATES_TL |
165 | ZX_ACCOUNTS |
166 | |
167 | SCOPE - PUBLIC |
168 | |
169 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
170 | |
171 | CALLED FROM |
172 | migrate_ap_tax_codes_setup |
173 | NOTES |
174 | |
175 | MODIFICATION HISTORY |
176 | 24-Dec-03 Srinivas Lokam Created. |
177 | 30-Jan-04 Srinivas Lokam Added INPUT parameters,AND conditions |
178 | in SELECT statements for handling |
179 | SYNC process. |
180 | |
181 |==========================================================================*/
182
183
184 PROCEDURE migrate_unassign_offset_codes(p_tax_id IN NUMBER DEFAULT NULL) IS
185 BEGIN
186 null;
187
188 EXCEPTION
189 WHEN OTHERS THEN
190 IF PG_DEBUG = 'Y' THEN
191 arp_util_tax.debug('EXCEPTION: Migrate_unassign_offset_codes ');
192 arp_util_tax.debug(sqlerrm);
193 arp_util_tax.debug('Migrate_UnAssign_Offset_Codes(-)');
194 END IF;
195 --app_exception.raise_exception;
196 END migrate_unassign_offset_codes;
197
198 /*===========================================================================+
199 | PROCEDURE |
200 | migrate_recovery_rates |
201 | |
202 | DESCRIPTION |
203 | This routine processes distinct recovery rates,inserts appropriate |
204 | data into the following zx base tables. |
205 | ZX_RATES_B |
206 | ZX_RATES_TL |
207 | ZX_ACCOUNTS |
208 | |
209 | SCOPE - PUBLIC |
210 | |
211 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
212 | |
213 | CALLED FROM |
214 | migrate_ap_tax_codes_setup |
215 | NOTES |
216 | |
217 | MODIFICATION HISTORY |
218 | 24-Dec-03 Srinivas Lokam Created. |
219 | 30-Jan-04 Srinivas Lokam Added INPUT parameters,AND conditions |
220 | in SELECT statements for handling |
221 | SYNC process. |
222 | |
223 |==========================================================================*/
224
225
226 PROCEDURE migrate_recovery_rates(p_tax_id IN NUMBER DEFAULT NULL) IS
227 BEGIN
228
229 null;
230
231 EXCEPTION
232 WHEN OTHERS THEN
233 IF PG_DEBUG = 'Y' THEN
234 arp_util_tax.debug('EXCEPTION: Migrate_recovery_rates ');
235 arp_util_tax.debug(sqlerrm);
236 arp_util_tax.debug('Migrate_Recovery_Rates(-)');
237 END IF;
238 --app_exception.raise_exception;
239 END migrate_recovery_rates;
240
241
242 /*===========================================================================+
243 | PROCEDURE |
244 | migrate_disabled_tax_codes |
245 | |
246 | DESCRIPTION |
247 | This routine is used to migrate disabled tax codes with overlapping |
248 | into zx_rates_b |
249 | |
250 | SCOPE - PUBLIC |
251 | |
252 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED |
253 | |
254 | CALLED FROM |
255 | migrate_disabled_tax_codes |
256 | NOTES |
257 | |
258 | MODIFICATION HISTORY |
259 | 30-Sep-05 Arnab Sengupta Created. |
260 | |
261 |==========================================================================*/
262
263 PROCEDURE migrate_disabled_tax_codes(p_tax_id IN NUMBER DEFAULT NULL) IS
264
265 TYPE tax_id_table is table of ap_tax_codes_all.tax_id%TYPE index by BINARY_INTEGER;
266 tax_id_tab tax_id_table ;
267 l_min_start_date date;
268 l_max_end_date date;
269
270
271
272 /*The purpose of the following cursor is to pick up data sets in which tax codes are disabled
273 and these records have identical org_id set_of_books_id and name but differ only in their
274 effective from and effective to dates .These date ranges however overlap*/
275
276 /* Sample Data Set
277
278 ORG_ID SOB NAME START_DATE INACTIVE_DATE ENABLED_FLAG TAX_RATE
279 ====== === ==== ========== ============= ============ ========
280 204 1 CA-Sales 04-JAN-51 07-JAN-51 N 0
281 204 1 CA-Sales NULL NULL N 10
282 204 1 CA-Sales 01-JAN-51 11-JAN-51 N 15
283
284 Records 1 and 3 are a case of overlap */
285
286
287
288
289 CURSOR tax_id_csr
290 IS
291 select aptax2.tax_id tax_id
292 from
293 (
294 select DISTINCT org_id,set_of_books_id,name
295 from ap_tax_codes_all a
296 where a.enabled_flag = 'N'
297 and exists
298 (
299 select 1 from ap_tax_codes_all b
300 where a.org_id = b.org_id
301 and a.set_of_books_id = b.set_of_books_id
302 and a.name = b.name
303 and
304 ( ( Nvl(a.START_DATE,l_min_start_date) > Nvl(b.START_DATE,l_min_start_date)
305 and Nvl(a.INACTIVE_DATE,l_max_end_date) < Nvl(b.INACTIVE_DATE,l_max_end_date))
306
307 or ( Nvl(a.START_DATE,l_min_start_date) < Nvl(b.START_DATE,l_min_start_date)
308 and Nvl(a.INACTIVE_DATE,l_max_end_date) > Nvl(b.START_DATE,l_max_end_date)
309 and Nvl(a.INACTIVE_DATE,l_max_end_date) <Nvl(b.INACTIVE_DATE,l_max_end_date))
310
311 or ( Nvl(a.START_DATE,l_min_start_date) > Nvl(b.START_DATE,l_min_start_date)
312 and Nvl(a.START_DATE,l_min_start_date) <Nvl(b.INACTIVE_DATE,l_max_end_date)
313 and Nvl(a.INACTIVE_DATE,l_max_end_date) >Nvl(b.INACTIVE_DATE,l_max_end_date))
314 )
315 and b.enabled_flag = 'N'
316 )
317 and exists
318 (select c.org_id,c.set_of_books_id,c.name ,count(c.org_id) from ap_tax_codes_all c
319 where a.org_id = c.org_id
320 and a.set_of_books_id = c.set_of_books_id
321 and a.name = c.name
322 group by c.org_id,c.set_of_books_id,c.name
323 having count(c.org_id) > 1)
324 )
325 aptax1,
326 ap_tax_codes_all aptax2
327 where
328 aptax1.org_id = aptax2.org_id
329 and aptax1.set_of_books_id = aptax2.set_of_books_id
330 and aptax1. name = aptax2. name
331 ;
332
333
334 BEGIN
335 NULL;
336
337 EXCEPTION
338 WHEN OTHERS THEN
339 IF PG_DEBUG = 'Y' THEN
340 arp_util_tax.debug('EXCEPTION: Migrate_disabled_tax_codes ');
341 arp_util_tax.debug(sqlerrm);
342 arp_util_tax.debug('Migrate_disabled_Tax_Codes(-)');
343 END IF;
344 --app_exception.raise_exception;
345
346
347 END migrate_disabled_tax_codes;
348
349 /*===========================================================================+
350 | Procedure : PRE_UPGRADE_WRAPPER |
351 | |
352 | |
353 | Description: This is the wrapper procedure for populating |
354 | the relevant zx entities that ap would require |
355 | during their pre upgrade run |
356 | |
357 | |
358 | ARGUMENTS : |
359 | |
360 | |
361 | |
362 | MODIFICATION HISTORY |
363 | |
364 | 06-Mar-06 Arnab Sengupta Created. |
365 | |
366 | |
367 +===========================================================================*/
368
369
370 PROCEDURE pre_upgrade_wrapper
371 IS
372 BEGIN
373
374 NULL;
375
376 EXCEPTION
377 WHEN OTHERS THEN
378
379 arp_util_tax.debug('EXCEPTION: pre_upgrade_wrapper ');
380 arp_util_tax.debug(sqlerrm);
381 arp_util_tax.debug('pre_upgrade_wrapper(-)');
382 END pre_upgrade_wrapper;
383
384 /*===========================================================================+
385 | Procedure : PRE_UPGRADE_WRAPPER |
386 | |
387 | |
388 | Description: This is the wrapper procedure for syching up |
389 | the relevant rates entities |
390 | |
391 | |
392 | |
393 | ARGUMENTS : |
394 | |
395 | |
396 | |
397 | MODIFICATION HISTORY |
398 | |
399 | 06-Mar-06 Arnab Sengupta Created. |
400 | |
401 | |
402 +===========================================================================*/
403 PROCEDURE rates_sync_wrapper(p_tax_id IN NUMBER DEFAULT NULL)
404 IS
405 BEGIN
406
407 NULL;
408
409 EXCEPTION
410 WHEN OTHERS THEN
411
412 arp_util_tax.debug('EXCEPTION: pre_upgrade_wrapper ');
413 arp_util_tax.debug(sqlerrm);
414 arp_util_tax.debug('pre_upgrade_wrapper(-)');
415
416
417 END;
418
419 /*Constructor Code*/
420 BEGIN
421 BEGIN
422
423 SELECT 'Y' INTO ID_CLASH FROM DUAL
424 WHERE EXISTS (select 1
425 from ap_tax_codes_all,
426 ar_vat_tax_all_b
427 where tax_id = vat_tax_id);
428 EXCEPTION
429 WHEN no_data_found THEN
430 arp_util_tax.debug('No data found exception encountered for tax definition in constructor :'||sqlerrm);
431
432 WHEN OTHERS THEN
433 arp_util_tax.debug('Exception in Constructor for AP tax definition :'||sqlerrm);
434 END;
435
436 BEGIN
437
438 SELECT NVL(MULTI_ORG_FLAG,'N') INTO L_MULTI_ORG_FLAG FROM
439 FND_PRODUCT_GROUPS;
440
441 IF L_MULTI_ORG_FLAG = 'N' THEN
442
443 FND_PROFILE.GET('ORG_ID',L_ORG_ID);
444
445 IF L_ORG_ID IS NULL THEN
446 arp_util_tax.debug('MO: Operating Units site level profile option value not set , resulted in Null Org Id');
447 END IF;
448 ELSE
449 L_ORG_ID := NULL;
450 END IF;
451
452 EXCEPTION
453 WHEN no_data_found THEN
454 arp_util_tax.debug('No data found exception encountered for tax definition in constructor :'||sqlerrm);
455
456 WHEN others THEN
457 arp_util_tax.debug('Exception in Constructor for AP tax definition :'||sqlerrm);
458 END;
459
460
461
462 END ZX_P2P_DEF_AP_PREUPG;