[Home] [Help]
488: WHERE request_id = p_request_id
489: AND customer_merge_header_id = p_customer_merge_header_id
490: ;
491:
492: UPDATE ra_customer_merge_headers
493: SET process_flag = 'FAILED',merge_fail_msg = p_error_text
494: WHERE request_id = p_request_id
495: AND customer_merge_header_id = p_customer_merge_header_id
496: ;
1008: ) IS
1009:
1010: CURSOR c_requests(c_priority varchar2) IS
1011: SELECT distinct request_id, process_flag
1012: FROM ra_customer_merge_headers
1013: WHERE process_flag IN ('PROCESSING', 'N')
1014: AND priority = c_priority;
1015:
1016: l_request_id NUMBER;
1023: l_conc_dev_phase VARCHAR2(30);
1024: l_conc_dev_status VARCHAR2(30);
1025: l_message VARCHAR2(240);
1026: --3897822
1027: TYPE customer_merge_header_id_tab IS TABLE OF RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE INDEX BY BINARY_INTEGER;
1028: TYPE process_flag_tab IS TABLE OF RA_CUSTOMER_MERGE_HEADERS.PROCESS_FLAG%TYPE INDEX BY BINARY_INTEGER;
1029: l_header_id_t customer_merge_header_id_tab;
1030: l_process_flag_t process_flag_tab;
1031: BEGIN
1024: l_conc_dev_status VARCHAR2(30);
1025: l_message VARCHAR2(240);
1026: --3897822
1027: TYPE customer_merge_header_id_tab IS TABLE OF RA_CUSTOMER_MERGE_HEADERS.CUSTOMER_MERGE_HEADER_ID%TYPE INDEX BY BINARY_INTEGER;
1028: TYPE process_flag_tab IS TABLE OF RA_CUSTOMER_MERGE_HEADERS.PROCESS_FLAG%TYPE INDEX BY BINARY_INTEGER;
1029: l_header_id_t customer_merge_header_id_tab;
1030: l_process_flag_t process_flag_tab;
1031: BEGIN
1032:
1103: IF p_process_flag = 'SAVED' THEN
1104: --3897822
1105: SELECT customer_merge_header_id, process_flag
1106: BULK COLLECT INTO l_header_id_t,l_process_flag_t
1107: FROM ra_customer_merge_headers mh
1108: WHERE process_flag IN ('PROCESSING', 'N')
1109: AND priority = p_priority;
1110:
1111: OPEN c_requests(p_priority);
1135: l_pickup := TRUE;
1136: END IF;
1137:
1138: IF l_pickup THEN
1139: UPDATE ra_customer_merge_headers
1140: SET process_flag = l_new_process_flag
1141: WHERE request_id = l_request_id
1142: AND process_flag = l_process_flag
1143: AND priority = p_priority; --3897822
1142: AND process_flag = l_process_flag
1143: AND priority = p_priority; --3897822
1144: END IF;
1145: ELSE
1146: UPDATE ra_customer_merge_headers
1147: SET process_flag = l_new_process_flag
1148: WHERE request_id IS NULL
1149: AND process_flag = l_process_flag
1150: AND priority = p_priority; --3897822
1152: END LOOP;
1153: CLOSE c_requests;
1154:
1155: ELSIF p_process_flag = 'FAILED' THEN
1156: UPDATE ra_customer_merge_headers
1157: SET process_flag = l_new_process_flag
1158: WHERE process_flag LIKE 'ERROR%';
1159: END IF;
1160:
1158: WHERE process_flag LIKE 'ERROR%';
1159: END IF;
1160:
1161: IF p_merge_rule = 'OLD' THEN
1162: UPDATE ra_customer_merge_headers
1163: SET process_flag = l_new_process_flag
1164: WHERE process_flag = p_process_flag;
1165: END IF;
1166:
1164: WHERE process_flag = p_process_flag;
1165: END IF;
1166:
1167: IF p_process_flag<> 'PROCESSING' THEN
1168: UPDATE ra_customer_merge_headers mh
1169: SET request_id = req_id ,
1170: merge_fail_msg = null
1171: WHERE process_flag = l_new_process_flag
1172: --Start of SSUptake
1190: AND m.duplicate_address_id = -1)
1191: )
1192: AND customer_merge_header_id in (SELECT customer_merge_header_id --3897822
1193: FROM (SELECT customer_merge_header_id
1194: FROM ra_customer_merge_headers
1195: WHERE process_flag = l_new_process_flag
1196: AND priority = p_priority
1197: ORDER BY last_update_date)
1198: WHERE ROWNUM <= p_number_of_merges)
1198: WHERE ROWNUM <= p_number_of_merges)
1199: AND mh.priority = p_priority;
1200:
1201: FORALL i IN 1..l_header_id_t.count
1202: UPDATE ra_customer_merge_headers mh
1203: SET process_flag = l_process_flag_t(i)
1204: WHERE request_id <> req_id
1205: AND mh.customer_merge_header_id = l_header_id_t(i);
1206: END IF;
1209:
1210: --Bug 1725662: Set request_id from ra_customer_merges. Rewrite sql to
1211: --use index.
1212:
1213: UPDATE ra_customer_merge_headers mh
1214: SET process_flag = 'Y'
1215: WHERE request_id = req_id
1216: AND process_flag = l_new_process_flag
1217: AND priority = p_priority --3897822
1225: UPDATE ra_customer_merges m
1226: SET (request_id,
1227: process_flag) = (
1228: SELECT mh.request_id, mh.process_flag
1229: FROM ra_customer_merge_headers mh
1230: WHERE mh.customer_merge_header_id = m.customer_merge_header_id
1231: AND mh.process_flag = l_new_process_flag )
1232: WHERE m.customer_merge_header_id IN (
1233: SELECT mh.customer_merge_header_id
1230: WHERE mh.customer_merge_header_id = m.customer_merge_header_id
1231: AND mh.process_flag = l_new_process_flag )
1232: WHERE m.customer_merge_header_id IN (
1233: SELECT mh.customer_merge_header_id
1234: FROM ra_customer_merge_headers mh
1235: WHERE mh.process_flag = l_new_process_flag
1236: AND request_id = req_id
1237: AND mh.priority = p_priority); --3897822
1238:
1370: Columns will be changed correspondingly.
1371: */
1372:
1373: --Bug 1725662: rewrite query to use index on
1374: --ra_customer_merge_headers.(request_id, process_flag);
1375:
1376: SELECT su.site_use_id site_use_id,
1377: mh.duplicate_id duplicate_id
1378: FROM hz_cust_acct_sites addr,
1376: SELECT su.site_use_id site_use_id,
1377: mh.duplicate_id duplicate_id
1378: FROM hz_cust_acct_sites addr,
1379: hz_cust_site_uses su,
1380: ra_customer_merge_headers mh
1381: WHERE mh.request_id = req_id
1382: AND mh.process_flag = p_process_flag
1383: AND (mh.org_id = -1 OR (mh.org_id <> -1 AND addr.org_id = mh.org_id)) --SSUptake
1384: AND mh.duplicate_id <> mh.customer_id
1448:
1449: --Bug 1725662: Add the following sql to save performance in
1450: --clear_error_merge_rows.
1451:
1452: UPDATE ra_customer_merge_headers
1453: SET process_flag = 'ERROR 1'
1454: WHERE duplicate_id = missing_sites.duplicate_id
1455: AND request_id = req_id
1456: AND process_flag = p_process_flag;
1473:
1474: --Bug 1725662: Add the following sql to save performance in
1475: --clear_error_merge_rows.
1476:
1477: UPDATE ra_customer_merge_headers
1478: SET process_flag = 'ERROR 2'
1479: WHERE duplicate_id = invalid_merges.duplicate_id
1480: AND request_id = req_id
1481: AND process_flag = p_process_flag;
1768:
1769: --Bug 1519688: Do not need to set request_id.
1770: --Bug 1725662: replace 'EXISTS' with 'IN' to use index.
1771:
1772: UPDATE ra_customer_merge_headers mh
1773: SET (process_flag,
1774: -- request_id,
1775: last_update_date,
1776: last_updated_by,
1878: AND set_number = set_num
1879: AND process_flag = p_process_flag;
1880:
1881:
1882: UPDATE ra_customer_merge_headers mh
1883: SET (process_flag,
1884: last_update_date,
1885: last_updated_by,
1886: last_update_login,
1934: --reset merge header table.
1935:
1936: --Bug 1725662: replace 'EXISTS' with 'IN' to use index.
1937:
1938: UPDATE ra_customer_merge_headers mh
1939: SET (process_flag,
1940: last_update_date,
1941: last_updated_by,
1942: last_update_login,
2021: --to pick it up next time.
2022:
2023: --Bug 1725662: rewrite query to use new index.
2024:
2025: UPDATE ra_customer_merge_headers
2026: SET process_flag = decode(process_flag,
2027: 'ERROR 1', 'FAILED',
2028: 'ERROR 2', 'FAILED'),
2029: -- request_id = null,
2051: mh.last_update_login,
2052: mh.program_application_id,
2053: mh.program_id,
2054: sysdate
2055: FROM ra_customer_merge_headers mh
2056: WHERE mh.request_id = req_id
2057: AND mh.process_flag = 'FAILED'
2058: AND mh.customer_merge_header_id =
2059: m.customer_merge_header_id
2059: m.customer_merge_header_id
2060: AND ROWNUM = 1)
2061: WHERE m.customer_merge_header_id IN (
2062: SELECT mh.customer_merge_header_id
2063: FROM ra_customer_merge_headers mh
2064: WHERE mh.request_id = req_id
2065: AND mh.process_flag = 'FAILED' )
2066: AND process_flag in ('ERROR 1', 'ERROR 2');
2067:
2318: AND m.set_number = set_num
2319: AND part_delete = 'N'; --5747129
2320:
2321: /*--Also unset the delete duplicate flag in merge header table --*/
2322: UPDATE ra_customer_merge_headers
2323: SET delete_duplicate_flag = 'N'
2324: WHERE customer_merge_header_id in
2325: (select customer_merge_header_id
2326: from ra_customer_merges m
2512: /* ---Profile amts in ar_cpa are not getting Inactivated
2513: ---so delete duplicate flag in merge table can handle that */
2514:
2515: ---Updating the column MERGE_FAIL_MSG with veto reason
2516: UPDATE RA_CUSTOMER_MERGE_HEADERS
2517: SET MERGE_FAIL_MSG= veto_reason
2518: WHERE customer_merge_header_id in
2519: (select customer_merge_header_id
2520: from ra_customer_merges m
2522: AND m.process_flag = 'N'
2523: AND m.request_id = req_id
2524: AND m.set_number = set_num);
2525:
2526: arp_message.set_line( SQL%ROWCOUNT || ' '|| 'Rows updated in RA_CUSTOMER_MERGE_HEADERS with veto reason :' ||' '|| veto_reason );
2527:
2528: arp_message.set_line( 'ARP_CMERGE_MASTER.Veto_Delete()-' );
2529:
2530: END veto_delete;
2535: l_list WF_PARAMETER_LIST_T;
2536: l_header_id NUMBER;
2537: CURSOR merges IS
2538: SELECT customer_merge_header_id
2539: FROM ra_customer_merge_headers
2540: WHERE request_id = p_req_id
2541: AND process_flag = 'Y';
2542: BEGIN
2543: arp_message.set_line( 'ARP_CMERGE_MASTER.raise_events() +');