1216: | When in ERP Parties are merged the |
1217: | The Foriegn keys to party_id and other columns |
1218: | should also be updated in iStore tables. |
1219: | This procedure will update |
1220: | IBE_MSITE_PRTY_ACCSS table and will be called from party |
1221: | Merge concurrent program. |
1222: | DESCRIPTION |
1223: | |
1224: | REQUIRES |
1249: IS
1250:
1251: Cursor C1 is
1252: Select 'X' from
1253: IBE_MSITE_PRTY_ACCSS
1254: where party_id = p_from_fk_id
1255: for update nowait;
1256:
1257: CURSOR merge_records(p_party_id NUMBER) IS
1255: for update nowait;
1256:
1257: CURSOR merge_records(p_party_id NUMBER) IS
1258: Select a.msite_id, b.party_access_code
1259: From ibe_msite_prty_accss a, ibe_msites_b b
1260: Where party_id = p_party_id and a.msite_id=b.msite_id and b.site_type = 'I';
1261:
1262:
1263: l_msite_prty_accss_id IBE_MSITE_PRTY_ACCSS.MSITE_PRTY_ACCSS_ID%TYPE;
1259: From ibe_msite_prty_accss a, ibe_msites_b b
1260: Where party_id = p_party_id and a.msite_id=b.msite_id and b.site_type = 'I';
1261:
1262:
1263: l_msite_prty_accss_id IBE_MSITE_PRTY_ACCSS.MSITE_PRTY_ACCSS_ID%TYPE;
1264: l_merge_reason_code VARCHAR2(30);
1265: l_count NUMBER(10) := 0;
1266: RESOURCE_BUSY EXCEPTION;
1267: l_msite_id IBE_MSITE_PRTY_ACCSS.MSITE_ID%TYPE;
1263: l_msite_prty_accss_id IBE_MSITE_PRTY_ACCSS.MSITE_PRTY_ACCSS_ID%TYPE;
1264: l_merge_reason_code VARCHAR2(30);
1265: l_count NUMBER(10) := 0;
1266: RESOURCE_BUSY EXCEPTION;
1267: l_msite_id IBE_MSITE_PRTY_ACCSS.MSITE_ID%TYPE;
1268: l_party_access_code IBE_MSITES_B.PARTY_ACCESS_CODE%TYPE;
1269: PRAGMA EXCEPTION_INIT(RESOURCE_BUSY, -0054);
1270:
1271: Begin
1306: fetch merge_records into l_msite_id, l_party_access_code;
1307: EXIT When merge_records%NOTFOUND;
1308: Begin
1309: arp_message.set_name('AR', 'AR_UPDATING_TABLE');
1310: arp_message.set_token('TABLE_NAME', 'IBE_MSITE_PRTY_ACCSS', FALSE);
1311: arp_message.set_line('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; '||
1312: ' merging msite:'||l_msite_id||' both
1313: IBE_UTIL.debug('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; '||
1314: ' merging msite:'||l_msite_id||' both
1314: ' merging msite:'||l_msite_id||' both
1315:
1316: -- only merge when both
1317: -- and
1318: UPDATE IBE_MSITE_PRTY_ACCSS
1319: SET party_id = p_to_fk_id,
1320: last_update_date = hz_utility_pub.last_update_date,
1321: last_updated_by = hz_utility_pub.user_id,
1322: last_update_login = hz_utility_pub.last_update_login
1320: last_update_date = hz_utility_pub.last_update_date,
1321: last_updated_by = hz_utility_pub.user_id,
1322: last_update_login = hz_utility_pub.last_update_login
1323: Where party_id = p_from_fk_id and exists (
1324: select 1 from IBE_MSITE_PRTY_ACCSS a, IBE_MSITES_B b
1325: where party_id=p_to_fk_id and a.msite_id<>l_msite_id
1326: and a.msite_id = b.msite_id and b.party_access_code = l_party_access_code
1327: and b.site_type = 'I'
1328: );
1333:
1334: -- for a given msite, if
1335: -- then end_date
1336: if (SQL%NOTFOUND) then
1337: update IBE_MSITE_PRTY_ACCSS
1338: set END_DATE_ACTIVE = trunc(sysdate)
1339: where party_id = p_from_fk_id and msite_id=l_msite_id;
1340: end if;
1341:
1356: IBE_UTIL.debug('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS()-');
1357: Exception
1358: When RESOURCE_BUSY Then
1359: arp_message.set_line('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; Could not obtain lock'||
1360: 'on table IBE_MSITE_PRTY_ACCSS');
1361: IBE_UTIL.debug('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; Could not obtain lock'||
1362: 'on table IBE_MSITE_PRTY_ACCSS');
1363: x_return_status := FND_API.G_RET_STS_ERROR;
1364: raise;
1358: When RESOURCE_BUSY Then
1359: arp_message.set_line('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; Could not obtain lock'||
1360: 'on table IBE_MSITE_PRTY_ACCSS');
1361: IBE_UTIL.debug('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS; Could not obtain lock'||
1362: 'on table IBE_MSITE_PRTY_ACCSS');
1363: x_return_status := FND_API.G_RET_STS_ERROR;
1364: raise;
1365: When Others Then
1366: arp_message.set_line('IBE_MERGE_PVT.MERGE_MSITE_PARTY_ACCESS'||sqlerrm);