[Home] [Help]
1207: 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);
1208: END IF;
1209: IF p_search_rel_sites = 'N' THEN
1210: OPEN x_cursor FOR
1211: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1212: FROM HZ_STAGED_PARTY_SITES stage
1213: WHERE contains( concat_col, p_contains_str)>0
1214: AND( (l_search_merged ='Y' )
1215: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1208: END IF;
1209: IF p_search_rel_sites = 'N' THEN
1210: OPEN x_cursor FOR
1211: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1212: FROM HZ_STAGED_PARTY_SITES stage
1213: WHERE contains( concat_col, p_contains_str)>0
1214: AND( (l_search_merged ='Y' )
1215: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1216: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1216: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1217: AND stage.party_id = p_party_id;
1218: ELSE
1219: OPEN x_cursor FOR
1220: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1221: FROM HZ_STAGED_PARTY_SITES stage
1222: WHERE contains( concat_col, p_contains_str)>0
1223: AND( (l_search_merged ='Y' )
1224: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1217: AND stage.party_id = p_party_id;
1218: ELSE
1219: OPEN x_cursor FOR
1220: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1221: FROM HZ_STAGED_PARTY_SITES stage
1222: WHERE contains( concat_col, p_contains_str)>0
1223: AND( (l_search_merged ='Y' )
1224: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1225: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1224: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1225: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1226: AND stage.party_id = p_party_id
1227: UNION
1228: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID
1229: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1230: WHERE contains( concat_col, p_contains_str)>0
1231: AND( (l_search_merged ='Y' )
1232: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1225: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1226: AND stage.party_id = p_party_id
1227: UNION
1228: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, stage.PARTY_ID, stage.ORG_CONTACT_ID
1229: FROM HZ_STAGED_PARTY_SITES stage, hz_relationships r, hz_org_contacts oc
1230: WHERE contains( concat_col, p_contains_str)>0
1231: AND( (l_search_merged ='Y' )
1232: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1233: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1247: 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);
1248: END IF;
1249: OPEN x_cursor FOR
1250: SELECT PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID
1251: FROM HZ_STAGED_PARTY_SITES stage
1252: WHERE contains( concat_col, p_contains_str)>0
1253: AND EXISTS (
1254: SELECT 1 FROM HZ_STAGED_PARTIES p
1255: WHERE p.PARTY_ID = stage.PARTY_ID
1266: 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);
1267: END IF;
1268: IF p_person_api = 'Y' THEN
1269: OPEN x_cursor FOR
1270: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1271: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1272: WHERE contains( concat_col, p_contains_str)>0
1273: AND( (l_search_merged ='Y' )
1274: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1267: END IF;
1268: IF p_person_api = 'Y' THEN
1269: OPEN x_cursor FOR
1270: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1271: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1272: WHERE contains( concat_col, p_contains_str)>0
1273: AND( (l_search_merged ='Y' )
1274: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1275: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1276: AND d.search_context_id = p_search_ctx_id
1277: AND d.party_id = stage.party_id
1278: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1279: UNION
1280: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID
1281: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1282: WHERE contains( concat_col, p_contains_str)>0
1283: AND( (l_search_merged ='Y' )
1284: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1277: AND d.party_id = stage.party_id
1278: AND (p_dup_party_id IS NULL OR stage.party_id <> p_dup_party_id)
1279: UNION
1280: SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ stage.PARTY_SITE_ID, r.subject_id, stage.ORG_CONTACT_ID
1281: FROM HZ_DQM_PARTIES_GT d, hz_relationships r,hz_org_contacts oc, HZ_STAGED_PARTY_SITES stage
1282: WHERE contains( concat_col, p_contains_str)>0
1283: AND( (l_search_merged ='Y' )
1284: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1285: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1289: AND oc.org_contact_id = stage.org_contact_id
1290: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1291: ELSE
1292: OPEN x_cursor FOR
1293: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1294: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1295: WHERE contains( concat_col, p_contains_str)>0
1296: AND( (l_search_merged ='Y' )
1297: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1290: AND (p_dup_party_id IS NULL OR r.subject_id <> p_dup_party_id);
1291: ELSE
1292: OPEN x_cursor FOR
1293: SELECT /*+ ORDERED INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, stage.PARTY_ID, ORG_CONTACT_ID
1294: FROM HZ_DQM_PARTIES_GT d, HZ_STAGED_PARTY_SITES stage
1295: WHERE contains( concat_col, p_contains_str)>0
1296: AND( (l_search_merged ='Y' )
1297: OR (l_search_merged = 'I' AND nvl(stage.status_flag, 'A') in ('A', 'I'))
1298: OR (l_search_merged = 'N' AND nvl(stage.status_flag, 'A') = 'A') )
1310: IF (l_check_dt > 0 ) THEN
1311: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1312: 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);
1313: END IF;
1314: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_U1) */';
1315: ELSIF (l_check > 0 ) THEN
1316: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1317: 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);
1318: END IF;
1315: ELSIF (l_check > 0 ) THEN
1316: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1317: 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);
1318: END IF;
1319: l_hint := '/*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */';
1320: END IF;
1321: IF l_search_merged = 'Y' THEN
1322: l_status_sql := ' ' ;
1323: ELSIF l_search_merged = 'I' THEN
1334: p_restrict_sql1 := replace( p_restrict_sql, 'stage.', 'stage1.');
1335: ELSE
1336: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1337: END IF;
1338: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1339: ' FROM HZ_STAGED_PARTY_SITES stage'||
1340: ' WHERE contains( concat_col, :cont)>0'||
1341: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1342: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1335: ELSE
1336: p_restrict_sql1 := 'stage1.'||p_restrict_sql;
1337: END IF;
1338: l_sqlstr := 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N1) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1339: ' FROM HZ_STAGED_PARTY_SITES stage'||
1340: ' WHERE contains( concat_col, :cont)>0'||
1341: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1342: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1343: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1344: ' AND (ORG_CONTACT_ID IS NULL ' ||
1345: ' AND ('||p_restrict_sql||'))' ||
1346: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1347: ' UNION ' ||
1348: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1349: ' FROM HZ_STAGED_PARTY_SITES stage'||
1350: ' WHERE contains( concat_col, :cont)>0'||
1351: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1352: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1345: ' AND ('||p_restrict_sql||'))' ||
1346: ' AND (:p_dup IS NULL OR stage.party_id <> :p_dup) ' ||
1347: ' UNION ' ||
1348: 'SELECT /*+ INDEX(stage HZ_STAGED_PARTY_SITES_N2) */ PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1349: ' FROM HZ_STAGED_PARTY_SITES stage'||
1350: ' WHERE contains( concat_col, :cont)>0'||
1351: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1352: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1353: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1360: OPEN x_cursor FOR l_sqlstr USING p_contains_str,
1361: p_dup_party_id, p_dup_party_id, p_contains_str, p_dup_party_id, p_dup_party_id;
1362: ELSE
1363: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1364: ' FROM HZ_STAGED_PARTY_SITES stage'||
1365: ' WHERE contains( concat_col, :cont)>0'||
1366: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1367: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1368: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||
1377: ,p_dup_party_id, p_dup_party_id;
1378: END IF;
1379: ELSE
1380: l_sqlstr := 'SELECT ' || l_hint ||' PARTY_SITE_ID, PARTY_ID, ORG_CONTACT_ID '||
1381: ' FROM HZ_STAGED_PARTY_SITES stage'||
1382: ' WHERE contains( concat_col, :cont)>0'||
1383: ' AND( ('''||l_search_merged||''' =''Y'' ) '||
1384: ' OR ('''||l_search_merged||''' = ''I'' AND nvl(stage.status_flag, ''A'') in (''A'', ''I'')) '||
1385: ' OR ('''||l_search_merged||''' = ''N'' AND nvl(stage.status_flag, ''A'') = ''A'') ) '||