[Home] [Help]
PACKAGE BODY: APPS.FV_CMERGE
Source
4
1 package body FV_CMERGE AS
2 -- $Header: FVARCMGB.pls 120.12 2011/09/09 13:29:31 snama ship $
3 g_module_name VARCHAR2(100) := 'fv.plsql.FV_CMERGE.';
5 PROCEDURE FV_CUST_FINANCE_CHRGS (
6 req_id NUMBER,
7 set_num NUMBER,
8 process_mode VARCHAR2);
9
10
11 PROCEDURE FV_CUST_VEND_XREFS (
12 req_id NUMBER,
13 set_num NUMBER,
14 process_mode VARCHAR2);
15
16 PROCEDURE FV_INTERAGENCY_FUNDS (
17 req_id NUMBER,
18 set_num NUMBER,
19 process_mode VARCHAR2);
20
21 PROCEDURE FV_INTERIM_CASH_RECEIPTS (
22 req_id NUMBER,
23 set_num NUMBER,
24 process_mode VARCHAR2);
25
26 PROCEDURE FV_INVOICE_FINANCE_CHRGS (
27 req_id NUMBER,
28 set_num NUMBER,
29 process_mode VARCHAR2);
30
31 PROCEDURE FV_IPAC_TRX (
32 req_id NUMBER,
33 set_num NUMBER,
34 process_mode VARCHAR2);
35
36
37
38 ------------------------------------------------------------------------------
39 -- Merge Routine for FV_CUST_FINANCE_CHRGS table
40 ------------------------------------------------------------------------------
41 PROCEDURE FV_CUST_FINANCE_CHRGS (
42 req_id NUMBER,
43 set_num NUMBER,
44 process_mode VARCHAR2) IS
45 l_module_name VARCHAR2(200) := g_module_name || 'FV_CUST_FINANCE_CHRGS';
46 l_errbuf VARCHAR2(1024);
47
48 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
49 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
50 INDEX BY BINARY_INTEGER;
51 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
52
53 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
54 FV_CUST_FINANCE_CHRGS_ALL.CUSTOMER_ID%TYPE
55 INDEX BY BINARY_INTEGER;
56 PRIMARY_KEY1_LIST CUSTOMER_ID_LIST_TYPE;
57
58 TYPE CHARGE_ID_LIST_TYPE IS TABLE OF
59 FV_CUST_FINANCE_CHRGS_ALL.CHARGE_ID%TYPE
60 INDEX BY BINARY_INTEGER;
61 PRIMARY_KEY2_LIST CHARGE_ID_LIST_TYPE;
62
63 TYPE CUSTOMER_ID_LIST_TYPE1 IS TABLE OF
64 FV_CUST_FINANCE_CHRGS_ALL.CUSTOMER_ID%TYPE
65 INDEX BY BINARY_INTEGER;
66 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE1;
67 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE1;
68
69 l_profile_val VARCHAR2(30);
70 CURSOR merged_records IS
71 SELECT distinct CUSTOMER_MERGE_HEADER_ID
72 ,yt.CUSTOMER_ID
76 WHERE (
73 ,yt.CHARGE_ID
74 ,yt.CUSTOMER_ID
75 FROM FV_CUST_FINANCE_CHRGS yt, ra_customer_merges m
77 yt.CUSTOMER_ID = m.DUPLICATE_ID
78 ) AND m.process_flag = 'N'
79 AND m.request_id = req_id
80 AND m.set_number = set_num;
81 l_last_fetch BOOLEAN := FALSE;
82 l_count NUMBER := 0;
83 BEGIN
84 IF process_mode='LOCK' THEN
85 NULL;
86 ELSE
87 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
88 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_CUST_FINANCE_CHRGS',FALSE);
89 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
90 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
91 END IF;
92
93 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
94 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
95
96 --remove records from table that will be duplicates when merged.
97 delete from fv_cust_finance_chrgs
98 where (customer_id, charge_id) in
99 (select duplicate_id, charge_id
100 from ra_customer_merges racm,
101 fv_cust_finance_chrgs fcfc
102 where racm.process_flag = 'N'
103 and racm.request_id = req_id
104 and racm.set_number = set_num
105 and racm.customer_id = fcfc.customer_id
106 and fcfc.charge_id in
107 (select charge_id
108 from fv_cust_finance_chrgs
109 where customer_id = racm.duplicate_id));
110
111 open merged_records;
112 LOOP
113 FETCH merged_records BULK COLLECT INTO
114 MERGE_HEADER_ID_LIST
115 , PRIMARY_KEY1_LIST
116 , PRIMARY_KEY2_LIST
117 , NUM_COL1_ORIG_LIST
118 limit 1000
119 ;
120 IF merged_records%NOTFOUND THEN
121 l_last_fetch := TRUE;
122 END IF;
123 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
124 exit;
125 END IF;
126 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
127 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
128 END LOOP;
129 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
130 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
131 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
132 MERGE_LOG_ID,
133 TABLE_NAME,
134 MERGE_HEADER_ID,
135 PRIMARY_KEY1,
136 PRIMARY_KEY2,
137 NUM_COL1_ORIG,
138 NUM_COL1_NEW,
139 ACTION_FLAG,
140 REQUEST_ID,
141 CREATED_BY,
142 CREATION_DATE,
143 LAST_UPDATE_LOGIN,
144 LAST_UPDATE_DATE,
145 LAST_UPDATED_BY
146 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
147 'FV_CUST_FINANCE_CHRGS',
148 MERGE_HEADER_ID_LIST(I),
149 PRIMARY_KEY1_LIST(I),
150 PRIMARY_KEY2_LIST(I),
151 NUM_COL1_ORIG_LIST(I),
152 NUM_COL1_NEW_LIST(I),
153 'U',
154 req_id,
155 hz_utility_pub.CREATED_BY,
156 hz_utility_pub.CREATION_DATE,
157 hz_utility_pub.LAST_UPDATE_LOGIN,
158 hz_utility_pub.LAST_UPDATE_DATE,
159 hz_utility_pub.LAST_UPDATED_BY
160 );
161
162 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
163 UPDATE FV_CUST_FINANCE_CHRGS yt SET
164 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
165 , LAST_UPDATE_DATE=SYSDATE
166 , last_updated_by=arp_standard.profile.user_id
167 , last_update_login=arp_standard.profile.last_update_login
168 WHERE CUSTOMER_ID=PRIMARY_KEY1_LIST(I)
172 IF l_last_fetch THEN
169 AND CHARGE_ID=PRIMARY_KEY2_LIST(I)
170 ;
171 l_count := l_count + SQL%ROWCOUNT;
173 EXIT;
174 END IF;
175 END LOOP;
176
177 arp_message.set_name('AR','AR_ROWS_UPDATED');
178 arp_message.set_token('NUM_ROWS',to_char(l_count));
179 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
180 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
181 END IF;
182 END IF;
183 EXCEPTION
184 WHEN OTHERS THEN
185 l_errbuf := SQLERRM;
186 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
187 arp_message.set_line( 'FV_CUST_FINANCE_CHRGS');
188 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
189 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
190 END IF;
191 RAISE;
192 END FV_CUST_FINANCE_CHRGS;
193
194 ------------------------------------------------------------------------------
195 -- Merge Routine for FV_CUST_VEND_XREFS table
196 -----------------------------------------------------------------------------
197
198 PROCEDURE FV_CUST_VEND_XREFS (
199 req_id NUMBER,
200 set_num NUMBER,
201 process_mode VARCHAR2) IS
202 l_module_name VARCHAR2(200) := g_module_name || 'FV_CUST_VEND_XREFS';
203 l_errbuf VARCHAR2(1024);
204
205 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
206 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
207 INDEX BY BINARY_INTEGER;
208 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
209
210 -- Bug 12964038. Removed FV schema name prepended to table
211 TYPE CUST_VEND_XREF_ID_LIST_TYPE IS TABLE OF
212 --FV_CUST_VEND_XREFS.CUST_VEND_XREF_ID%TYPE
213 NUMBER(15)
214 INDEX BY BINARY_INTEGER;
215 PRIMARY_KEY_ID_LIST CUST_VEND_XREF_ID_LIST_TYPE;
216
217 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
218 --FV_CUST_VEND_XREFS.CUSTOMER_ID%TYPE
219 NUMBER(15)
220 INDEX BY BINARY_INTEGER;
221 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE;
222 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE;
223
224 l_profile_val VARCHAR2(30);
225 CURSOR merged_records IS
226 SELECT distinct CUSTOMER_MERGE_HEADER_ID
227 ,CUST_VEND_XREF_ID
228 ,yt.CUSTOMER_ID
229 FROM FV_CUST_VEND_XREFS yt, ra_customer_merges m
230 WHERE (
231 yt.CUSTOMER_ID = m.DUPLICATE_ID
235 l_last_fetch BOOLEAN := FALSE;
232 ) AND m.process_flag = 'N'
233 AND m.request_id = req_id
234 AND m.set_number = set_num;
236 l_count NUMBER := 0;
237 g_count NUMBER := 0;
238 BEGIN
239 IF process_mode='LOCK' THEN
240 NULL;
241 ELSE
242 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
243 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_CUST_VEND_XREFS',FALSE);
244 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
245 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
246 END IF;
247 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
248 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
249
250 -- remove the records that will be duplicates when merged.
251 delete from fv_cust_vend_xrefs
252 where customer_id IN (select duplicate_id
253 from ra_customer_merges racm,
254 fv_cust_vend_xrefs t
255 where racm.process_flag = 'N'
256 and racm.request_id = req_id
257 and racm.set_number = set_num
258 and racm.customer_id = t.customer_id);
259
260 g_count := SQL%ROWCOUNT;
261
262 arp_message.set_name('AR','AR_ROWS_DELETED');
263 arp_message.set_token('NUM_ROWS',to_char(g_count));
264 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
265 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
266 END IF;
267
268 open merged_records;
269 LOOP
270 FETCH merged_records BULK COLLECT INTO
271 MERGE_HEADER_ID_LIST
272 , PRIMARY_KEY_ID_LIST
273 , NUM_COL1_ORIG_LIST
274 limit 1000
275 ;
276 IF merged_records%NOTFOUND THEN
277 l_last_fetch := TRUE;
278 END IF;
279 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
280 exit;
281 END IF;
282 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
283 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
284 END LOOP;
285 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
286 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
287 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
288 MERGE_LOG_ID,
289 TABLE_NAME,
290 MERGE_HEADER_ID,
291 PRIMARY_KEY_ID,
292 NUM_COL1_ORIG,
293 NUM_COL1_NEW,
294 ACTION_FLAG,
295 REQUEST_ID,
296 CREATED_BY,
297 CREATION_DATE,
298 LAST_UPDATE_LOGIN,
299 LAST_UPDATE_DATE,
300 LAST_UPDATED_BY
301 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
302 'FV_CUST_VEND_XREFS',
303 MERGE_HEADER_ID_LIST(I),
304 PRIMARY_KEY_ID_LIST(I),
305 NUM_COL1_ORIG_LIST(I),
306 NUM_COL1_NEW_LIST(I),
307 'U',
308 req_id,
309 hz_utility_pub.CREATED_BY,
310 hz_utility_pub.CREATION_DATE,
311 hz_utility_pub.LAST_UPDATE_LOGIN,
312 hz_utility_pub.LAST_UPDATE_DATE,
313 hz_utility_pub.LAST_UPDATED_BY
314 );
315
316 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
317 UPDATE FV_CUST_VEND_XREFS yt SET
318 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
319 , LAST_UPDATE_DATE=SYSDATE
320 , last_updated_by=arp_standard.profile.user_id
321 , last_update_login=arp_standard.profile.last_update_login
322 WHERE CUST_VEND_XREF_ID=PRIMARY_KEY_ID_LIST(I)
323 ;
324 l_count := l_count + SQL%ROWCOUNT;
325 IF l_last_fetch THEN
326 EXIT;
327 END IF;
328 END LOOP;
329
330 arp_message.set_name('AR','AR_ROWS_UPDATED');
331 arp_message.set_token('NUM_ROWS',to_char(l_count));
332 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
333 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
334 END IF;
335 END IF;
336 EXCEPTION
337 WHEN OTHERS THEN
338 l_errbuf := SQLERRM;
339 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
340 arp_message.set_line( 'FV_CUST_VEND_XREFS');
341 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
342 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
343 END IF;
344 RAISE;
345 END FV_CUST_VEND_XREFS;
346
347 ------------------------------------------------------------------------------
348 -- Merge Routine for FV_INTERAGENCY_FUNDS table
349 ------------------------------------------------------------------------------
350
351 PROCEDURE FV_INTERAGENCY_FUNDS (
352 req_id NUMBER,
353 set_num NUMBER,
354 process_mode VARCHAR2) IS
355 l_module_name VARCHAR2(200) := g_module_name || 'FV_INTERAGENCY_FUNDS';
356 l_errbuf VARCHAR2(1024);
357
358 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
359 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
360 INDEX BY BINARY_INTEGER;
361 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
362
363 TYPE INTERAGENCY_FUND_ID_LIST_TYPE IS TABLE OF
364 FV_INTERAGENCY_FUNDS_ALL.INTERAGENCY_FUND_ID%TYPE
365 INDEX BY BINARY_INTEGER;
366 PRIMARY_KEY_ID_LIST INTERAGENCY_FUND_ID_LIST_TYPE;
367
368 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
369 FV_INTERAGENCY_FUNDS_ALL.CUSTOMER_ID%TYPE
373
370 INDEX BY BINARY_INTEGER;
371 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE;
372 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE;
374 l_profile_val VARCHAR2(30);
375 CURSOR merged_records IS
376 SELECT distinct CUSTOMER_MERGE_HEADER_ID
377 ,INTERAGENCY_FUND_ID
378 ,yt.CUSTOMER_ID
379 FROM FV_INTERAGENCY_FUNDS yt, ra_customer_merges m
380 WHERE (
381 yt.CUSTOMER_ID = m.DUPLICATE_ID
382 ) AND m.process_flag = 'N'
383 AND m.request_id = req_id
384 AND m.set_number = set_num;
385 l_last_fetch BOOLEAN := FALSE;
386 l_count NUMBER := 0;
387 BEGIN
388 IF process_mode='LOCK' THEN
389 NULL;
390 ELSE
391 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
392 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_INTERAGENCY_FUNDS',FALSE);
393 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
394 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
395 END IF;
396 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
397 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
398
399 open merged_records;
400 LOOP
401 FETCH merged_records BULK COLLECT INTO
402 MERGE_HEADER_ID_LIST
403 , PRIMARY_KEY_ID_LIST
404 , NUM_COL1_ORIG_LIST
405 limit 1000
406 ;
407 IF merged_records%NOTFOUND THEN
408 l_last_fetch := TRUE;
409 END IF;
410 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
411 exit;
412 END IF;
413 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
414 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
415 END LOOP;
416 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
417 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
418 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
419 MERGE_LOG_ID,
420 TABLE_NAME,
421 MERGE_HEADER_ID,
422 PRIMARY_KEY_ID,
423 NUM_COL1_ORIG,
424 NUM_COL1_NEW,
425 ACTION_FLAG,
426 REQUEST_ID,
427 CREATED_BY,
428 CREATION_DATE,
429 LAST_UPDATE_LOGIN,
430 LAST_UPDATE_DATE,
431 LAST_UPDATED_BY
432 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
433 'FV_INTERAGENCY_FUNDS',
434 MERGE_HEADER_ID_LIST(I),
435 PRIMARY_KEY_ID_LIST(I),
436 NUM_COL1_ORIG_LIST(I),
437 NUM_COL1_NEW_LIST(I),
438 'U',
439 req_id,
440 hz_utility_pub.CREATED_BY,
441 hz_utility_pub.CREATION_DATE,
442 hz_utility_pub.LAST_UPDATE_LOGIN,
443 hz_utility_pub.LAST_UPDATE_DATE,
444 hz_utility_pub.LAST_UPDATED_BY
445 );
446
447 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
448 UPDATE FV_INTERAGENCY_FUNDS yt SET
449 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
450 , LAST_UPDATE_DATE=SYSDATE
451 , last_updated_by=arp_standard.profile.user_id
452 , last_update_login=arp_standard.profile.last_update_login
453 WHERE INTERAGENCY_FUND_ID=PRIMARY_KEY_ID_LIST(I)
454 ;
455 l_count := l_count + SQL%ROWCOUNT;
456 IF l_last_fetch THEN
457 EXIT;
458 END IF;
459 END LOOP;
460
461 arp_message.set_name('AR','AR_ROWS_UPDATED');
462 arp_message.set_token('NUM_ROWS',to_char(l_count));
463 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
464 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
465 END IF;
466 END IF;
467 EXCEPTION
468 WHEN OTHERS THEN
469 l_errbuf := SQLERRM;
470 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
471 arp_message.set_line( 'FV_INTERAGENCY_FUNDS');
472 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
473 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
474 END IF;
475 RAISE;
476 END FV_INTERAGENCY_FUNDS;
477 ------------------------------------------------------------------------------
478 -- Merge Routine for FV_INTERIM_CASH_RECEIPTS table
479 ------------------------------------------------------------------------------
480 PROCEDURE FV_INTERIM_CASH_RECEIPTS (
481 req_id NUMBER,
482 set_num NUMBER,
483 process_mode VARCHAR2) IS
484 l_module_name VARCHAR2(200) := g_module_name || 'FV_INTERIM_CASH_RECEIPTS';
485 l_errbuf VARCHAR2(1024);
486
487 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
488 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
489 INDEX BY BINARY_INTEGER;
490 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
491
492 TYPE BATCH_ID_LIST_TYPE IS TABLE OF
493 FV_INTERIM_CASH_RECEIPTS_ALL.BATCH_ID%TYPE
494 INDEX BY BINARY_INTEGER;
495 PRIMARY_KEY1_LIST BATCH_ID_LIST_TYPE;
496
497 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
498 FV_INTERIM_CASH_RECEIPTS_ALL.CUSTOMER_ID%TYPE
499 INDEX BY BINARY_INTEGER;
500 PRIMARY_KEY2_LIST CUSTOMER_ID_LIST_TYPE;
501
502 TYPE CUSTOMER_TRX_ID_LIST_TYPE IS TABLE OF
503 FV_INTERIM_CASH_RECEIPTS_ALL.CUSTOMER_TRX_ID%TYPE
504 INDEX BY BINARY_INTEGER;
505 PRIMARY_KEY3_LIST CUSTOMER_TRX_ID_LIST_TYPE;
506
507 TYPE RECEIPT_NUMBER_LIST_TYPE IS TABLE OF
508 FV_INTERIM_CASH_RECEIPTS_ALL.RECEIPT_NUMBER%TYPE
509 INDEX BY BINARY_INTEGER;
513 FV_INTERIM_CASH_RECEIPTS_ALL.CUSTOMER_ID%TYPE
510 PRIMARY_KEY4_LIST RECEIPT_NUMBER_LIST_TYPE;
511
512 TYPE CUSTOMER_ID_LIST_TYPE1 IS TABLE OF
514 INDEX BY BINARY_INTEGER;
515 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE1;
516 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE1;
517
518 TYPE SITE_USE_ID_LIST_TYPE IS TABLE OF
519 FV_INTERIM_CASH_RECEIPTS_ALL.SITE_USE_ID%TYPE
520 INDEX BY BINARY_INTEGER;
521 NUM_COL2_ORIG_LIST SITE_USE_ID_LIST_TYPE;
522 NUM_COL2_NEW_LIST SITE_USE_ID_LIST_TYPE;
523
524 l_profile_val VARCHAR2(30);
525 CURSOR merged_records IS
526 SELECT distinct CUSTOMER_MERGE_HEADER_ID
527 ,BATCH_ID
528 ,yt.CUSTOMER_ID
529 ,CUSTOMER_TRX_ID
530 ,RECEIPT_NUMBER
531 ,yt.CUSTOMER_ID
532 ,yt.SITE_USE_ID
533 FROM FV_INTERIM_CASH_RECEIPTS yt, ra_customer_merges m
534 WHERE (
535 yt.CUSTOMER_ID = m.DUPLICATE_ID
536 OR yt.SITE_USE_ID = m.DUPLICATE_SITE_ID
537 ) AND m.process_flag = 'N'
538 AND m.request_id = req_id
539 AND m.set_number = set_num;
540 l_last_fetch BOOLEAN := FALSE;
541 l_count NUMBER := 0;
542 BEGIN
543 IF process_mode='LOCK' THEN
544 NULL;
545 ELSE
546 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
547 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_INTERIM_CASH_RECEIPTS',FALSE);
548 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
549 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
550 END IF;
551 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
552 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
553
554 open merged_records;
555 LOOP
556 FETCH merged_records BULK COLLECT INTO
557 MERGE_HEADER_ID_LIST
558 , PRIMARY_KEY1_LIST
559 , PRIMARY_KEY2_LIST
560 , PRIMARY_KEY3_LIST
561 , PRIMARY_KEY4_LIST
562 , NUM_COL1_ORIG_LIST
563 , NUM_COL2_ORIG_LIST
564 limit 1000
565 ;
566 IF merged_records%NOTFOUND THEN
567 l_last_fetch := TRUE;
568 END IF;
569 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
570 exit;
571 END IF;
572 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
573 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
574 NUM_COL2_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_SITE_USE(NUM_COL2_ORIG_LIST(I));
575 END LOOP;
576 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
577 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
578 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
579 MERGE_LOG_ID,
580 TABLE_NAME,
581 MERGE_HEADER_ID,
582 PRIMARY_KEY1,
583 PRIMARY_KEY2,
584 PRIMARY_KEY3,
585 PRIMARY_KEY4,
586 NUM_COL1_ORIG,
587 NUM_COL1_NEW,
588 NUM_COL2_ORIG,
589 NUM_COL2_NEW,
590 ACTION_FLAG,
591 REQUEST_ID,
592 CREATED_BY,
593 CREATION_DATE,
594 LAST_UPDATE_LOGIN,
595 LAST_UPDATE_DATE,
596 LAST_UPDATED_BY
597 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
598 'FV_INTERIM_CASH_RECEIPTS',
599 MERGE_HEADER_ID_LIST(I),
600 PRIMARY_KEY1_LIST(I),
601 PRIMARY_KEY2_LIST(I),
602 PRIMARY_KEY3_LIST(I),
603 PRIMARY_KEY4_LIST(I),
604 NUM_COL1_ORIG_LIST(I),
605 NUM_COL1_NEW_LIST(I),
606 NUM_COL2_ORIG_LIST(I),
607 NUM_COL2_NEW_LIST(I),
608 'U',
609 req_id,
610 hz_utility_pub.CREATED_BY,
611 hz_utility_pub.CREATION_DATE,
612 hz_utility_pub.LAST_UPDATE_LOGIN,
613 hz_utility_pub.LAST_UPDATE_DATE,
614 hz_utility_pub.LAST_UPDATED_BY
615 );
616
617 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
618 UPDATE FV_INTERIM_CASH_RECEIPTS yt SET
619 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
620 ,SITE_USE_ID=NUM_COL2_NEW_LIST(I)
621 , LAST_UPDATE_DATE=SYSDATE
622 , last_updated_by=arp_standard.profile.user_id
623 , last_update_login=arp_standard.profile.last_update_login
624 WHERE BATCH_ID=PRIMARY_KEY1_LIST(I)
625 AND CUSTOMER_ID=PRIMARY_KEY2_LIST(I)
626 AND CUSTOMER_TRX_ID=PRIMARY_KEY3_LIST(I)
627 AND RECEIPT_NUMBER=PRIMARY_KEY4_LIST(I)
628 ;
629 l_count := l_count + SQL%ROWCOUNT;
630 IF l_last_fetch THEN
631 EXIT;
632 END IF;
633 END LOOP;
634
635 arp_message.set_name('AR','AR_ROWS_UPDATED');
636 arp_message.set_token('NUM_ROWS',to_char(l_count));
637 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
638 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
639 END IF;
640 END IF;
641 EXCEPTION
642 WHEN OTHERS THEN
643 l_errbuf := SQLERRM;
644 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
645 arp_message.set_line( 'FV_INTERIM_CASH_RECEIPTS');
646 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
647 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
648 END IF;
649 RAISE;
650 END FV_INTERIM_CASH_RECEIPTS;
651
652 ------------------------------------------------------------------------------
656 PROCEDURE FV_INVOICE_FINANCE_CHRGS (
653 -- Merge Routine for FV_INVOICE_FINANCE_CHRGS table
654 -----------------------------------------------------------------------------
655
657 req_id NUMBER,
658 set_num NUMBER,
659 process_mode VARCHAR2) IS
660 l_module_name VARCHAR2(200) := g_module_name || 'FV_INVOICE_FINANCE_CHRGS';
661 l_errbuf VARCHAR2(1024);
662
663 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
664 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
665 INDEX BY BINARY_INTEGER;
666 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
667
668 TYPE CUSTOMER_TRX_ID_LIST_TYPE IS TABLE OF
669 FV_INVOICE_FINANCE_CHRGS_ALL.CUSTOMER_TRX_ID%TYPE
670 INDEX BY BINARY_INTEGER;
671 PRIMARY_KEY1_LIST CUSTOMER_TRX_ID_LIST_TYPE;
672
673 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
674 FV_INVOICE_FINANCE_CHRGS_ALL.CUSTOMER_ID%TYPE
675 INDEX BY BINARY_INTEGER;
676 PRIMARY_KEY2_LIST CUSTOMER_ID_LIST_TYPE;
677
678 TYPE CHARGE_ID_LIST_TYPE IS TABLE OF
679 FV_INVOICE_FINANCE_CHRGS_ALL.CHARGE_ID%TYPE
680 INDEX BY BINARY_INTEGER;
681 PRIMARY_KEY3_LIST CHARGE_ID_LIST_TYPE;
682
683 TYPE CUSTOMER_ID_LIST_TYPE1 IS TABLE OF
684 FV_INVOICE_FINANCE_CHRGS_ALL.CUSTOMER_ID%TYPE
685 INDEX BY BINARY_INTEGER;
686 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE1;
687 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE1;
688
689 l_profile_val VARCHAR2(30);
690 CURSOR merged_records IS
691 SELECT distinct CUSTOMER_MERGE_HEADER_ID
692 ,CUSTOMER_TRX_ID
693 ,yt.CUSTOMER_ID
694 ,CHARGE_ID
695 ,yt.CUSTOMER_ID
696 FROM FV_INVOICE_FINANCE_CHRGS yt, ra_customer_merges m
697 WHERE (
698 yt.CUSTOMER_ID = m.DUPLICATE_ID
699 ) AND m.process_flag = 'N'
700 AND m.request_id = req_id
701 AND m.set_number = set_num;
702 l_last_fetch BOOLEAN := FALSE;
703 l_count NUMBER := 0;
704 BEGIN
705 IF process_mode='LOCK' THEN
706 NULL;
707 ELSE
708 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
709 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_INVOICE_FINANCE_CHRGS',FALSE);
710 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
711 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
712 END IF;
713 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
714 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
715
716 open merged_records;
717 LOOP
718 FETCH merged_records BULK COLLECT INTO
719 MERGE_HEADER_ID_LIST
720 , PRIMARY_KEY1_LIST
721 , PRIMARY_KEY2_LIST
722 , PRIMARY_KEY3_LIST
723 , NUM_COL1_ORIG_LIST
724 limit 1000
725 ;
726 IF merged_records%NOTFOUND THEN
727 l_last_fetch := TRUE;
728 END IF;
729 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
730 exit;
731 END IF;
732 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
733 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
734 END LOOP;
735 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
736 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
737 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
738 MERGE_LOG_ID,
739 TABLE_NAME,
740 MERGE_HEADER_ID,
741 PRIMARY_KEY1,
742 PRIMARY_KEY2,
743 PRIMARY_KEY3,
744 NUM_COL1_ORIG,
745 NUM_COL1_NEW,
746 ACTION_FLAG,
747 REQUEST_ID,
748 CREATED_BY,
749 CREATION_DATE,
750 LAST_UPDATE_LOGIN,
751 LAST_UPDATE_DATE,
752 LAST_UPDATED_BY
753 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
754 'FV_INVOICE_FINANCE_CHRGS',
755 MERGE_HEADER_ID_LIST(I),
756 PRIMARY_KEY1_LIST(I),
757 PRIMARY_KEY2_LIST(I),
758 PRIMARY_KEY3_LIST(I),
759 NUM_COL1_ORIG_LIST(I),
760 NUM_COL1_NEW_LIST(I),
761 'U',
762 req_id,
763 hz_utility_pub.CREATED_BY,
764 hz_utility_pub.CREATION_DATE,
765 hz_utility_pub.LAST_UPDATE_LOGIN,
766 hz_utility_pub.LAST_UPDATE_DATE,
767 hz_utility_pub.LAST_UPDATED_BY
768 );
769
770 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
771 UPDATE FV_INVOICE_FINANCE_CHRGS yt SET
772 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
773 , LAST_UPDATE_DATE=SYSDATE
774 , last_updated_by=arp_standard.profile.user_id
775 , last_update_login=arp_standard.profile.last_update_login
776 WHERE CUSTOMER_TRX_ID=PRIMARY_KEY1_LIST(I)
777 AND CUSTOMER_ID=PRIMARY_KEY2_LIST(I)
778 AND CHARGE_ID=PRIMARY_KEY3_LIST(I)
779 ;
780 l_count := l_count + SQL%ROWCOUNT;
781 IF l_last_fetch THEN
782 EXIT;
783 END IF;
784 END LOOP;
785
786 arp_message.set_name('AR','AR_ROWS_UPDATED');
787 arp_message.set_token('NUM_ROWS',to_char(l_count));
788 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
789 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
790 END IF;
791 END IF;
792 EXCEPTION
793 WHEN OTHERS THEN
794 l_errbuf := SQLERRM;
795 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
796 arp_message.set_line( 'FV_INVOICE_FINANCE_CHRGS');
797 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
801 END FV_INVOICE_FINANCE_CHRGS;
798 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
799 END IF;
800 RAISE;
802
803 ------------------------------------------------------------------------------
804 -- Merge Routine for FV_IPAC_TRX table
805 -----------------------------------------------------------------------------
806
807
808 PROCEDURE FV_IPAC_TRX (
809 req_id NUMBER,
810 set_num NUMBER,
811 process_mode VARCHAR2) IS
812 l_module_name VARCHAR2(200) := g_module_name || 'FV_IPAC_TRX';
813 l_errbuf VARCHAR2(1024);
814
815 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
816 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
817 INDEX BY BINARY_INTEGER;
818 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
819
820 TYPE IPAC_BILLING_ID_LIST_TYPE IS TABLE OF
821 FV_IPAC_TRX_ALL.IPAC_BILLING_ID%TYPE
822 INDEX BY BINARY_INTEGER;
823 PRIMARY_KEY1_LIST IPAC_BILLING_ID_LIST_TYPE;
824
825 TYPE CUSTOMER_ID_LIST_TYPE IS TABLE OF
826 FV_IPAC_TRX_ALL.CUSTOMER_ID%TYPE
827 INDEX BY BINARY_INTEGER;
828 NUM_COL1_ORIG_LIST CUSTOMER_ID_LIST_TYPE;
829 NUM_COL1_NEW_LIST CUSTOMER_ID_LIST_TYPE;
830
831 l_profile_val VARCHAR2(30);
832 CURSOR merged_records IS
833 SELECT distinct CUSTOMER_MERGE_HEADER_ID
834 ,IPAC_BILLING_ID
835 ,yt.CUSTOMER_ID
836 FROM FV_IPAC_TRX yt, ra_customer_merges m
837 WHERE (
838 yt.CUSTOMER_ID = m.DUPLICATE_ID
839 ) AND m.process_flag = 'N'
840 AND m.request_id = req_id
841 AND m.set_number = set_num;
842 l_last_fetch BOOLEAN := FALSE;
843 l_count NUMBER := 0;
844 BEGIN
845 IF process_mode='LOCK' THEN
846 NULL;
847 ELSE
848 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
849 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','FV_IPAC_TRX',FALSE);
850 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
851 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
852 END IF;
853 HZ_ACCT_MERGE_UTIL.load_set(set_num, req_id);
854 l_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
855
856 open merged_records;
857 LOOP
858 FETCH merged_records BULK COLLECT INTO
859 MERGE_HEADER_ID_LIST
860 , PRIMARY_KEY1_LIST
861 , NUM_COL1_ORIG_LIST
862 limit 1000
863 ;
864 IF merged_records%NOTFOUND THEN
865 l_last_fetch := TRUE;
866 END IF;
867 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
868 exit;
869 END IF;
870 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
871 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
872 END LOOP;
873 IF l_profile_val IS NOT NULL AND l_profile_val = 'Y' THEN
874 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
875 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
876 MERGE_LOG_ID,
877 TABLE_NAME,
878 MERGE_HEADER_ID,
879 PRIMARY_KEY1,
880 NUM_COL1_ORIG,
881 NUM_COL1_NEW,
882 ACTION_FLAG,
883 REQUEST_ID,
884 CREATED_BY,
885 CREATION_DATE,
886 LAST_UPDATE_LOGIN,
887 LAST_UPDATE_DATE,
888 LAST_UPDATED_BY
889 ) VALUES ( HZ_CUSTOMER_MERGE_LOG_s.nextval,
890 'FV_IPAC_TRX',
891 MERGE_HEADER_ID_LIST(I),
892 PRIMARY_KEY1_LIST(I),
893 NUM_COL1_ORIG_LIST(I),
894 NUM_COL1_NEW_LIST(I),
895 'U',
896 req_id,
897 hz_utility_pub.CREATED_BY,
898 hz_utility_pub.CREATION_DATE,
899 hz_utility_pub.LAST_UPDATE_LOGIN,
900 hz_utility_pub.LAST_UPDATE_DATE,
901 hz_utility_pub.LAST_UPDATED_BY
902 );
903
904 END IF; FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
905 UPDATE FV_IPAC_TRX yt SET
906 CUSTOMER_ID=NUM_COL1_NEW_LIST(I)
907 , LAST_UPDATE_DATE=SYSDATE
908 , last_updated_by=arp_standard.profile.user_id
909 , last_update_login=arp_standard.profile.last_update_login
910 WHERE IPAC_BILLING_ID=PRIMARY_KEY1_LIST(I)
911 ;
912 l_count := l_count + SQL%ROWCOUNT;
913 IF l_last_fetch THEN
914 EXIT;
915 END IF;
916 END LOOP;
917
918 arp_message.set_name('AR','AR_ROWS_UPDATED');
919 arp_message.set_token('NUM_ROWS',to_char(l_count));
920 IF ( FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
921 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_EVENT, l_module_name);
922 END IF;
923 END IF;
924 EXCEPTION
925 WHEN OTHERS THEN
926 l_errbuf := SQLERRM;
927 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
928 arp_message.set_line( 'FV_IPAC_TRX');
929 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
930 FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
931 END IF;
932 RAISE;
933 END FV_IPAC_TRX;
934
935 PROCEDURE merge(req_id IN Number,
936 set_num IN NUMBER,
937 process_mode IN VARCHAR2) IS
938 l_module_name VARCHAR2(200) := g_module_name || 'merge';
939 l_errbuf VARCHAR2(1024);
940
941 BEGIN
942 FV_CUST_FINANCE_CHRGS(req_id, set_num, process_mode);
943 FV_CUST_VEND_XREFS(req_id, set_num, process_mode);
944 FV_INTERAGENCY_FUNDS(req_id, set_num, process_mode);
945 FV_INTERIM_CASH_RECEIPTS(req_id, set_num, process_mode);
946 FV_INVOICE_FINANCE_CHRGS(req_id, set_num, process_mode);
947 FV_IPAC_TRX(req_id, set_num, process_mode);
948 EXCEPTION WHEN OTHERS THEN
949 l_errbuf := SQLERRM;
950 FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.final_exception', l_errbuf);
951 RAISE;
952 END merge;
953
954 END fv_cmerge;