141: l_src_task_id:= p_task_id;
142: l_dest_proj_id:=p_project_id;
143: IF ((l_dest_proj_id = PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) OR
144: (l_dest_proj_id IS NULL)) THEN
145: PA_UTILS.ADD_MESSAGE( 'PA', 'PA_PS_DEST_PROJ_NULL');
146: RAISE FND_API.G_EXC_ERROR;
147: END IF;
148: --
149: OPEN IS_CC_PRVDR(p_project_id);
160: --
161: OPEN get_src_task_det(p_task_id);
162: FETCH get_src_task_det INTO l_src_task_det_rec;
163: IF get_src_task_det%NOTFOUND THEN
164: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
165: x_return_status := FND_API.G_RET_STS_ERROR;
166: END IF;
167: CLOSE get_src_task_det;
168: PA_PROJ_ELEMENTS_UTILS.Project_Name_Or_Id(
181: END IF;
182: -- added for Bug: 4537865
183:
184: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
185: PA_UTILS.ADD_MESSAGE( 'PA', l_error_msg_code);
186: x_return_status := FND_API.G_RET_STS_ERROR;
187: END IF;
188: --
189: /* Find owning project id */
195: CLOSE get_owning_project_id;
196: --
197: IF (l_owning_proj_id is NULL) THEN
198: /* Selected task does not belong to a valid project */
199: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
200: x_return_status := FND_API.G_RET_STS_ERROR;
201: ELSE
202: /* call table handler */
203: /*pa_object_relationships_pkg.insert_row(
281: END IF;
282: END IF;
283: --
284: IF (x_return_status = 'W') THEN
285: PA_UTILS.Add_Message('PA','PA_STRUCT_DATE_WARNING');
286: END IF;
287: --
288: ELSE
289: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
285: PA_UTILS.Add_Message('PA','PA_STRUCT_DATE_WARNING');
286: END IF;
287: --
288: ELSE
289: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
290: END IF; /* End Date warning check */
291: --
292: END IF; /* End Create Relationship */
293: ELSE
290: END IF; /* End Date warning check */
291: --
292: END IF; /* End Create Relationship */
293: ELSE
294: PA_UTILS.Add_Message('PA','PA_STRUCT_PJ_EXT_IN_STRUCT');
295: x_return_status := FND_API.G_RET_STS_ERROR;
296: END IF;
297: ELSE
298: PA_UTILS.Add_Message('PA','PA_STRUCT_PROJ_BILLABLE');
294: PA_UTILS.Add_Message('PA','PA_STRUCT_PJ_EXT_IN_STRUCT');
295: x_return_status := FND_API.G_RET_STS_ERROR;
296: END IF;
297: ELSE
298: PA_UTILS.Add_Message('PA','PA_STRUCT_PROJ_BILLABLE');
299: x_return_status := FND_API.G_RET_STS_ERROR;
300: END IF;
301: --
302: x_msg_count := FND_MSG_PUB.Count_Msg;
472: IF p_task_id IS NOT NULL THEN
473: OPEN get_src_task_det(p_task_id);
474: FETCH get_src_task_det INTO l_src_task_ver_id,l_src_proj_id;
475: IF get_src_task_det%NOTFOUND THEN
476: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
477: x_return_status := FND_API.G_RET_STS_ERROR;
478: END IF;
479: CLOSE get_src_task_det;
480: END IF;
485: --
486: OPEN get_relationship_det1(l_src_task_ver_id,l_src_proj_id,p_project_id);
487: FETCH get_relationship_det1 INTO l_rel_id,l_rec_ver_num;
488: IF get_relationship_det1%NOTFOUND THEN
489: PA_UTILS.ADD_Message('PA','PA_STRUCT_CREATE_ERR');
490: x_return_status := FND_API.G_RET_STS_ERROR;
491: END IF;
492: CLOSE get_relationship_det1;
493: --
545: );
546: EXCEPTION
547: WHEN OTHERS THEN
548: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
549: PA_UTILS.ADD_Message('PA','PA_STRUCT_DELETE_ERR');
550: END;
551: EXIT WHEN (x_return_status <> FND_API.G_RET_STS_SUCCESS);
552: END LOOP;*/ --Commented the code to implement new functionality for subproject association
553: PA_RELATIONSHIP_PVT.Delete_SubProject_Association(
562:
563: ELSE
564: /* Can't delete relationship due to other contracts*/
565: x_return_status := FND_API.G_RET_STS_ERROR;
566: PA_UTILS.ADD_Message('PA','PA_STRUCT_HAS_SUB_CONT');
567: END IF;
568: ELSIF (p_task_id IS NOT NULL) AND (p_project_id IS NULL) THEN
569: /* If task_id is not null, then delete all relationships that the task is associated with */
570: -- Get task owning project
601: END IF;*/ --Commented if block
602: l_disassociation := 'Y'; --Moved this line here from the above if block
603: if (l_disassociation = 'N') THEN
604: x_return_status := FND_API.G_RET_STS_ERROR;
605: PA_UTILS.ADD_Message('PA','PA_STRUCT_HAS_SUB_CONT');
606: end if;
607: --EXIT when l_disassociation = 'N';
608: --
609: -- call table handler api
638: ,x_msg_data => x_msg_data);
639: EXCEPTION
640: WHEN OTHERS THEN
641: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
642: PA_UTILS.ADD_Message('PA','PA_STRUCT_DELETE_ERR');
643: END;
644: --EXIT WHEN (x_return_status <> FND_API.G_RET_STS_SUCCESS);
645:
646: END LOOP;
702: --
703: EXCEPTION
704: WHEN OTHERS THEN
705: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
706: PA_UTILS.ADD_Message('PA','PA_STRUCT_DELETE_ERR');
707: END;
708: EXIT WHEN (x_return_status <> FND_API.G_RET_STS_SUCCESS);
709: END LOOP;
710: -- CLOSE get_all_tasks_for_project;
710: -- CLOSE get_all_tasks_for_project;
711: CLOSE get_str_sub_proj_ass_det; --SMukka Added
712: ELSE
713: x_return_status := FND_API.G_RET_STS_ERROR;
714: PA_UTILS.ADD_Message('PA','PA_STRUCT_DELETE_ERR');
715: END IF;
716: --
717: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
718: x_return_status := FND_API.G_RET_STS_ERROR;