285: ;
286:
287: lp_proj NUMBER;
288: lp_task NUMBER;
289: l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
290: l_result VARCHAR2(1) := 'Y';
291:
292: l_api_name CONSTANT VARCHAR2(30) := 'DISASSOCIATION_ALLOWED';
293: l_api_version NUMBER := 1.0;
293: l_api_version NUMBER := 1.0;
294:
295: BEGIN
296:
297: l_return_status := OKE_API.START_ACTIVITY(
298: p_api_name => l_api_name,
299: p_pkg_name => g_pkg_name,
300: p_init_msg_list => p_init_msg_list,
301: l_api_version => l_api_version,
303: p_api_type => g_api_type,
304: x_return_status => l_return_status);
305:
306: -- check if activity started successfully
307: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
308: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
309: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
310: RAISE OKE_API.G_EXCEPTION_ERROR;
311: END IF;
304: x_return_status => l_return_status);
305:
306: -- check if activity started successfully
307: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
308: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
309: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
310: RAISE OKE_API.G_EXCEPTION_ERROR;
311: END IF;
312:
305:
306: -- check if activity started successfully
307: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
308: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
309: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
310: RAISE OKE_API.G_EXCEPTION_ERROR;
311: END IF;
312:
313: -- initialize return status
306: -- check if activity started successfully
307: IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
308: RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
309: ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
310: RAISE OKE_API.G_EXCEPTION_ERROR;
311: END IF;
312:
313: -- initialize return status
314: x_return_status := OKE_API.G_RET_STS_SUCCESS;
310: RAISE OKE_API.G_EXCEPTION_ERROR;
311: END IF;
312:
313: -- initialize return status
314: x_return_status := OKE_API.G_RET_STS_SUCCESS;
315:
316: -- get parent header/lines for all objects where subhierarchy of To_Project_ID is used
317: -- i.e. building a list of restricting objects
318: FOR c IN used_refs(To_Project_ID) LOOP
330: END LOOP;
331:
332: X_Result := l_result;
333:
334: OKE_API.END_ACTIVITY( x_msg_count => x_msg_count, x_msg_data => x_msg_data);
335:
336: EXCEPTION
337: WHEN OKE_API.G_EXCEPTION_ERROR THEN
338: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
333:
334: OKE_API.END_ACTIVITY( x_msg_count => x_msg_count, x_msg_data => x_msg_data);
335:
336: EXCEPTION
337: WHEN OKE_API.G_EXCEPTION_ERROR THEN
338: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
339: p_api_name => l_api_name,
340: p_pkg_name => g_pkg_name,
341: p_exc_name => 'OKE_API.G_RET_STS_ERROR',
334: OKE_API.END_ACTIVITY( x_msg_count => x_msg_count, x_msg_data => x_msg_data);
335:
336: EXCEPTION
337: WHEN OKE_API.G_EXCEPTION_ERROR THEN
338: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
339: p_api_name => l_api_name,
340: p_pkg_name => g_pkg_name,
341: p_exc_name => 'OKE_API.G_RET_STS_ERROR',
342: x_msg_count => x_msg_count,
337: WHEN OKE_API.G_EXCEPTION_ERROR THEN
338: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
339: p_api_name => l_api_name,
340: p_pkg_name => g_pkg_name,
341: p_exc_name => 'OKE_API.G_RET_STS_ERROR',
342: x_msg_count => x_msg_count,
343: x_msg_data => x_msg_data,
344: p_api_type => g_api_type);
345:
342: x_msg_count => x_msg_count,
343: x_msg_data => x_msg_data,
344: p_api_type => g_api_type);
345:
346: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
347: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
348: p_api_name => l_api_name,
349: p_pkg_name => g_pkg_name,
350: p_exc_name => 'OKE_API.G_RET_STS_UNEXP_ERROR',
343: x_msg_data => x_msg_data,
344: p_api_type => g_api_type);
345:
346: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
347: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
348: p_api_name => l_api_name,
349: p_pkg_name => g_pkg_name,
350: p_exc_name => 'OKE_API.G_RET_STS_UNEXP_ERROR',
351: x_msg_count => x_msg_count,
346: WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
347: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
348: p_api_name => l_api_name,
349: p_pkg_name => g_pkg_name,
350: p_exc_name => 'OKE_API.G_RET_STS_UNEXP_ERROR',
351: x_msg_count => x_msg_count,
352: x_msg_data => x_msg_data,
353: p_api_type => g_api_type);
354:
352: x_msg_data => x_msg_data,
353: p_api_type => g_api_type);
354:
355: WHEN OTHERS THEN
356: x_return_status := OKE_API.HANDLE_EXCEPTIONS(
357: p_api_name => l_api_name,
358: p_pkg_name => g_pkg_name,
359: p_exc_name => 'OTHERS',
360: x_msg_count => x_msg_count,