187: -- to indicate what package name is being executed.
188: --
189: -- update log file to indicate the module being executed.
190: --
191: ARP_MESSAGE.SET_LINE( 'PAP_CMERGE.MERGE()+' );
192: --
193: --Get the profile option for audit of customer merge
194: g_audit_profile :=NVL(FND_PROFILE.value('HZ_AUDIT_ACCT_MERGE'),'N');
195:
196: -- Lock the rows for the current set_no to avoid indefinate wait
197: --
198: IF process_mode = 'LOCK' THEN
199: --
200: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
201: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CUSTOMERS', FALSE );
202: --
203: open cursor_lock_1;
204: close cursor_lock_1;
197: --
198: IF process_mode = 'LOCK' THEN
199: --
200: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
201: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CUSTOMERS', FALSE );
202: --
203: open cursor_lock_1;
204: close cursor_lock_1;
205: --
202: --
203: open cursor_lock_1;
204: close cursor_lock_1;
205: --
206: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
207: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_DRAFT_INVOICE_ITEMS', FALSE );
208: --
209: open cursor_lock_2;
210: close cursor_lock_2;
203: open cursor_lock_1;
204: close cursor_lock_1;
205: --
206: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
207: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_DRAFT_INVOICE_ITEMS', FALSE );
208: --
209: open cursor_lock_2;
210: close cursor_lock_2;
211: --
208: --
209: open cursor_lock_2;
210: close cursor_lock_2;
211: --
212: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
213: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_TASKS', FALSE );
214: --
215: open cursor_lock_3;
216: close cursor_lock_3;
209: open cursor_lock_2;
210: close cursor_lock_2;
211: --
212: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
213: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_TASKS', FALSE );
214: --
215: open cursor_lock_3;
216: close cursor_lock_3;
217: --
214: --
215: open cursor_lock_3;
216: close cursor_lock_3;
217: --
218: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
219: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CONTACTS', FALSE );
220: --
221: open cursor_lock_4;
222: close cursor_lock_4;
215: open cursor_lock_3;
216: close cursor_lock_3;
217: --
218: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
219: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CONTACTS', FALSE );
220: --
221: open cursor_lock_4;
222: close cursor_lock_4;
223: --
220: --
221: open cursor_lock_4;
222: close cursor_lock_4;
223: --
224: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
225: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_AGREEMENTS', FALSE );
226: --
227: open cursor_lock_5;
228: close cursor_lock_5;
221: open cursor_lock_4;
222: close cursor_lock_4;
223: --
224: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
225: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_AGREEMENTS', FALSE );
226: --
227: open cursor_lock_5;
228: close cursor_lock_5;
229: --
226: --
227: open cursor_lock_5;
228: close cursor_lock_5;
229: --
230: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
231: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_IMPLEMENTATIONS', FALSE );
232: --bug3891382
233: --
234: open cursor_lock_6;
227: open cursor_lock_5;
228: close cursor_lock_5;
229: --
230: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
231: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_IMPLEMENTATIONS', FALSE );
232: --bug3891382
233: --
234: open cursor_lock_6;
235: close cursor_lock_6;
233: --
234: open cursor_lock_6;
235: close cursor_lock_6;
236: --
237: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
238: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_RULES', FALSE );
239: --
240: open cursor_lock_7;
241: close cursor_lock_7;
234: open cursor_lock_6;
235: close cursor_lock_6;
236: --
237: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
238: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_RULES', FALSE );
239: --
240: open cursor_lock_7;
241: close cursor_lock_7;
242: --
239: --
240: open cursor_lock_7;
241: close cursor_lock_7;
242: --
243: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
244: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_BILL_RULES', FALSE );
245: --
246: open cursor_lock_8;
247: close cursor_lock_8;
240: open cursor_lock_7;
241: close cursor_lock_7;
242: --
243: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
244: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_BILL_RULES', FALSE );
245: --
246: open cursor_lock_8;
247: close cursor_lock_8;
248: --
245: --
246: open cursor_lock_8;
247: close cursor_lock_8;
248: --
249: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
250: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_SUMMARY_PROJECT_RETN', FALSE );
251: --
252: open cursor_lock_9;
253: close cursor_lock_9;
246: open cursor_lock_8;
247: close cursor_lock_8;
248: --
249: ARP_MESSAGE.SET_NAME( 'AR', 'AR_LOCKING_TABLE' );
250: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_SUMMARY_PROJECT_RETN', FALSE );
251: --
252: open cursor_lock_9;
253: close cursor_lock_9;
254: --
255: GOTO done_locking;
256: --
257: END IF;
258: --
259: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
260: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CUSTOMERS' );
261: --
262: /* Added for Bug 3891382. The logic prevents deletion of the customer being
263: merged, if the customer is having sites in single org unit and is being
256: --
257: END IF;
258: --
259: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
260: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJECT_CUSTOMERS' );
261: --
262: /* Added for Bug 3891382. The logic prevents deletion of the customer being
263: merged, if the customer is having sites in single org unit and is being
264: referenced in other org units. */
856: CLOSE cursor_1;
857: --
858: -- update log file to indicate the total records deleted.
859: --
860: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
861: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
862: total_record_upd_count := 0;
863: --
864: -- update log file to indicate the total records updated.
857: --
858: -- update log file to indicate the total records deleted.
859: --
860: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
861: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
862: total_record_upd_count := 0;
863: --
864: -- update log file to indicate the total records updated.
865: --
862: total_record_upd_count := 0;
863: --
864: -- update log file to indicate the total records updated.
865: --
866: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_DELETED' );
867: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_del_count ));
868: total_record_del_count := 0;
869: --
870: -- update log file to indicate the table being updated.
863: --
864: -- update log file to indicate the total records updated.
865: --
866: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_DELETED' );
867: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_del_count ));
868: total_record_del_count := 0;
869: --
870: -- update log file to indicate the table being updated.
871: --
1171: WHERE RACM.PROCESS_FLAG = 'N'
1172: AND RACM.SET_NUMBER = set_no
1173: AND RACM.CUSTOMER_SITE_CODE = 'SHIP_TO' );
1174:
1175: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1176: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_DRAFT_INVOICE_ITEMS' );
1177: --
1178: -- update pa_draft_invoice_items for ship_to_address_id only.
1179: --
1172: AND RACM.SET_NUMBER = set_no
1173: AND RACM.CUSTOMER_SITE_CODE = 'SHIP_TO' );
1174:
1175: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1176: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_DRAFT_INVOICE_ITEMS' );
1177: --
1178: -- update pa_draft_invoice_items for ship_to_address_id only.
1179: --
1180: IF g_audit_profile='Y' THEN
1238: --
1239: -- update log file to indicate the total records being updated.
1240: --
1241: total_record_upd_count := SQL%ROWCOUNT;
1242: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1243: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1244: total_record_upd_count := 0;
1245: --
1246: -- update log file to indicate the table being updated.
1239: -- update log file to indicate the total records being updated.
1240: --
1241: total_record_upd_count := SQL%ROWCOUNT;
1242: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1243: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1244: total_record_upd_count := 0;
1245: --
1246: -- update log file to indicate the table being updated.
1247: --
1244: total_record_upd_count := 0;
1245: --
1246: -- update log file to indicate the table being updated.
1247: --
1248: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1249: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_TASKS' );
1250: --
1251: -- update pa_tasks for address_id ( ship address id ).
1252: --
1245: --
1246: -- update log file to indicate the table being updated.
1247: --
1248: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1249: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_TASKS' );
1250: --
1251: -- update pa_tasks for address_id ( ship address id ).
1252: --
1253: IF g_audit_profile='Y' THEN
1309: --
1310: -- update log file to indicate the total records being updated.
1311: --
1312: total_record_upd_count := SQL%ROWCOUNT;
1313: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1314: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1315: total_record_upd_count := 0;
1316: --
1317: -- update log file to indicate the table being updated. For bug# 1676538
1310: -- update log file to indicate the total records being updated.
1311: --
1312: total_record_upd_count := SQL%ROWCOUNT;
1313: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1314: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1315: total_record_upd_count := 0;
1316: --
1317: -- update log file to indicate the table being updated. For bug# 1676538
1318: --
1315: total_record_upd_count := 0;
1316: --
1317: -- update log file to indicate the table being updated. For bug# 1676538
1318: --
1319: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1320: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_IMPLEMENTATIONS' );
1321: --
1322: -- update pa_implementations for customer_id (duplicate_id ).
1323: --
1316: --
1317: -- update log file to indicate the table being updated. For bug# 1676538
1318: --
1319: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1320: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_IMPLEMENTATIONS' );
1321: --
1322: -- update pa_implementations for customer_id (duplicate_id ).
1323: --
1324: IF g_audit_profile='Y' THEN
1378: --
1379: -- update log file to indicate the total records being updated.
1380: --
1381: total_record_upd_count := SQL%ROWCOUNT;
1382: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1383: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1384: total_record_upd_count := 0;
1385:
1386: /* Added by sbsivara for retention related tables */
1379: -- update log file to indicate the total records being updated.
1380: --
1381: total_record_upd_count := SQL%ROWCOUNT;
1382: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1383: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1384: total_record_upd_count := 0;
1385:
1386: /* Added by sbsivara for retention related tables */
1387: --
1386: /* Added by sbsivara for retention related tables */
1387: --
1388: -- update log file to indicate the table being updated. For bug# 1676538
1389: --
1390: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1391: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_RULES' );
1392: --
1393: -- update pa_proj_retn_rules for customer_id (duplicate_id ).
1394:
1387: --
1388: -- update log file to indicate the table being updated. For bug# 1676538
1389: --
1390: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1391: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_RULES' );
1392: --
1393: -- update pa_proj_retn_rules for customer_id (duplicate_id ).
1394:
1395: IF g_audit_profile='Y' THEN
1457: --
1458: -- update log file to indicate the total records being updated.
1459: --
1460: total_record_upd_count := SQL%ROWCOUNT;
1461: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1462: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1463: total_record_upd_count := 0;
1464:
1465: --
1458: -- update log file to indicate the total records being updated.
1459: --
1460: total_record_upd_count := SQL%ROWCOUNT;
1461: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1462: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1463: total_record_upd_count := 0;
1464:
1465: --
1466: -- update log file to indicate the table being updated. For bug# 1676538
1464:
1465: --
1466: -- update log file to indicate the table being updated. For bug# 1676538
1467: --
1468: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1469: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_BILL_RULES' );
1470: --
1471: -- update pa_proj_retn_bill_rules for customer_id (duplicate_id ).
1472: --
1465: --
1466: -- update log file to indicate the table being updated. For bug# 1676538
1467: --
1468: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1469: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_PROJ_RETN_BILL_RULES' );
1470: --
1471: -- update pa_proj_retn_bill_rules for customer_id (duplicate_id ).
1472: --
1473: IF g_audit_profile='Y' THEN
1535: --
1536: -- update log file to indicate the total records being updated.
1537: --
1538: total_record_upd_count := SQL%ROWCOUNT;
1539: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1540: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1541: total_record_upd_count := 0;
1542:
1543: --
1536: -- update log file to indicate the total records being updated.
1537: --
1538: total_record_upd_count := SQL%ROWCOUNT;
1539: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1540: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1541: total_record_upd_count := 0;
1542:
1543: --
1544: -- update log file to indicate the table being updated. For bug# 1676538
1542:
1543: --
1544: -- update log file to indicate the table being updated. For bug# 1676538
1545: --
1546: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1547: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_SUMMARY_PROJECT_RETN' );
1548: --
1549: -- update pa_summary_project_retn for customer_id (duplicate_id ).
1550: --
1543: --
1544: -- update log file to indicate the table being updated. For bug# 1676538
1545: --
1546: ARP_MESSAGE.SET_NAME( 'AR', 'AR_UPDATING_TABLE' );
1547: ARP_MESSAGE.SET_TOKEN( 'TABLE_NAME', 'PA_SUMMARY_PROJECT_RETN' );
1548: --
1549: -- update pa_summary_project_retn for customer_id (duplicate_id ).
1550: --
1551: IF g_audit_profile='Y' THEN
1616: --
1617: -- update log file to indicate the total records being updated.
1618: --
1619: total_record_upd_count := SQL%ROWCOUNT;
1620: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1621: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1622: total_record_upd_count := 0;
1623:
1624: /* END Added by sbsivara for retention related tables */
1617: -- update log file to indicate the total records being updated.
1618: --
1619: total_record_upd_count := SQL%ROWCOUNT;
1620: ARP_MESSAGE.SET_NAME( 'AR', 'AR_ROWS_UPDATED' );
1621: ARP_MESSAGE.SET_TOKEN( 'NUM_ROWS', TO_CHAR( total_record_upd_count ));
1622: total_record_upd_count := 0;
1623:
1624: /* END Added by sbsivara for retention related tables */
1625: --
1635: <
1636: --
1637: -- update log file to indicate the successful exit of this module.
1638: --
1639: ARP_MESSAGE.SET_LINE( 'PAP_CMERGE.MERGE()-' );
1640: --
1641: --
1642: EXCEPTION
1643:
1641: --
1642: EXCEPTION
1643:
1644: WHEN OTHERS THEN
1645: ARP_MESSAGE.SET_ERROR( 'PAP_CMERGE.MERGE' );
1646: RAISE;
1647:
1648: END MERGE;
1649: --