[Home] [Help]
1313: hz_utility_v2pub.debug(p_message=>'Single Party Scenario',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1314: END IF;
1315: IF p_search_rel_sites = 'N' THEN
1316: OPEN x_cursor FOR
1317: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1318: FROM HZ_STAGED_PARTY_SITES stage
1319: WHERE contains( concat_col, p_contains_str)>0
1320: AND( (l_search_merged ='Y' )
1321: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1314: END IF;
1315: IF p_search_rel_sites = 'N' THEN
1316: OPEN x_cursor FOR
1317: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1318: FROM HZ_STAGED_PARTY_SITES stage
1319: WHERE contains( concat_col, p_contains_str)>0
1320: AND( (l_search_merged ='Y' )
1321: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1322: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1322: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1323: AND stage.party_id = p_party_id;
1324: ELSE
1325: OPEN x_cursor FOR
1326: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1327: FROM HZ_STAGED_PARTY_SITES stage
1328: WHERE contains( concat_col, p_contains_str)>0
1329: AND( (l_search_merged ='Y' )
1330: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1323: AND stage.party_id = p_party_id;
1324: ELSE
1325: OPEN x_cursor FOR
1326: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1327: FROM HZ_STAGED_PARTY_SITES stage
1328: WHERE contains( concat_col, p_contains_str)>0
1329: AND( (l_search_merged ='Y' )
1330: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1331: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1330: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1331: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1332: AND stage.party_id = p_party_id
1333: UNION
1334: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID
1335: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1336: WHERE contains( concat_col, p_contains_str)>0
1337: AND( (l_search_merged ='Y' )
1338: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1331: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1332: AND stage.party_id = p_party_id
1333: UNION
1334: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID
1335: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1336: WHERE contains( concat_col, p_contains_str)>0
1337: AND( (l_search_merged ='Y' )
1338: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1339: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1353: hz_utility_v2pub.debug(p_message=>'Search context id is null',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1354: END IF;
1355: OPEN x_cursor FOR
1356: SELECT PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1357: FROM HZ_STAGED_PARTY_SITES stage
1358: WHERE contains( concat_col, p_contains_str)>0
1359: AND EXISTS (
1360: SELECT 1 FROM HZ_STAGED_PARTIES p
1361: WHERE p.PARTY_ID = stage.PARTY_ID
1372: hz_utility_v2pub.debug(p_message=>'Search context id is not null',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1373: END IF;
1374: IF p_person_api = 'Y' THEN
1375: OPEN x_cursor FOR
1376: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1377: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1378: WHERE contains( concat_col, p_contains_str)>0
1379: AND( (l_search_merged ='Y' )
1380: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1373: END IF;
1374: IF p_person_api = 'Y' THEN
1375: OPEN x_cursor FOR
1376: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1377: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1378: WHERE contains( concat_col, p_contains_str)>0
1379: AND( (l_search_merged ='Y' )
1380: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1381: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1382: AND d.search_context_id = p_search_ctx_id
1383: AND d.party_id = stage.party_id
1384: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1385: UNION
1386: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID
1387: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1388: WHERE contains( concat_col, p_contains_str)>0
1389: AND( (l_search_merged ='Y' )
1390: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1383: AND d.party_id = stage.party_id
1384: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1385: UNION
1386: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID
1387: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1388: WHERE contains( concat_col, p_contains_str)>0
1389: AND( (l_search_merged ='Y' )
1390: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1391: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1395: AND oc.org_contact_id = stage.org_contact_id
1396: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1397: ELSE
1398: OPEN x_cursor FOR
1399: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1400: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1401: WHERE contains( concat_col, p_contains_str)>0
1402: AND( (l_search_merged ='Y' )
1403: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1396: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1397: ELSE
1398: OPEN x_cursor FOR
1399: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1400: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1401: WHERE contains( concat_col, p_contains_str)>0
1402: AND( (l_search_merged ='Y' )
1403: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1404: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1416: IF (l_check_dt > 0 ) THEN
1417: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1418: hz_utility_v2pub.debug(p_message=>'Restrict sql has the selective_ps hint',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1419: END IF;
1420: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_U1) */';
1421: ELSIF (l_check > 0 ) THEN
1422: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1423: hz_utility_v2pub.debug(p_message=>'Restrict sql has the selective hint',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1424: END IF;
1421: ELSIF (l_check > 0 ) THEN
1422: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1423: hz_utility_v2pub.debug(p_message=>'Restrict sql has the selective hint',p_module_prefix=>'dqm',p_module=>'hz_match_rule_xxx',p_prefix=>NULL,p_msg_level=>fnd_log.level_statement);
1424: END IF;
1425: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */';
1426: END IF;
1427: IF l_search_merged = 'Y' THEN
1428: l_status_sql := ' ' ;
1429: ELSIF l_search_merged = 'I' THEN
1440: p_restrict_sql1 := replace( p_restrict_sql, 'stage.', 'stage1.');
1441: ELSE
1442: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1443: END IF;
1444: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1445: ' FROM HZ_STAGED_PARTY_SITES stage'||
1446: ' WHERE contains( concat_col, :cont)>0'||
1447: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1448: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1441: ELSE
1442: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1443: END IF;
1444: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1445: ' FROM HZ_STAGED_PARTY_SITES stage'||
1446: ' WHERE contains( concat_col, :cont)>0'||
1447: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1448: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1449: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1450: ' AND (ORG_CONTACT_ID IS NULL ' ||
1451: ' AND ('||p_restrict_sql||'))' ||
1452: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1453: ' UNION ' ||
1454: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1455: ' FROM HZ_STAGED_PARTY_SITES stage'||
1456: ' WHERE contains( concat_col, :cont)>0'||
1457: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1458: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1451: ' AND ('||p_restrict_sql||'))' ||
1452: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1453: ' UNION ' ||
1454: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1455: ' FROM HZ_STAGED_PARTY_SITES stage'||
1456: ' WHERE contains( concat_col, :cont)>0'||
1457: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1458: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1459: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1466: OPEN x_cursor FOR l_sqlstr USING p_contains_str,
1467: p_dup_party_id, p_dup_party_id, p_contains_str, p_dup_party_id, p_dup_party_id;
1468: ELSE
1469: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1470: ' FROM HZ_STAGED_PARTY_SITES stage'||
1471: ' WHERE contains( concat_col, :cont)>0'||
1472: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1473: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1474: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1483: ,p_dup_party_id, p_dup_party_id;
1484: END IF;
1485: ELSE
1486: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1487: ' FROM HZ_STAGED_PARTY_SITES stage'||
1488: ' WHERE contains( concat_col, :cont)>0'||
1489: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1490: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1491: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||