[Home] [Help]
1440: 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);
1441: END IF;
1442: IF p_search_rel_sites = 'N' THEN
1443: OPEN x_cursor FOR
1444: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1445: FROM HZ_STAGED_PARTY_SITES stage
1446: WHERE contains( concat_col, p_contains_str)>0
1447: AND( (l_search_merged ='Y' )
1448: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1441: END IF;
1442: IF p_search_rel_sites = 'N' THEN
1443: OPEN x_cursor FOR
1444: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1445: FROM HZ_STAGED_PARTY_SITES stage
1446: WHERE contains( concat_col, p_contains_str)>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') )
1449: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1450: AND stage.party_id = p_party_id;
1451: ELSE
1452: OPEN x_cursor FOR
1453: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1454: FROM HZ_STAGED_PARTY_SITES stage
1455: WHERE contains( concat_col, p_contains_str)>0
1456: AND( (l_search_merged ='Y' )
1457: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1450: AND stage.party_id = p_party_id;
1451: ELSE
1452: OPEN x_cursor FOR
1453: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1454: FROM HZ_STAGED_PARTY_SITES stage
1455: WHERE contains( concat_col, p_contains_str)>0
1456: AND( (l_search_merged ='Y' )
1457: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1458: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1457: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1458: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1459: AND stage.party_id = p_party_id
1460: UNION
1461: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID, TX3, TX4, TX11
1462: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1463: WHERE contains( concat_col, p_contains_str)>0
1464: AND( (l_search_merged ='Y' )
1465: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1458: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1459: AND stage.party_id = p_party_id
1460: UNION
1461: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID, TX3, TX4, TX11
1462: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1463: WHERE contains( concat_col, p_contains_str)>0
1464: AND( (l_search_merged ='Y' )
1465: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1466: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1480: 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);
1481: END IF;
1482: OPEN x_cursor FOR
1483: SELECT PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1484: FROM HZ_STAGED_PARTY_SITES stage
1485: WHERE contains( concat_col, p_contains_str)>0
1486: AND EXISTS (
1487: SELECT 1 FROM HZ_STAGED_PARTIES p
1488: WHERE p.PARTY_ID = stage.PARTY_ID
1499: 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);
1500: END IF;
1501: IF p_person_api = 'Y' THEN
1502: OPEN x_cursor FOR
1503: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1504: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1505: WHERE contains( concat_col, p_contains_str)>0
1506: AND( (l_search_merged ='Y' )
1507: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1500: END IF;
1501: IF p_person_api = 'Y' THEN
1502: OPEN x_cursor FOR
1503: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1504: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1505: WHERE contains( concat_col, p_contains_str)>0
1506: AND( (l_search_merged ='Y' )
1507: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1508: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1509: AND d.search_context_id = p_search_ctx_id
1510: AND d.party_id = stage.party_id
1511: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1512: UNION
1513: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID, TX3, TX4, TX11
1514: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1515: WHERE contains( concat_col, p_contains_str)>0
1516: AND( (l_search_merged ='Y' )
1517: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1510: AND d.party_id = stage.party_id
1511: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1512: UNION
1513: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID, TX3, TX4, TX11
1514: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1515: WHERE contains( concat_col, p_contains_str)>0
1516: AND( (l_search_merged ='Y' )
1517: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1518: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1522: AND oc.org_contact_id = stage.org_contact_id
1523: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1524: ELSE
1525: OPEN x_cursor FOR
1526: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1527: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1528: WHERE contains( concat_col, p_contains_str)>0
1529: AND( (l_search_merged ='Y' )
1530: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1523: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1524: ELSE
1525: OPEN x_cursor FOR
1526: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID, TX3, TX4, TX11
1527: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1528: WHERE contains( concat_col, p_contains_str)>0
1529: AND( (l_search_merged ='Y' )
1530: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1531: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1543: IF (l_check_dt > 0 ) THEN
1544: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1545: 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);
1546: END IF;
1547: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_U1) */';
1548: ELSIF (l_check > 0 ) THEN
1549: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1550: 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);
1551: END IF;
1548: ELSIF (l_check > 0 ) THEN
1549: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1550: 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);
1551: END IF;
1552: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */';
1553: END IF;
1554: IF l_search_merged = 'Y' THEN
1555: l_status_sql := ' ' ;
1556: ELSIF l_search_merged = 'I' THEN
1567: p_restrict_sql1 := replace( p_restrict_sql, 'stage.', 'stage1.');
1568: ELSE
1569: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1570: END IF;
1571: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1572: ' FROM HZ_STAGED_PARTY_SITES stage'||
1573: ' WHERE contains( concat_col, :cont)>0'||
1574: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1575: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1568: ELSE
1569: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1570: END IF;
1571: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1572: ' FROM HZ_STAGED_PARTY_SITES stage'||
1573: ' WHERE contains( concat_col, :cont)>0'||
1574: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1575: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1576: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1577: ' AND (ORG_CONTACT_ID IS NULL ' ||
1578: ' AND ('||p_restrict_sql||'))' ||
1579: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1580: ' UNION ' ||
1581: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1582: ' FROM HZ_STAGED_PARTY_SITES stage'||
1583: ' WHERE contains( concat_col, :cont)>0'||
1584: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1585: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1578: ' AND ('||p_restrict_sql||'))' ||
1579: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1580: ' UNION ' ||
1581: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1582: ' FROM HZ_STAGED_PARTY_SITES stage'||
1583: ' WHERE contains( concat_col, :cont)>0'||
1584: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1585: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1586: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1593: OPEN x_cursor FOR l_sqlstr USING p_contains_str,
1594: p_dup_party_id, p_dup_party_id, p_contains_str, p_dup_party_id, p_dup_party_id;
1595: ELSE
1596: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1597: ' FROM HZ_STAGED_PARTY_SITES stage'||
1598: ' WHERE contains( concat_col, :cont)>0'||
1599: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1600: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1601: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1610: ,p_dup_party_id, p_dup_party_id;
1611: END IF;
1612: ELSE
1613: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID , TX3, TX4, TX11'||
1614: ' FROM HZ_STAGED_PARTY_SITES stage'||
1615: ' WHERE contains( concat_col, :cont)>0'||
1616: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1617: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1618: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||