[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_CUST_MERGE_PKG
Source
1 PACKAGE BODY JTF_TASK_CUST_MERGE_PKG as
2 /* $Header: jtftkmgb.pls 115.15 2003/02/20 23:03:56 cjang ship $ */
3 --/**==================================================================*
4 --| Copyright (c) 2001 Oracle Corporation, Redwood Shores, CA, USA |
5 --| All rights reserved. |
6 --+====================================================================+
7 -- Package body for JTF_TASK_CUST_MERGE_PKG package
8 --
9 -- Version : 1.0
10 -- Performs an account merge for TASKS module.
11 -------------------------------------------------------------------------------------------
12 -- History
13 -------------------------------------------------------------------------------------------
14 -- 01-FEB-01 tivanov Created.
15 -- 29-OCT-01 tivanov Added account merge for task's saved search
16 -- in jtf_perz_query_param
17 -- 29-APR-02 sanjeev choudhary Changed the update calls for bug 2288291
18 -- Customer merge issue
19 -- 13-AUG-02 chanik jang Added statments to log the change information
20 -- for the bug 2465855
21 -- 12-FEB-03 Chanik Jang 1) Customer Account Merge allows to merge account
22 -- only in the same party
23 -- 2) If you want to merge between different parties,
24 -- submit party merge first.
25 -- 3) The lock mode is not implemented
26 -- 4) For performance, the codes generated the perl script
27 -- is used. Refer http://www-apps.us.oracle.com/~csng/AMInstructions.html
28 -- 19-FEB-03 Chanik Jang Added LIMIT g_rows_fetched in BULK COLLECT clause
29 -- 20-FEB-03 Chanik Jang Modified merge_perz() to update account_number as char
30 -- Modified each procedures to update primary_key_id instead of primary_key_id1
31 ---------------------------------------------------------------------------------
32 -- End of comments
33
34 TYPE AccountNumberList IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
35 g_acctnum_list AccountNumberList;
36
37 g_profile_val VARCHAR2(30);
38 g_rows_fetched NUMBER := 1000;
39
40 -- Load the new account number corresponding to the duplicate account
41 PROCEDURE load_acct_number_set (
42 p_set_num IN NUMBER,
43 p_request_id IN NUMBER)
44 IS
45 BEGIN
46 g_acctnum_list.DELETE;
47
48 FOR CUST IN (SELECT distinct m.customer_id, acct.account_number
49 FROM ra_customer_merges m
50 , hz_cust_accounts acct
51 WHERE m.set_number = p_set_num
52 AND m.request_id = p_request_id
53 AND m.process_flag = 'N'
54 AND acct.cust_account_id = m.customer_id
55 )
56 LOOP
57
58 g_acctnum_list(CUST.customer_id) := CUST.account_number;
59
60 END LOOP;
61
62 END;
63
64 FUNCTION GETDUP_ACCOUNT_NUMBER (p_acct_id IN VARCHAR2)
65 RETURN VARCHAR2
66 IS
67 BEGIN
68 IF p_acct_id IS NULL THEN
69 RETURN p_acct_id;
70 END IF;
71
72 RETURN g_acctnum_list(p_acct_id);
73 EXCEPTION
74 WHEN NO_DATA_FOUND THEN
75 RETURN p_acct_id;
76 END;
77
78 ----------------------------------------------------------------------
79 -- merge_tasks(): merge cust_account_id in jtf_tasks_b table.
80 ----------------------------------------------------------------------
81 PROCEDURE merge_tasks (
82 p_request_id IN NUMBER,
83 p_set_number IN NUMBER,
84 p_process_mode IN VARCHAR2
85 )
86 IS
87 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
88 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
89 INDEX BY BINARY_INTEGER;
90 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
91
92 TYPE task_id_LIST_TYPE IS TABLE OF
93 JTF_TASKS_B.task_id%TYPE
94 INDEX BY BINARY_INTEGER;
95 PRIMARY_KEY_ID_LIST task_id_LIST_TYPE;
96
97 TYPE cust_account_id_LIST_TYPE IS TABLE OF
98 JTF_TASKS_B.cust_account_id%TYPE
99 INDEX BY BINARY_INTEGER;
100 NUM_COL1_ORIG_LIST cust_account_id_LIST_TYPE;
101 NUM_COL1_NEW_LIST cust_account_id_LIST_TYPE;
102
103 CURSOR merged_records IS
104 SELECT distinct CUSTOMER_MERGE_HEADER_ID
105 ,task_id
106 ,cust_account_id
107 FROM JTF_TASKS_B yt, ra_customer_merges m
108 WHERE (
109 yt.cust_account_id = m.DUPLICATE_ID
110 ) AND m.process_flag = 'N'
111 AND m.request_id = p_request_id
112 AND m.set_number = p_set_number;
113 l_last_fetch BOOLEAN := FALSE;
114 l_count NUMBER := 0;
115 BEGIN
116 IF p_process_mode='LOCK' THEN
117 NULL;
118 ELSE
119 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
120 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','JTF_TASKS_B',FALSE);
121
122 HZ_ACCT_MERGE_UTIL.load_set(p_set_number, p_request_id);
123
124 open merged_records;
125 LOOP
126 FETCH merged_records BULK COLLECT INTO
127 MERGE_HEADER_ID_LIST
128 , PRIMARY_KEY_ID_LIST
129 , NUM_COL1_ORIG_LIST
130 LIMIT g_rows_fetched;
131
132 IF merged_records%NOTFOUND THEN
133 l_last_fetch := TRUE;
134 END IF;
135
136 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
137 exit;
138 END IF;
139
140 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
141 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
142 END LOOP;
143
144 IF g_profile_val IS NOT NULL AND g_profile_val = 'Y' THEN
145
146 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
147 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
148 MERGE_LOG_ID,
149 TABLE_NAME,
150 MERGE_HEADER_ID,
151 PRIMARY_KEY_ID,
152 NUM_COL1_ORIG,
153 NUM_COL1_NEW,
154 ACTION_FLAG,
155 REQUEST_ID,
156 CREATED_BY,
157 CREATION_DATE,
158 LAST_UPDATE_LOGIN,
159 LAST_UPDATE_DATE,
160 LAST_UPDATED_BY
161 ) VALUES (
162 HZ_CUSTOMER_MERGE_LOG_s.nextval,
163 'JTF_TASKS_B',
164 MERGE_HEADER_ID_LIST(I),
165 PRIMARY_KEY_ID_LIST(I),
166 NUM_COL1_ORIG_LIST(I),
167 NUM_COL1_NEW_LIST(I),
168 'U',
169 p_request_id,
170 hz_utility_pub.CREATED_BY,
171 hz_utility_pub.CREATION_DATE,
172 hz_utility_pub.LAST_UPDATE_LOGIN,
173 hz_utility_pub.LAST_UPDATE_DATE,
174 hz_utility_pub.LAST_UPDATED_BY
175 );
176
177 END IF;
178
179 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
180 UPDATE JTF_TASKS_B yt SET
181 cust_account_id=NUM_COL1_NEW_LIST(I)
182 , LAST_UPDATE_DATE=SYSDATE
183 , last_updated_by=arp_standard.profile.user_id
184 , last_update_login=arp_standard.profile.last_update_login
185 WHERE task_id=PRIMARY_KEY_ID_LIST(I);
186
187 l_count := l_count + SQL%ROWCOUNT;
188 IF l_last_fetch THEN
189 EXIT;
190 END IF;
191 END LOOP;
192
193 arp_message.set_name('AR','AR_ROWS_UPDATED');
194 arp_message.set_token('NUM_ROWS',to_char(l_count));
195 END IF;
196 EXCEPTION
197 WHEN OTHERS THEN
198 arp_message.set_line( 'merge_tasks');
199 RAISE;
200 END merge_tasks;
201
202 ----------------------------------------------------------------------
203 -- merge_audits(): merge old_cust_account_id, new_cust_account_id
204 -- in jtf_task_audits_b table.
205 ----------------------------------------------------------------------
206 PROCEDURE merge_audits (
207 p_request_id IN NUMBER,
208 p_set_number IN NUMBER,
209 p_process_mode IN VARCHAR2)
210 IS
211
212 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
213 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
214 INDEX BY BINARY_INTEGER;
215 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
216
217 TYPE task_audit_id_LIST_TYPE IS TABLE OF
218 JTF_TASK_AUDITS_B.task_audit_id%TYPE
219 INDEX BY BINARY_INTEGER;
220 PRIMARY_KEY_ID_LIST task_audit_id_LIST_TYPE;
221
222 TYPE old_cust_account_id_LIST_TYPE IS TABLE OF
223 JTF_TASK_AUDITS_B.old_cust_account_id%TYPE
224 INDEX BY BINARY_INTEGER;
225 NUM_COL1_ORIG_LIST old_cust_account_id_LIST_TYPE;
226 NUM_COL1_NEW_LIST old_cust_account_id_LIST_TYPE;
227
228 TYPE new_cust_account_id_LIST_TYPE IS TABLE OF
229 JTF_TASK_AUDITS_B.new_cust_account_id%TYPE
230 INDEX BY BINARY_INTEGER;
231 NUM_COL2_ORIG_LIST new_cust_account_id_LIST_TYPE;
232 NUM_COL2_NEW_LIST new_cust_account_id_LIST_TYPE;
233
234 CURSOR merged_records IS
235 SELECT distinct CUSTOMER_MERGE_HEADER_ID
236 ,task_audit_id
237 ,old_cust_account_id
238 ,new_cust_account_id
239 FROM JTF_TASK_AUDITS_B yt, ra_customer_merges m
240 WHERE (
241 yt.old_cust_account_id = m.DUPLICATE_ID
242 OR yt.new_cust_account_id = m.DUPLICATE_ID
243 ) AND m.process_flag = 'N'
244 AND m.request_id = p_request_id
245 AND m.set_number = p_set_number;
246 l_last_fetch BOOLEAN := FALSE;
247 l_count NUMBER := 0;
248 BEGIN
249 IF p_process_mode='LOCK' THEN
250 NULL;
251 ELSE
252 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
253 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','JTF_TASK_AUDITS_B',FALSE);
254
255 HZ_ACCT_MERGE_UTIL.load_set(p_set_number, p_request_id);
256
257 open merged_records;
258 LOOP
259 FETCH merged_records BULK COLLECT INTO
260 MERGE_HEADER_ID_LIST
261 , PRIMARY_KEY_ID_LIST
262 , NUM_COL1_ORIG_LIST
263 , NUM_COL2_ORIG_LIST
264 LIMIT g_rows_fetched;
265
266 IF merged_records%NOTFOUND THEN
267 l_last_fetch := TRUE;
268 END IF;
269
270 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
271 exit;
272 END IF;
273
274 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
275 NUM_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL1_ORIG_LIST(I));
276 NUM_COL2_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(NUM_COL2_ORIG_LIST(I));
277 END LOOP;
278
279 IF g_profile_val IS NOT NULL AND g_profile_val = 'Y' THEN
280
281 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
282 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
283 MERGE_LOG_ID,
284 TABLE_NAME,
285 MERGE_HEADER_ID,
286 PRIMARY_KEY_ID,
287 NUM_COL1_ORIG,
288 NUM_COL1_NEW,
289 NUM_COL2_ORIG,
290 NUM_COL2_NEW,
291 ACTION_FLAG,
292 REQUEST_ID,
293 CREATED_BY,
294 CREATION_DATE,
295 LAST_UPDATE_LOGIN,
296 LAST_UPDATE_DATE,
297 LAST_UPDATED_BY
298 ) VALUES (
299 HZ_CUSTOMER_MERGE_LOG_s.nextval,
300 'JTF_TASK_AUDITS_B',
301 MERGE_HEADER_ID_LIST(I),
302 PRIMARY_KEY_ID_LIST(I),
303 NUM_COL1_ORIG_LIST(I),
304 NUM_COL1_NEW_LIST(I),
305 NUM_COL2_ORIG_LIST(I),
306 NUM_COL2_NEW_LIST(I),
307 'U',
308 p_request_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;
317
318 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
319 UPDATE JTF_TASK_AUDITS_B yt SET
320 old_cust_account_id=NUM_COL1_NEW_LIST(I)
321 , new_cust_account_id=NUM_COL2_NEW_LIST(I)
322 , LAST_UPDATE_DATE=SYSDATE
323 , last_updated_by=arp_standard.profile.user_id
324 , last_update_login=arp_standard.profile.last_update_login
325 WHERE task_audit_id=PRIMARY_KEY_ID_LIST(I)
326 ;
327 l_count := l_count + SQL%ROWCOUNT;
328 IF l_last_fetch THEN
329 EXIT;
330 END IF;
331 END LOOP;
332
333 arp_message.set_name('AR','AR_ROWS_UPDATED');
334 arp_message.set_token('NUM_ROWS',to_char(l_count));
335 END IF;
336 EXCEPTION
337 WHEN OTHERS THEN
338 arp_message.set_line( 'merge_audits');
339 RAISE;
340 END merge_audits;
341
342 ----------------------------------------------------------------------
343 -- merge_perz(): merge parameter_value in jtf_perz_query_param table.
344 ----------------------------------------------------------------------
345 PROCEDURE merge_perz (
346 p_request_id IN NUMBER,
347 p_set_number IN NUMBER,
348 p_process_mode IN VARCHAR2)
349 IS
350
351 TYPE MERGE_HEADER_ID_LIST_TYPE IS TABLE OF
352 RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE
353 INDEX BY BINARY_INTEGER;
354 MERGE_HEADER_ID_LIST MERGE_HEADER_ID_LIST_TYPE;
355
356 TYPE QUERY_PARAM_ID_LIST_TYPE IS TABLE OF
357 JTF_PERZ_QUERY_PARAM.QUERY_PARAM_ID%TYPE
358 INDEX BY BINARY_INTEGER;
359 PRIMARY_KEY_ID1_LIST QUERY_PARAM_ID_LIST_TYPE;
360 PRIMARY_KEY_ID2_LIST QUERY_PARAM_ID_LIST_TYPE;
361
362 TYPE PARAMETER_VALUE_LIST_TYPE IS TABLE OF
363 JTF_PERZ_QUERY_PARAM.PARAMETER_VALUE%TYPE
364 INDEX BY BINARY_INTEGER;
365 VCHAR_COL1_ORIG_LIST PARAMETER_VALUE_LIST_TYPE;
366 VCHAR_COL1_NEW_LIST PARAMETER_VALUE_LIST_TYPE;
367 VCHAR_CN_ORIG_LIST PARAMETER_VALUE_LIST_TYPE;
368 VCHAR_CN_NEW_LIST PARAMETER_VALUE_LIST_TYPE;
369
370 CURSOR merged_records IS
371 SELECT distinct CUSTOMER_MERGE_HEADER_ID
372 ,yt.QUERY_PARAM_ID
373 ,yt.PARAMETER_VALUE
374 ,cn.QUERY_PARAM_ID
375 ,cn.PARAMETER_VALUE
376 FROM JTF_PERZ_QUERY_PARAM yt
377 , JTF_PERZ_QUERY_PARAM cn
378 , ra_customer_merges m
379 WHERE yt.PARAMETER_VALUE = to_char(m.DUPLICATE_ID)
380 AND m.process_flag = 'N'
381 AND m.request_id = p_request_id
382 AND m.set_number = p_set_number
383 AND cn.query_id = yt.query_id
384 AND cn.parameter_name = 'CUSTOMER_NAME'
385 AND yt.parameter_name = 'CUSTOMER_ID'
386 AND yt.query_id IN (SELECT q.query_id
387 FROM jtf_perz_query q,
391 AND p.query_id = q.query_id
388 jtf_perz_query_param p
389 WHERE q.query_type= 'JTF_TASK'
390 AND q.application_id = 690
392 AND p.parameter_name = 'CUSTOMER'
393 AND p.parameter_value = 'ACCOUNT');
394 l_last_fetch BOOLEAN := FALSE;
395 l_count NUMBER := 0;
396 BEGIN
397 IF p_process_mode='LOCK' THEN
398 NULL;
399 ELSE
400 ARP_MESSAGE.SET_NAME('AR','AR_UPDATING_TABLE');
401 ARP_MESSAGE.SET_TOKEN('TABLE_NAME','JTF_PERZ_QUERY_PARAM',FALSE);
402
403 HZ_ACCT_MERGE_UTIL.load_set(p_set_number, p_request_id);
404 load_acct_number_set(p_set_number, p_request_id);
405
406 open merged_records;
407 LOOP
408 FETCH merged_records BULK COLLECT INTO
409 MERGE_HEADER_ID_LIST
410 , PRIMARY_KEY_ID1_LIST
411 , VCHAR_COL1_ORIG_LIST
412 , PRIMARY_KEY_ID2_LIST
413 , VCHAR_CN_ORIG_LIST
414 LIMIT g_rows_fetched;
415
416 IF merged_records%NOTFOUND THEN
417 l_last_fetch := TRUE;
418 END IF;
419
420 IF MERGE_HEADER_ID_LIST.COUNT = 0 and l_last_fetch then
421 exit;
422 END IF;
423
424 FOR I in 1..MERGE_HEADER_ID_LIST.COUNT LOOP
425 VCHAR_COL1_NEW_LIST(I) := HZ_ACCT_MERGE_UTIL.GETDUP_ACCOUNT(VCHAR_COL1_ORIG_LIST(I));
426 VCHAR_CN_NEW_LIST(I) := GETDUP_ACCOUNT_NUMBER(VCHAR_COL1_NEW_LIST(I));
427 END LOOP;
428
429 IF g_profile_val IS NOT NULL AND g_profile_val = 'Y' THEN
430 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
431 -- Log account id
432 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
433 MERGE_LOG_ID,
434 TABLE_NAME,
435 MERGE_HEADER_ID,
436 PRIMARY_KEY_ID,
437 VCHAR_COL1_ORIG,
438 VCHAR_COL1_NEW,
439 ACTION_FLAG,
440 REQUEST_ID,
441 CREATED_BY,
442 CREATION_DATE,
443 LAST_UPDATE_LOGIN,
444 LAST_UPDATE_DATE,
445 LAST_UPDATED_BY
446 ) VALUES (
447 HZ_CUSTOMER_MERGE_LOG_s.nextval,
448 'JTF_PERZ_QUERY_PARAM',
449 MERGE_HEADER_ID_LIST(I),
450 PRIMARY_KEY_ID1_LIST(I),
451 VCHAR_COL1_ORIG_LIST(I),
452 VCHAR_COL1_NEW_LIST(I),
453 'U',
454 p_request_id,
455 hz_utility_pub.CREATED_BY,
456 hz_utility_pub.CREATION_DATE,
457 hz_utility_pub.LAST_UPDATE_LOGIN,
458 hz_utility_pub.LAST_UPDATE_DATE,
459 hz_utility_pub.LAST_UPDATED_BY
460 );
461
462 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
463 -- Log account number
464 INSERT INTO HZ_CUSTOMER_MERGE_LOG (
465 MERGE_LOG_ID,
466 TABLE_NAME,
467 MERGE_HEADER_ID,
468 PRIMARY_KEY_ID,
469 VCHAR_COL1_ORIG,
470 VCHAR_COL1_NEW,
471 ACTION_FLAG,
472 REQUEST_ID,
473 CREATED_BY,
474 CREATION_DATE,
475 LAST_UPDATE_LOGIN,
476 LAST_UPDATE_DATE,
477 LAST_UPDATED_BY
478 ) VALUES (
479 HZ_CUSTOMER_MERGE_LOG_s.nextval,
480 'JTF_PERZ_QUERY_PARAM',
481 MERGE_HEADER_ID_LIST(I),
482 PRIMARY_KEY_ID2_LIST(I),
483 VCHAR_CN_ORIG_LIST(I),
484 VCHAR_CN_NEW_LIST(I),
485 'U',
486 p_request_id,
487 hz_utility_pub.CREATED_BY,
488 hz_utility_pub.CREATION_DATE,
489 hz_utility_pub.LAST_UPDATE_LOGIN,
490 hz_utility_pub.LAST_UPDATE_DATE,
491 hz_utility_pub.LAST_UPDATED_BY
492 );
493 END IF;
494
495 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
496 -- Update account id
497 UPDATE JTF_PERZ_QUERY_PARAM yt SET
498 PARAMETER_VALUE=VCHAR_COL1_NEW_LIST(I)
499 , LAST_UPDATE_DATE=SYSDATE
500 , last_updated_by=arp_standard.profile.user_id
501 , last_update_login=arp_standard.profile.last_update_login
502 WHERE QUERY_PARAM_ID=PRIMARY_KEY_ID1_LIST(I);
503 l_count := l_count + SQL%ROWCOUNT;
504
505 FORALL I in 1..MERGE_HEADER_ID_LIST.COUNT
506 -- Update account number
507 UPDATE JTF_PERZ_QUERY_PARAM yt SET
508 PARAMETER_VALUE=VCHAR_CN_NEW_LIST(I)
509 , LAST_UPDATE_DATE=SYSDATE
510 , last_updated_by=arp_standard.profile.user_id
511 , last_update_login=arp_standard.profile.last_update_login
512 WHERE QUERY_PARAM_ID=PRIMARY_KEY_ID2_LIST(I);
513 l_count := l_count + SQL%ROWCOUNT;
514
515 IF l_last_fetch THEN
516 EXIT;
517 END IF;
518
519 END LOOP;
520
521 arp_message.set_name('AR','AR_ROWS_UPDATED');
522 arp_message.set_token('NUM_ROWS',to_char(l_count));
523 END IF;
524 EXCEPTION
525 WHEN OTHERS THEN
526 arp_message.set_line( 'merge_perz');
527 RAISE;
528 END merge_perz;
529
530 PROCEDURE Task_Account_Merge(
531 p_request_id IN NUMBER,
532 p_set_number IN NUMBER,
533 p_process_mode IN VARCHAR2) Is
534
535 BEGIN
536 arp_message.set_line('CRM_MERGE.JTF_TASK_CUST_MERGE_PKG()+');
537
538 g_profile_val := FND_PROFILE.VALUE('HZ_AUDIT_ACCT_MERGE');
539
540 merge_tasks (p_request_id => p_request_id,
541 p_set_number => p_set_number,
542 p_process_mode => p_process_mode);
543
544 merge_audits(p_request_id => p_request_id,
545 p_set_number => p_set_number,
546 p_process_mode => p_process_mode);
547
548 merge_perz (p_request_id => p_request_id,
549 p_set_number => p_set_number,
550 p_process_mode => p_process_mode);
551 EXCEPTION
552 WHEN OTHERS THEN
553 arp_message.set_error (SQLCODE || SQLERRM);
554 arp_message.set_error ('CRM_MERGE.JTF_TASK_CUST_MERGE_PKG()');
555 RAISE;
556 END Task_Account_Merge;
557
558 END JTF_TASK_CUST_MERGE_PKG;