6: -- Pre-reqs : None
7: -- Return Value : N/A
8: -- Parameters
9: -- p_api_version IN NUMBER := 1.0
10: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
12: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13: -- p_validation_level IN VARCHAR2 := 100
14: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
7: -- Return Value : N/A
8: -- Parameters
9: -- p_api_version IN NUMBER := 1.0
10: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
12: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13: -- p_validation_level IN VARCHAR2 := 100
14: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
15: -- p_debug_mode IN VARCHAR2 := 'N'
8: -- Parameters
9: -- p_api_version IN NUMBER := 1.0
10: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
12: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13: -- p_validation_level IN VARCHAR2 := 100
14: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
15: -- p_debug_mode IN VARCHAR2 := 'N'
16: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
49:
50: procedure Create_Structure
51: (
52: p_api_version IN NUMBER := 1.0
53: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
54: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
55: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
56: ,p_validation_level IN VARCHAR2 := 100
57: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
50: procedure Create_Structure
51: (
52: p_api_version IN NUMBER := 1.0
53: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
54: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
55: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
56: ,p_validation_level IN VARCHAR2 := 100
57: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
58: ,p_debug_mode IN VARCHAR2 := 'N'
51: (
52: p_api_version IN NUMBER := 1.0
53: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
54: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
55: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
56: ,p_validation_level IN VARCHAR2 := 100
57: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
58: ,p_debug_mode IN VARCHAR2 := 'N'
59: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
79: ,p_attribute14 IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
80: ,p_attribute15 IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
81: ,p_approval_reqd_flag IN VARCHAR2 := 'N'
82: ,p_auto_publish_flag IN VARCHAR2 := 'N'
83: ,p_approver_source_id IN NUMBER := FND_API.G_MISS_NUM
84: ,p_approver_source_type IN NUMBER := FND_API.G_MISS_NUM
85: ,p_default_display_lvl IN NUMBER := 0
86: ,p_enable_wp_version_flag IN VARCHAR2 := 'N'
87: ,p_auto_pub_upon_creation_flag IN VARCHAR2 := 'N'
80: ,p_attribute15 IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
81: ,p_approval_reqd_flag IN VARCHAR2 := 'N'
82: ,p_auto_publish_flag IN VARCHAR2 := 'N'
83: ,p_approver_source_id IN NUMBER := FND_API.G_MISS_NUM
84: ,p_approver_source_type IN NUMBER := FND_API.G_MISS_NUM
85: ,p_default_display_lvl IN NUMBER := 0
86: ,p_enable_wp_version_flag IN VARCHAR2 := 'N'
87: ,p_auto_pub_upon_creation_flag IN VARCHAR2 := 'N'
88: ,p_auto_sync_txn_date_flag IN VARCHAR2 := 'N'
85: ,p_default_display_lvl IN NUMBER := 0
86: ,p_enable_wp_version_flag IN VARCHAR2 := 'N'
87: ,p_auto_pub_upon_creation_flag IN VARCHAR2 := 'N'
88: ,p_auto_sync_txn_date_flag IN VARCHAR2 := 'N'
89: ,p_txn_date_sync_buf_days IN NUMBER := FND_API.G_MISS_NUM
90: ,p_lifecycle_version_id IN NUMBER := FND_API.G_MISS_NUM
91: ,p_current_phase_version_id IN NUMBER := FND_API.G_MISS_NUM
92: ,p_progress_cycle_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
93: ,p_wq_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
86: ,p_enable_wp_version_flag IN VARCHAR2 := 'N'
87: ,p_auto_pub_upon_creation_flag IN VARCHAR2 := 'N'
88: ,p_auto_sync_txn_date_flag IN VARCHAR2 := 'N'
89: ,p_txn_date_sync_buf_days IN NUMBER := FND_API.G_MISS_NUM
90: ,p_lifecycle_version_id IN NUMBER := FND_API.G_MISS_NUM
91: ,p_current_phase_version_id IN NUMBER := FND_API.G_MISS_NUM
92: ,p_progress_cycle_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
93: ,p_wq_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
94: ,p_remain_effort_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
87: ,p_auto_pub_upon_creation_flag IN VARCHAR2 := 'N'
88: ,p_auto_sync_txn_date_flag IN VARCHAR2 := 'N'
89: ,p_txn_date_sync_buf_days IN NUMBER := FND_API.G_MISS_NUM
90: ,p_lifecycle_version_id IN NUMBER := FND_API.G_MISS_NUM
91: ,p_current_phase_version_id IN NUMBER := FND_API.G_MISS_NUM
92: ,p_progress_cycle_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
93: ,p_wq_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
94: ,p_remain_effort_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
95: ,p_percent_comp_enable_flag IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
159: IF (p_debug_mode = 'Y') THEN
160: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE BEGIN');
161: END IF;
162:
163: IF (p_commit = FND_API.G_TRUE) THEN
164: savepoint CREATE_STRUC_PRIVATE;
165: END IF;
166:
167: IF (p_debug_mode = 'Y') THEN
174: p_project_id) <> 'Y') THEN
175: --Name is not unique
176: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_STRUC_NAME_UNIQUE');
177: x_msg_data := 'PA_PS_STRUC_NAME_UNIQUE';
178: RAISE FND_API.G_EXC_ERROR;
179: END IF;
180:
181: --Check what is licensed.
182: l_workplan_license := nvl(pa_install.is_pjt_licensed, 'N');
187: l_financial_license := 'N';
188: IF (l_workplan_license = 'N') THEN
189: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_PROJ_MANAG_NOT_LIC');
190: x_msg_data := 'PA_PS_PROD_MANAG_NOT_LIC';
191: RAISE FND_API.G_EXC_ERROR;
192: END IF;
193: ELSIF (p_calling_flag = 'FINANCIAL') THEN
194: l_workplan_license := 'N';
195: IF (l_financial_license <> 'Y') THEN
193: ELSIF (p_calling_flag = 'FINANCIAL') THEN
194: l_workplan_license := 'N';
195: IF (l_financial_license <> 'Y') THEN
196: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_COSTING_NOT_LIC');
197: RAISE FND_API.G_EXC_ERROR;
198: END IF;
199: ELSIF (p_calling_flag = 'DELIVERABLE') THEN
200: l_workplan_license := 'N';
201: l_financial_license := 'N';
209: fetch get_split_flag into l_split_flag, l_split_flag2;
210: IF get_split_flag%NOTFOUND THEN
211: PA_UTILS.ADD_MESSAGE('PA', 'PA_INVALID_PROJECT_ID');
212: x_msg_data := 'PA_INVALID_PROJECT_ID';
213: RAISE FND_API.G_EXC_ERROR;
214: END IF;
215: close get_split_flag;
216:
217: --Check if there is any error.
220: x_msg_count := l_msg_count;
221: IF x_msg_count = 1 THEN
222: x_msg_data := l_msg_data;
223: END IF;
224: RAISE FND_API.G_EXC_ERROR;
225: END IF;
226:
227: --If splitting structure types, check if one structure type is selected
228: If (l_split_flag <> 'N') THEN
231: l_billing_license := 'N';
232: If (l_workplan_license <> 'Y') THEN
233: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_PROJ_MANAG_NOT_LIC');
234: x_msg_data := 'PA_PS_PROD_MANAG_NOT_LIC';
235: RAISE FND_API.G_EXC_ERROR;
236: END IF;
237: ELSIf (p_calling_flag = 'COSTING') THEN
238: IF (l_costing_license <> 'Y') THEN
239: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_COSTING_NOT_LIC');
237: ELSIf (p_calling_flag = 'COSTING') THEN
238: IF (l_costing_license <> 'Y') THEN
239: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_COSTING_NOT_LIC');
240: x_msg_data := 'PA_PS_COSTING_NOT_LIC';
241: RAISE FND_API.G_EXC_ERROR;
242: END IF;
243: l_workplan_license := 'N';
244: If (l_split_flag2 <> 'N') THEN
245: l_billing_license := 'N';
247: ELSIf (p_calling_flag = 'BILLING') THEN
248: IF (l_billing_license <> 'Y') THEN
249: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_BILLING_NOT_LIC');
250: x_msg_data := 'PA_PS_BILLING_NOT_LIC';
251: RAISE FND_API.G_EXC_ERROR;
252: END IF;
253: l_workplan_license := 'N';
254: If (l_split_flag2 <> 'N') THEN
255: l_costing_license := 'N';
256: END IF;
257: ELSIf (p_calling_flag IS NULL) THEN
258: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_NO_CALLING_PAGE_SEL');
259: x_msg_data := 'PA_PS_NO_CALLING_PAGE_SEL';
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262: END IF;
263: */
264:
328: x_msg_count := l_msg_count;
329: IF x_msg_count = 1 THEN
330: x_msg_data := l_msg_data;
331: END IF;
332: RAISE FND_API.G_EXC_ERROR;
333: END IF;
334:
335: --Insert into pa_proj_elements
336: select PA_TASKS_S.NEXTVAL into l_proj_element_id from sys.dual;
414: If (l_return_status <> 'S') THEN
415: PA_UTILS.ADD_MESSAGE('PA',l_error_message_code);
416: x_msg_data := l_error_message_code;
417: CLOSE get_licensed;
418: RAISE FND_API.G_EXC_ERROR;
419: END IF;
420:
421: IF (l_structure_type IN ('WORKPLAN','DELIVERABLE')) THEN
422: --Add pa_proj_workplan_attr row
420:
421: IF (l_structure_type IN ('WORKPLAN','DELIVERABLE')) THEN
422: --Add pa_proj_workplan_attr row
423: PA_WORKPLAN_ATTR_PVT.CREATE_PROJ_WORKPLAN_ATTRS(
424: p_validate_only => FND_API.G_FALSE
425: ,p_project_id => p_project_id
426: ,p_proj_element_id => l_proj_element_id
427: ,p_approval_reqd_flag => p_approval_reqd_flag
428: ,p_auto_publish_flag => p_auto_publish_flag
440: ,x_msg_data => x_msg_data
441: );
442:
443: IF (l_return_status <> 'S') THEN
444: RAISE FND_API.G_EXC_ERROR;
445: END IF;
446: /* Amit : Moving this code below as it will create project progress attribute records for Delievrables too
447: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
448: p_validate_only => FND_API.G_FALSE
444: RAISE FND_API.G_EXC_ERROR;
445: END IF;
446: /* Amit : Moving this code below as it will create project progress attribute records for Delievrables too
447: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
448: p_validate_only => FND_API.G_FALSE
449: ,p_project_id => p_project_id
450: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
451: ,P_OBJECT_ID => l_proj_element_id
452: ,p_wq_enable_flag => p_wq_enable_flag
463: ,x_msg_data => x_msg_data
464: );
465:
466: IF (l_return_status <> 'S') THEN
467: RAISE FND_API.G_EXC_ERROR;
468: END IF;
469: */
470:
471: END IF;
471: END IF;
472:
473: IF (l_structure_type = 'WORKPLAN') THEN -- NOt Adding financial here as progress attr created thru enable_financial_structure
474: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
475: p_validate_only => FND_API.G_FALSE
476: ,p_project_id => p_project_id
477: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
478: ,P_OBJECT_ID => l_proj_element_id
479: ,p_wq_enable_flag => p_wq_enable_flag
490: ,x_msg_data => x_msg_data
491: );
492:
493: IF (l_return_status <> 'S') THEN
494: RAISE FND_API.G_EXC_ERROR;
495: END IF;
496: END IF;
497:
498: --Insert into pa_proj_structure_types
523: );
524: EXCEPTION
525: WHEN OTHERS THEN
526: CLOSE get_licensed;
527: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
528: END;
529: END LOOP;
530: --dbms_output.put_line('done inserting to struture type tbl');
531:
530: --dbms_output.put_line('done inserting to struture type tbl');
531:
532: CLOSE get_licensed;
533:
534: x_return_status := FND_API.G_RET_STS_SUCCESS;
535:
536: IF (p_debug_mode = 'Y') THEN
537: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE end');
538: END IF;
537: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE end');
538: END IF;
539:
540: EXCEPTION
541: WHEN FND_API.G_EXC_ERROR THEN
542: IF (p_commit = FND_API.G_TRUE) THEN
543: ROLLBACK to CREATE_STRUC_PRIVATE;
544: END IF;
545: x_msg_count := FND_MSG_PUB.count_msg;
538: END IF;
539:
540: EXCEPTION
541: WHEN FND_API.G_EXC_ERROR THEN
542: IF (p_commit = FND_API.G_TRUE) THEN
543: ROLLBACK to CREATE_STRUC_PRIVATE;
544: END IF;
545: x_msg_count := FND_MSG_PUB.count_msg;
546: x_return_status := FND_API.G_RET_STS_ERROR;
542: IF (p_commit = FND_API.G_TRUE) THEN
543: ROLLBACK to CREATE_STRUC_PRIVATE;
544: END IF;
545: x_msg_count := FND_MSG_PUB.count_msg;
546: x_return_status := FND_API.G_RET_STS_ERROR;
547: WHEN OTHERS THEN
548: IF (p_commit = FND_API.G_TRUE) THEN
549: ROLLBACK to CREATE_STRUC_PRIVATE;
550: END IF;
544: END IF;
545: x_msg_count := FND_MSG_PUB.count_msg;
546: x_return_status := FND_API.G_RET_STS_ERROR;
547: WHEN OTHERS THEN
548: IF (p_commit = FND_API.G_TRUE) THEN
549: ROLLBACK to CREATE_STRUC_PRIVATE;
550: END IF;
551: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
552: x_msg_count := FND_MSG_PUB.count_msg;
547: WHEN OTHERS THEN
548: IF (p_commit = FND_API.G_TRUE) THEN
549: ROLLBACK to CREATE_STRUC_PRIVATE;
550: END IF;
551: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
552: x_msg_count := FND_MSG_PUB.count_msg;
553: --put message
554: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
555: p_procedure_name => 'Create_Structure',
563: -- Pre-reqs : None
564: -- Return Value : N/A
565: -- Parameters
566: -- p_api_version IN NUMBER := 1.0
567: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
568: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
569: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
570: -- p_validation_level IN VARCHAR2 := 100
571: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
564: -- Return Value : N/A
565: -- Parameters
566: -- p_api_version IN NUMBER := 1.0
567: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
568: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
569: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
570: -- p_validation_level IN VARCHAR2 := 100
571: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
572: -- p_debug_mode IN VARCHAR2 := 'N'
565: -- Parameters
566: -- p_api_version IN NUMBER := 1.0
567: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
568: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
569: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
570: -- p_validation_level IN VARCHAR2 := 100
571: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
572: -- p_debug_mode IN VARCHAR2 := 'N'
573: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
602:
603: procedure Create_Structure_Version
604: (
605: p_api_version IN NUMBER := 1.0
606: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
607: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
608: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
609: ,p_validation_level IN VARCHAR2 := 100
610: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
603: procedure Create_Structure_Version
604: (
605: p_api_version IN NUMBER := 1.0
606: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
607: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
608: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
609: ,p_validation_level IN VARCHAR2 := 100
610: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
611: ,p_debug_mode IN VARCHAR2 := 'N'
604: (
605: p_api_version IN NUMBER := 1.0
606: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
607: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
608: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
609: ,p_validation_level IN VARCHAR2 := 100
610: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
611: ,p_debug_mode IN VARCHAR2 := 'N'
612: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
672: IF (p_debug_mode = 'Y') THEN
673: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION begin');
674: END IF;
675:
676: IF (p_commit = FND_API.G_TRUE) THEN
677: savepoint CREATE_STRUC_VER_PVT;
678: END IF;
679:
680: IF (p_debug_mode = 'Y') THEN
747: x_msg_count := l_msg_count;
748: IF x_msg_count = 1 THEN
749: x_msg_data := l_msg_data;
750: END IF;
751: RAISE FND_API.G_EXC_ERROR;
752: END IF;
753:
754:
755: --If no error,
825: WHEN OTHERS THEN
826: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
827: p_procedure_name => 'CREATE_STRUCTURE_VERSION',
828: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
829: RAISE FND_API.G_EXC_ERROR;
830: END;
831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
832: RAISE FND_API.G_EXC_ERROR;
833: END IF;
827: p_procedure_name => 'CREATE_STRUCTURE_VERSION',
828: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
829: RAISE FND_API.G_EXC_ERROR;
830: END;
831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
832: RAISE FND_API.G_EXC_ERROR;
833: END IF;
834: END IF;
835: -- till here by skannoji
828: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
829: RAISE FND_API.G_EXC_ERROR;
830: END;
831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
832: RAISE FND_API.G_EXC_ERROR;
833: END IF;
834: END IF;
835: -- till here by skannoji
836:
833: END IF;
834: END IF;
835: -- till here by skannoji
836:
837: x_return_status := FND_API.G_RET_STS_SUCCESS;
838:
839: IF (p_debug_mode = 'Y') THEN
840: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION end');
841: END IF;
840: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION end');
841: END IF;
842:
843: EXCEPTION
844: WHEN FND_API.G_EXC_ERROR THEN
845: if p_commit = FND_API.G_TRUE THEN
846: rollback to CREATE_STRUC_VER_PVT;
847: end if;
848: x_msg_count := FND_MSG_PUB.count_msg;
841: END IF;
842:
843: EXCEPTION
844: WHEN FND_API.G_EXC_ERROR THEN
845: if p_commit = FND_API.G_TRUE THEN
846: rollback to CREATE_STRUC_VER_PVT;
847: end if;
848: x_msg_count := FND_MSG_PUB.count_msg;
849: x_return_status := FND_API.G_RET_STS_ERROR;
845: if p_commit = FND_API.G_TRUE THEN
846: rollback to CREATE_STRUC_VER_PVT;
847: end if;
848: x_msg_count := FND_MSG_PUB.count_msg;
849: x_return_status := FND_API.G_RET_STS_ERROR;
850: WHEN NO_DATA_FOUND THEN
851: if p_commit = FND_API.G_TRUE THEN
852: rollback to CREATE_STRUC_VER_PVT;
853: end if;
847: end if;
848: x_msg_count := FND_MSG_PUB.count_msg;
849: x_return_status := FND_API.G_RET_STS_ERROR;
850: WHEN NO_DATA_FOUND THEN
851: if p_commit = FND_API.G_TRUE THEN
852: rollback to CREATE_STRUC_VER_PVT;
853: end if;
854: x_return_status := FND_API.G_RET_STS_ERROR;
855:
850: WHEN NO_DATA_FOUND THEN
851: if p_commit = FND_API.G_TRUE THEN
852: rollback to CREATE_STRUC_VER_PVT;
853: end if;
854: x_return_status := FND_API.G_RET_STS_ERROR;
855:
856: WHEN OTHERS THEN
857: if p_commit = FND_API.G_TRUE THEN
858: rollback to CREATE_STRUC_VER_PVT;
853: end if;
854: x_return_status := FND_API.G_RET_STS_ERROR;
855:
856: WHEN OTHERS THEN
857: if p_commit = FND_API.G_TRUE THEN
858: rollback to CREATE_STRUC_VER_PVT;
859: end if;
860: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
856: WHEN OTHERS THEN
857: if p_commit = FND_API.G_TRUE THEN
858: rollback to CREATE_STRUC_VER_PVT;
859: end if;
860: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
862: p_procedure_name => 'CREATE_STRUCTURE_VERSION',
863: p_error_text => SUBSTRB(SQLERRM,1,240));
864: RAISE;
870: -- Pre-reqs : None
871: -- Return Value : N/A
872: -- Parameters
873: -- p_api_version IN NUMBER := 1.0
874: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
875: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
876: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
877: -- p_validation_level IN VARCHAR2 := 100
878: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
871: -- Return Value : N/A
872: -- Parameters
873: -- p_api_version IN NUMBER := 1.0
874: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
875: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
876: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
877: -- p_validation_level IN VARCHAR2 := 100
878: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
879: -- p_debug_mode IN VARCHAR2 := 'N'
872: -- Parameters
873: -- p_api_version IN NUMBER := 1.0
874: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
875: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
876: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
877: -- p_validation_level IN VARCHAR2 := 100
878: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
879: -- p_debug_mode IN VARCHAR2 := 'N'
880: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
902:
903: procedure Create_Structure_Version_Attr
904: (
905: p_api_version IN NUMBER := 1.0
906: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
907: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
908: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
909: ,p_validation_level IN VARCHAR2 := 100
910: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
903: procedure Create_Structure_Version_Attr
904: (
905: p_api_version IN NUMBER := 1.0
906: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
907: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
908: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
909: ,p_validation_level IN VARCHAR2 := 100
910: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
911: ,p_debug_mode IN VARCHAR2 := 'N'
904: (
905: p_api_version IN NUMBER := 1.0
906: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
907: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
908: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
909: ,p_validation_level IN VARCHAR2 := 100
910: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
911: ,p_debug_mode IN VARCHAR2 := 'N'
912: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
998: IF (p_debug_mode = 'Y') THEN
999: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION_ATTR begin');
1000: END IF;
1001:
1002: IF (p_commit = FND_API.G_TRUE) THEN
1003: savepoint CREATE_STRUC_VER_ATTR_PVT;
1004: END IF;
1005:
1006: IF (p_debug_mode = 'Y') THEN
1022: l_project_id,
1023: l_proj_element_id)) THEN
1024: PA_UTILS.ADD_MESSAGE('PA','PA_PS_STRUC_VER_NAM_UNIQUE');
1025: x_msg_data := 'PA_PS_STRUC_VER_NAM_UNIQUE';
1026: RAISE FND_API.G_EXC_ERROR;
1027: END IF;
1028:
1029: IF (p_published_flag = 'Y' or p_struct_version_status_code =
1030: 'STRUCTURE_PUBLISHED') THEN
1077:
1078: --Call baseline_structure_version API if workplan
1079: IF (PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN') = 'Y') THEN
1080: PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION(
1081: p_commit => FND_API.G_FALSE,
1082: p_structure_version_id => p_structure_version_id,
1083: x_return_status => l_return_status,
1084: x_msg_count => l_msg_count,
1085: x_msg_data => l_msg_data);
1083: x_return_status => l_return_status,
1084: x_msg_count => l_msg_count,
1085: x_msg_data => l_msg_data);
1086:
1087: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
1088: x_msg_count := FND_MSG_PUB.count_msg;
1089: if x_msg_count = 1 then
1090: x_msg_data := l_msg_data;
1091: end if;
1088: x_msg_count := FND_MSG_PUB.count_msg;
1089: if x_msg_count = 1 then
1090: x_msg_data := l_msg_data;
1091: end if;
1092: raise FND_API.G_EXC_ERROR;
1093: end if;
1094:
1095: END IF;
1096:
1161:
1162: --Call baseline_structure_version API if workplan
1163: IF (PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN') = 'Y') THEN
1164: PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION(
1165: p_commit => FND_API.G_FALSE,
1166: p_structure_version_id => p_structure_version_id,
1167: x_return_status => l_return_status,
1168: x_msg_count => l_msg_count,
1169: x_msg_data => l_msg_data);
1167: x_return_status => l_return_status,
1168: x_msg_count => l_msg_count,
1169: x_msg_data => l_msg_data);
1170:
1171: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
1172: x_msg_count := FND_MSG_PUB.count_msg;
1173: if x_msg_count = 1 then
1174: x_msg_data := l_msg_data;
1175: end if;
1172: x_msg_count := FND_MSG_PUB.count_msg;
1173: if x_msg_count = 1 then
1174: x_msg_data := l_msg_data;
1175: end if;
1176: raise FND_API.G_EXC_ERROR;
1177: end if;
1178:
1179: END IF;
1180: END IF;
1200: --another non-published version exists for structure with type = costing/billing.
1201: --Error.
1202: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_ONE_WORK_VER_ALLOWED');
1203: x_msg_data := 'PA_PS_ONE_WORK_VER_ALLOWED';
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206: CLOSE check_working_ver_exists;
1207: END IF;
1208:
1222: x_msg_count := l_msg_count;
1223: IF x_msg_count = 1 THEN
1224: x_msg_data := l_msg_data;
1225: END IF;
1226: RAISE FND_API.G_EXC_ERROR;
1227: END IF;
1228:
1229: IF (p_change_reason_code = PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR) THEN
1230: l_change_reason_code := NULL;
1297: x_return_status => l_return_status,
1298: x_msg_count => l_msg_count,
1299: x_msg_data => l_msg_data
1300: );
1301: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
1302: x_msg_count := FND_MSG_PUB.count_msg;
1303: if x_msg_count = 1 then
1304: x_msg_data := l_msg_data;
1305: end if;
1302: x_msg_count := FND_MSG_PUB.count_msg;
1303: if x_msg_count = 1 then
1304: x_msg_data := l_msg_data;
1305: end if;
1306: raise FND_API.G_EXC_ERROR;
1307: end if;
1308: END IF;
1309: */
1310: --end bug 3010538
1308: END IF;
1309: */
1310: --end bug 3010538
1311:
1312: x_return_status := FND_API.G_RET_STS_SUCCESS;
1313:
1314: IF (p_debug_mode = 'Y') THEN
1315: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION_ATTR end');
1316: END IF;
1315: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE_VERSION_ATTR end');
1316: END IF;
1317:
1318: EXCEPTION
1319: WHEN FND_API.G_EXC_ERROR THEN
1320: if p_commit = FND_API.G_TRUE THEN
1321: rollback to CREATE_STRUC_VER_ATTR_PVT;
1322: end if;
1323: x_msg_count := FND_MSG_PUB.count_msg;
1316: END IF;
1317:
1318: EXCEPTION
1319: WHEN FND_API.G_EXC_ERROR THEN
1320: if p_commit = FND_API.G_TRUE THEN
1321: rollback to CREATE_STRUC_VER_ATTR_PVT;
1322: end if;
1323: x_msg_count := FND_MSG_PUB.count_msg;
1324: x_return_status := FND_API.G_RET_STS_ERROR;
1320: if p_commit = FND_API.G_TRUE THEN
1321: rollback to CREATE_STRUC_VER_ATTR_PVT;
1322: end if;
1323: x_msg_count := FND_MSG_PUB.count_msg;
1324: x_return_status := FND_API.G_RET_STS_ERROR;
1325: WHEN NO_DATA_FOUND THEN
1326: if p_commit = FND_API.G_TRUE THEN
1327: rollback to CREATE_STRUC_VER_ATTR_PVT;
1328: end if;
1322: end if;
1323: x_msg_count := FND_MSG_PUB.count_msg;
1324: x_return_status := FND_API.G_RET_STS_ERROR;
1325: WHEN NO_DATA_FOUND THEN
1326: if p_commit = FND_API.G_TRUE THEN
1327: rollback to CREATE_STRUC_VER_ATTR_PVT;
1328: end if;
1329: x_return_status := FND_API.G_RET_STS_ERROR;
1330: WHEN OTHERS THEN
1325: WHEN NO_DATA_FOUND THEN
1326: if p_commit = FND_API.G_TRUE THEN
1327: rollback to CREATE_STRUC_VER_ATTR_PVT;
1328: end if;
1329: x_return_status := FND_API.G_RET_STS_ERROR;
1330: WHEN OTHERS THEN
1331: if p_commit = FND_API.G_TRUE THEN
1332: rollback to CREATE_STRUC_VER_ATTR_PVT;
1333: end if;
1327: rollback to CREATE_STRUC_VER_ATTR_PVT;
1328: end if;
1329: x_return_status := FND_API.G_RET_STS_ERROR;
1330: WHEN OTHERS THEN
1331: if p_commit = FND_API.G_TRUE THEN
1332: rollback to CREATE_STRUC_VER_ATTR_PVT;
1333: end if;
1334: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1335: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
1330: WHEN OTHERS THEN
1331: if p_commit = FND_API.G_TRUE THEN
1332: rollback to CREATE_STRUC_VER_ATTR_PVT;
1333: end if;
1334: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1335: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
1336: p_procedure_name => 'CREATE_STRUCTURE_VERSION_ATTR',
1337: p_error_text => SUBSTRB(SQLERRM,1,240));
1338: RAISE;
1344: -- Pre-reqs : None
1345: -- Return Value : N/A
1346: -- Parameters
1347: -- p_api_version IN NUMBER := 1.0
1348: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1349: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1350: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1351: -- p_validation_level IN VARCHAR2 := 100
1352: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1345: -- Return Value : N/A
1346: -- Parameters
1347: -- p_api_version IN NUMBER := 1.0
1348: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1349: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1350: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1351: -- p_validation_level IN VARCHAR2 := 100
1352: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1353: -- p_debug_mode IN VARCHAR2 := 'N'
1346: -- Parameters
1347: -- p_api_version IN NUMBER := 1.0
1348: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1349: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1350: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1351: -- p_validation_level IN VARCHAR2 := 100
1352: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1353: -- p_debug_mode IN VARCHAR2 := 'N'
1354: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
1386:
1387: procedure Update_Structure
1388: (
1389: p_api_version IN NUMBER := 1.0
1390: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1391: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1392: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1393: ,p_validation_level IN VARCHAR2 := 100
1394: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1387: procedure Update_Structure
1388: (
1389: p_api_version IN NUMBER := 1.0
1390: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1391: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1392: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1393: ,p_validation_level IN VARCHAR2 := 100
1394: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1395: ,p_debug_mode IN VARCHAR2 := 'N'
1388: (
1389: p_api_version IN NUMBER := 1.0
1390: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1391: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1392: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1393: ,p_validation_level IN VARCHAR2 := 100
1394: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1395: ,p_debug_mode IN VARCHAR2 := 'N'
1396: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
1477: IF (p_debug_mode = 'Y') THEN
1478: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_STRUCTURE begin');
1479: END IF;
1480:
1481: IF (p_commit = FND_API.G_TRUE) then
1482: savepoint update_structure_pvt;
1483: END IF;
1484:
1485: --Get existing values.
1507: l_attribute15;
1508: IF (get_struc%NOTFOUND) THEN
1509: PA_UTILS.ADD_MESSAGE('PA','PA_PS_STRUC_NOT_EXIST');
1510: x_msg_data := 'PA_PS_STRUC_NOT_EXIST';
1511: RAISE FND_API.G_EXC_ERROR;
1512: END IF;
1513: CLOSE get_struc;
1514:
1515:
1519: x_msg_count := l_msg_count;
1520: IF x_msg_count = 1 THEN
1521: x_msg_data := l_msg_data;
1522: END IF;
1523: RAISE FND_API.G_EXC_ERROR;
1524: END IF;
1525:
1526: IF (p_debug_mode = 'Y') THEN
1527: pa_debug.debug('l_name = '||l_name);
1538: l_project_id)) THEN
1539: --name not unique.
1540: PA_UTILS.ADD_MESSAGE('PA', 'PS_STRUC_NAME_UNIQUE');
1541: x_msg_data := 'PA_PS_STRUC_NAME_UNIQUE';
1542: RAISE FND_API.G_EXC_ERROR;
1543: ELSE
1544: l_name := p_structure_name;
1545: END IF;
1546: END IF;
1604: x_msg_count := l_msg_count;
1605: IF x_msg_count = 1 THEN
1606: x_msg_data := l_msg_data;
1607: END IF;
1608: RAISE FND_API.G_EXC_ERROR;
1609: END IF;
1610:
1611: PA_PROJ_ELEMENTS_PKG.UPDATE_ROW(
1612: X_ROW_ID => l_rowid
1657: ,X_PHASE_CODE => NULL
1658: ,X_PHASE_VERSION_ID => NULL
1659: );
1660:
1661: x_return_status := FND_API.G_RET_STS_SUCCESS;
1662:
1663: IF (p_debug_mode = 'Y') THEN
1664: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_STRUCTURE end');
1665: END IF;
1664: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_STRUCTURE end');
1665: END IF;
1666:
1667: EXCEPTION
1668: when FND_API.G_EXC_ERROR then
1669: if p_commit = FND_API.G_TRUE then
1670: rollback to update_structure_pvt;
1671: end if;
1672: x_return_status := FND_API.G_RET_STS_ERROR;
1665: END IF;
1666:
1667: EXCEPTION
1668: when FND_API.G_EXC_ERROR then
1669: if p_commit = FND_API.G_TRUE then
1670: rollback to update_structure_pvt;
1671: end if;
1672: x_return_status := FND_API.G_RET_STS_ERROR;
1673: when others then
1668: when FND_API.G_EXC_ERROR then
1669: if p_commit = FND_API.G_TRUE then
1670: rollback to update_structure_pvt;
1671: end if;
1672: x_return_status := FND_API.G_RET_STS_ERROR;
1673: when others then
1674: if p_commit = FND_API.G_TRUE then
1675: rollback to update_structure_pvt;
1676: end if;
1670: rollback to update_structure_pvt;
1671: end if;
1672: x_return_status := FND_API.G_RET_STS_ERROR;
1673: when others then
1674: if p_commit = FND_API.G_TRUE then
1675: rollback to update_structure_pvt;
1676: end if;
1677: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1678: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
1673: when others then
1674: if p_commit = FND_API.G_TRUE then
1675: rollback to update_structure_pvt;
1676: end if;
1677: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1678: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
1679: p_procedure_name => 'UPDATE_STRUCTURE',
1680: p_error_text => SUBSTRB(SQLERRM,1,240));
1681: RAISE;
1688: -- Pre-reqs : None
1689: -- Return Value : N/A
1690: -- Parameters
1691: -- p_api_version IN NUMBER := 1.0
1692: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1693: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1694: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1695: -- p_validation_level IN VARCHAR2 := 100
1696: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1689: -- Return Value : N/A
1690: -- Parameters
1691: -- p_api_version IN NUMBER := 1.0
1692: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1693: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1694: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1695: -- p_validation_level IN VARCHAR2 := 100
1696: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1697: -- p_debug_mode IN VARCHAR2 := 'N'
1690: -- Parameters
1691: -- p_api_version IN NUMBER := 1.0
1692: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1693: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
1694: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1695: -- p_validation_level IN VARCHAR2 := 100
1696: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1697: -- p_debug_mode IN VARCHAR2 := 'N'
1698: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
1719:
1720: procedure Update_Structure_Version_Attr
1721: (
1722: p_api_version IN NUMBER := 1.0
1723: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1724: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1725: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1726: ,p_validation_level IN VARCHAR2 := 100
1727: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1720: procedure Update_Structure_Version_Attr
1721: (
1722: p_api_version IN NUMBER := 1.0
1723: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1724: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1725: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1726: ,p_validation_level IN VARCHAR2 := 100
1727: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1728: ,p_debug_mode IN VARCHAR2 := 'N'
1721: (
1722: p_api_version IN NUMBER := 1.0
1723: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1724: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1725: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1726: ,p_validation_level IN VARCHAR2 := 100
1727: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
1728: ,p_debug_mode IN VARCHAR2 := 'N'
1729: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
1851: IF (p_debug_mode = 'Y') THEN
1852: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_STRUCTURE_VERSION_ATTR begin');
1853: END IF;
1854:
1855: IF (p_commit = FND_API.G_TRUE) THEN
1856: savepoint UPDATE_STRUC_VER_ATTR_PVT;
1857: END IF;
1858:
1859: IF (p_debug_mode = 'Y') THEN
1934:
1935: x_msg_count := FND_MSG_PUB.count_msg;
1936: if x_msg_count > 0 then
1937: x_msg_data := l_msg_data;
1938: raise FND_API.G_EXC_ERROR;
1939: end if;
1940: --end bug 3940853
1941: END IF; --p_calling_module <> 'PA_UPD_WBS_ATTR'
1942:
1971:
1972: --Call baseline_structure_version API if workplan
1973: IF (PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(l_structure_version_id, 'WORKPLAN') = 'Y') THEN
1974: PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION(
1975: p_commit => FND_API.G_FALSE,
1976: p_structure_version_id => l_structure_version_id,
1977: x_return_status => l_return_status,
1978: x_msg_count => l_msg_count,
1979: x_msg_data => l_msg_data);
1977: x_return_status => l_return_status,
1978: x_msg_count => l_msg_count,
1979: x_msg_data => l_msg_data);
1980:
1981: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
1982: x_msg_count := FND_MSG_PUB.count_msg;
1983: if x_msg_count = 1 then
1984: x_msg_data := l_msg_data;
1985: end if;
1982: x_msg_count := FND_MSG_PUB.count_msg;
1983: if x_msg_count = 1 then
1984: x_msg_data := l_msg_data;
1985: end if;
1986: raise FND_API.G_EXC_ERROR;
1987: end if;
1988:
1989: END IF;
1990:
2031: IF (l_get_lock <> 'Y') THEN
2032: IF (PA_SECURITY_PVT.check_user_privilege('PA_UNLOCK_ANY_STRUCTURE'
2033: ,NULL
2034: ,to_number(NULL))
2035: = FND_API.G_TRUE) THEN
2036: l_get_lock := 'Y';
2037: END IF;
2038: END IF;
2039: --end bug 3071008
2041: IF (l_get_lock = 'O') THEN
2042: --lock by other user. Error.
2043: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_STRUC_VER_LOCKED');
2044: x_msg_data := 'PA_PS_STRUC_VER_LOCKED';
2045: RAISE FND_API.G_EXC_ERROR;
2046: END IF;
2047:
2048: IF (p_locked_status_code = 'LOCKED') THEN
2049: l_lock_status_code := 'LOCKED';
2062: l_project_id,
2063: l_proj_element_id)) THEN
2064: PA_UTILS.ADD_MESSAGE('PA','PA_PS_STRUC_VER_NAM_UNIQUE');
2065: x_msg_data := 'PA_PS_STRUC_VER_NAM_UNIQUE';
2066: RAISE FND_API.G_EXC_ERROR;
2067: ELSE
2068: l_name := p_structure_version_name;
2069: END IF;
2070: END IF;
2102: x_msg_count := l_msg_count;
2103: IF x_msg_count = 1 THEN
2104: x_msg_data := l_msg_data;
2105: END IF;
2106: RAISE FND_API.G_EXC_ERROR;
2107: END IF;/*Bug# 6414944*/
2108: /* Commented for Bug 6372780
2109: ELSIF l_msg_count > 0 THEN
2110: x_msg_count := l_msg_count;
2110: x_msg_count := l_msg_count;
2111: IF x_msg_count = 1 THEN
2112: x_msg_data := l_msg_data;
2113: END IF;
2114: RAISE FND_API.G_EXC_ERROR;
2115: END IF;
2116: */
2117:
2118: PA_PROJ_ELEM_VER_STRUCTURE_PKG.update_row(
2174: ,x_return_status => x_return_status
2175: ,x_msg_count => x_msg_count
2176: ,x_msg_data => x_msg_data);
2177:
2178: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2179:
2180: raise FND_API.G_EXC_ERROR;
2181:
2182: end if;
2176: ,x_msg_data => x_msg_data);
2177:
2178: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2179:
2180: raise FND_API.G_EXC_ERROR;
2181:
2182: end if;
2183:
2184: -- Begin Bug # 4556844.
2195: ,x_return_status => x_return_status
2196: ,x_msg_count => x_msg_count
2197: ,x_msg_data => x_msg_data);
2198:
2199: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2200:
2201: raise FND_API.G_EXC_ERROR;
2202:
2203: end if;
2197: ,x_msg_data => x_msg_data);
2198:
2199: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2200:
2201: raise FND_API.G_EXC_ERROR;
2202:
2203: end if;
2204:
2205: -- End Bug # 4556844.
2210:
2211: END IF;
2212: --end FPM bug 3301192
2213:
2214: x_return_status := FND_API.G_RET_STS_SUCCESS;
2215:
2216: IF (p_debug_mode = 'Y') THEN
2217: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_STRUCTURE_VERSION_ATTR end');
2218: END IF;
2218: END IF;
2219:
2220: EXCEPTION
2221: WHEN NO_DATA_FOUND THEN
2222: if p_commit = FND_API.G_TRUE THEN
2223: rollback to UPDATE_STRUC_VER_ATTR_PVT;
2224: end if;
2225: x_return_status := FND_API.G_RET_STS_ERROR;
2226: WHEN FND_API.G_EXC_ERROR THEN
2221: WHEN NO_DATA_FOUND THEN
2222: if p_commit = FND_API.G_TRUE THEN
2223: rollback to UPDATE_STRUC_VER_ATTR_PVT;
2224: end if;
2225: x_return_status := FND_API.G_RET_STS_ERROR;
2226: WHEN FND_API.G_EXC_ERROR THEN
2227: IF (p_commit = FND_API.G_TRUE) THEN
2228: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2229: END IF;
2222: if p_commit = FND_API.G_TRUE THEN
2223: rollback to UPDATE_STRUC_VER_ATTR_PVT;
2224: end if;
2225: x_return_status := FND_API.G_RET_STS_ERROR;
2226: WHEN FND_API.G_EXC_ERROR THEN
2227: IF (p_commit = FND_API.G_TRUE) THEN
2228: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2229: END IF;
2230: x_msg_count := FND_MSG_PUB.count_msg;
2223: rollback to UPDATE_STRUC_VER_ATTR_PVT;
2224: end if;
2225: x_return_status := FND_API.G_RET_STS_ERROR;
2226: WHEN FND_API.G_EXC_ERROR THEN
2227: IF (p_commit = FND_API.G_TRUE) THEN
2228: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2229: END IF;
2230: x_msg_count := FND_MSG_PUB.count_msg;
2231: x_return_status := FND_API.G_RET_STS_ERROR;
2227: IF (p_commit = FND_API.G_TRUE) THEN
2228: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2229: END IF;
2230: x_msg_count := FND_MSG_PUB.count_msg;
2231: x_return_status := FND_API.G_RET_STS_ERROR;
2232: WHEN OTHERS THEN
2233: IF (p_commit = FND_API.G_TRUE) THEN
2234: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2235: END IF;
2229: END IF;
2230: x_msg_count := FND_MSG_PUB.count_msg;
2231: x_return_status := FND_API.G_RET_STS_ERROR;
2232: WHEN OTHERS THEN
2233: IF (p_commit = FND_API.G_TRUE) THEN
2234: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2235: END IF;
2236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2237: x_msg_count := FND_MSG_PUB.count_msg;
2232: WHEN OTHERS THEN
2233: IF (p_commit = FND_API.G_TRUE) THEN
2234: ROLLBACK to UPDATE_STRUC_VER_ATTR_PVT;
2235: END IF;
2236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2237: x_msg_count := FND_MSG_PUB.count_msg;
2238: --put message
2239: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2240: p_procedure_name => 'Update_Structure_Version_Attr',
2249: -- Pre-reqs : None
2250: -- Return Value : N/A
2251: -- Parameters
2252: -- p_api_version IN NUMBER := 1.0
2253: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2254: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2255: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2256: -- p_validation_level IN VARCHAR2 := 100
2257: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2250: -- Return Value : N/A
2251: -- Parameters
2252: -- p_api_version IN NUMBER := 1.0
2253: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2254: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2255: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2256: -- p_validation_level IN VARCHAR2 := 100
2257: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2258: -- p_debug_mode IN VARCHAR2 := 'N'
2251: -- Parameters
2252: -- p_api_version IN NUMBER := 1.0
2253: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2254: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2255: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2256: -- p_validation_level IN VARCHAR2 := 100
2257: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2258: -- p_debug_mode IN VARCHAR2 := 'N'
2259: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2272:
2273: procedure Delete_Structure
2274: (
2275: p_api_version IN NUMBER := 1.0
2276: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2277: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2278: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2279: ,p_validation_level IN VARCHAR2 := 100
2280: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2273: procedure Delete_Structure
2274: (
2275: p_api_version IN NUMBER := 1.0
2276: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2277: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2278: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2279: ,p_validation_level IN VARCHAR2 := 100
2280: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2281: ,p_debug_mode IN VARCHAR2 := 'N'
2274: (
2275: p_api_version IN NUMBER := 1.0
2276: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2277: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2278: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2279: ,p_validation_level IN VARCHAR2 := 100
2280: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2281: ,p_debug_mode IN VARCHAR2 := 'N'
2282: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2316: IF (p_debug_mode = 'Y') THEN
2317: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE begin');
2318: END IF;
2319:
2320: if p_commit = FND_API.G_TRUE then
2321: savepoint delete_structure_pvt;
2322: end if;
2323:
2324: -- Begin fix for Bug # 4506308.
2331: fetch l_cur_projects_all into l_project_id, l_rec_ver_number;
2332: close l_cur_projects_all;
2333:
2334: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
2335: p_validate_only => FND_API.G_FALSE
2336: ,p_project_id => l_project_id
2337: ,p_date_type => 'SCHEDULED'
2338: ,p_start_date => null
2339: ,p_finish_date => null
2341: ,x_return_status => x_return_status
2342: ,x_msg_count => x_msg_count
2343: ,x_msg_data => x_msg_data );
2344:
2345: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2346: RAISE FND_API.G_EXC_ERROR;
2347: END IF;
2348:
2349: end if;
2342: ,x_msg_count => x_msg_count
2343: ,x_msg_data => x_msg_data );
2344:
2345: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2346: RAISE FND_API.G_EXC_ERROR;
2347: END IF;
2348:
2349: end if;
2350:
2359: END LOOP;
2360: CLOSE sel_struct_type;
2361:
2362: --Lock record
2363: IF (p_validate_only <> FND_API.G_TRUE) THEN
2364: BEGIN
2365: --lock
2366: select rowid into l_rowid
2367: from pa_proj_elements
2407: x_msg_count := l_msg_count;
2408: if x_msg_count = 1 then
2409: x_msg_data := l_msg_data;
2410: end if;
2411: raise FND_API.G_EXC_ERROR;
2412: end if;
2413:
2414:
2415: PA_PROJ_ELEMENTS_PKG.DELETE_ROW(
2415: PA_PROJ_ELEMENTS_PKG.DELETE_ROW(
2416: X_ROW_ID => l_rowid
2417: );
2418:
2419: x_return_status := FND_API.G_RET_STS_SUCCESS;
2420:
2421: IF (p_debug_mode = 'Y') THEN
2422: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE end');
2423: END IF;
2422: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE end');
2423: END IF;
2424:
2425: EXCEPTION
2426: when FND_API.G_EXC_ERROR then
2427: if p_commit = FND_API.G_TRUE then
2428: rollback to delete_structure_pvt;
2429: end if;
2430: x_return_status := FND_API.G_RET_STS_ERROR;
2423: END IF;
2424:
2425: EXCEPTION
2426: when FND_API.G_EXC_ERROR then
2427: if p_commit = FND_API.G_TRUE then
2428: rollback to delete_structure_pvt;
2429: end if;
2430: x_return_status := FND_API.G_RET_STS_ERROR;
2431: when others then
2426: when FND_API.G_EXC_ERROR then
2427: if p_commit = FND_API.G_TRUE then
2428: rollback to delete_structure_pvt;
2429: end if;
2430: x_return_status := FND_API.G_RET_STS_ERROR;
2431: when others then
2432: if p_commit = FND_API.G_TRUE then
2433: rollback to delete_structure_pvt;
2434: end if;
2428: rollback to delete_structure_pvt;
2429: end if;
2430: x_return_status := FND_API.G_RET_STS_ERROR;
2431: when others then
2432: if p_commit = FND_API.G_TRUE then
2433: rollback to delete_structure_pvt;
2434: end if;
2435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2436: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2431: when others then
2432: if p_commit = FND_API.G_TRUE then
2433: rollback to delete_structure_pvt;
2434: end if;
2435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2436: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2437: p_procedure_name => 'Delete_Structure',
2438: p_error_text => SUBSTRB(SQLERRM,1,240));
2439: raise;
2445: -- Pre-reqs : None
2446: -- Return Value : N/A
2447: -- Parameters
2448: -- p_api_version IN NUMBER := 1.0
2449: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2450: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2451: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2452: -- p_validation_level IN VARCHAR2 := 100
2453: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2446: -- Return Value : N/A
2447: -- Parameters
2448: -- p_api_version IN NUMBER := 1.0
2449: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2450: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2451: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2452: -- p_validation_level IN VARCHAR2 := 100
2453: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2454: -- p_debug_mode IN VARCHAR2 := 'N'
2447: -- Parameters
2448: -- p_api_version IN NUMBER := 1.0
2449: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2450: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2451: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2452: -- p_validation_level IN VARCHAR2 := 100
2453: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2454: -- p_debug_mode IN VARCHAR2 := 'N'
2455: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2468:
2469: procedure Delete_Structure_Version
2470: (
2471: p_api_version IN NUMBER := 1.0
2472: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2473: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2474: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2475: ,p_validation_level IN VARCHAR2 := 100
2476: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2469: procedure Delete_Structure_Version
2470: (
2471: p_api_version IN NUMBER := 1.0
2472: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2473: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2474: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2475: ,p_validation_level IN VARCHAR2 := 100
2476: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2477: ,p_debug_mode IN VARCHAR2 := 'N'
2470: (
2471: p_api_version IN NUMBER := 1.0
2472: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2473: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2474: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2475: ,p_validation_level IN VARCHAR2 := 100
2476: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2477: ,p_debug_mode IN VARCHAR2 := 'N'
2478: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2507: IF (p_debug_mode = 'Y') THEN
2508: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE_VERSION begin');
2509: END IF;
2510:
2511: if p_commit = FND_API.G_TRUE then
2512: savepoint delete_structure_version_pvt;
2513: end if;
2514:
2515: --Lock record
2515: --Lock record
2516: IF (p_debug_mode = 'Y') THEN
2517: pa_debug.debug('locking record '||p_structure_version_id||', '||p_record_Version_number);
2518: END IF;
2519: IF (p_validate_only <> FND_API.G_TRUE) THEN
2520: BEGIN
2521: --lock
2522: select rowid into l_rowid
2523: from pa_proj_element_versions
2564: x_msg_count := l_msg_count;
2565: if x_msg_count = 1 then
2566: x_msg_data := l_msg_data;
2567: end if;
2568: raise FND_API.G_EXC_ERROR;
2569: end if;
2570:
2571: IF (p_debug_mode = 'Y') THEN
2572: pa_debug.debug('deleting structure versionn');
2598: WHEN OTHERS THEN
2599: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2600: p_procedure_name => 'Delete_Structure_Version',
2601: p_error_text => SUBSTRB('PA_FIN_PLAN_PVT.delete_wp_budget_versions:'||SQLERRM,1,240));
2602: RAISE FND_API.G_EXC_ERROR;
2603: END;
2604: -- Added for FP_M Changes -- Bhumesh
2605: BEGIN
2606: SELECT project_id INTO l_Project_ID
2619: fnd_msg_pub.add_exc_msg(
2620: p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2621: p_procedure_name => 'Delete_Structure_Version',
2622: p_error_text => SUBSTRB('PA_PROGRESS_PUB.delete_working_wp_progress:'||SQLERRM,1,240));
2623: RAISE FND_API.G_EXC_ERROR;
2624: END;
2625: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2626: RAISE FND_API.G_EXC_ERROR;
2627: END IF;
2621: p_procedure_name => 'Delete_Structure_Version',
2622: p_error_text => SUBSTRB('PA_PROGRESS_PUB.delete_working_wp_progress:'||SQLERRM,1,240));
2623: RAISE FND_API.G_EXC_ERROR;
2624: END;
2625: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2626: RAISE FND_API.G_EXC_ERROR;
2627: END IF;
2628: END IF;
2629: END;
2622: p_error_text => SUBSTRB('PA_PROGRESS_PUB.delete_working_wp_progress:'||SQLERRM,1,240));
2623: RAISE FND_API.G_EXC_ERROR;
2624: END;
2625: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2626: RAISE FND_API.G_EXC_ERROR;
2627: END IF;
2628: END IF;
2629: END;
2630: -- till here by skannoji
2664: ,x_return_status => x_return_status
2665: ,x_msg_count => x_msg_count
2666: ,x_msg_data => x_msg_data);
2667:
2668: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2669:
2670: raise FND_API.G_EXC_ERROR;
2671:
2672: end if;
2666: ,x_msg_data => x_msg_data);
2667:
2668: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
2669:
2670: raise FND_API.G_EXC_ERROR;
2671:
2672: end if;
2673:
2674: end loop;
2678: PA_PROJ_ELEMENT_VERSIONS_PKG.DELETE_ROW(
2679: X_ROW_ID => l_rowid
2680: );
2681:
2682: x_return_status := FND_API.G_RET_STS_SUCCESS;
2683:
2684: IF (p_debug_mode = 'Y') THEN
2685: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE_VERSION end');
2686: END IF;
2685: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE_VERSION end');
2686: END IF;
2687:
2688: EXCEPTION
2689: when FND_API.G_EXC_ERROR then
2690: if p_commit = FND_API.G_TRUE then
2691: rollback to delete_structure_version_pvt;
2692: end if;
2693: x_return_status := FND_API.G_RET_STS_ERROR;
2686: END IF;
2687:
2688: EXCEPTION
2689: when FND_API.G_EXC_ERROR then
2690: if p_commit = FND_API.G_TRUE then
2691: rollback to delete_structure_version_pvt;
2692: end if;
2693: x_return_status := FND_API.G_RET_STS_ERROR;
2694: when others then
2689: when FND_API.G_EXC_ERROR then
2690: if p_commit = FND_API.G_TRUE then
2691: rollback to delete_structure_version_pvt;
2692: end if;
2693: x_return_status := FND_API.G_RET_STS_ERROR;
2694: when others then
2695: if p_commit = FND_API.G_TRUE then
2696: rollback to delete_structure_version_pvt;
2697: end if;
2691: rollback to delete_structure_version_pvt;
2692: end if;
2693: x_return_status := FND_API.G_RET_STS_ERROR;
2694: when others then
2695: if p_commit = FND_API.G_TRUE then
2696: rollback to delete_structure_version_pvt;
2697: end if;
2698: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2699: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2694: when others then
2695: if p_commit = FND_API.G_TRUE then
2696: rollback to delete_structure_version_pvt;
2697: end if;
2698: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2699: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2700: p_procedure_name => 'Delete_Structure_Version',
2701: p_error_text => SUBSTRB(SQLERRM,1,240));
2702: raise;
2708: -- Pre-reqs : None
2709: -- Return Value : N/A
2710: -- Parameters
2711: -- p_api_version IN NUMBER := 1.0
2712: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2713: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2714: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2715: -- p_validation_level IN VARCHAR2 := 100
2716: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2709: -- Return Value : N/A
2710: -- Parameters
2711: -- p_api_version IN NUMBER := 1.0
2712: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2713: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2714: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2715: -- p_validation_level IN VARCHAR2 := 100
2716: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2717: -- p_debug_mode IN VARCHAR2 := 'N'
2710: -- Parameters
2711: -- p_api_version IN NUMBER := 1.0
2712: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2713: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2714: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2715: -- p_validation_level IN VARCHAR2 := 100
2716: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2717: -- p_debug_mode IN VARCHAR2 := 'N'
2718: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2731:
2732: procedure Delete_Structure_Version_Attr
2733: (
2734: p_api_version IN NUMBER := 1.0
2735: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2736: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2737: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2738: ,p_validation_level IN VARCHAR2 := 100
2739: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2732: procedure Delete_Structure_Version_Attr
2733: (
2734: p_api_version IN NUMBER := 1.0
2735: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2736: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2737: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2738: ,p_validation_level IN VARCHAR2 := 100
2739: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2740: ,p_debug_mode IN VARCHAR2 := 'N'
2733: (
2734: p_api_version IN NUMBER := 1.0
2735: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2736: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2737: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2738: ,p_validation_level IN VARCHAR2 := 100
2739: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2740: ,p_debug_mode IN VARCHAR2 := 'N'
2741: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2783: IF (p_debug_mode = 'Y') THEN
2784: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE_VERSION_ATTR begin');
2785: END IF;
2786:
2787: if p_commit = FND_API.G_TRUE then
2788: savepoint delete_structure_ver_attr_pvt;
2789: end if;
2790:
2791: --Lock record
2788: savepoint delete_structure_ver_attr_pvt;
2789: end if;
2790:
2791: --Lock record
2792: IF (p_validate_only <> FND_API.G_TRUE) THEN
2793: BEGIN
2794: --lock
2795: select rowid into l_rowid
2796: from pa_proj_elem_ver_structure
2836: x_msg_count := l_msg_count;
2837: if x_msg_count = 1 then
2838: x_msg_data := l_msg_data;
2839: end if;
2840: raise FND_API.G_EXC_ERROR;
2841: end if;
2842:
2843: --FPM bug 3301192
2844: OPEN cur_proj_str;
2873: IF (p_debug_mode = 'Y') THEN
2874: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUCTURE_VERSION_ATTR end');
2875: END IF;
2876:
2877: x_return_status := FND_API.G_RET_STS_SUCCESS;
2878:
2879: EXCEPTION
2880: when FND_API.G_EXC_ERROR then
2881: if p_commit = FND_API.G_TRUE then
2876:
2877: x_return_status := FND_API.G_RET_STS_SUCCESS;
2878:
2879: EXCEPTION
2880: when FND_API.G_EXC_ERROR then
2881: if p_commit = FND_API.G_TRUE then
2882: rollback to delete_structure_ver_attr_pvt;
2883: end if;
2884: x_return_status := FND_API.G_RET_STS_ERROR;
2877: x_return_status := FND_API.G_RET_STS_SUCCESS;
2878:
2879: EXCEPTION
2880: when FND_API.G_EXC_ERROR then
2881: if p_commit = FND_API.G_TRUE then
2882: rollback to delete_structure_ver_attr_pvt;
2883: end if;
2884: x_return_status := FND_API.G_RET_STS_ERROR;
2885: when others then
2880: when FND_API.G_EXC_ERROR then
2881: if p_commit = FND_API.G_TRUE then
2882: rollback to delete_structure_ver_attr_pvt;
2883: end if;
2884: x_return_status := FND_API.G_RET_STS_ERROR;
2885: when others then
2886: if p_commit = FND_API.G_TRUE then
2887: rollback to delete_structure_ver_attr_pvt;
2888: end if;
2882: rollback to delete_structure_ver_attr_pvt;
2883: end if;
2884: x_return_status := FND_API.G_RET_STS_ERROR;
2885: when others then
2886: if p_commit = FND_API.G_TRUE then
2887: rollback to delete_structure_ver_attr_pvt;
2888: end if;
2889: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2890: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2885: when others then
2886: if p_commit = FND_API.G_TRUE then
2887: rollback to delete_structure_ver_attr_pvt;
2888: end if;
2889: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2890: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
2891: p_procedure_name => 'Delete_Structure',
2892: p_error_text => SUBSTRB(SQLERRM,1,240));
2893: raise;
2899: -- Pre-reqs : None
2900: -- Return Value : N/A
2901: -- Parameters
2902: -- p_api_version IN NUMBER := 1.0
2903: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2904: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2905: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2906: -- p_validation_level IN VARCHAR2 := 100
2907: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2900: -- Return Value : N/A
2901: -- Parameters
2902: -- p_api_version IN NUMBER := 1.0
2903: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2904: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2905: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2906: -- p_validation_level IN VARCHAR2 := 100
2907: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2908: -- p_debug_mode IN VARCHAR2 := 'N'
2901: -- Parameters
2902: -- p_api_version IN NUMBER := 1.0
2903: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2904: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
2905: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2906: -- p_validation_level IN VARCHAR2 := 100
2907: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2908: -- p_debug_mode IN VARCHAR2 := 'N'
2909: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
2928:
2929: procedure Publish_Structure
2930: (
2931: p_api_version IN NUMBER := 1.0
2932: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2933: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2934: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2935: ,p_validation_level IN VARCHAR2 := 100
2936: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2929: procedure Publish_Structure
2930: (
2931: p_api_version IN NUMBER := 1.0
2932: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2933: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2934: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2935: ,p_validation_level IN VARCHAR2 := 100
2936: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2937: ,p_debug_mode IN VARCHAR2 := 'N'
2930: (
2931: p_api_version IN NUMBER := 1.0
2932: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
2933: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
2934: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
2935: ,p_validation_level IN VARCHAR2 := 100
2936: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
2937: ,p_debug_mode IN VARCHAR2 := 'N'
2938: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
3263: IF (p_debug_mode = 'Y') THEN
3264: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.PUBLISH_STRUCTURE begin');
3265: END IF;
3266:
3267: IF (p_commit = FND_API.G_TRUE) THEN
3268: savepoint publish_structure_pvt;
3269: END IF;
3270:
3271: PA_TASK_PUB1.G_CALL_PJI_ROLLUP := 'N';
3291: p_structure_version_id), 'N') THEN
3292: --need to reschedule
3293: PA_UTILS.ADD_MESSAGE('PA','PA_PS_NEED_THIRD_PT_SCH');
3294: x_msg_data := 'PA_PS_NEED_THIRD_PT_SCH';
3295: RAISE FND_API.G_EXC_ERROR;
3296: END IF;
3297: --end bug 3840509
3298:
3299: l_share_flag := PA_PROJECT_STRUCTURE_UTILS.check_sharing_enabled(l_project_id); --bug 3822112
3318: p_context => 'PUBLISH_STRUCTURE',
3319: x_return_status => l_return_status
3320: );
3321:
3322: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: END IF;
3325: --end changes for bug 3786612
3326:
3319: x_return_status => l_return_status
3320: );
3321:
3322: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: END IF;
3325: --end changes for bug 3786612
3326:
3327: --hsiu: bug 2684465
3328: --Check if this structure missing tasks with transactions
3329: -- IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.check_miss_transaction_tasks(p_structure_version_id)) THEN
3330: -- PA_UTILS.ADD_MESSAGE('PA','PA_PS_MISS_TRANSAC_TASK');
3331: -- x_msg_data := 'PA_PS_MISS_TRANSAC_TASK';
3332: -- RAISE FND_API.G_EXC_ERROR;
3333: -- END IF;
3334: PA_PROJECT_STRUCTURE_UTILS.CHECK_MISS_TRANSACTION_TASKS(p_structure_version_id,
3335: l_return_status,
3336: l_msg_count,
3334: PA_PROJECT_STRUCTURE_UTILS.CHECK_MISS_TRANSACTION_TASKS(p_structure_version_id,
3335: l_return_status,
3336: l_msg_count,
3337: l_msg_data);
3338: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: END IF;
3341:
3342: --Check if task statuses are consistent
3335: l_return_status,
3336: l_msg_count,
3337: l_msg_data);
3338: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: END IF;
3341:
3342: --Check if task statuses are consistent
3343: PA_PROJECT_STRUCTURE_UTILS.check_tasks_statuses_valid(
3345: ,l_return_status
3346: ,l_msg_count
3347: ,l_msg_data
3348: );
3349: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3350: RAISE FND_API.G_EXC_ERROR;
3351: END IF;
3352:
3353: --Check if any new summary task has transactions
3346: ,l_msg_count
3347: ,l_msg_data
3348: );
3349: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3350: RAISE FND_API.G_EXC_ERROR;
3351: END IF;
3352:
3353: --Check if any new summary task has transactions
3354: PA_PROJECT_STRUCTURE_UTILS.Check_txn_on_summary_tasks(
3356: ,l_return_status
3357: ,l_msg_count
3358: ,l_msg_data
3359: );
3360: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3361: PA_UTILS.ADD_MESSAGE('PA',l_error_message_code);
3362: x_msg_data := l_error_message_code;
3363: RAISE FND_API.G_EXC_ERROR;
3364: END IF;
3359: );
3360: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3361: PA_UTILS.ADD_MESSAGE('PA',l_error_message_code);
3362: x_msg_data := l_error_message_code;
3363: RAISE FND_API.G_EXC_ERROR;
3364: END IF;
3365: --end bug 2684465
3366:
3367:
3368: --Check if this structure can be published (ie, if linked structures are published)
3369: -- IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.Check_Publish_Struc_Ver_Ok(p_structure_version_id)) THEN
3370: -- PA_UTILS.ADD_MESSAGE('PA','PA_PS_LINK_STRUC_NOT_PUB');
3371: -- x_msg_data := 'PA_PS_LINK_STRUC_NOT_PUB';
3372: -- RAISE FND_API.G_EXC_ERROR;
3373: -- END IF;
3374:
3375: --Check if this structure missing tasks with transactions
3376: -- IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.check_miss_transaction_tasks(p_structure_version_id)) THEN
3375: --Check if this structure missing tasks with transactions
3376: -- IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.check_miss_transaction_tasks(p_structure_version_id)) THEN
3377: -- PA_UTILS.ADD_MESSAGE('PA','PA_PS_MISS_TRANSAC_TASK');
3378: -- x_msg_data := 'PA_PS_MISS_TRANSAC_TASK';
3379: -- RAISE FND_API.G_EXC_ERROR;
3380: -- END IF;
3381:
3382: --For rollups
3383: -- IF (PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN') = 'Y') THEN
3391: -- CLOSE get_linking_tasks;
3392: --
3393: -- IF (l_tasks_ver_ids.count > 0) THEN
3394: -- PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup(
3395: -- p_commit => FND_API.G_FALSE,
3396: -- p_element_versions => l_tasks_ver_ids,
3397: -- x_return_status => l_return_status,
3398: -- x_msg_count => l_msg_count,
3399: -- x_msg_data => l_msg_data);
3397: -- x_return_status => l_return_status,
3398: -- x_msg_count => l_msg_count,
3399: -- x_msg_data => l_msg_data);
3400: --
3401: -- if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
3402: -- x_msg_count := FND_MSG_PUB.count_msg;
3403: -- if x_msg_count = 1 then
3404: -- x_msg_data := l_msg_data;
3405: -- end if;
3402: -- x_msg_count := FND_MSG_PUB.count_msg;
3403: -- if x_msg_count = 1 then
3404: -- x_msg_data := l_msg_data;
3405: -- end if;
3406: -- raise FND_API.G_EXC_ERROR;
3407: -- end if;
3408: --
3409: -- END IF;
3410: -- END IF;
3485:
3486: --Not unique; error.
3487: pa_utils.add_message('PA','PA_PS_NEW_STRUC_VER_NAM_UNIQUE');
3488: x_msg_data := 'PA_PS_NEW_STRUC_VER_NAM_UNIQUE';
3489: RAISE FND_API.G_EXC_ERROR;
3490: END IF;
3491:
3492: -- End of Bug Fix 4727737
3493:
3507: l_proj_element_id) <> 'Y') THEN
3508: --Not unique; error.
3509: PA_UTILS.ADD_MESSAGE('PA','PA_PS_STRUC_VER_NAM_UNIQUE');
3510: x_msg_data := 'PA_PS_STRUC_VER_NAM_UNIQUE';
3511: RAISE FND_API.G_EXC_ERROR;
3512: END IF;
3513: --Bug No 3450684 Smukka Checking for deliverable type
3514: IF PA_PROJ_ELEMENTS_UTILS.check_sharedstruct_deliv(p_structure_version_id) = 'Y' THEN
3515: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
3513: --Bug No 3450684 Smukka Checking for deliverable type
3514: IF PA_PROJ_ELEMENTS_UTILS.check_sharedstruct_deliv(p_structure_version_id) = 'Y' THEN
3515: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
3516: p_msg_name => 'PA_PS_CHK_DEL_FAIL_PUB_STR');
3517: RAISE FND_API.G_EXC_ERROR;
3518: END IF;
3519:
3520: --Get Structure Version Info
3521: --dbms_output.put_line('2');
3610: x_msg_count := l_msg_count;
3611: if x_msg_count = 1 then
3612: x_msg_data := l_msg_data;
3613: end if;
3614: raise FND_API.G_EXC_ERROR;
3615: end if;
3616:
3617: --update links linking from working version to current published version
3618: -- PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS
3616:
3617: --update links linking from working version to current published version
3618: -- PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS
3619: -- (
3620: -- p_init_msg_list => FND_API.G_FALSE
3621: -- ,p_commit => FND_API.G_FALSE
3622: -- ,p_debug_mode => p_debug_mode
3623: -- ,p_orig_project_id => l_project_id
3624: -- ,p_orig_structure_id => l_proj_element_id
3617: --update links linking from working version to current published version
3618: -- PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS
3619: -- (
3620: -- p_init_msg_list => FND_API.G_FALSE
3621: -- ,p_commit => FND_API.G_FALSE
3622: -- ,p_debug_mode => p_debug_mode
3623: -- ,p_orig_project_id => l_project_id
3624: -- ,p_orig_structure_id => l_proj_element_id
3625: -- ,p_orig_struc_ver_id => p_structure_version_id
3638: -- x_msg_count := l_msg_count;
3639: -- if x_msg_count = 1 then
3640: -- x_msg_data := l_msg_data;
3641: -- end if;
3642: -- raise FND_API.G_EXC_ERROR;
3643: -- end if;
3644:
3645: --Search for incoming links; update existing links
3646: --dbms_output.put_line('3');
3659: --dbms_output.put_line('open get_structure_version_info');
3660: -- OPEN get_structure_version_info(l_from_object_info.object_id_from);
3661: -- FETCH get_structure_version_info INTO l_info_struc_ver_rec;
3662: -- PA_RELATIONSHIP_PVT.Update_Relationship(
3663: -- p_init_msg_list => FND_API.G_FALSE
3664: -- ,p_commit => FND_API.G_FALSE
3665: -- ,p_debug_mode => p_debug_mode
3666: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
3667: -- ,p_project_id_from => l_info_struc_ver_rec.project_id
3660: -- OPEN get_structure_version_info(l_from_object_info.object_id_from);
3661: -- FETCH get_structure_version_info INTO l_info_struc_ver_rec;
3662: -- PA_RELATIONSHIP_PVT.Update_Relationship(
3663: -- p_init_msg_list => FND_API.G_FALSE
3664: -- ,p_commit => FND_API.G_FALSE
3665: -- ,p_debug_mode => p_debug_mode
3666: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
3667: -- ,p_project_id_from => l_info_struc_ver_rec.project_id
3668: -- ,p_structure_id_from => l_info_struc_ver_rec.structure_id
3690: --dbms_output.put_line('open get_task_version_info');
3691: -- OPEN get_task_version_info(l_from_object_info.object_id_from);
3692: -- FETCH get_task_version_info INTO l_info_task_ver_rec;
3693: -- PA_RELATIONSHIP_PVT.Update_Relationship(
3694: -- p_init_msg_list => FND_API.G_FALSE
3695: -- ,p_commit => FND_API.G_FALSE
3696: -- ,p_debug_mode => p_debug_mode
3697: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
3698: -- ,p_project_id_from => l_info_task_ver_rec.project_id
3691: -- OPEN get_task_version_info(l_from_object_info.object_id_from);
3692: -- FETCH get_task_version_info INTO l_info_task_ver_rec;
3693: -- PA_RELATIONSHIP_PVT.Update_Relationship(
3694: -- p_init_msg_list => FND_API.G_FALSE
3695: -- ,p_commit => FND_API.G_FALSE
3696: -- ,p_debug_mode => p_debug_mode
3697: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
3698: -- ,p_project_id_from => l_info_task_ver_rec.project_id
3699: -- ,p_structure_id_from => l_info_task_ver_rec.structure_id
3727: -- x_msg_data := l_msg_data;
3728: -- end if;
3729: --dbms_output.put_line('close get_from_id');
3730: -- CLOSE get_from_id;
3731: -- raise FND_API.G_EXC_ERROR;
3732: -- end if;
3733: --
3734: --
3735: -- END LOOP;
3832: -- x_msg_data := l_msg_data;
3833: -- end if;
3834: --dbms_output.put_line('close get_to_id');
3835: -- CLOSE get_to_id;
3836: -- raise FND_API.G_EXC_ERROR;
3837: -- end if;
3838:
3839: -- END LOOP;
3840: --dbms_output.put_line('close get_to_id');
3976: ,x_msg_count => x_msg_count
3977: ,x_msg_data => x_msg_data
3978: );
3979:
3980: IF x_return_status = FND_API.G_RET_STS_ERROR then
3981: RAISE FND_API.G_EXC_ERROR;
3982: End If;
3983:
3984: -- 3955848 end
3977: ,x_msg_data => x_msg_data
3978: );
3979:
3980: IF x_return_status = FND_API.G_RET_STS_ERROR then
3981: RAISE FND_API.G_EXC_ERROR;
3982: End If;
3983:
3984: -- 3955848 end
3985:
4089: CLOSE get_task_ver_weighting;
4090:
4091: --Bug 2189657 end;
4092: PA_TASK_PVT1.CREATE_TASK_VERSION
4093: ( p_validate_only => FND_API.G_FALSE
4094: ,p_validation_level => 0
4095: ,p_ref_task_version_id => l_ref_task_ver_id
4096: ,p_peer_or_sub => l_peer_or_sub
4097: ,p_task_id => l_task_versions_rec.proj_element_id
4118: x_msg_data := l_msg_data;
4119: END IF;
4120: --dbms_output.put_line('close get_task_versions_csr');
4121: CLOSE get_task_versions_csr;
4122: RAISE FND_API.G_EXC_ERROR;
4123: END IF;
4124: */ --maansari
4125:
4126:
4130: -- pa_debug.debug('updating links');
4131: -- END IF;
4132: -- PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS
4133: -- (
4134: -- p_init_msg_list => FND_API.G_FALSE
4135: -- ,p_commit => FND_API.G_FALSE
4136: -- ,p_debug_mode => p_debug_mode
4137: -- ,p_orig_project_id => l_project_id
4138: -- ,p_orig_structure_id => l_proj_element_id
4131: -- END IF;
4132: -- PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS
4133: -- (
4134: -- p_init_msg_list => FND_API.G_FALSE
4135: -- ,p_commit => FND_API.G_FALSE
4136: -- ,p_debug_mode => p_debug_mode
4137: -- ,p_orig_project_id => l_project_id
4138: -- ,p_orig_structure_id => l_proj_element_id
4139: -- ,p_orig_struc_ver_id => p_structure_version_id
4156: -- x_msg_data := l_msg_data;
4157: -- END IF;
4158: --dbms_output.put_line('close get_task_versions_csr');
4159: -- CLOSE get_task_versions_csr;
4160: -- RAISE FND_API.G_EXC_ERROR;
4161: -- END IF;
4162:
4163:
4164: --Search for incoming links; update existing links
4171: --dbms_output.put_line('open get_structure_version_info');
4172: -- OPEN get_structure_version_info(l_from_object_info.object_id_from);
4173: -- FETCH get_structure_version_info INTO l_info_struc_ver_rec;
4174: -- PA_RELATIONSHIP_PVT.Update_Relationship(
4175: -- p_init_msg_list => FND_API.G_FALSE
4176: -- ,p_commit => FND_API.G_FALSE
4177: -- ,p_debug_mode => p_debug_mode
4178: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
4179: -- ,p_project_id_from => l_info_struc_ver_rec.project_id
4172: -- OPEN get_structure_version_info(l_from_object_info.object_id_from);
4173: -- FETCH get_structure_version_info INTO l_info_struc_ver_rec;
4174: -- PA_RELATIONSHIP_PVT.Update_Relationship(
4175: -- p_init_msg_list => FND_API.G_FALSE
4176: -- ,p_commit => FND_API.G_FALSE
4177: -- ,p_debug_mode => p_debug_mode
4178: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
4179: -- ,p_project_id_from => l_info_struc_ver_rec.project_id
4180: -- ,p_structure_id_from => l_info_struc_ver_rec.structure_id
4199: --dbms_output.put_line('get_task_version_info');
4200: -- OPEN get_task_version_info(l_from_object_info.object_id_from);
4201: -- FETCH get_task_version_info INTO l_info_task_ver_rec;
4202: -- PA_RELATIONSHIP_PVT.Update_Relationship(
4203: -- p_init_msg_list => FND_API.G_FALSE
4204: -- ,p_commit => FND_API.G_FALSE
4205: -- ,p_debug_mode => p_debug_mode
4206: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
4207: -- ,p_project_id_from => l_info_task_ver_rec.project_id
4200: -- OPEN get_task_version_info(l_from_object_info.object_id_from);
4201: -- FETCH get_task_version_info INTO l_info_task_ver_rec;
4202: -- PA_RELATIONSHIP_PVT.Update_Relationship(
4203: -- p_init_msg_list => FND_API.G_FALSE
4204: -- ,p_commit => FND_API.G_FALSE
4205: -- ,p_debug_mode => p_debug_mode
4206: -- ,p_object_relationship_id => l_from_object_info.object_relationship_id
4207: -- ,p_project_id_from => l_info_task_ver_rec.project_id
4208: -- ,p_structure_id_from => l_info_task_ver_rec.structure_id
4234: --dbms_output.put_line('close get_task_versions_csr');
4235: -- CLOSE get_task_versions_csr;
4236: --dbms_output.put_line('close get_from_id');
4237: -- CLOSE get_from_id;
4238: -- raise FND_API.G_EXC_ERROR;
4239: -- end if;
4240:
4241: -- END LOOP;
4242: --dbms_output.put_line('close get_from_id');
4332: --dbms_output.put_line('close get_task_versions_csr');
4333: -- CLOSE get_task_versions_csr;
4334: --dbms_output.put_line('close get_to_id');
4335: -- CLOSE get_to_id;
4336: -- raise FND_API.G_EXC_ERROR;
4337: -- end if;
4338: --
4339: -- END LOOP;
4340: --dbms_output.put_line('close get_to_id');
4355:
4356: /* hsiu: bug 2800553: commented for performance improvement
4357: -- xxlu added DFF attributes
4358: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
4359: (p_validate_only => FND_API.G_FALSE
4360: ,p_element_version_id => l_task_version_id
4361: ,p_calendar_id => l_ver_sch_attr_rec.calendar_id
4362: ,p_scheduled_start_date => l_ver_sch_attr_rec.scheduled_start_date
4363: ,p_scheduled_end_date => l_ver_sch_attr_rec.scheduled_finish_date
4455: x_msg_data := l_msg_data;
4456: END IF;
4457: --dbms_output.put_line('close get_task_versions_csr');
4458: CLOSE get_task_versions_csr;
4459: RAISE FND_API.G_EXC_ERROR;
4460: END IF;
4461: END IF;
4462:
4463: l_last_wbs_level := l_task_versions_rec.wbs_level;
4497: ,x_msg_count => l_msg_count
4498: ,x_msg_data => l_msg_data
4499: );
4500:
4501: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
4502: x_msg_count := FND_MSG_PUB.count_msg;
4503: if x_msg_count = 1 then
4504: x_msg_data := l_msg_data;
4505: end if;
4502: x_msg_count := FND_MSG_PUB.count_msg;
4503: if x_msg_count = 1 then
4504: x_msg_data := l_msg_data;
4505: end if;
4506: raise FND_API.G_EXC_ERROR;
4507: end if;
4508:
4509: END IF;
4510: CLOSE get_tbd_tasks_info;
4529: END IF;
4530: --Call Create_Schedule_Version if workplan type
4531: /* hsiu: bug 2800553: commented for performance improvement
4532: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
4533: ( p_validate_only => FND_API.G_FALSE
4534: ,p_element_version_id => l_new_struct_ver_id
4535: ,p_calendar_id => l_ver_sch_attr_rec.calendar_id
4536: ,p_scheduled_start_date => l_ver_sch_attr_rec.scheduled_start_date
4537: ,p_scheduled_end_date => l_ver_sch_attr_rec.scheduled_finish_date
4610: x_msg_count := l_msg_count;
4611: IF x_msg_count = 1 THEN
4612: x_msg_data := l_msg_data;
4613: END IF;
4614: RAISE FND_API.G_EXC_ERROR;
4615: END IF;
4616:
4617: END IF;
4618:
4923: X_Msg_Count => X_Msg_Count,
4924: X_Msg_Data => X_Msg_Data
4925: );
4926:
4927: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4928: RAISE FND_API.G_EXC_ERROR;
4929: END IF;
4930:
4931: PA_RELATIONSHIP_PVT.Publish_Inter_Proj_Dep ( -- This API needs to be called
4924: X_Msg_Data => X_Msg_Data
4925: );
4926:
4927: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4928: RAISE FND_API.G_EXC_ERROR;
4929: END IF;
4930:
4931: PA_RELATIONSHIP_PVT.Publish_Inter_Proj_Dep ( -- This API needs to be called
4932: p_publishing_struc_ver_id => p_structure_version_id,
4935: X_Return_Status => X_Return_Status,
4936: X_Msg_Count => X_Msg_Count,
4937: X_Msg_Data => X_Msg_Data
4938: );
4939: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4940: RAISE FND_API.G_EXC_ERROR;
4941: END IF;
4942: */
4943:
4936: X_Msg_Count => X_Msg_Count,
4937: X_Msg_Data => X_Msg_Data
4938: );
4939: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4940: RAISE FND_API.G_EXC_ERROR;
4941: END IF;
4942: */
4943:
4944: /* Smukka 01/03/2004 Bug No.3450684 */
4957: p_dest_str_version_id => l_new_struct_ver_id, -- Destination Str version id can be of published str also
4958: x_return_status => X_Return_Status,
4959: x_msg_count => X_Msg_Count,
4960: x_msg_data => X_Msg_Data);
4961: IF (X_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
4962: x_msg_count := FND_MSG_PUB.count_msg;
4963: IF x_msg_count = 1 then
4964: pa_interface_utils_pub.get_messages
4965: (p_encoded => FND_API.G_TRUE,
4961: IF (X_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
4962: x_msg_count := FND_MSG_PUB.count_msg;
4963: IF x_msg_count = 1 then
4964: pa_interface_utils_pub.get_messages
4965: (p_encoded => FND_API.G_TRUE,
4966: p_msg_index => 1,
4967: p_msg_count => l_msg_count,
4968: p_msg_data => l_msg_data,
4969: p_data => l_data,
4969: p_data => l_data,
4970: p_msg_index_out => l_msg_index_out);
4971: x_msg_data := l_data;
4972: END IF;
4973: raise FND_API.G_EXC_ERROR;
4974: END IF;
4975: PA_RELATIONSHIP_PVT.Move_CI_Lnk_For_subproj_step1(
4976: p_api_version => p_api_version,
4977: p_init_msg_list => p_init_msg_list,
5008: -- version.
5009:
5010: --Call Create Structure Version Attr
5011: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
5012: ( p_validate_only => FND_API.G_FALSE
5013: ,p_structure_version_id => l_new_struct_ver_id
5014: ,p_structure_version_name => l_new_struct_ver_name
5015: ,p_structure_version_desc => l_new_struct_ver_desc
5016: ,p_effective_date => l_struc_ver_attr_rec.effective_date
5032: x_msg_count := l_msg_count;
5033: if x_msg_count = 1 then
5034: x_msg_data := l_msg_data;
5035: end if;
5036: raise FND_API.G_EXC_ERROR;
5037: end if;
5038:
5039: --bug 4019845
5040: /*
5064: ,x_msg_count => x_msg_count
5065: ,x_msg_data => x_msg_data
5066: );
5067:
5068: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5069: RAISE FND_API.G_EXC_ERROR;
5070: END IF;
5071: EXCEPTION
5072: WHEN OTHERS THEN
5065: ,x_msg_data => x_msg_data
5066: );
5067:
5068: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5069: RAISE FND_API.G_EXC_ERROR;
5070: END IF;
5071: EXCEPTION
5072: WHEN OTHERS THEN
5073: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5072: WHEN OTHERS THEN
5073: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5074: p_procedure_name => 'PUBLISH_STRUCTURE',
5075: p_error_text => SUBSTRB('PA_PROJ_STRUC_MAPPING_PUB.COPY_MAPPING:'||SQLERRM,1,240));
5076: RAISE FND_API.G_EXC_ERROR;
5077: END;
5078: */
5079: --end bug 4019845
5080:
5116: WHEN OTHERS THEN
5117: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5118: p_procedure_name => 'PUBLISH_STRUCTURE',
5119: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
5120: RAISE FND_API.G_EXC_ERROR;
5121: END;
5122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5123: RAISE FND_API.G_EXC_ERROR;
5124: END IF;
5118: p_procedure_name => 'PUBLISH_STRUCTURE',
5119: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
5120: RAISE FND_API.G_EXC_ERROR;
5121: END;
5122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5123: RAISE FND_API.G_EXC_ERROR;
5124: END IF;
5125: End;
5126: -- till here by skannoji
5119: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
5120: RAISE FND_API.G_EXC_ERROR;
5121: END;
5122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5123: RAISE FND_API.G_EXC_ERROR;
5124: END IF;
5125: End;
5126: -- till here by skannoji
5127: */
5142: WHEN OTHERS THEN
5143: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5144: p_procedure_name => 'PUBLISH_STRUCTURE',
5145: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_missing_unplanned_asgmts:'||SQLERRM,1,240));
5146: RAISE FND_API.G_EXC_ERROR;
5147: END;
5148: If (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5149: RAISE FND_API.G_EXC_ERROR;
5150: END IF;
5144: p_procedure_name => 'PUBLISH_STRUCTURE',
5145: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_missing_unplanned_asgmts:'||SQLERRM,1,240));
5146: RAISE FND_API.G_EXC_ERROR;
5147: END;
5148: If (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5149: RAISE FND_API.G_EXC_ERROR;
5150: END IF;
5151: */
5152:
5145: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_missing_unplanned_asgmts:'||SQLERRM,1,240));
5146: RAISE FND_API.G_EXC_ERROR;
5147: END;
5148: If (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5149: RAISE FND_API.G_EXC_ERROR;
5150: END IF;
5151: */
5152:
5153: /* --hsiu: no need to rollup since the copied structure version is already rolled-up
5154: IF l_task_ver_ids_tbl.count > 0 THEN
5155: --rollup dates for new published version
5156:
5157: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
5158: p_commit => FND_API.G_FALSE,
5159: p_element_versions => l_task_ver_ids_tbl,
5160: x_return_status => l_return_status,
5161: x_msg_count => l_msg_count,
5162: x_msg_data => l_msg_data);
5166: x_msg_count := l_msg_count;
5167: if x_msg_count = 1 then
5168: x_msg_data := l_msg_data;
5169: end if;
5170: raise FND_API.G_EXC_ERROR;
5171: end if;
5172: END IF;
5173: --end bug 3047602
5174: */
5258: x_msg_count := l_msg_count;
5259: if x_msg_count = 1 then
5260: -- x_msg_data := l_msg_data;
5261: pa_interface_utils_pub.get_messages
5262: (p_encoded => FND_API.G_TRUE,
5263: p_msg_index => 1,
5264: p_msg_count => l_msg_count,
5265: p_msg_data => l_msg_data,
5266: p_data => l_data,
5266: p_data => l_data,
5267: p_msg_index_out => l_msg_index_out);
5268: x_msg_data := l_data;
5269: end if;
5270: raise FND_API.G_EXC_ERROR;
5271: end if;
5272:
5273: END IF; --for checking structure type
5274: */
5280: --API for progress report.
5281: */
5282: /* removed
5283: PA_PROGRESS_PUB.CREATE_PROGRESS_FOR_WBS(
5284: p_commit => FND_API.G_FALSE
5285: ,p_project_id => l_project_id
5286: ,p_structure_version_id => l_new_struct_ver_id
5287: ,x_return_status => l_return_status
5288: ,x_msg_count => l_msg_count
5301: x_msg_count := l_msg_count;
5302: IF x_msg_count = 1 THEN
5303: x_msg_data := l_msg_data;
5304: END IF;
5305: RAISE FND_API.G_EXC_ERROR;
5306: END IF;
5307:
5308: END IF;
5309: */
5331: FETCH get_proj_rec_ver_number INTO l_proj_record_ver_number;
5332: CLOSE get_proj_rec_ver_number;
5333:
5334: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
5335: p_validate_only => FND_API.G_FALSE
5336: ,p_project_id => l_project_id
5337: ,p_date_type => 'SCHEDULED'
5338: ,p_start_date => l_scheduled_start_date
5339: ,p_finish_date => l_scheduled_finish_date
5348: x_msg_count := l_msg_count;
5349: IF x_msg_count = 1 THEN
5350: x_msg_data := l_msg_data;
5351: END IF;
5352: RAISE FND_API.G_EXC_ERROR;
5353: END IF;
5354: END IF;
5355: -- End of changes
5356:
5371: x_msg_count => l_msg_count,
5372: x_msg_data => l_msg_data
5373: );
5374:
5375: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5376: x_msg_count := FND_MSG_PUB.count_msg;
5377: if x_msg_count = 1 then
5378: x_msg_data := l_msg_data;
5379: end if;
5376: x_msg_count := FND_MSG_PUB.count_msg;
5377: if x_msg_count = 1 then
5378: x_msg_data := l_msg_data;
5379: end if;
5380: raise FND_API.G_EXC_ERROR;
5381: end if;
5382:
5383: END IF;
5384: END IF;
5395: ,x_return_status => x_return_status
5396: ,x_msg_count => x_msg_count
5397: ,x_msg_data => x_msg_data
5398: );
5399: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5400: RAISE FND_API.G_EXC_ERROR;
5401: END IF;
5402: --end task status changes
5403: */
5396: ,x_msg_count => x_msg_count
5397: ,x_msg_data => x_msg_data
5398: );
5399: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5400: RAISE FND_API.G_EXC_ERROR;
5401: END IF;
5402: --end task status changes
5403: */
5404: --end bug 4019845
5416: p_task_version_id => l_parent_ver_id
5417: ,x_return_status => x_return_status
5418: ,x_msg_count => x_msg_count
5419: ,x_msg_data => x_msg_data);
5420: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5421: CLOSE is_summary_elem;
5422: RAISE FND_API.G_EXC_ERROR;
5423: END IF;
5424: END IF;
5418: ,x_msg_count => x_msg_count
5419: ,x_msg_data => x_msg_data);
5420: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5421: CLOSE is_summary_elem;
5422: RAISE FND_API.G_EXC_ERROR;
5423: END IF;
5424: END IF;
5425: CLOSE is_summary_elem;
5426: -- END IF;
5449: ,x_msg_count => l_msg_count
5450: ,x_msg_data => l_msg_data
5451: );
5452:
5453: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5454: x_msg_count := FND_MSG_PUB.count_msg;
5455: if x_msg_count = 1 then
5456: x_msg_data := l_msg_data;
5457: end if;
5454: x_msg_count := FND_MSG_PUB.count_msg;
5455: if x_msg_count = 1 then
5456: x_msg_data := l_msg_data;
5457: end if;
5458: raise FND_API.G_EXC_ERROR;
5459: end if;
5460:
5461: END IF;
5462: CLOSE get_tbd_tasks_info;
5480: x_return_status => l_return_status,
5481: x_msg_count => l_msg_count,
5482: x_msg_data => l_msg_data
5483: );
5484: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5485: x_msg_count := FND_MSG_PUB.count_msg;
5486: if x_msg_count = 1 then
5487: x_msg_data := l_msg_data;
5488: end if;
5485: x_msg_count := FND_MSG_PUB.count_msg;
5486: if x_msg_count = 1 then
5487: x_msg_data := l_msg_data;
5488: end if;
5489: raise FND_API.G_EXC_ERROR;
5490: end if;
5491:
5492: --end bug 4479392
5493:
5505: x_return_status => l_return_status,
5506: x_msg_count => l_msg_count,
5507: x_msg_data => l_msg_data
5508: );
5509: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5510: x_msg_count := FND_MSG_PUB.count_msg;
5511: if x_msg_count = 1 then
5512: x_msg_data := l_msg_data;
5513: end if;
5510: x_msg_count := FND_MSG_PUB.count_msg;
5511: if x_msg_count = 1 then
5512: x_msg_data := l_msg_data;
5513: end if;
5514: raise FND_API.G_EXC_ERROR;
5515: end if;
5516: --END IF;
5517: --end bug 3035902
5518:
5526: ,x_msg_count => x_msg_count
5527: ,x_msg_data => x_msg_data
5528: );
5529:
5530: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
5531: x_msg_count := FND_MSG_PUB.count_msg;
5532: if x_msg_count = 1 then
5533: x_msg_data := l_msg_data;
5534: end if;
5531: x_msg_count := FND_MSG_PUB.count_msg;
5532: if x_msg_count = 1 then
5533: x_msg_data := l_msg_data;
5534: end if;
5535: raise FND_API.G_EXC_ERROR;
5536: end if;
5537:
5538: IF p_pub_prog_flag = 'Y' THEN
5539: PA_PROGRESS_PUB.Publish_Progress(
5547: ,x_msg_count => x_msg_count
5548: ,x_msg_data => x_msg_data
5549: );
5550:
5551: if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
5552: x_msg_count := FND_MSG_PUB.count_msg;
5553: if x_msg_count = 1 then
5554: x_msg_data := l_msg_data;
5555: end if;
5552: x_msg_count := FND_MSG_PUB.count_msg;
5553: if x_msg_count = 1 then
5554: x_msg_data := l_msg_data;
5555: end if;
5556: raise FND_API.G_EXC_ERROR;
5557: end if;
5558:
5559: END IF;
5560: */
5599: IF x_msg_count = 1 THEN
5600: x_msg_data := l_msg_data;
5601: END IF;
5602: CLOSE sel_other_structure_ver;
5603: RAISE FND_API.G_EXC_ERROR;
5604: END IF;
5605:
5606: END LOOP;
5607: CLOSE sel_other_structure_ver;
5631: x_msg_count := l_msg_count;
5632: IF x_msg_count = 1 THEN
5633: x_msg_data := l_msg_data;
5634: END IF;
5635: RAISE FND_API.G_EXC_ERROR;
5636: END IF;
5637: END IF;
5638: --end bug 3010538
5639:
5665: fnd_msg_pub.add_exc_msg(p_pkg_name =>
5666: 'PA_PROJECT_STRUCTURE_PVT1',
5667: p_procedure_name => 'publish_structure',
5668: p_error_text => SUBSTRB('Call PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC:'||SQLERRM,1,120));
5669: RAISE FND_API.G_EXC_ERROR;
5670: END;
5671:
5672: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5673: x_msg_count := FND_MSG_PUB.count_msg;
5668: p_error_text => SUBSTRB('Call PA_PROGRESS_PUB.COPY_PROGRESS_ACT_ETC:'||SQLERRM,1,120));
5669: RAISE FND_API.G_EXC_ERROR;
5670: END;
5671:
5672: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5673: x_msg_count := FND_MSG_PUB.count_msg;
5674: IF x_msg_count = 1 THEN
5675: x_msg_data := l_msg_data;
5676: END IF;
5673: x_msg_count := FND_MSG_PUB.count_msg;
5674: IF x_msg_count = 1 THEN
5675: x_msg_data := l_msg_data;
5676: END IF;
5677: raise FND_API.G_EXC_ERROR;
5678: END IF;
5679: */
5680: --bug 4019845
5681:
5687: THEN
5688: BEGIN
5689:
5690: pa_progress_pub.populate_pji_tab_for_plan(
5691: p_init_msg_list => FND_API.G_FALSE
5692: ,p_commit => FND_API.G_FALSE
5693: --,p_calling_module => p_calling_module
5694: ,p_project_id => l_Project_ID
5695: ,p_structure_version_id => l_new_struct_ver_id
5688: BEGIN
5689:
5690: pa_progress_pub.populate_pji_tab_for_plan(
5691: p_init_msg_list => FND_API.G_FALSE
5692: ,p_commit => FND_API.G_FALSE
5693: --,p_calling_module => p_calling_module
5694: ,p_project_id => l_Project_ID
5695: ,p_structure_version_id => l_new_struct_ver_id
5696: ,p_baselined_str_ver_id => PA_PROJECT_STRUCTURE_UTILS.Get_Baseline_Struct_Ver(l_Project_ID)
5704: fnd_msg_pub.add_exc_msg(p_pkg_name =>
5705: 'PA_PROJECT_STRUCTURE_PVT1',
5706: p_procedure_name => 'publish_structure',
5707: p_error_text => SUBSTRB('Call pa_progress_pub.populate_pji_tab_for_plan:'||SQLERRM,1,120));
5708: RAISE FND_API.G_EXC_ERROR;
5709: END;
5710:
5711: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5712: x_msg_count := FND_MSG_PUB.count_msg;
5707: p_error_text => SUBSTRB('Call pa_progress_pub.populate_pji_tab_for_plan:'||SQLERRM,1,120));
5708: RAISE FND_API.G_EXC_ERROR;
5709: END;
5710:
5711: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5712: x_msg_count := FND_MSG_PUB.count_msg;
5713: IF x_msg_count = 1 THEN
5714: x_msg_data := l_msg_data;
5715: END IF;
5712: x_msg_count := FND_MSG_PUB.count_msg;
5713: IF x_msg_count = 1 THEN
5714: x_msg_data := l_msg_data;
5715: END IF;
5716: raise FND_API.G_EXC_ERROR;
5717: END IF;
5718:
5719: BEGIN
5720: PA_PROGRESS_PUB.ROLLUP_PROGRESS_PVT(
5717: END IF;
5718:
5719: BEGIN
5720: PA_PROGRESS_PUB.ROLLUP_PROGRESS_PVT(
5721: p_init_msg_list => FND_API.G_FALSE
5722: --,p_calling_module => p_calling_module
5723: ,p_commit => FND_API.G_FALSE
5724: --,p_validate_only => p_validate_only
5725: ,p_project_id => l_Project_ID
5719: BEGIN
5720: PA_PROGRESS_PUB.ROLLUP_PROGRESS_PVT(
5721: p_init_msg_list => FND_API.G_FALSE
5722: --,p_calling_module => p_calling_module
5723: ,p_commit => FND_API.G_FALSE
5724: --,p_validate_only => p_validate_only
5725: ,p_project_id => l_Project_ID
5726: ,p_structure_version_id => l_new_struct_ver_id
5727: ,p_as_of_date => l_as_of_date
5737: fnd_msg_pub.add_exc_msg(p_pkg_name =>
5738: 'PA_PROJECT_STRUCTURE_PVT1',
5739: p_procedure_name => 'publish_structure',
5740: p_error_text => SUBSTRB('Call PA_PROGRESS_PUB.ROLLUP_PROGRESS_PVT:'||SQLERRM,1,120));
5741: RAISE FND_API.G_EXC_ERROR;
5742: END;
5743:
5744:
5745: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5741: RAISE FND_API.G_EXC_ERROR;
5742: END;
5743:
5744:
5745: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5746: x_msg_count := FND_MSG_PUB.count_msg;
5747: IF x_msg_count = 1 THEN
5748: x_msg_data := l_msg_data;
5749: END IF;
5746: x_msg_count := FND_MSG_PUB.count_msg;
5747: IF x_msg_count = 1 THEN
5748: x_msg_data := l_msg_data;
5749: END IF;
5750: raise FND_API.G_EXC_ERROR;
5751: END IF;
5752:
5753: END IF;
5754: -- Bug 3839288 End
5774: fnd_msg_pub.add_exc_msg(p_pkg_name =>
5775: 'PA_PROJECT_STRUCTURE_PVT1',
5776: p_procedure_name => 'publish_structure',
5777: p_error_text => SUBSTRB('Call PA_PROGRESS_UTILS.clear_prog_outdated_flag:'||SQLERRM,1,120));
5778: RAISE FND_API.G_EXC_ERROR;
5779: END;
5780:
5781:
5782: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5778: RAISE FND_API.G_EXC_ERROR;
5779: END;
5780:
5781:
5782: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5783: x_msg_count := FND_MSG_PUB.count_msg;
5784: IF x_msg_count = 1 THEN
5785: x_msg_data := l_msg_data;
5786: END IF;
5783: x_msg_count := FND_MSG_PUB.count_msg;
5784: IF x_msg_count = 1 THEN
5785: x_msg_data := l_msg_data;
5786: END IF;
5787: raise FND_API.G_EXC_ERROR;
5788: END IF;
5789: --bug 3851528
5790:
5791: END IF; -- p_pub_prog_flag = 'Y' THEN
5802: PA_PROJECT_PUB.G_DELETED_TASK_IDS_FROM_OP := l_tbd_task_id;
5803: END IF;
5804: -- End Bug : 4096218
5805:
5806: x_return_status := FND_API.G_RET_STS_SUCCESS;
5807:
5808: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5809: x_msg_count := FND_MSG_PUB.count_msg;
5810: if x_msg_count = 1 then
5804: -- End Bug : 4096218
5805:
5806: x_return_status := FND_API.G_RET_STS_SUCCESS;
5807:
5808: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
5809: x_msg_count := FND_MSG_PUB.count_msg;
5810: if x_msg_count = 1 then
5811: x_msg_data := l_msg_data;
5812: end if;
5809: x_msg_count := FND_MSG_PUB.count_msg;
5810: if x_msg_count = 1 then
5811: x_msg_data := l_msg_data;
5812: end if;
5813: raise FND_API.G_EXC_ERROR;
5814: end if;
5815:
5816: IF (p_debug_mode = 'Y') THEN
5817: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.PUBLISH_STRUCTURE end');
5817: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.PUBLISH_STRUCTURE end');
5818: END IF;
5819:
5820: EXCEPTION
5821: when FND_API.G_EXC_ERROR then
5822: if p_commit = FND_API.G_TRUE then
5823: rollback to publish_structure_pvt;
5824: else
5825: --need to rollback because generate error page performs a commit
5818: END IF;
5819:
5820: EXCEPTION
5821: when FND_API.G_EXC_ERROR then
5822: if p_commit = FND_API.G_TRUE then
5823: rollback to publish_structure_pvt;
5824: else
5825: --need to rollback because generate error page performs a commit
5826: rollback;
5842: x_msg_data => l_msg_data
5843: );
5844:
5845: x_msg_count := FND_MSG_PUB.count_msg;
5846: x_return_status := FND_API.G_RET_STS_ERROR;
5847: when FND_API.G_EXC_UNEXPECTED_ERROR then
5848: if p_commit = FND_API.G_TRUE then
5849: rollback to publish_structure_pvt;
5850: end if;
5843: );
5844:
5845: x_msg_count := FND_MSG_PUB.count_msg;
5846: x_return_status := FND_API.G_RET_STS_ERROR;
5847: when FND_API.G_EXC_UNEXPECTED_ERROR then
5848: if p_commit = FND_API.G_TRUE then
5849: rollback to publish_structure_pvt;
5850: end if;
5851: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5844:
5845: x_msg_count := FND_MSG_PUB.count_msg;
5846: x_return_status := FND_API.G_RET_STS_ERROR;
5847: when FND_API.G_EXC_UNEXPECTED_ERROR then
5848: if p_commit = FND_API.G_TRUE then
5849: rollback to publish_structure_pvt;
5850: end if;
5851: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5852: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5847: when FND_API.G_EXC_UNEXPECTED_ERROR then
5848: if p_commit = FND_API.G_TRUE then
5849: rollback to publish_structure_pvt;
5850: end if;
5851: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5852: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5853: p_procedure_name => 'PUBLISH_STRUCTURE',
5854: p_error_text => SUBSTRB(SQLERRM,1,240));
5855: when OTHERS then
5852: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5853: p_procedure_name => 'PUBLISH_STRUCTURE',
5854: p_error_text => SUBSTRB(SQLERRM,1,240));
5855: when OTHERS then
5856: if p_commit = FND_API.G_TRUE then
5857: rollback to publish_structure_pvt;
5858: end if;
5859: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5860: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5855: when OTHERS then
5856: if p_commit = FND_API.G_TRUE then
5857: rollback to publish_structure_pvt;
5858: end if;
5859: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5860: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
5861: p_procedure_name => 'PUBLISH_STRUCTURE',
5862: p_error_text => SUBSTRB(SQLERRM,1,240));
5863: raise;
5869: -- Pre-reqs : None
5870: -- Return Value : N/A
5871: -- Parameters
5872: -- p_api_version IN NUMBER := 1.0
5873: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5874: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
5875: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5876: -- p_validation_level IN VARCHAR2 := 100
5877: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5870: -- Return Value : N/A
5871: -- Parameters
5872: -- p_api_version IN NUMBER := 1.0
5873: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5874: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
5875: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5876: -- p_validation_level IN VARCHAR2 := 100
5877: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5878: -- p_debug_mode IN VARCHAR2 := 'N'
5871: -- Parameters
5872: -- p_api_version IN NUMBER := 1.0
5873: -- p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5874: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
5875: -- p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5876: -- p_validation_level IN VARCHAR2 := 100
5877: -- p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5878: -- p_debug_mode IN VARCHAR2 := 'N'
5879: -- p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
5898:
5899: procedure UPDATE_LATEST_PUB_LINKS
5900: (
5901: p_api_version IN NUMBER := 1.0
5902: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5903: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5904: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5905: ,p_validation_level IN VARCHAR2 := 100
5906: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5899: procedure UPDATE_LATEST_PUB_LINKS
5900: (
5901: p_api_version IN NUMBER := 1.0
5902: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5903: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5904: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5905: ,p_validation_level IN VARCHAR2 := 100
5906: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5907: ,p_debug_mode IN VARCHAR2 := 'N'
5900: (
5901: p_api_version IN NUMBER := 1.0
5902: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
5903: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5904: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
5905: ,p_validation_level IN VARCHAR2 := 100
5906: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
5907: ,p_debug_mode IN VARCHAR2 := 'N'
5908: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
5996: IF (p_debug_mode = 'Y') THEN
5997: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_LATEST_PUB_LINKS begin');
5998: END IF;
5999:
6000: IF (p_commit = FND_API.G_TRUE) THEN
6001: savepoint update_latest_pub_links_pvt;
6002: END IF;
6003:
6004: IF p_orig_task_ver_id IS NULL THEN
6024: pa_debug.debug('No latest published version found');
6025: END IF;
6026: --dbms_output.put_line('b, Close get_latest_struc_ver');
6027: CLOSE get_latest_struc_ver;
6028: x_return_status := FND_API.G_RET_STS_SUCCESS;
6029: return;
6030: END IF;
6031: l_latest_parent_struc_ver := l_latest_elem_ver;
6032: --dbms_output.put_line('b, Close get_latest_struc_ver');
6042: pa_debug.debug('No latest published version found');
6043: END IF;
6044: --dbms_output.put_line('b, Close get_latest_task_ver');
6045: CLOSE get_latest_task_ver;
6046: x_return_status := FND_API.G_RET_STS_SUCCESS;
6047: return;
6048: END IF;
6049: --dbms_output.put_line('b, Close get_latest_task_ver');
6050: CLOSE get_latest_task_ver;
6074: --dbms_output.put_line('b, Open get_structure_version_info');
6075: OPEN get_structure_version_info(l_from_object_info.object_id_from);
6076: FETCH get_structure_version_info INTO l_info_struc_ver_rec;
6077: PA_RELATIONSHIP_PVT.Update_Relationship(
6078: p_init_msg_list => FND_API.G_FALSE
6079: ,p_commit => FND_API.G_FALSE
6080: ,p_debug_mode => p_debug_mode
6081: ,p_object_relationship_id => l_from_object_info.object_relationship_id
6082: ,p_project_id_from => l_info_struc_ver_rec.project_id
6075: OPEN get_structure_version_info(l_from_object_info.object_id_from);
6076: FETCH get_structure_version_info INTO l_info_struc_ver_rec;
6077: PA_RELATIONSHIP_PVT.Update_Relationship(
6078: p_init_msg_list => FND_API.G_FALSE
6079: ,p_commit => FND_API.G_FALSE
6080: ,p_debug_mode => p_debug_mode
6081: ,p_object_relationship_id => l_from_object_info.object_relationship_id
6082: ,p_project_id_from => l_info_struc_ver_rec.project_id
6083: ,p_structure_id_from => l_info_struc_ver_rec.structure_id
6101: --dbms_output.put_line('b, Open get_task_version_info');
6102: OPEN get_task_version_info(l_from_object_info.object_id_from);
6103: FETCH get_task_version_info INTO l_info_task_ver_rec;
6104: PA_RELATIONSHIP_PVT.Update_Relationship(
6105: p_init_msg_list => FND_API.G_FALSE
6106: ,p_commit => FND_API.G_FALSE
6107: ,p_debug_mode => p_debug_mode
6108: ,p_object_relationship_id => l_from_object_info.object_relationship_id
6109: ,p_project_id_from => l_info_task_ver_rec.project_id
6102: OPEN get_task_version_info(l_from_object_info.object_id_from);
6103: FETCH get_task_version_info INTO l_info_task_ver_rec;
6104: PA_RELATIONSHIP_PVT.Update_Relationship(
6105: p_init_msg_list => FND_API.G_FALSE
6106: ,p_commit => FND_API.G_FALSE
6107: ,p_debug_mode => p_debug_mode
6108: ,p_object_relationship_id => l_from_object_info.object_relationship_id
6109: ,p_project_id_from => l_info_task_ver_rec.project_id
6110: ,p_structure_id_from => l_info_task_ver_rec.structure_id
6138: x_msg_count := l_msg_count;
6139: if x_msg_count = 1 then
6140: x_msg_data := l_msg_data;
6141: end if;
6142: raise FND_API.G_EXC_ERROR;
6143: end if;
6144:
6145: EXCEPTION
6146: when FND_API.G_EXC_ERROR then
6142: raise FND_API.G_EXC_ERROR;
6143: end if;
6144:
6145: EXCEPTION
6146: when FND_API.G_EXC_ERROR then
6147: if p_commit = FND_API.G_TRUE then
6148: rollback to update_latest_pub_links_pvt;
6149: end if;
6150: x_msg_count := FND_MSG_PUB.count_msg;
6143: end if;
6144:
6145: EXCEPTION
6146: when FND_API.G_EXC_ERROR then
6147: if p_commit = FND_API.G_TRUE then
6148: rollback to update_latest_pub_links_pvt;
6149: end if;
6150: x_msg_count := FND_MSG_PUB.count_msg;
6151: x_return_status := FND_API.G_RET_STS_ERROR;
6147: if p_commit = FND_API.G_TRUE then
6148: rollback to update_latest_pub_links_pvt;
6149: end if;
6150: x_msg_count := FND_MSG_PUB.count_msg;
6151: x_return_status := FND_API.G_RET_STS_ERROR;
6152: when FND_API.G_EXC_UNEXPECTED_ERROR then
6153: if p_commit = FND_API.G_TRUE then
6154: rollback to update_latest_pub_links_pvt;
6155: end if;
6148: rollback to update_latest_pub_links_pvt;
6149: end if;
6150: x_msg_count := FND_MSG_PUB.count_msg;
6151: x_return_status := FND_API.G_RET_STS_ERROR;
6152: when FND_API.G_EXC_UNEXPECTED_ERROR then
6153: if p_commit = FND_API.G_TRUE then
6154: rollback to update_latest_pub_links_pvt;
6155: end if;
6156: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6149: end if;
6150: x_msg_count := FND_MSG_PUB.count_msg;
6151: x_return_status := FND_API.G_RET_STS_ERROR;
6152: when FND_API.G_EXC_UNEXPECTED_ERROR then
6153: if p_commit = FND_API.G_TRUE then
6154: rollback to update_latest_pub_links_pvt;
6155: end if;
6156: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6157: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
6152: when FND_API.G_EXC_UNEXPECTED_ERROR then
6153: if p_commit = FND_API.G_TRUE then
6154: rollback to update_latest_pub_links_pvt;
6155: end if;
6156: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6157: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
6158: p_procedure_name => 'UPDATE_LATEST_PUB_LINKS',
6159: p_error_text => SUBSTRB(SQLERRM,1,240));
6160: when OTHERS then
6157: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
6158: p_procedure_name => 'UPDATE_LATEST_PUB_LINKS',
6159: p_error_text => SUBSTRB(SQLERRM,1,240));
6160: when OTHERS then
6161: if p_commit = FND_API.G_TRUE then
6162: rollback to update_latest_pub_links_pvt;
6163: end if;
6164: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6165: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
6160: when OTHERS then
6161: if p_commit = FND_API.G_TRUE then
6162: rollback to update_latest_pub_links_pvt;
6163: end if;
6164: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6165: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
6166: p_procedure_name => 'UPDATE_LATEST_PUB_LINKS',
6167: p_error_text => SUBSTRB(SQLERRM,1,240));
6168: raise;
6169: END UPDATE_LATEST_PUB_LINKS;
6170:
6171:
6172: PROCEDURE COPY_STRUCTURE_VERSION
6173: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
6174: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
6175: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
6176: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
6177: ,p_debug_mode IN VARCHAR2 := 'N'
6170:
6171:
6172: PROCEDURE COPY_STRUCTURE_VERSION
6173: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
6174: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
6175: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
6176: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
6177: ,p_debug_mode IN VARCHAR2 := 'N'
6178: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
6171:
6172: PROCEDURE COPY_STRUCTURE_VERSION
6173: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
6174: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
6175: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
6176: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
6177: ,p_debug_mode IN VARCHAR2 := 'N'
6178: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
6179: ,p_structure_version_id IN NUMBER
6174: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
6175: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
6176: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
6177: ,p_debug_mode IN VARCHAR2 := 'N'
6178: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
6179: ,p_structure_version_id IN NUMBER
6180: ,p_new_struct_ver_name IN VARCHAR2
6181: ,p_new_struct_ver_desc IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
6182: ,p_change_reason_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
6332: IF (p_debug_mode = 'Y') THEN
6333: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE_VERSION begin');
6334: END IF;
6335:
6336: IF (p_commit = FND_API.G_TRUE) THEN
6337: savepoint copy_structure_version_pvt;
6338: END IF;
6339:
6340: -- Get structure version info
6378: x_msg_count := l_msg_count;
6379: IF x_msg_count = 1 THEN
6380: x_msg_data := l_msg_data;
6381: END IF;
6382: RAISE FND_API.G_EXC_ERROR;
6383: END IF;
6384:
6385: -- Get structure version attributes
6386: OPEN l_get_structure_ver_attr_csr(p_structure_version_id);
6391: l_structure_ver_attr_rec.change_reason_code := p_change_reason_code;
6392: END IF;
6393:
6394: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
6395: ( p_validate_only => FND_API.G_FALSE
6396: ,p_structure_version_id => l_new_struct_ver_id
6397: ,p_structure_version_name => p_new_struct_ver_name
6398: ,p_structure_version_desc => p_new_struct_ver_desc
6399: ,p_effective_date => l_structure_ver_attr_rec.effective_date
6419: x_msg_count := l_msg_count;
6420: IF x_msg_count = 1 THEN
6421: x_msg_data := l_msg_data;
6422: END IF;
6423: RAISE FND_API.G_EXC_ERROR;
6424: END IF;
6425:
6426: --Search for outgoing links for the structure version; create new Links
6427: /*
6440: WHERE ppst.proj_element_id = l_structure_ver_to_rec.proj_element_id
6441: AND pst.structure_type_id = ppst.structure_type_id;
6442:
6443: PA_RELATIONSHIP_PVT.Create_Relationship(
6444: p_init_msg_list => FND_API.G_FALSE
6445: ,p_commit => FND_API.G_FALSE
6446: ,p_debug_mode => p_debug_mode
6447: ,p_project_id_from => l_structure_ver_rec.project_id
6448: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6441: AND pst.structure_type_id = ppst.structure_type_id;
6442:
6443: PA_RELATIONSHIP_PVT.Create_Relationship(
6444: p_init_msg_list => FND_API.G_FALSE
6445: ,p_commit => FND_API.G_FALSE
6446: ,p_debug_mode => p_debug_mode
6447: ,p_project_id_from => l_structure_ver_rec.project_id
6448: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6449: ,p_structure_version_id_from => l_new_struct_ver_id
6479: WHERE ppst.proj_element_id = l_info_task_ver_rec.structure_id
6480: AND pst.structure_type_id = ppst.structure_type_id;
6481:
6482: PA_RELATIONSHIP_PVT.Create_Relationship(
6483: p_init_msg_list => FND_API.G_FALSE
6484: ,p_commit => FND_API.G_FALSE
6485: ,p_debug_mode => p_debug_mode
6486: ,p_project_id_from => l_structure_ver_rec.project_id
6487: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6480: AND pst.structure_type_id = ppst.structure_type_id;
6481:
6482: PA_RELATIONSHIP_PVT.Create_Relationship(
6483: p_init_msg_list => FND_API.G_FALSE
6484: ,p_commit => FND_API.G_FALSE
6485: ,p_debug_mode => p_debug_mode
6486: ,p_project_id_from => l_structure_ver_rec.project_id
6487: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6488: ,p_structure_version_id_from => l_new_struct_ver_id
6514: if x_msg_count = 1 then
6515: x_msg_data := l_msg_data;
6516: end if;
6517: CLOSE get_to_id;
6518: raise FND_API.G_EXC_ERROR;
6519: end if;
6520:
6521: END LOOP;
6522: CLOSE get_to_id;
6535: CLOSE l_get_ver_schedule_attr_csr;
6536:
6537: /*
6538: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
6539: ( p_validate_only => FND_API.G_FALSE
6540: ,p_element_version_id => l_new_struct_ver_id
6541: ,p_calendar_id => l_ver_schedule_attr_rec.calendar_id
6542: ,p_scheduled_start_date => l_ver_schedule_attr_rec.scheduled_start_date
6543: ,p_scheduled_end_date => l_ver_schedule_attr_rec.scheduled_finish_date
6620: x_msg_count := l_msg_count;
6621: IF x_msg_count = 1 THEN
6622: x_msg_data := l_msg_data;
6623: END IF;
6624: RAISE FND_API.G_EXC_ERROR;
6625: END IF;
6626:
6627: ELSIF l_structure_type in ('FINANCIAL') then
6628: -- There can only be one working version any any time for a financial structure
6631: if l_check_working_versions_csr%FOUND then
6632: CLOSE l_check_working_versions_csr;
6633: PA_UTILS.ADD_MESSAGE('PA','PA_PS_WORKING_VER_EXISTS');
6634: x_msg_data := 'PA_PS_WORKING_VER_EXISTS';
6635: RAISE FND_API.G_EXC_ERROR;
6636: end if;
6637: CLOSE l_check_working_versions_csr;
6638: end if;
6639:
6689: FETCH get_cur_task_ver_weighting INTO l_weighting;
6690: CLOSE get_cur_task_ver_weighting;
6691:
6692: PA_TASK_PVT1.CREATE_TASK_VERSION
6693: ( p_validate_only => FND_API.G_FALSE
6694: ,p_validation_level => 0
6695: ,p_ref_task_version_id => l_ref_task_ver_id
6696: ,p_peer_or_sub => l_peer_or_sub
6697: ,p_task_id => l_task_versions_rec.proj_element_id
6716: x_msg_count := l_msg_count;
6717: IF x_msg_count = 1 THEN
6718: x_msg_data := l_msg_data;
6719: END IF;
6720: RAISE FND_API.G_EXC_ERROR;
6721: END IF;
6722:
6723: if l_structure_type = 'WORKPLAN' then
6724: -- Get task version schedule attributes
6730: pa_debug.debug('Before Create Schedule Version');
6731: END IF;
6732: -- xxlu added DFF attributes
6733: /* PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
6734: ( p_validate_only => FND_API.G_FALSE
6735: ,p_element_version_id => l_task_version_id
6736: ,p_calendar_id => l_ver_schedule_attr_rec.calendar_id
6737: ,p_scheduled_start_date => l_ver_schedule_attr_rec.scheduled_start_date
6738: ,p_scheduled_end_date => l_ver_schedule_attr_rec.scheduled_finish_date
6831: x_msg_count := l_msg_count;
6832: IF x_msg_count = 1 THEN
6833: x_msg_data := l_msg_data;
6834: END IF;
6835: RAISE FND_API.G_EXC_ERROR;
6836: END IF;
6837: end if;
6838:
6839: /* hsiu: bug 2800553: commented for performance improvement
6875: FETCH l_get_structure_type_csr INTO l_structure_type1;
6876: CLOSE l_get_structure_type_csr;
6877:
6878: PA_RELATIONSHIP_PVT.Create_Relationship(
6879: p_init_msg_list => FND_API.G_FALSE
6880: ,p_commit => FND_API.G_FALSE
6881: ,p_debug_mode => p_debug_mode
6882: ,p_project_id_from => l_structure_ver_rec.project_id
6883: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6876: CLOSE l_get_structure_type_csr;
6877:
6878: PA_RELATIONSHIP_PVT.Create_Relationship(
6879: p_init_msg_list => FND_API.G_FALSE
6880: ,p_commit => FND_API.G_FALSE
6881: ,p_debug_mode => p_debug_mode
6882: ,p_project_id_from => l_structure_ver_rec.project_id
6883: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6884: ,p_structure_version_id_from => l_new_struct_ver_id
6934: FETCH l_get_structure_type_csr INTO l_structure_type1;
6935: CLOSE l_get_structure_type_csr;
6936:
6937: PA_RELATIONSHIP_PVT.Create_Relationship(
6938: p_init_msg_list => FND_API.G_FALSE
6939: ,p_commit => FND_API.G_FALSE
6940: ,p_debug_mode => p_debug_mode
6941: ,p_project_id_from => l_structure_ver_rec.project_id
6942: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6935: CLOSE l_get_structure_type_csr;
6936:
6937: PA_RELATIONSHIP_PVT.Create_Relationship(
6938: p_init_msg_list => FND_API.G_FALSE
6939: ,p_commit => FND_API.G_FALSE
6940: ,p_debug_mode => p_debug_mode
6941: ,p_project_id_from => l_structure_ver_rec.project_id
6942: ,p_structure_id_from => l_structure_ver_rec.proj_element_id
6943: ,p_structure_version_id_from => l_new_struct_ver_id
6969: if x_msg_count = 1 then
6970: x_msg_data := l_msg_data;
6971: end if;
6972: CLOSE get_to_id;
6973: raise FND_API.G_EXC_ERROR;
6974: end if;
6975: END LOOP;
6976: CLOSE get_to_id;
6977: */
6982:
6983: CLOSE l_get_task_versions_csr;
6984:
6985: x_new_struct_ver_id := l_new_struct_ver_id;
6986: x_return_status := FND_API.G_RET_STS_SUCCESS;
6987:
6988: IF (p_commit = FND_API.G_TRUE) THEN
6989: COMMIT;
6990: END IF;
6984:
6985: x_new_struct_ver_id := l_new_struct_ver_id;
6986: x_return_status := FND_API.G_RET_STS_SUCCESS;
6987:
6988: IF (p_commit = FND_API.G_TRUE) THEN
6989: COMMIT;
6990: END IF;
6991:
6992: IF (p_debug_mode = 'Y') THEN
6993: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE_VERSION END');
6994: END IF;
6995:
6996: EXCEPTION
6997: when FND_API.G_EXC_ERROR then
6998: if p_commit = FND_API.G_TRUE then
6999: rollback to copy_structure_version_pvt;
7000: end if;
7001: x_return_status := FND_API.G_RET_STS_ERROR;
6994: END IF;
6995:
6996: EXCEPTION
6997: when FND_API.G_EXC_ERROR then
6998: if p_commit = FND_API.G_TRUE then
6999: rollback to copy_structure_version_pvt;
7000: end if;
7001: x_return_status := FND_API.G_RET_STS_ERROR;
7002: when FND_API.G_EXC_UNEXPECTED_ERROR then
6997: when FND_API.G_EXC_ERROR then
6998: if p_commit = FND_API.G_TRUE then
6999: rollback to copy_structure_version_pvt;
7000: end if;
7001: x_return_status := FND_API.G_RET_STS_ERROR;
7002: when FND_API.G_EXC_UNEXPECTED_ERROR then
7003: if p_commit = FND_API.G_TRUE then
7004: rollback to copy_structure_version_pvt;
7005: end if;
6998: if p_commit = FND_API.G_TRUE then
6999: rollback to copy_structure_version_pvt;
7000: end if;
7001: x_return_status := FND_API.G_RET_STS_ERROR;
7002: when FND_API.G_EXC_UNEXPECTED_ERROR then
7003: if p_commit = FND_API.G_TRUE then
7004: rollback to copy_structure_version_pvt;
7005: end if;
7006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6999: rollback to copy_structure_version_pvt;
7000: end if;
7001: x_return_status := FND_API.G_RET_STS_ERROR;
7002: when FND_API.G_EXC_UNEXPECTED_ERROR then
7003: if p_commit = FND_API.G_TRUE then
7004: rollback to copy_structure_version_pvt;
7005: end if;
7006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7007: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
7002: when FND_API.G_EXC_UNEXPECTED_ERROR then
7003: if p_commit = FND_API.G_TRUE then
7004: rollback to copy_structure_version_pvt;
7005: end if;
7006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7007: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
7008: p_procedure_name => 'COPY_STRUCTURE_VERSION',
7009: p_error_text => SUBSTRB(SQLERRM,1,240));
7010: when OTHERS then
7007: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
7008: p_procedure_name => 'COPY_STRUCTURE_VERSION',
7009: p_error_text => SUBSTRB(SQLERRM,1,240));
7010: when OTHERS then
7011: if p_commit = FND_API.G_TRUE then
7012: rollback to copy_structure_version_pvt;
7013: end if;
7014: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7015: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
7010: when OTHERS then
7011: if p_commit = FND_API.G_TRUE then
7012: rollback to copy_structure_version_pvt;
7013: end if;
7014: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7015: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
7016: p_procedure_name => 'COPY_STRUCTURE_VERSION',
7017: p_error_text => SUBSTRB(SQLERRM,1,240));
7018: raise;
7019: END COPY_STRUCTURE_VERSION;
7020:
7021:
7022: PROCEDURE COPY_STRUCTURE
7023: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
7024: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
7025: ,p_validation_level IN VARCHAR2 := 100
7026: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
7027: ,p_debug_mode IN VARCHAR2 := 'N'
7020:
7021:
7022: PROCEDURE COPY_STRUCTURE
7023: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
7024: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
7025: ,p_validation_level IN VARCHAR2 := 100
7026: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
7027: ,p_debug_mode IN VARCHAR2 := 'N'
7028: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
7367: IF (p_debug_mode = 'Y') THEN
7368: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE begin');
7369: END IF;
7370:
7371: IF (p_commit = FND_API.G_TRUE) THEN
7372: savepoint copy_structure_pvt;
7373: END IF;
7374:
7375: -- Check if source and destination project are the same
7373: END IF;
7374:
7375: -- Check if source and destination project are the same
7376: if p_src_project_id = p_dest_project_id then
7377: x_return_status := FND_API.G_RET_STS_SUCCESS;
7378: return;
7379: end if;
7380:
7381: --Check if the destination project is a template
7425: if l_get_structure_csr%NOTFOUND then
7426: CLOSE l_get_structure_csr;
7427: PA_UTILS.ADD_MESSAGE('PA','PA_PS_STRUC_NOT_EXIST');
7428: l_msg_data := 'PA_PS_STRUC_NOT_EXIST';
7429: RAISE FND_API.G_EXC_ERROR;
7430: end if;
7431:
7432: CLOSE l_get_structure_csr;
7433: */
7602: --Commented by hsiu
7603: -- IF (l_dest_template_flag = 'Y' AND l_structure_type = 'WORKPLAN') THEN
7604: --Create new structure
7605: -- PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
7606: -- ( p_validate_only => FND_API.G_FALSE
7607: -- ,p_project_id => p_dest_project_id
7608: -- ,p_structure_number => l_name
7609: -- ,p_structure_name => l_name
7610: -- ,p_calling_flag => l_structure_type
7619: -- x_msg_count := l_msg_count;
7620: -- IF x_msg_count = 1 THEN
7621: -- x_msg_data := l_msg_data;
7622: -- END IF;
7623: -- RAISE FND_API.G_EXC_ERROR;
7624: -- END IF;
7625:
7626: -- IF (p_debug_mode = 'Y') THEN
7627: -- pa_debug.debug('create structure version');
7626: -- IF (p_debug_mode = 'Y') THEN
7627: -- pa_debug.debug('create structure version');
7628: -- END IF;
7629: -- PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
7630: -- ( p_validate_only => FND_API.G_FALSE
7631: -- ,p_structure_id => l_structure_id
7632: -- ,x_structure_version_id => l_new_structure_version_id
7633: -- ,x_return_status => l_return_status
7634: -- ,x_msg_count => l_msg_count
7640: -- x_msg_count := l_msg_count;
7641: -- IF x_msg_count = 1 THEN
7642: -- x_msg_data := l_msg_data;
7643: -- END IF;
7644: -- RAISE FND_API.G_EXC_ERROR;
7645: -- END IF;
7646:
7647: -- IF (p_debug_mode = 'Y') THEN
7648: -- pa_debug.debug('create structure version attr');
7647: -- IF (p_debug_mode = 'Y') THEN
7648: -- pa_debug.debug('create structure version attr');
7649: -- END IF;
7650: -- PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
7651: -- ( p_validate_only => FND_API.G_FALSE
7652: -- ,p_structure_version_id => l_new_structure_version_id
7653: -- ,p_structure_version_name => l_name
7654: -- ,p_structure_version_desc => NULL
7655: -- ,p_effective_date => NULL
7669: -- x_msg_count := l_msg_count;
7670: -- IF x_msg_count = 1 THEN
7671: -- x_msg_data := l_msg_data;
7672: -- END IF;
7673: -- RAISE FND_API.G_EXC_ERROR;
7674: -- END IF;
7675:
7676: -- IF (p_debug_mode = 'Y') THEN
7677: -- pa_debug.debug('create schedule version');
7676: -- IF (p_debug_mode = 'Y') THEN
7677: -- pa_debug.debug('create schedule version');
7678: -- END IF;
7679: -- PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
7680: -- ( p_validate_only => FND_API.G_FALSE
7681: -- ,p_element_version_id => l_new_structure_version_id
7682: -- ,p_scheduled_start_date => SYSDATE
7683: -- ,p_scheduled_end_date => SYSDATE
7684: -- ,x_pev_schedule_id => l_pev_schedule_id
7692: -- x_msg_count := l_msg_count;
7693: -- IF x_msg_count = 1 THEN
7694: -- x_msg_data := l_msg_data;
7695: -- END IF;
7696: -- RAISE FND_API.G_EXC_ERROR;
7697: -- END IF;
7698:
7699: -- ELSE
7700: --copy from
7700: --copy from
7701: --end commented code by hsiu
7702:
7703: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
7704: ( p_validate_only => FND_API.G_FALSE
7705: ,p_project_id => p_dest_project_id
7706: ,p_structure_number => l_name
7707: ,p_structure_name => l_name
7708: ,p_calling_flag => l_structure_type
7756: x_msg_count := l_msg_count;
7757: IF x_msg_count = 1 THEN
7758: x_msg_data := l_msg_data;
7759: END IF;
7760: RAISE FND_API.G_EXC_ERROR;
7761: END IF;
7762:
7763:
7764: /*
7769: EXIT WHEN l_get_tasks_csr%NOTFOUND;
7770:
7771: -- CREATE_TASK
7772: PA_TASK_PUB1.CREATE_TASK
7773: ( p_validate_only => FND_API.G_FALSE
7774: ,p_object_type => 'PA_TASKS'
7775: ,p_project_id => p_dest_project_id
7776: ,p_structure_id => l_structure_id
7777: ,p_task_number => l_tasks_rec.element_number
7790: x_msg_count := l_msg_count;
7791: IF x_msg_count = 1 THEN
7792: x_msg_data := l_msg_data;
7793: END IF;
7794: RAISE FND_API.G_EXC_ERROR;
7795: END IF;
7796:
7797: -- Store the newly created task ID
7798: l_task_id_ref(l_tasks_rec.proj_element_id) := l_task_id;
7867: x_msg_count := l_msg_count;
7868: IF x_msg_count = 1 THEN
7869: x_msg_data := l_msg_data;
7870: END IF;
7871: RAISE FND_API.G_EXC_ERROR;
7872: END IF;
7873:
7874: --Structure version attributes creates after tasks are created
7875:
7910: l_struc_scheduled_start_date := l_scheduled_start_date;
7911: l_struc_scheduled_finish_date := l_scheduled_finish_date;
7912:
7913: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
7914: ( p_validate_only => FND_API.G_FALSE
7915: ,p_element_version_id => l_new_structure_version_id
7916: ,p_calendar_id => l_ver_schedule_attr_rec.calendar_id
7917: ,p_scheduled_start_date => l_scheduled_start_date
7918: ,p_scheduled_end_date => l_scheduled_finish_date
7942: x_msg_count := l_msg_count;
7943: IF x_msg_count = 1 THEN
7944: x_msg_data := l_msg_data;
7945: END IF;
7946: RAISE FND_API.G_EXC_ERROR;
7947: END IF;
7948:
7949: end if;
7950:
8112: END IF;
8113: --end task version status changes
8114:
8115: PA_TASK_PUB1.CREATE_TASK_VERSION
8116: ( p_validate_only => FND_API.G_FALSE
8117: ,p_ref_task_version_id => l_ref_task_ver_id
8118: ,p_peer_or_sub => l_peer_or_sub
8119: ,p_task_id => l_task_id--l_task_id_ref(l_task_versions_rec.proj_element_id)
8120: ,p_WEIGHTING_PERCENTAGE => l_weighting_percentage
8132: x_msg_count := l_msg_count;
8133: IF x_msg_count = 1 THEN
8134: x_msg_data := l_msg_data;
8135: END IF;
8136: RAISE FND_API.G_EXC_ERROR;
8137: END IF;
8138:
8139: if (l_structure_type = 'WORKPLAN') or (l_structure_type IS NULL) THEN
8140: -- Get task version schedule attributes
8157: -- end calculate scheduled start and finish dates
8158:
8159: -- xxlu added DFF attributes
8160: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
8161: ( p_validate_only => FND_API.G_FALSE
8162: ,p_element_version_id => l_task_version_id
8163: ,p_calendar_id => l_ver_schedule_attr_rec.calendar_id
8164: -- anlee
8165: -- Dates changes
8209: x_msg_count := l_msg_count;
8210: IF x_msg_count = 1 THEN
8211: x_msg_data := l_msg_data;
8212: END IF;
8213: RAISE FND_API.G_EXC_ERROR;
8214: END IF;
8215: end if;
8216:
8217: l_last_wbs_level := l_task_versions_rec.wbs_level;
8232: from pa_tasks a
8233: where a.task_id = l_task_delete;
8234:
8235: PA_TASKS_MAINT_PUB.DELETE_TASK(
8236: p_init_msg_list => FND_API.G_FALSE
8237: ,p_commit => FND_API.G_FALSE
8238: ,p_project_id => p_dest_project_id
8239: ,p_task_id => l_task_delete
8240: ,p_record_version_number => l_task_delete_rvn
8233: where a.task_id = l_task_delete;
8234:
8235: PA_TASKS_MAINT_PUB.DELETE_TASK(
8236: p_init_msg_list => FND_API.G_FALSE
8237: ,p_commit => FND_API.G_FALSE
8238: ,p_project_id => p_dest_project_id
8239: ,p_task_id => l_task_delete
8240: ,p_record_version_number => l_task_delete_rvn
8241: ,p_wbs_record_version_number => l_task_delete_wbs_rvn
8248: x_msg_count := l_msg_count;
8249: IF x_msg_count = 1 THEN
8250: x_msg_data := l_msg_data;
8251: END IF;
8252: RAISE FND_API.G_EXC_ERROR;
8253: END IF;
8254:
8255: END LOOP;
8256: CLOSE l_linking_tasks_csr;
8284: END IF;
8285:
8286: --moved here for baseline purpose
8287: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
8288: ( p_validate_only => FND_API.G_FALSE
8289: ,p_structure_version_id => l_new_structure_version_id
8290: -- ,p_structure_version_name => l_name
8291: --hsiu
8292: --fix bug 2640307
8311: x_msg_count := l_msg_count;
8312: IF x_msg_count = 1 THEN
8313: x_msg_data := l_msg_data;
8314: END IF;
8315: RAISE FND_API.G_EXC_ERROR;
8316: END IF;
8317:
8318: --If status is published and latest version, or template
8319: --update project level schedule dates
8322: FETCH get_proj_rec_ver_number into l_proj_record_ver_number;
8323: CLOSE get_proj_rec_ver_number;
8324:
8325: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES(
8326: p_validate_only => FND_API.G_FALSE
8327: ,p_project_id => p_dest_project_id
8328: ,p_date_type => 'SCHEDULED'
8329: ,p_start_date => l_struc_scheduled_start_date
8330: ,p_finish_date => l_struc_scheduled_finish_date
8338: x_msg_count := l_msg_count;
8339: IF x_msg_count = 1 THEN
8340: x_msg_data := l_msg_data;
8341: END IF;
8342: RAISE FND_API.G_EXC_ERROR;
8343: END IF;
8344: END IF;
8345:
8346: END LOOP;
8354: -- HSiu: commented old code
8355: -- end if;
8356:
8357:
8358: x_return_status := FND_API.G_RET_STS_SUCCESS;
8359:
8360: IF (p_commit = FND_API.G_TRUE) THEN
8361: COMMIT;
8362: END IF;
8356:
8357:
8358: x_return_status := FND_API.G_RET_STS_SUCCESS;
8359:
8360: IF (p_commit = FND_API.G_TRUE) THEN
8361: COMMIT;
8362: END IF;
8363:
8364: IF (p_debug_mode = 'Y') THEN
8365: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE END');
8366: END IF;
8367:
8368: EXCEPTION
8369: when FND_API.G_EXC_ERROR then
8370: if p_commit = FND_API.G_TRUE then
8371: rollback to copy_structure_pvt;
8372: end if;
8373: x_return_status := FND_API.G_RET_STS_ERROR;
8366: END IF;
8367:
8368: EXCEPTION
8369: when FND_API.G_EXC_ERROR then
8370: if p_commit = FND_API.G_TRUE then
8371: rollback to copy_structure_pvt;
8372: end if;
8373: x_return_status := FND_API.G_RET_STS_ERROR;
8374: when FND_API.G_EXC_UNEXPECTED_ERROR then
8369: when FND_API.G_EXC_ERROR then
8370: if p_commit = FND_API.G_TRUE then
8371: rollback to copy_structure_pvt;
8372: end if;
8373: x_return_status := FND_API.G_RET_STS_ERROR;
8374: when FND_API.G_EXC_UNEXPECTED_ERROR then
8375: if p_commit = FND_API.G_TRUE then
8376: rollback to copy_structure_pvt;
8377: end if;
8370: if p_commit = FND_API.G_TRUE then
8371: rollback to copy_structure_pvt;
8372: end if;
8373: x_return_status := FND_API.G_RET_STS_ERROR;
8374: when FND_API.G_EXC_UNEXPECTED_ERROR then
8375: if p_commit = FND_API.G_TRUE then
8376: rollback to copy_structure_pvt;
8377: end if;
8378: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8371: rollback to copy_structure_pvt;
8372: end if;
8373: x_return_status := FND_API.G_RET_STS_ERROR;
8374: when FND_API.G_EXC_UNEXPECTED_ERROR then
8375: if p_commit = FND_API.G_TRUE then
8376: rollback to copy_structure_pvt;
8377: end if;
8378: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8379: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8374: when FND_API.G_EXC_UNEXPECTED_ERROR then
8375: if p_commit = FND_API.G_TRUE then
8376: rollback to copy_structure_pvt;
8377: end if;
8378: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8379: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8380: p_procedure_name => 'COPY_STRUCTURE',
8381: p_error_text => SUBSTRB(SQLERRM,1,240));
8382: when OTHERS then
8379: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8380: p_procedure_name => 'COPY_STRUCTURE',
8381: p_error_text => SUBSTRB(SQLERRM,1,240));
8382: when OTHERS then
8383: if p_commit = FND_API.G_TRUE then
8384: rollback to copy_structure_pvt;
8385: end if;
8386: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8387: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8382: when OTHERS then
8383: if p_commit = FND_API.G_TRUE then
8384: rollback to copy_structure_pvt;
8385: end if;
8386: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8387: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8388: p_procedure_name => 'COPY_STRUCTURE',
8389: p_error_text => SUBSTRB(SQLERRM,1,240));
8390: raise;
8391: END COPY_STRUCTURE;
8392:
8393:
8394: PROCEDURE BASELINE_STRUCTURE_VERSION
8395: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
8396: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8397: ,p_validation_level IN VARCHAR2 := 100
8398: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8399: ,p_debug_mode IN VARCHAR2 := 'N'
8392:
8393:
8394: PROCEDURE BASELINE_STRUCTURE_VERSION
8395: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
8396: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8397: ,p_validation_level IN VARCHAR2 := 100
8398: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8399: ,p_debug_mode IN VARCHAR2 := 'N'
8400: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
8442: IF (p_debug_mode = 'Y') THEN
8443: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION BEGIN');
8444: END IF;
8445:
8446: IF (p_commit = FND_API.G_TRUE) THEN
8447: savepoint baseline_structure_pvt;
8448: END IF;
8449:
8450: SELECT PROJECT_ID
8484: x_msg_count := l_msg_count;
8485: IF x_msg_count = 1 THEN
8486: x_msg_data := l_msg_data;
8487: END IF;
8488: RAISE FND_API.G_EXC_ERROR;
8489: END IF;
8490: */
8491:
8492: UPDATE PA_PROJ_ELEMENTS
8503: FETCH c2 INTO l_proj_record_ver_number;
8504: CLOSE c2;
8505:
8506: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
8507: p_validate_only => FND_API.G_FALSE
8508: ,p_project_id => l_project_id
8509: ,p_date_type => 'BASELINE'
8510: ,p_start_date => c1_rec.scheduled_start_date
8511: ,p_finish_date => c1_rec.scheduled_finish_date
8520: x_msg_count := l_msg_count;
8521: IF x_msg_count = 1 THEN
8522: x_msg_data := l_msg_data;
8523: END IF;
8524: RAISE FND_API.G_EXC_ERROR;
8525: END IF;
8526: END IF;
8527: -- End of changes
8528:
8532: IF (p_debug_mode = 'Y') THEN
8533: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION end');
8534: END IF;
8535:
8536: x_return_status := FND_API.G_RET_STS_SUCCESS;
8537:
8538: EXCEPTION
8539: when FND_API.G_EXC_ERROR then
8540: if p_commit = FND_API.G_TRUE then
8535:
8536: x_return_status := FND_API.G_RET_STS_SUCCESS;
8537:
8538: EXCEPTION
8539: when FND_API.G_EXC_ERROR then
8540: if p_commit = FND_API.G_TRUE then
8541: rollback to baseline_structure_pvt;
8542: end if;
8543: x_return_status := FND_API.G_RET_STS_ERROR;
8536: x_return_status := FND_API.G_RET_STS_SUCCESS;
8537:
8538: EXCEPTION
8539: when FND_API.G_EXC_ERROR then
8540: if p_commit = FND_API.G_TRUE then
8541: rollback to baseline_structure_pvt;
8542: end if;
8543: x_return_status := FND_API.G_RET_STS_ERROR;
8544: when FND_API.G_EXC_UNEXPECTED_ERROR then
8539: when FND_API.G_EXC_ERROR then
8540: if p_commit = FND_API.G_TRUE then
8541: rollback to baseline_structure_pvt;
8542: end if;
8543: x_return_status := FND_API.G_RET_STS_ERROR;
8544: when FND_API.G_EXC_UNEXPECTED_ERROR then
8545: if p_commit = FND_API.G_TRUE then
8546: rollback to baseline_structure_pvt;
8547: end if;
8540: if p_commit = FND_API.G_TRUE then
8541: rollback to baseline_structure_pvt;
8542: end if;
8543: x_return_status := FND_API.G_RET_STS_ERROR;
8544: when FND_API.G_EXC_UNEXPECTED_ERROR then
8545: if p_commit = FND_API.G_TRUE then
8546: rollback to baseline_structure_pvt;
8547: end if;
8548: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8541: rollback to baseline_structure_pvt;
8542: end if;
8543: x_return_status := FND_API.G_RET_STS_ERROR;
8544: when FND_API.G_EXC_UNEXPECTED_ERROR then
8545: if p_commit = FND_API.G_TRUE then
8546: rollback to baseline_structure_pvt;
8547: end if;
8548: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8549: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8544: when FND_API.G_EXC_UNEXPECTED_ERROR then
8545: if p_commit = FND_API.G_TRUE then
8546: rollback to baseline_structure_pvt;
8547: end if;
8548: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8549: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8550: p_procedure_name => 'BASELINE_STRUCTURE_VERSION',
8551: p_error_text => SUBSTRB(SQLERRM,1,240));
8552: when OTHERS then
8549: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8550: p_procedure_name => 'BASELINE_STRUCTURE_VERSION',
8551: p_error_text => SUBSTRB(SQLERRM,1,240));
8552: when OTHERS then
8553: if p_commit = FND_API.G_TRUE then
8554: rollback to baseline_structure_pvt;
8555: end if;
8556: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8557: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8552: when OTHERS then
8553: if p_commit = FND_API.G_TRUE then
8554: rollback to baseline_structure_pvt;
8555: end if;
8556: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8557: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8558: p_procedure_name => 'BASELINE_STRUCTURE_VERSION',
8559: p_error_text => SUBSTRB(SQLERRM,1,240));
8560: raise;
8561: END BASELINE_STRUCTURE_VERSION;
8562:
8563:
8564: PROCEDURE SPLIT_WORKPLAN
8565: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
8566: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8567: ,p_validation_level IN VARCHAR2 := 100
8568: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8569: ,p_debug_mode IN VARCHAR2 := 'N'
8562:
8563:
8564: PROCEDURE SPLIT_WORKPLAN
8565: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
8566: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8567: ,p_validation_level IN VARCHAR2 := 100
8568: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8569: ,p_debug_mode IN VARCHAR2 := 'N'
8570: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
8614: IF (p_debug_mode = 'Y') THEN
8615: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.SPLIT_WORKPLAN BEGIN');
8616: END IF;
8617:
8618: IF (p_commit = FND_API.G_TRUE) THEN
8619: savepoint split_workplan;
8620: END IF;
8621:
8622: IF (p_debug_mode = 'Y') THEN
8632: IF PA_PROJECT_STRUCTURE_UTILS.CHECK_PUBLISHED_VER_EXISTS(p_project_id, l_structure_id) = 'Y' THEN
8633: --cannot split if publish version exists.
8634: PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_CANNOT_SPLIT_STRUCT');
8635: x_msg_data := 'PA_PS_CANNOT_SPLIT_STRUCT';
8636: RAISE FND_API.G_EXC_ERROR;
8637: END IF;
8638:
8639: --delete workplan structure type
8640: OPEN sel_struct_type(l_structure_id);
8668: x_msg_count := l_msg_count;
8669: IF x_msg_count = 1 THEN
8670: x_msg_data := l_msg_data;
8671: END IF;
8672: RAISE FND_API.G_EXC_ERROR;
8673: END IF;
8674:
8675: --delete schedule info for structure versions and tasks
8676: delete from pa_proj_elem_ver_schedule
8693: x_msg_count := l_msg_count;
8694: IF x_msg_count = 1 THEN
8695: x_msg_data := l_msg_data;
8696: END IF;
8697: RAISE FND_API.G_EXC_ERROR;
8698: END IF;
8699:
8700: --create_structure_version_attr
8701: PA_PROJECT_STRUCTURE_PUB1.create_structure_version_attr(
8714: x_msg_count := l_msg_count;
8715: IF x_msg_count = 1 THEN
8716: x_msg_data := l_msg_data;
8717: END IF;
8718: RAISE FND_API.G_EXC_ERROR;
8719: END IF;
8720:
8721: --create_schedule_version
8722: PA_TASK_PUB1.Create_Schedule_Version(
8735: x_msg_count := l_msg_count;
8736: IF x_msg_count = 1 THEN
8737: x_msg_data := l_msg_data;
8738: END IF;
8739: RAISE FND_API.G_EXC_ERROR;
8740: END IF;
8741:
8742: x_return_status := FND_API.G_RET_STS_SUCCESS;
8743:
8738: END IF;
8739: RAISE FND_API.G_EXC_ERROR;
8740: END IF;
8741:
8742: x_return_status := FND_API.G_RET_STS_SUCCESS;
8743:
8744: IF (p_debug_mode = 'Y') THEN
8745: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.SPLIT_WORKPLAN end');
8746: END IF;
8745: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.SPLIT_WORKPLAN end');
8746: END IF;
8747:
8748: EXCEPTION
8749: when FND_API.G_EXC_ERROR then
8750: if p_commit = FND_API.G_TRUE then
8751: rollback to split_workplan;
8752: end if;
8753: x_return_status := FND_API.G_RET_STS_ERROR;
8746: END IF;
8747:
8748: EXCEPTION
8749: when FND_API.G_EXC_ERROR then
8750: if p_commit = FND_API.G_TRUE then
8751: rollback to split_workplan;
8752: end if;
8753: x_return_status := FND_API.G_RET_STS_ERROR;
8754: when FND_API.G_EXC_UNEXPECTED_ERROR then
8749: when FND_API.G_EXC_ERROR then
8750: if p_commit = FND_API.G_TRUE then
8751: rollback to split_workplan;
8752: end if;
8753: x_return_status := FND_API.G_RET_STS_ERROR;
8754: when FND_API.G_EXC_UNEXPECTED_ERROR then
8755: if p_commit = FND_API.G_TRUE then
8756: rollback to split_workplan;
8757: end if;
8750: if p_commit = FND_API.G_TRUE then
8751: rollback to split_workplan;
8752: end if;
8753: x_return_status := FND_API.G_RET_STS_ERROR;
8754: when FND_API.G_EXC_UNEXPECTED_ERROR then
8755: if p_commit = FND_API.G_TRUE then
8756: rollback to split_workplan;
8757: end if;
8758: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8751: rollback to split_workplan;
8752: end if;
8753: x_return_status := FND_API.G_RET_STS_ERROR;
8754: when FND_API.G_EXC_UNEXPECTED_ERROR then
8755: if p_commit = FND_API.G_TRUE then
8756: rollback to split_workplan;
8757: end if;
8758: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8759: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8754: when FND_API.G_EXC_UNEXPECTED_ERROR then
8755: if p_commit = FND_API.G_TRUE then
8756: rollback to split_workplan;
8757: end if;
8758: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8759: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8760: p_procedure_name => 'SPLIT_WORKPLAN',
8761: p_error_text => SUBSTRB(SQLERRM,1,240));
8762: when OTHERS then
8759: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8760: p_procedure_name => 'SPLIT_WORKPLAN',
8761: p_error_text => SUBSTRB(SQLERRM,1,240));
8762: when OTHERS then
8763: if p_commit = FND_API.G_TRUE then
8764: rollback to split_workplan;
8765: end if;
8766: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8767: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8762: when OTHERS then
8763: if p_commit = FND_API.G_TRUE then
8764: rollback to split_workplan;
8765: end if;
8766: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8767: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
8768: p_procedure_name => 'SPLIT_WORKPLAN',
8769: p_error_text => SUBSTRB(SQLERRM,1,240));
8770: raise;
8773:
8774: procedure SUBMIT_WORKPLAN
8775: (
8776: p_api_version IN NUMBER := 1.0
8777: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
8778: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
8779: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8780: ,p_validation_level IN VARCHAR2 := 100
8781: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8774: procedure SUBMIT_WORKPLAN
8775: (
8776: p_api_version IN NUMBER := 1.0
8777: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
8778: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
8779: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8780: ,p_validation_level IN VARCHAR2 := 100
8781: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8782: ,p_debug_mode IN VARCHAR2 := 'N'
8775: (
8776: p_api_version IN NUMBER := 1.0
8777: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
8778: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
8779: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
8780: ,p_validation_level IN VARCHAR2 := 100
8781: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
8782: ,p_debug_mode IN VARCHAR2 := 'N'
8783: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
8853:
8854: BEGIN
8855: PA_DEBUG.INIT_ERR_STACK('PA_PROJECT_STRUCTURE_PVT1.SUBMIT_WORKPLAN');
8856:
8857: x_return_status := FND_API.G_RET_STS_SUCCESS;
8858:
8859: IF (p_commit = FND_API.G_TRUE) THEN
8860: savepoint SUBMIT_WP_PRIVATE;
8861: END IF;
8855: PA_DEBUG.INIT_ERR_STACK('PA_PROJECT_STRUCTURE_PVT1.SUBMIT_WORKPLAN');
8856:
8857: x_return_status := FND_API.G_RET_STS_SUCCESS;
8858:
8859: IF (p_commit = FND_API.G_TRUE) THEN
8860: savepoint SUBMIT_WP_PRIVATE;
8861: END IF;
8862:
8863: OPEN get_wp_info;
8879: --Check if this structure missing tasks with transactions
8880: -- IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.check_miss_transaction_tasks(p_structure_version_id)) THEN
8881: -- PA_UTILS.ADD_MESSAGE('PA','PA_PS_MISS_TRANSAC_TASK');
8882: -- x_msg_data := 'PA_PS_MISS_TRANSAC_TASK';
8883: -- RAISE FND_API.G_EXC_ERROR;
8884: -- END IF;
8885: PA_PROJECT_STRUCTURE_UTILS.CHECK_MISS_TRANSACTION_TASKS(p_structure_version_id,
8886: l_return_status,
8887: l_msg_count,
8885: PA_PROJECT_STRUCTURE_UTILS.CHECK_MISS_TRANSACTION_TASKS(p_structure_version_id,
8886: l_return_status,
8887: l_msg_count,
8888: l_msg_data);
8889: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8890: RAISE FND_API.G_EXC_ERROR;
8891: END IF;
8892:
8893:
8886: l_return_status,
8887: l_msg_count,
8888: l_msg_data);
8889: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8890: RAISE FND_API.G_EXC_ERROR;
8891: END IF;
8892:
8893:
8894:
8898: ,l_return_status
8899: ,l_msg_count
8900: ,l_msg_data
8901: );
8902: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8903: RAISE FND_API.G_EXC_ERROR;
8904: END IF;
8905:
8906:
8899: ,l_msg_count
8900: ,l_msg_data
8901: );
8902: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8903: RAISE FND_API.G_EXC_ERROR;
8904: END IF;
8905:
8906:
8907: --Check if any new summary task has transactions
8910: ,l_return_status
8911: ,l_msg_count
8912: ,l_msg_data
8913: );
8914: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8915: RAISE FND_API.G_EXC_ERROR;
8916: END IF;
8917:
8918:
8911: ,l_msg_count
8912: ,l_msg_data
8913: );
8914: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8915: RAISE FND_API.G_EXC_ERROR;
8916: END IF;
8917:
8918:
8919: --end bug 2684465
8926: --Check if this structure can be published (ie, if linked structures are published)
8927: IF ('Y' <> PA_PROJECT_STRUCTURE_UTILS.Check_Publish_Struc_Ver_Ok(p_structure_version_id)) THEN
8928: PA_UTILS.ADD_MESSAGE('PA','PA_PS_LINK_STRUC_NOT_PUB');
8929: x_msg_data := 'PA_PS_LINK_STRUC_NOT_PUB';
8930: RAISE FND_API.G_EXC_ERROR;
8931: END IF;
8932: */
8933:
8934: /*
8932: */
8933:
8934: /*
8935: PA_PROGRESS_PUB.CREATE_PROGRESS_FOR_WBS(
8936: p_validate_only => FND_API.G_TRUE
8937: ,p_commit => FND_API.G_FALSE
8938: ,p_project_id => p_project_id
8939: ,p_structure_version_id => p_structure_version_id
8940: ,x_return_status => l_return_status
8933:
8934: /*
8935: PA_PROGRESS_PUB.CREATE_PROGRESS_FOR_WBS(
8936: p_validate_only => FND_API.G_TRUE
8937: ,p_commit => FND_API.G_FALSE
8938: ,p_project_id => p_project_id
8939: ,p_structure_version_id => p_structure_version_id
8940: ,x_return_status => l_return_status
8941: ,x_msg_count => l_msg_count
8948: p_structure_version_id), 'N') THEN
8949: --need to reschedule
8950: PA_UTILS.ADD_MESSAGE('PA','PA_PS_NEED_THIRD_PT_SCH');
8951: x_msg_data := 'PA_PS_NEED_THIRD_PT_SCH';
8952: RAISE FND_API.G_EXC_ERROR;
8953: END IF;
8954: --end bug 3840509
8955:
8956: --Check if there is any error.
8959: x_msg_count := l_msg_count;
8960: IF x_msg_count = 1 THEN
8961: x_msg_data := l_msg_data;
8962: END IF;
8963: RAISE FND_API.G_EXC_ERROR;
8964: END IF;
8965:
8966: /*
8967: savepoint check_workplan;
8978: ,x_msg_count => x_msg_count
8979: ,x_msg_data => x_msg_data
8980: );
8981:
8982: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8983: RAISE FND_API.G_EXC_ERROR;
8984: END IF;
8985: rollback to check_workplan;
8986: */
8979: ,x_msg_data => x_msg_data
8980: );
8981:
8982: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
8983: RAISE FND_API.G_EXC_ERROR;
8984: END IF;
8985: rollback to check_workplan;
8986: */
8987: END IF;
9004: IF (l_return_status <> 'S') THEN
9005: PA_UTILS.ADD_MESSAGE('PA',l_msg_data);
9006: x_msg_data := l_msg_data;
9007: CLOSE sel_other_structure_ver;
9008: RAISE FND_API.G_EXC_ERROR;
9009: END IF;
9010: END LOOP;
9011: CLOSE sel_other_structure_ver;
9012: */
9019: where project_id = p_project_id
9020: and element_version_id = p_structure_version_id;
9021:
9022: --Submit for approval
9023: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9024:
9025: OPEN get_start_wf;
9026: FETCH get_start_wf into l_dummy;
9027: IF get_start_wf%FOUND THEN
9042: ,x_msg_data
9043: ,x_return_status
9044: );
9045:
9046: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9047: --update pa_wf_process_table
9048: PA_WORKFLOW_UTILS.INSERT_WF_PROCESSES
9049: (
9050: p_wf_type_code => 'WORKPLAN'
9059: );
9060: IF (l_err_code <> 0) THEN
9061: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9062: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9063: x_return_status := FND_API.G_RET_STS_ERROR;
9064: END IF;
9065: ELSE
9066: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9067: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9064: END IF;
9065: ELSE
9066: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9067: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9068: x_return_status := FND_API.G_RET_STS_ERROR;
9069: END IF;
9070: END IF;
9071: CLOSE get_wf_info;
9072: END IF;
9074:
9075: END IF;
9076:
9077: EXCEPTION
9078: WHEN FND_API.G_EXC_ERROR THEN
9079: IF (p_commit = FND_API.G_TRUE) THEN
9080: ROLLBACK to SUBMIT_WP_PRIVATE;
9081: END IF;
9082: x_msg_count := FND_MSG_PUB.count_msg;
9075: END IF;
9076:
9077: EXCEPTION
9078: WHEN FND_API.G_EXC_ERROR THEN
9079: IF (p_commit = FND_API.G_TRUE) THEN
9080: ROLLBACK to SUBMIT_WP_PRIVATE;
9081: END IF;
9082: x_msg_count := FND_MSG_PUB.count_msg;
9083: x_return_status := FND_API.G_RET_STS_ERROR;
9079: IF (p_commit = FND_API.G_TRUE) THEN
9080: ROLLBACK to SUBMIT_WP_PRIVATE;
9081: END IF;
9082: x_msg_count := FND_MSG_PUB.count_msg;
9083: x_return_status := FND_API.G_RET_STS_ERROR;
9084: WHEN OTHERS THEN
9085: IF (p_commit = FND_API.G_TRUE) THEN
9086: ROLLBACK to SUBMIT_WP_PRIVATE;
9087: END IF;
9081: END IF;
9082: x_msg_count := FND_MSG_PUB.count_msg;
9083: x_return_status := FND_API.G_RET_STS_ERROR;
9084: WHEN OTHERS THEN
9085: IF (p_commit = FND_API.G_TRUE) THEN
9086: ROLLBACK to SUBMIT_WP_PRIVATE;
9087: END IF;
9088: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9089: x_msg_count := FND_MSG_PUB.count_msg;
9084: WHEN OTHERS THEN
9085: IF (p_commit = FND_API.G_TRUE) THEN
9086: ROLLBACK to SUBMIT_WP_PRIVATE;
9087: END IF;
9088: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9089: x_msg_count := FND_MSG_PUB.count_msg;
9090: --put message
9091: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
9092: p_procedure_name => 'Submit_Workplan',
9097:
9098: procedure CHANGE_WORKPLAN_STATUS
9099: (
9100: p_api_version IN NUMBER := 1.0,
9101: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
9102: p_commit IN VARCHAR2 := FND_API.g_false,
9103: p_validate_only IN VARCHAR2 := FND_API.g_false,
9104: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
9105: p_project_id IN NUMBER := NULL,
9098: procedure CHANGE_WORKPLAN_STATUS
9099: (
9100: p_api_version IN NUMBER := 1.0,
9101: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
9102: p_commit IN VARCHAR2 := FND_API.g_false,
9103: p_validate_only IN VARCHAR2 := FND_API.g_false,
9104: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
9105: p_project_id IN NUMBER := NULL,
9106: p_structure_version_id IN NUMBER := NULL,
9099: (
9100: p_api_version IN NUMBER := 1.0,
9101: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
9102: p_commit IN VARCHAR2 := FND_API.g_false,
9103: p_validate_only IN VARCHAR2 := FND_API.g_false,
9104: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
9105: p_project_id IN NUMBER := NULL,
9106: p_structure_version_id IN NUMBER := NULL,
9107: p_status_code IN VARCHAR2 := NULL,
9100: p_api_version IN NUMBER := 1.0,
9101: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
9102: p_commit IN VARCHAR2 := FND_API.g_false,
9103: p_validate_only IN VARCHAR2 := FND_API.g_false,
9104: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
9105: p_project_id IN NUMBER := NULL,
9106: p_structure_version_id IN NUMBER := NULL,
9107: p_status_code IN VARCHAR2 := NULL,
9108: p_record_version_number IN NUMBER := NULL,
9150: BEGIN
9151: PA_DEBUG.init_err_stack('PA_PROJECT_STRUCTURE_PVT1.CHANGE_WORKPLAN_STATUS');
9152:
9153: -- Initialize the return status to success
9154: x_return_status := FND_API.G_RET_STS_SUCCESS;
9155:
9156: --
9157: BEGIN
9158: select pev_structure_id into l_pev_struc_id
9185: x_msg_count := l_msg_count;
9186: if x_msg_count = 1 then
9187: x_msg_data := l_msg_data;
9188: end if;
9189: raise FND_API.G_EXC_ERROR;
9190: end if;
9191:
9192: --check if status if valid
9193: OPEN get_status_code(p_status_code);
9196: CLOSE get_status_code;
9197: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9198: p_msg_name => 'PA_PS_STRUC_STAT_INVAL');
9199: x_msg_data := 'PA_PS_STRUC_STAT_INVAL';
9200: RAISE FND_API.G_EXC_ERROR;
9201: END IF;
9202: CLOSE get_status_code;
9203: --end validation
9204:
9227: ,x_msg_data
9228: ,x_return_status
9229: );
9230:
9231: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9232: --update pa_wf_process_table
9233: PA_WORKFLOW_UTILS.INSERT_WF_PROCESSES
9234: (
9235: p_wf_type_code => 'WORKPLAN'
9244: );
9245: IF (l_err_code <> 0) THEN
9246: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9247: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9248: x_return_status := FND_API.G_RET_STS_ERROR;
9249: END IF;
9250: ELSE
9251: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9252: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9249: END IF;
9250: ELSE
9251: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
9252: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
9253: x_return_status := FND_API.G_RET_STS_ERROR;
9254:
9255: END IF;
9256: END IF;
9257: END IF;
9260: END IF;
9261: CLOSE get_start_wf;
9262:
9263: EXCEPTION
9264: WHEN FND_API.G_EXC_ERROR THEN
9265: x_msg_count := FND_MSG_PUB.count_msg;
9266: x_return_status := FND_API.G_RET_STS_ERROR;
9267: WHEN OTHERS THEN
9268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9262:
9263: EXCEPTION
9264: WHEN FND_API.G_EXC_ERROR THEN
9265: x_msg_count := FND_MSG_PUB.count_msg;
9266: x_return_status := FND_API.G_RET_STS_ERROR;
9267: WHEN OTHERS THEN
9268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9269: x_msg_count := FND_MSG_PUB.count_msg;
9270: --put message
9264: WHEN FND_API.G_EXC_ERROR THEN
9265: x_msg_count := FND_MSG_PUB.count_msg;
9266: x_return_status := FND_API.G_RET_STS_ERROR;
9267: WHEN OTHERS THEN
9268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9269: x_msg_count := FND_MSG_PUB.count_msg;
9270: --put message
9271: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
9272: p_procedure_name => 'Change_Workplan_Status',
9277:
9278: PROCEDURE rework_workplan
9279: (
9280: p_api_version IN NUMBER := 1.0
9281: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9282: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9283: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9284: ,p_validation_level IN VARCHAR2 := 100
9285: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9278: PROCEDURE rework_workplan
9279: (
9280: p_api_version IN NUMBER := 1.0
9281: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9282: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9283: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9284: ,p_validation_level IN VARCHAR2 := 100
9285: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9286: ,p_debug_mode IN VARCHAR2 := 'N'
9279: (
9280: p_api_version IN NUMBER := 1.0
9281: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9282: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9283: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9284: ,p_validation_level IN VARCHAR2 := 100
9285: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9286: ,p_debug_mode IN VARCHAR2 := 'N'
9287: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
9325: and pps.project_status_code = 'STRUCTURE_SUBMITTED';
9326:
9327: BEGIN
9328: PA_DEBUG.init_err_stack('PA_PROJECT_STRUCTURE_PVT1.REWORK_WORKPLAN');
9329: x_return_status := FND_API.G_RET_STS_SUCCESS;
9330:
9331: IF (p_commit = FND_API.G_TRUE) THEN
9332: savepoint rework_workplan_pvt;
9333: END IF;
9327: BEGIN
9328: PA_DEBUG.init_err_stack('PA_PROJECT_STRUCTURE_PVT1.REWORK_WORKPLAN');
9329: x_return_status := FND_API.G_RET_STS_SUCCESS;
9330:
9331: IF (p_commit = FND_API.G_TRUE) THEN
9332: savepoint rework_workplan_pvt;
9333: END IF;
9334:
9335: change_workplan_status(
9348: x_msg_count := l_msg_count;
9349: IF x_msg_count = 1 THEN
9350: x_msg_data := l_msg_data;
9351: END IF;
9352: RAISE FND_API.G_EXC_ERROR;
9353: END IF;
9354:
9355: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9356: OPEN check_approve_req;
9351: END IF;
9352: RAISE FND_API.G_EXC_ERROR;
9353: END IF;
9354:
9355: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9356: OPEN check_approve_req;
9357: FETCH check_approve_req into l_approve_req;
9358: IF check_approve_req%NOTFOUND THEN
9359: l_approve_req := 'N';
9370: IF (get_wf_status%NOTFOUND or l_wf_status <> 'Y') THEN
9371: -- IF (l_approve_req = 'Y') THEN
9372: -- PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA'
9373: -- ,p_msg_name => 'PA_PR_CANCEL_WORKFLOW_INV');
9374: -- x_return_status := FND_API.G_RET_STS_ERROR;
9375: -- x_msg_count := FND_MSG_PUB.count_msg;
9376: -- if x_msg_count = 1 then
9377: -- x_msg_data := 'PA_PR_CANCEL_WORKFLOW_INV';
9378: -- end if;
9375: -- x_msg_count := FND_MSG_PUB.count_msg;
9376: -- if x_msg_count = 1 then
9377: -- x_msg_data := 'PA_PR_CANCEL_WORKFLOW_INV';
9378: -- end if;
9379: -- raise FND_API.G_EXC_ERROR;
9380: -- END IF;
9381: NULL;
9382: ELSE
9383: --cancel process
9394: ELSE
9395: IF (l_approve_req = 'Y') THEN
9396: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA'
9397: ,p_msg_name => 'PA_PR_CANCEL_WORKFLOW_INV');
9398: x_return_status := FND_API.G_RET_STS_ERROR;
9399: x_msg_count := FND_MSG_PUB.count_msg;
9400: if x_msg_count = 1 then
9401: x_msg_data := 'PA_PR_CANCEL_WORKFLOW_INV';
9402: end if;
9399: x_msg_count := FND_MSG_PUB.count_msg;
9400: if x_msg_count = 1 then
9401: x_msg_data := 'PA_PR_CANCEL_WORKFLOW_INV';
9402: end if;
9403: raise FND_API.G_EXC_ERROR;
9404: END IF;
9405: END IF;
9406: CLOSE get_item_key;
9407: END IF;
9405: END IF;
9406: CLOSE get_item_key;
9407: END IF;
9408: EXCEPTION
9409: WHEN FND_API.G_EXC_ERROR THEN
9410: IF (p_commit = FND_API.G_TRUE) THEN
9411: ROLLBACK to rework_workplan_pvt;
9412: END IF;
9413: x_msg_count := FND_MSG_PUB.count_msg;
9406: CLOSE get_item_key;
9407: END IF;
9408: EXCEPTION
9409: WHEN FND_API.G_EXC_ERROR THEN
9410: IF (p_commit = FND_API.G_TRUE) THEN
9411: ROLLBACK to rework_workplan_pvt;
9412: END IF;
9413: x_msg_count := FND_MSG_PUB.count_msg;
9414: x_return_status := FND_API.G_RET_STS_ERROR;
9410: IF (p_commit = FND_API.G_TRUE) THEN
9411: ROLLBACK to rework_workplan_pvt;
9412: END IF;
9413: x_msg_count := FND_MSG_PUB.count_msg;
9414: x_return_status := FND_API.G_RET_STS_ERROR;
9415: WHEN OTHERS THEN
9416: IF (p_commit = FND_API.G_TRUE) THEN
9417: ROLLBACK to rework_workplan_pvt;
9418: END IF;
9412: END IF;
9413: x_msg_count := FND_MSG_PUB.count_msg;
9414: x_return_status := FND_API.G_RET_STS_ERROR;
9415: WHEN OTHERS THEN
9416: IF (p_commit = FND_API.G_TRUE) THEN
9417: ROLLBACK to rework_workplan_pvt;
9418: END IF;
9419: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9420: x_msg_count := FND_MSG_PUB.count_msg;
9415: WHEN OTHERS THEN
9416: IF (p_commit = FND_API.G_TRUE) THEN
9417: ROLLBACK to rework_workplan_pvt;
9418: END IF;
9419: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9420: x_msg_count := FND_MSG_PUB.count_msg;
9421: --put message
9422: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
9423: p_procedure_name => 'rework_Workplan',
9446: -- 15-JAN-04 HSIU -rewrite API with sharing code changes
9447:
9448: PROCEDURE update_structures_setup_old
9449: ( p_api_version IN NUMBER := 1.0
9450: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9451: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9452: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9453: ,p_validation_level IN VARCHAR2 := 100
9454: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9447:
9448: PROCEDURE update_structures_setup_old
9449: ( p_api_version IN NUMBER := 1.0
9450: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9451: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9452: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9453: ,p_validation_level IN VARCHAR2 := 100
9454: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9455: ,p_debug_mode IN VARCHAR2 := 'N'
9448: PROCEDURE update_structures_setup_old
9449: ( p_api_version IN NUMBER := 1.0
9450: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
9451: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
9452: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9453: ,p_validation_level IN VARCHAR2 := 100
9454: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
9455: ,p_debug_mode IN VARCHAR2 := 'N'
9456: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
9684: IF (p_debug_mode = 'Y') THEN
9685: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr');
9686: END IF;
9687:
9688: IF (p_commit = FND_API.G_TRUE) THEN
9689: savepoint update_struc_setup_attr_pvt;
9690: END IF;
9691:
9692: IF (p_debug_mode = 'Y') THEN
9706: l_err_msg_code);
9707: IF (l_ret_stat = 'N') THEN
9708: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
9709: x_msg_data := l_err_msg_code;
9710: RAISE FND_API.G_EXC_ERROR;
9711: END IF;
9712: --enable WP
9713: --get project name
9714: OPEN get_project_info;
9731:
9732: l_name := substrb(l_name||l_append||l_suffix, 1, 240);
9733: --Create new structure
9734: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
9735: ( p_validate_only => FND_API.G_FALSE
9736: ,p_project_id => p_project_id
9737: ,p_structure_number => l_name
9738: ,p_structure_name => l_name
9739: ,p_calling_flag => 'WORKPLAN'
9748: x_msg_count := l_msg_count;
9749: IF x_msg_count = 1 THEN
9750: x_msg_data := l_msg_data;
9751: END IF;
9752: RAISE FND_API.G_EXC_ERROR;
9753: END IF;
9754:
9755: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
9756: ( p_validate_only => FND_API.G_FALSE
9752: RAISE FND_API.G_EXC_ERROR;
9753: END IF;
9754:
9755: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
9756: ( p_validate_only => FND_API.G_FALSE
9757: ,p_structure_id => l_structure_id
9758: ,x_structure_version_id => l_structure_version_id
9759: ,x_return_status => l_return_status
9760: ,x_msg_count => l_msg_count
9766: x_msg_count := l_msg_count;
9767: IF x_msg_count = 1 THEN
9768: x_msg_data := l_msg_data;
9769: END IF;
9770: RAISE FND_API.G_EXC_ERROR;
9771: END IF;
9772:
9773: PA_TASK_PUB1.Create_Schedule_Version(
9774: p_element_version_id => l_structure_version_id
9786: x_msg_count := l_msg_count;
9787: IF x_msg_count = 1 THEN
9788: x_msg_data := l_msg_data;
9789: END IF;
9790: RAISE FND_API.G_EXC_ERROR;
9791: END IF;
9792:
9793: OPEN get_template_flag;
9794: FETCH get_template_flag into l_template_flag, l_proj_rec_ver_num;
9806: l_effective_date := sysdate;
9807: END IF;
9808:
9809: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
9810: ( p_validate_only => FND_API.G_FALSE
9811: ,p_structure_version_id => l_structure_version_id
9812: ,p_structure_version_name => l_name
9813: ,p_structure_version_desc => NULL
9814: ,p_effective_date => l_effective_date
9828: x_msg_count := l_msg_count;
9829: IF x_msg_count = 1 THEN
9830: x_msg_data := l_msg_data;
9831: END IF;
9832: RAISE FND_API.G_EXC_ERROR;
9833: END IF;
9834:
9835: --end enable WP
9836: ELSE
9840: l_err_msg_code);
9841: IF (l_ret_stat = 'N') THEN
9842: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
9843: x_msg_data := l_err_msg_code;
9844: RAISE FND_API.G_EXC_ERROR;
9845: END IF;
9846: --disable WP
9847:
9848: --get structure_id
9875: l_err_msg_code);
9876: IF (l_return_status <> 'S') THEN
9877: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
9878: x_msg_data := l_err_msg_code;
9879: RAISE FND_API.G_EXC_ERROR;
9880: END IF;
9881:
9882: --get top tasks
9883: OPEN get_top_tasks(l_del_struc_ver_id);
9896: x_return_status := l_return_status;
9897: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
9898: l_msg_data := l_err_msg_code;
9899: CLOSE get_top_tasks;
9900: RAISE FND_API.G_EXC_ERROR;
9901: END IF;
9902: END LOOP;
9903: CLOSE get_top_tasks;
9904:
9919: IF x_msg_count = 1 THEN
9920: x_msg_data := l_msg_data;
9921: END IF;
9922: CLOSE sel_other_structure_ver;
9923: RAISE FND_API.G_EXC_ERROR;
9924: END IF;
9925:
9926: END LOOP;
9927: CLOSE sel_other_structure_ver;
9942: FETCH get_wp_attr_rvn into l_structure_id, l_wp_attr_rvn;
9943: CLOSE get_wp_attr_rvn;
9944:
9945: PA_WORKPLAN_ATTR_PUB.DELETE_PROJ_WORKPLAN_ATTRS(
9946: p_validate_only => FND_API.G_FALSE
9947: ,p_project_id => p_project_id
9948: ,p_proj_element_id => l_structure_id
9949: ,p_record_version_number => l_wp_attr_rvn
9950: ,x_return_status => l_return_status
9958: x_msg_count := l_msg_count;
9959: IF x_msg_count = 1 THEN
9960: x_msg_data := l_msg_data;
9961: END IF;
9962: RAISE FND_API.G_EXC_ERROR;
9963: END IF;
9964:
9965: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
9966: p_validate_only => FND_API.G_FALSE
9962: RAISE FND_API.G_EXC_ERROR;
9963: END IF;
9964:
9965: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
9966: p_validate_only => FND_API.G_FALSE
9967: ,p_project_id => p_project_id
9968: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
9969: ,p_object_id => l_structure_id
9970: ,x_return_status => l_return_status
9978: x_msg_count := l_msg_count;
9979: IF x_msg_count = 1 THEN
9980: x_msg_data := l_msg_data;
9981: END IF;
9982: RAISE FND_API.G_EXC_ERROR;
9983: END IF;
9984:
9985: --Delete structure type
9986: OPEN sel_wp_struct_type(l_structure_id);
10035: l_err_msg_code);
10036: IF (l_return_status <> 'S') THEN
10037: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10038: x_msg_data := l_err_msg_code;
10039: RAISE FND_API.G_EXC_ERROR;
10040: END IF;
10041:
10042: --get top tasks
10043: OPEN get_top_tasks(l_del_struc_ver_id);
10056: x_return_status := l_return_status;
10057: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10058: l_msg_data := l_err_msg_code;
10059: CLOSE get_top_tasks;
10060: RAISE FND_API.G_EXC_ERROR;
10061: END IF;
10062: END LOOP;
10063: CLOSE get_top_tasks;
10064:
10079: IF x_msg_count = 1 THEN
10080: x_msg_data := l_msg_data;
10081: END IF;
10082: CLOSE sel_all_wp_structure_ver;
10083: RAISE FND_API.G_EXC_ERROR;
10084: END IF;
10085: END LOOP;
10086: CLOSE sel_all_wp_structure_ver;
10087:
10117: l_err_msg_code);
10118: IF (l_ret_stat = 'N') THEN
10119: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10120: x_msg_data := l_err_msg_code;
10121: RAISE FND_API.G_EXC_ERROR;
10122: END IF;
10123:
10124: --hsiu: bug 2634029; get target dates
10125: OPEN sel_target_dates;
10145: l_err_msg_code);
10146: IF (l_return_status <> 'S') THEN
10147: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10148: x_msg_data := l_err_msg_code;
10149: RAISE FND_API.G_EXC_ERROR;
10150: END IF;
10151:
10152: --get top tasks
10153: OPEN get_top_tasks(l_del_struc_ver_id);
10167: x_return_status := l_return_status;
10168: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10169: l_msg_data := l_err_msg_code;
10170: CLOSE get_top_tasks;
10171: RAISE FND_API.G_EXC_ERROR;
10172: END IF;
10173: END LOOP;
10174: CLOSE get_top_tasks;
10175:
10191: IF x_msg_count = 1 THEN
10192: x_msg_data := l_msg_data;
10193: END IF;
10194: CLOSE sel_all_wp_structure_ver;
10195: RAISE FND_API.G_EXC_ERROR;
10196: END IF;
10197: END LOOP;
10198: CLOSE sel_all_wp_structure_ver;
10199:
10231: );
10232:
10233: --add proj_wp attr
10234: PA_WORKPLAN_ATTR_PVT.CREATE_PROJ_WORKPLAN_ATTRS(
10235: p_validate_only => FND_API.G_FALSE
10236: ,p_project_id => p_project_id
10237: ,p_proj_element_id => l_structure_id
10238: ,p_approval_reqd_flag => l_proj_workplan_attr_rec.WP_APPROVAL_REQD_FLAG
10239: ,p_auto_publish_flag => l_proj_workplan_attr_rec.WP_AUTO_PUBLISH_FLAG
10259: x_msg_count := l_msg_count;
10260: IF x_msg_count = 1 THEN
10261: x_msg_data := l_msg_data;
10262: END IF;
10263: RAISE FND_API.G_EXC_ERROR;
10264: END IF;
10265:
10266: --bug 3010538
10267: --copy task weighting basis
10265:
10266: --bug 3010538
10267: --copy task weighting basis
10268: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
10269: p_validate_only => FND_API.G_FALSE
10270: ,p_project_id => p_project_id
10271: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
10272: ,P_OBJECT_ID => l_structure_id
10273: ,p_PROGRESS_CYCLE_ID => l_proj_progress_attr_rec.PROGRESS_CYCLE_ID
10289: x_msg_count := l_msg_count;
10290: IF x_msg_count = 1 THEN
10291: x_msg_data := l_msg_data;
10292: END IF;
10293: RAISE FND_API.G_EXC_ERROR;
10294: END IF;
10295:
10296: --Loop schedule version to structure version and task versions
10297: OPEN sel_struc_ver(l_structure_id);
10309: x_return_status => l_return_status,
10310: x_msg_count => l_msg_count,
10311: x_msg_data => l_msg_data
10312: );
10313: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
10314: x_msg_count := FND_MSG_PUB.count_msg;
10315: if x_msg_count = 1 then
10316: x_msg_data := l_msg_data;
10317: end if;
10314: x_msg_count := FND_MSG_PUB.count_msg;
10315: if x_msg_count = 1 then
10316: x_msg_data := l_msg_data;
10317: end if;
10318: raise FND_API.G_EXC_ERROR;
10319: end if;
10320:
10321: END IF;
10322: --3035902: end process update flag changes
10350: -- IF (l_start_date IS NULL) OR (l_completion_date IS NULL) THEN
10351: -- CLOSE sel_struc_and_task_vers;
10352: -- PA_UTILS.ADD_MESSAGE('PA', 'PA_PS_FIN_TK_DATE_MISS');
10353: -- x_msg_data := 'PA_PS_FIN_TK_DATE_MISS';
10354: -- RAISE FND_API.G_EXC_ERROR;
10355: --hsiu: 2634029
10356: -- Default sysdate or project target dates if transaction dates
10357: -- are missing.
10358: -- l_start_date := l_target_start_date;
10415: -- Bug 2790703 Begin
10416: IF (l_task_ver_ids_tbl.count > 0) THEN
10417: --rollup
10418: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
10419: p_commit => FND_API.G_FALSE,
10420: p_element_versions => l_task_ver_ids_tbl,
10421: x_return_status => l_return_status,
10422: x_msg_count => l_msg_count,
10423: x_msg_data => l_msg_data);
10430: x_msg_count := l_msg_count;
10431: IF x_msg_count = 1 THEN
10432: x_msg_data := l_msg_data;
10433: END IF;
10434: RAISE FND_API.G_EXC_ERROR;
10435: END IF;
10436: END IF;
10437:
10438: --check if project or template; set status
10481: FETCH get_scheduled_dates into l_get_sch_dates_cur;
10482: CLOSE get_scheduled_dates;
10483:
10484: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
10485: p_validate_only => FND_API.G_FALSE
10486: ,p_project_id => p_project_id
10487: ,p_date_type => 'SCHEDULED'
10488: ,p_start_date => l_get_sch_dates_cur.scheduled_start_date
10489: ,p_finish_date => l_get_sch_dates_cur.scheduled_finish_date
10491: ,x_return_status => x_return_status
10492: ,x_msg_count => x_msg_count
10493: ,x_msg_data => x_msg_data );
10494:
10495: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10496: RAISE FND_API.G_EXC_ERROR;
10497: END IF;
10498: END IF;
10499: --bug 2843569
10492: ,x_msg_count => x_msg_count
10493: ,x_msg_data => x_msg_data );
10494:
10495: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10496: RAISE FND_API.G_EXC_ERROR;
10497: END IF;
10498: END IF;
10499: --bug 2843569
10500:
10500:
10501: IF (l_baseline_flag = 'Y') THEN
10502: --baseline structure
10503: PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION(
10504: p_commit => FND_API.G_FALSE,
10505: p_structure_version_id => l_structure_version_id,
10506: x_return_status => l_return_status,
10507: x_msg_count => l_msg_count,
10508: x_msg_data => l_msg_data);
10513: x_msg_count := l_msg_count;
10514: IF x_msg_count = 1 THEN
10515: x_msg_data := l_msg_data;
10516: END IF;
10517: RAISE FND_API.G_EXC_ERROR;
10518: END IF;
10519:
10520: END IF;
10521: -- Bug 2758343 -- Added the following call to recalculate the weightings for existing tasks
10524: , x_msg_count => l_msg_count
10525: , x_msg_data => l_msg_data
10526: , x_return_status => l_return_status);
10527:
10528: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10529: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10530: END IF;
10531:
10532: --end sharing on
10525: , x_msg_data => l_msg_data
10526: , x_return_status => l_return_status);
10527:
10528: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10529: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10530: END IF;
10531:
10532: --end sharing on
10533: ELSIF (p_sharing_enabled_flag = 'Y' AND
10533: ELSIF (p_sharing_enabled_flag = 'Y' AND
10534: PA_PROJECT_STRUCTURE_UTILS.CHECK_WORKPLAN_ENABLED(p_project_id) = 'N') THEN
10535: PA_UTILS.ADD_MESSAGE('PA','PA_PS_WP_NOT_EN_SHR_ERR');
10536: x_msg_data := 'PA_PS_WP_NOT_EN_SHR_ERR';
10537: RAISE FND_API.G_EXC_ERROR;
10538: ELSIF (p_sharing_enabled_flag = 'N') THEN
10539: --Validation
10540: PA_PROJECT_STRUCTURE_UTILS.check_sharing_off_ok(p_project_id,
10541: l_ret_stat,
10542: l_err_msg_code);
10543: IF (l_ret_stat = 'N') THEN
10544: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10545: x_msg_data := l_err_msg_code;
10546: RAISE FND_API.G_EXC_ERROR;
10547: END IF;
10548: --sharing off
10549: --Select version to be kept
10550: OPEN sel_latest_pub_ver(l_structure_id);
10567: l_err_msg_code);
10568: IF (l_return_status <> 'S') THEN
10569: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10570: x_msg_data := l_err_msg_code;
10571: RAISE FND_API.G_EXC_ERROR;
10572: END IF;
10573:
10574: --get top tasks
10575: OPEN get_top_tasks(l_del_struc_ver_id);
10588: x_return_status := l_return_status;
10589: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
10590: l_msg_data := l_err_msg_code;
10591: CLOSE get_top_tasks;
10592: RAISE FND_API.G_EXC_ERROR;
10593: END IF;
10594: END LOOP;
10595: CLOSE get_top_tasks;
10596:
10611: IF x_msg_count = 1 THEN
10612: x_msg_data := l_msg_data;
10613: END IF;
10614: CLOSE sel_other_structure_ver;
10615: RAISE FND_API.G_EXC_ERROR;
10616: END IF;
10617:
10618: END LOOP;
10619: CLOSE sel_other_structure_ver;
10634: FETCH get_wp_attr_rvn into l_structure_id, l_wp_attr_rvn;
10635: CLOSE get_wp_attr_rvn;
10636:
10637: PA_WORKPLAN_ATTR_PUB.DELETE_PROJ_WORKPLAN_ATTRS(
10638: p_validate_only => FND_API.G_FALSE
10639: ,p_project_id => p_project_id
10640: ,p_proj_element_id => l_structure_id
10641: ,p_record_version_number => l_wp_attr_rvn
10642: ,x_return_status => l_return_status
10650: x_msg_count := l_msg_count;
10651: IF x_msg_count = 1 THEN
10652: x_msg_data := l_msg_data;
10653: END IF;
10654: RAISE FND_API.G_EXC_ERROR;
10655: END IF;
10656:
10657: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
10658: p_validate_only => FND_API.G_FALSE
10654: RAISE FND_API.G_EXC_ERROR;
10655: END IF;
10656:
10657: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
10658: p_validate_only => FND_API.G_FALSE
10659: ,p_project_id => p_project_id
10660: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
10661: ,P_OBJECT_ID => l_structure_id
10662: ,x_return_status => l_return_status
10670: x_msg_count := l_msg_count;
10671: IF x_msg_count = 1 THEN
10672: x_msg_data := l_msg_data;
10673: END IF;
10674: RAISE FND_API.G_EXC_ERROR;
10675: END IF;
10676:
10677: --Delete structure type
10678: OPEN sel_wp_struct_type(l_structure_id);
10734:
10735: l_name := substrb(l_name||l_append||l_suffix, 1, 240);
10736: --Create new structure
10737: PA_PROJECT_STRUCTURE_PVT1.CREATE_STRUCTURE
10738: ( p_validate_only => FND_API.G_FALSE
10739: ,p_project_id => p_project_id
10740: ,p_structure_number => l_name
10741: ,p_structure_name => l_name
10742: ,p_calling_flag => 'WORKPLAN'
10771: x_msg_count := l_msg_count;
10772: IF x_msg_count = 1 THEN
10773: x_msg_data := l_msg_data;
10774: END IF;
10775: RAISE FND_API.G_EXC_ERROR;
10776: END IF;
10777:
10778: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
10779: ( p_validate_only => FND_API.G_FALSE
10775: RAISE FND_API.G_EXC_ERROR;
10776: END IF;
10777:
10778: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
10779: ( p_validate_only => FND_API.G_FALSE
10780: ,p_structure_id => l_structure_id
10781: ,x_structure_version_id => l_structure_version_id
10782: ,x_return_status => l_return_status
10783: ,x_msg_count => l_msg_count
10789: x_msg_count := l_msg_count;
10790: IF x_msg_count = 1 THEN
10791: x_msg_data := l_msg_data;
10792: END IF;
10793: RAISE FND_API.G_EXC_ERROR;
10794: END IF;
10795:
10796: PA_TASK_PUB1.Create_Schedule_Version(
10797: p_element_version_id => l_structure_version_id
10809: x_msg_count := l_msg_count;
10810: IF x_msg_count = 1 THEN
10811: x_msg_data := l_msg_data;
10812: END IF;
10813: RAISE FND_API.G_EXC_ERROR;
10814: END IF;
10815:
10816: --Check versioning flag, project or template
10817: OPEN get_template_flag;
10837: FETCH get_scheduled_dates into l_get_sch_dates_cur;
10838: CLOSE get_scheduled_dates;
10839:
10840: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
10841: p_validate_only => FND_API.G_FALSE
10842: ,p_project_id => p_project_id
10843: ,p_date_type => 'SCHEDULED'
10844: ,p_start_date => l_get_sch_dates_cur.scheduled_start_date
10845: ,p_finish_date => l_get_sch_dates_cur.scheduled_finish_date
10847: ,x_return_status => x_return_status
10848: ,x_msg_count => x_msg_count
10849: ,x_msg_data => x_msg_data );
10850:
10851: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10852: RAISE FND_API.G_EXC_ERROR;
10853: END IF;
10854: ELSE
10855: IF (l_status_code = 'STRUCTURE_WORKING') THEN
10848: ,x_msg_count => x_msg_count
10849: ,x_msg_data => x_msg_data );
10850:
10851: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10852: RAISE FND_API.G_EXC_ERROR;
10853: END IF;
10854: ELSE
10855: IF (l_status_code = 'STRUCTURE_WORKING') THEN
10856: --clear previously set dates
10867: END IF;
10868: END IF;
10869:
10870: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
10871: ( p_validate_only => FND_API.G_FALSE
10872: ,p_structure_version_id => l_structure_version_id
10873: ,p_structure_version_name => l_name
10874: ,p_structure_version_desc => NULL
10875: ,p_effective_date => l_effective_date
10889: x_msg_count := l_msg_count;
10890: IF x_msg_count = 1 THEN
10891: x_msg_data := l_msg_data;
10892: END IF;
10893: RAISE FND_API.G_EXC_ERROR;
10894: END IF;
10895:
10896: --end sharing off
10897: END IF;
10898: --END SHARING CODE
10899: END IF;
10900: */
10901:
10902: x_return_status := FND_API.G_RET_STS_SUCCESS;
10903:
10904: IF (p_debug_mode = 'Y') THEN
10905: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr end');
10906: END IF;
10905: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr end');
10906: END IF;
10907:
10908: EXCEPTION
10909: WHEN FND_API.G_EXC_ERROR THEN
10910: IF (p_commit = FND_API.G_TRUE) THEN
10911: ROLLBACK to update_struc_setup_attr_pvt;
10912: END IF;
10913: x_msg_count := FND_MSG_PUB.count_msg;
10906: END IF;
10907:
10908: EXCEPTION
10909: WHEN FND_API.G_EXC_ERROR THEN
10910: IF (p_commit = FND_API.G_TRUE) THEN
10911: ROLLBACK to update_struc_setup_attr_pvt;
10912: END IF;
10913: x_msg_count := FND_MSG_PUB.count_msg;
10914: x_return_status := FND_API.G_RET_STS_ERROR;
10910: IF (p_commit = FND_API.G_TRUE) THEN
10911: ROLLBACK to update_struc_setup_attr_pvt;
10912: END IF;
10913: x_msg_count := FND_MSG_PUB.count_msg;
10914: x_return_status := FND_API.G_RET_STS_ERROR;
10915: WHEN OTHERS THEN
10916: IF (p_commit = FND_API.G_TRUE) THEN
10917: ROLLBACK to update_struc_setup_attr_pvt;
10918: END IF;
10912: END IF;
10913: x_msg_count := FND_MSG_PUB.count_msg;
10914: x_return_status := FND_API.G_RET_STS_ERROR;
10915: WHEN OTHERS THEN
10916: IF (p_commit = FND_API.G_TRUE) THEN
10917: ROLLBACK to update_struc_setup_attr_pvt;
10918: END IF;
10919: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10920: x_msg_count := FND_MSG_PUB.count_msg;
10915: WHEN OTHERS THEN
10916: IF (p_commit = FND_API.G_TRUE) THEN
10917: ROLLBACK to update_struc_setup_attr_pvt;
10918: END IF;
10919: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10920: x_msg_count := FND_MSG_PUB.count_msg;
10921: --put message
10922: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
10923: p_procedure_name => 'update_structures_setup_attr',
10926: END update_structures_setup_old;
10927:
10928: PROCEDURE update_workplan_versioning
10929: ( p_api_version IN NUMBER := 1.0
10930: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
10931: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
10932: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
10933: ,p_validation_level IN VARCHAR2 := 100
10934: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
10927:
10928: PROCEDURE update_workplan_versioning
10929: ( p_api_version IN NUMBER := 1.0
10930: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
10931: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
10932: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
10933: ,p_validation_level IN VARCHAR2 := 100
10934: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
10935: ,p_debug_mode IN VARCHAR2 := 'N'
10928: PROCEDURE update_workplan_versioning
10929: ( p_api_version IN NUMBER := 1.0
10930: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
10931: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
10932: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
10933: ,p_validation_level IN VARCHAR2 := 100
10934: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
10935: ,p_debug_mode IN VARCHAR2 := 'N'
10936: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
11039: IF (p_debug_mode = 'Y') THEN
11040: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_workplan_versioning');
11041: END IF;
11042:
11043: IF (p_commit = FND_API.G_TRUE) THEN
11044: savepoint update_wp_versioning_pvt;
11045: END IF;
11046:
11047: IF (p_debug_mode = 'Y') THEN
11056: ,l_err_msg_code);
11057: IF (l_ret_stat = 'N') THEN
11058: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
11059: x_msg_data := l_err_msg_code;
11060: RAISE FND_API.G_EXC_ERROR;
11061: END IF;
11062: --enable versioning
11063: --do not need to do anything
11064:
11088: x_msg_count := l_msg_count;
11089: IF x_msg_count = 1 THEN
11090: x_msg_data := l_msg_data;
11091: END IF;
11092: RAISE FND_API.G_EXC_ERROR;
11093: END IF;
11094: END IF;
11095: END LOOP;
11096: --end bug 4546607
11117: IF x_msg_count = 1 THEN
11118: x_msg_data := l_msg_data;
11119: END IF;
11120: -- CLOSE sel_other_structure_ver; --Bug 3793128
11121: RAISE FND_API.G_EXC_ERROR;
11122: END IF;
11123: --end bug 3125813
11124: --bug 4263266
11125: END IF; --if cur_chk_tasks%FOUND
11152: ,l_err_msg_code);
11153: IF (l_ret_stat = 'N') THEN
11154: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
11155: x_msg_data := l_err_msg_code;
11156: RAISE FND_API.G_EXC_ERROR;
11157: END IF;
11158: --disable versioning
11159: --Applies to project only
11160: OPEN get_template_flag;
11192: IF x_msg_count = 1 THEN
11193: x_msg_data := l_msg_data;
11194: END IF;
11195: CLOSE sel_other_structure_ver;
11196: RAISE FND_API.G_EXC_ERROR;
11197: END IF;
11198:
11199: END LOOP;
11200: CLOSE sel_other_structure_ver;
11222: where pev_structure_id = l_pev_structure_id;
11223:
11224: --baseline structure
11225: PA_PROJECT_STRUCTURE_PVT1.BASELINE_STRUCTURE_VERSION(
11226: p_commit => FND_API.G_FALSE,
11227: p_structure_version_id => l_keep_structure_ver_id,
11228: x_return_status => l_return_status,
11229: x_msg_count => l_msg_count,
11230: x_msg_data => l_msg_data);
11235: x_msg_count := l_msg_count;
11236: IF x_msg_count = 1 THEN
11237: x_msg_data := l_msg_data;
11238: END IF;
11239: RAISE FND_API.G_EXC_ERROR;
11240: END IF;
11241:
11242: END IF; --for project
11243:
11243:
11244: --end disable versioning
11245: END IF;
11246:
11247: x_return_status := FND_API.G_RET_STS_SUCCESS;
11248:
11249: IF (p_debug_mode = 'Y') THEN
11250: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_workplan_versioning end');
11251: END IF;
11250: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_workplan_versioning end');
11251: END IF;
11252:
11253: EXCEPTION
11254: WHEN FND_API.G_EXC_ERROR THEN
11255: IF (p_commit = FND_API.G_TRUE) THEN
11256: ROLLBACK to update_wp_versioning_pvt;
11257: END IF;
11258: x_msg_count := FND_MSG_PUB.count_msg;
11251: END IF;
11252:
11253: EXCEPTION
11254: WHEN FND_API.G_EXC_ERROR THEN
11255: IF (p_commit = FND_API.G_TRUE) THEN
11256: ROLLBACK to update_wp_versioning_pvt;
11257: END IF;
11258: x_msg_count := FND_MSG_PUB.count_msg;
11259: x_return_status := FND_API.G_RET_STS_ERROR;
11255: IF (p_commit = FND_API.G_TRUE) THEN
11256: ROLLBACK to update_wp_versioning_pvt;
11257: END IF;
11258: x_msg_count := FND_MSG_PUB.count_msg;
11259: x_return_status := FND_API.G_RET_STS_ERROR;
11260: WHEN OTHERS THEN
11261: IF (p_commit = FND_API.G_TRUE) THEN
11262: ROLLBACK to update_wp_versioning_pvt;
11263: END IF;
11257: END IF;
11258: x_msg_count := FND_MSG_PUB.count_msg;
11259: x_return_status := FND_API.G_RET_STS_ERROR;
11260: WHEN OTHERS THEN
11261: IF (p_commit = FND_API.G_TRUE) THEN
11262: ROLLBACK to update_wp_versioning_pvt;
11263: END IF;
11264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11265: x_msg_count := FND_MSG_PUB.count_msg;
11260: WHEN OTHERS THEN
11261: IF (p_commit = FND_API.G_TRUE) THEN
11262: ROLLBACK to update_wp_versioning_pvt;
11263: END IF;
11264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11265: x_msg_count := FND_MSG_PUB.count_msg;
11266: --put message
11267: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
11268: p_procedure_name => 'update_workplan_versioning',
11273:
11274: PROCEDURE update_wp_calendar
11275: (
11276: p_api_version IN NUMBER := 1.0
11277: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11278: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11279: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11280: ,p_validation_level IN VARCHAR2 := 100
11281: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11274: PROCEDURE update_wp_calendar
11275: (
11276: p_api_version IN NUMBER := 1.0
11277: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11278: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11279: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11280: ,p_validation_level IN VARCHAR2 := 100
11281: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11282: ,p_debug_mode IN VARCHAR2 := 'N'
11275: (
11276: p_api_version IN NUMBER := 1.0
11277: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11278: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11279: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11280: ,p_validation_level IN VARCHAR2 := 100
11281: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11282: ,p_debug_mode IN VARCHAR2 := 'N'
11283: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
11360: IF (p_debug_mode = 'Y') THEN
11361: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_WP_CALENDAR BEGIN');
11362: END IF;
11363:
11364: IF (p_commit = FND_API.G_TRUE) THEN
11365: savepoint update_wp_calendar;
11366: END IF;
11367:
11368: OPEN c1;
11402: ,x_msg_count => l_msg_count
11403: ,x_msg_data => l_msg_data
11404: );
11405:
11406: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11407: x_msg_count := FND_MSG_PUB.count_msg;
11408: if x_msg_count = 1 then
11409: x_msg_data := l_msg_data;
11410: end if;
11407: x_msg_count := FND_MSG_PUB.count_msg;
11408: if x_msg_count = 1 then
11409: x_msg_data := l_msg_data;
11410: end if;
11411: raise FND_API.G_EXC_ERROR;
11412: END IF;*/
11413:
11414: END IF;
11415:
11433: ,x_msg_count => l_msg_count
11434: ,x_msg_data => l_msg_data
11435: );
11436:
11437: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11438: x_msg_count := FND_MSG_PUB.count_msg;
11439: if x_msg_count = 1 then
11440: x_msg_data := l_msg_data;
11441: end if;
11438: x_msg_count := FND_MSG_PUB.count_msg;
11439: if x_msg_count = 1 then
11440: x_msg_data := l_msg_data;
11441: end if;
11442: raise FND_API.G_EXC_ERROR;
11443: END IF;*/
11444: END IF;
11445:
11446:
11463: ,x_msg_count => l_msg_count
11464: ,x_msg_data => l_msg_data
11465: );
11466:
11467: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11468: x_msg_count := FND_MSG_PUB.count_msg;
11469: if x_msg_count = 1 then
11470: x_msg_data := l_msg_data;
11471: end if;
11468: x_msg_count := FND_MSG_PUB.count_msg;
11469: if x_msg_count = 1 then
11470: x_msg_data := l_msg_data;
11471: end if;
11472: raise FND_API.G_EXC_ERROR;
11473: END IF;*/
11474: END IF;
11475:
11476: --hsiu: removed record version number for Forms changes
11507: ,x_msg_count => l_msg_count
11508: ,x_msg_data => l_msg_data
11509: );
11510:
11511: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11512: x_msg_count := FND_MSG_PUB.count_msg;
11513: if x_msg_count = 1 then
11514: x_msg_data := l_msg_data;
11515: end if;
11512: x_msg_count := FND_MSG_PUB.count_msg;
11513: if x_msg_count = 1 then
11514: x_msg_data := l_msg_data;
11515: end if;
11516: raise FND_API.G_EXC_ERROR;
11517: END IF;*/
11518: END IF;
11519:
11520: --hsiu: removed record version number for Forms changes
11552: ,x_msg_count => l_msg_count
11553: ,x_msg_data => l_msg_data
11554: );
11555:
11556: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11557: x_msg_count := FND_MSG_PUB.count_msg;
11558: if x_msg_count = 1 then
11559: x_msg_data := l_msg_data;
11560: end if;
11557: x_msg_count := FND_MSG_PUB.count_msg;
11558: if x_msg_count = 1 then
11559: x_msg_data := l_msg_data;
11560: end if;
11561: raise FND_API.G_EXC_ERROR;
11562: END IF;
11563: END IF;
11564:
11565: PA_PROJECT_STRUCTURE_PVT1.RECALC_STRUC_VER_DURATION(
11569: ,x_msg_count => l_msg_count
11570: ,x_msg_data => l_msg_data
11571: );
11572:
11573: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11574: x_msg_count := FND_MSG_PUB.count_msg;
11575: if x_msg_count = 1 then
11576: x_msg_data := l_msg_data;
11577: end if;
11574: x_msg_count := FND_MSG_PUB.count_msg;
11575: if x_msg_count = 1 then
11576: x_msg_data := l_msg_data;
11577: end if;
11578: raise FND_API.G_EXC_ERROR;
11579: END IF;
11580:
11581: --update duration for all working structure versions
11582: END LOOP;
11581: --update duration for all working structure versions
11582: END LOOP;
11583: CLOSE get_wp_versions;
11584:
11585: x_return_status := FND_API.G_RET_STS_SUCCESS;
11586:
11587: IF (p_debug_mode = 'Y') THEN
11588: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_WP_CALENDAR end');
11589: END IF;
11588: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_WP_CALENDAR end');
11589: END IF;
11590:
11591: EXCEPTION
11592: WHEN FND_API.G_EXC_ERROR THEN
11593: IF (p_commit = FND_API.G_TRUE) THEN
11594: ROLLBACK to update_wp_calendar;
11595: END IF;
11596: x_msg_count := FND_MSG_PUB.count_msg;
11589: END IF;
11590:
11591: EXCEPTION
11592: WHEN FND_API.G_EXC_ERROR THEN
11593: IF (p_commit = FND_API.G_TRUE) THEN
11594: ROLLBACK to update_wp_calendar;
11595: END IF;
11596: x_msg_count := FND_MSG_PUB.count_msg;
11597: x_return_status := FND_API.G_RET_STS_ERROR;
11593: IF (p_commit = FND_API.G_TRUE) THEN
11594: ROLLBACK to update_wp_calendar;
11595: END IF;
11596: x_msg_count := FND_MSG_PUB.count_msg;
11597: x_return_status := FND_API.G_RET_STS_ERROR;
11598: WHEN OTHERS THEN
11599: IF (p_commit = FND_API.G_TRUE) THEN
11600: ROLLBACK to update_wp_calendar;
11601: END IF;
11595: END IF;
11596: x_msg_count := FND_MSG_PUB.count_msg;
11597: x_return_status := FND_API.G_RET_STS_ERROR;
11598: WHEN OTHERS THEN
11599: IF (p_commit = FND_API.G_TRUE) THEN
11600: ROLLBACK to update_wp_calendar;
11601: END IF;
11602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11603: x_msg_count := FND_MSG_PUB.count_msg;
11598: WHEN OTHERS THEN
11599: IF (p_commit = FND_API.G_TRUE) THEN
11600: ROLLBACK to update_wp_calendar;
11601: END IF;
11602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11603: x_msg_count := FND_MSG_PUB.count_msg;
11604: --put message
11605: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
11606: p_procedure_name => 'Update_wp_calendar',
11610:
11611: PROCEDURE update_all_wp_calendar
11612: (
11613: p_api_version IN NUMBER := 1.0
11614: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11615: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11616: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11617: ,p_validation_level IN VARCHAR2 := 100
11618: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11611: PROCEDURE update_all_wp_calendar
11612: (
11613: p_api_version IN NUMBER := 1.0
11614: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11615: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11616: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11617: ,p_validation_level IN VARCHAR2 := 100
11618: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11619: ,p_debug_mode IN VARCHAR2 := 'N'
11612: (
11613: p_api_version IN NUMBER := 1.0
11614: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11615: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11616: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11617: ,p_validation_level IN VARCHAR2 := 100
11618: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11619: ,p_debug_mode IN VARCHAR2 := 'N'
11620: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
11633: IF (p_debug_mode = 'Y') THEN
11634: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_ALL_WP_CALENDAR BEGIN');
11635: END IF;
11636:
11637: IF (p_commit = FND_API.G_TRUE) THEN
11638: savepoint update_all_wp_calendar;
11639: END IF;
11640:
11641: FOR c_rec IN c_calendar_projects
11656: ,x_msg_count => x_msg_count
11657: ,x_msg_data => x_msg_data
11658: );
11659: END LOOP;
11660: x_return_status := FND_API.G_RET_STS_SUCCESS;
11661:
11662: IF (p_debug_mode = 'Y') THEN
11663: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.UPDATE_ALL_WP_CALENDAR END');
11664: END IF;
11664: END IF;
11665:
11666: EXCEPTION
11667: WHEN OTHERS THEN
11668: IF (p_commit = FND_API.G_TRUE) THEN
11669: ROLLBACK to update_all_wp_calendar;
11670: END IF;
11671: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11672: x_msg_count := FND_MSG_PUB.count_msg;
11667: WHEN OTHERS THEN
11668: IF (p_commit = FND_API.G_TRUE) THEN
11669: ROLLBACK to update_all_wp_calendar;
11670: END IF;
11671: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11672: x_msg_count := FND_MSG_PUB.count_msg;
11673: --put message
11674: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
11675: p_procedure_name => 'Update_all_wp_calendar',
11679:
11680:
11681: PROCEDURE RECALC_STRUC_VER_DURATION(
11682: p_api_version IN NUMBER := 1.0
11683: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11684: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11685: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11686: ,p_validation_level IN VARCHAR2 := 100
11687: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11680:
11681: PROCEDURE RECALC_STRUC_VER_DURATION(
11682: p_api_version IN NUMBER := 1.0
11683: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11684: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11685: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11686: ,p_validation_level IN VARCHAR2 := 100
11687: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11688: ,p_debug_mode IN VARCHAR2 := 'N'
11681: PROCEDURE RECALC_STRUC_VER_DURATION(
11682: p_api_version IN NUMBER := 1.0
11683: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11684: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11685: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11686: ,p_validation_level IN VARCHAR2 := 100
11687: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11688: ,p_debug_mode IN VARCHAR2 := 'N'
11689: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
11727: IF (p_debug_mode = 'Y') THEN
11728: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.RECALC_STRUC_VER_DURATION BEGIN');
11729: END IF;
11730:
11731: IF (p_commit = FND_API.G_TRUE) THEN
11732: savepoint RECALC_STRUC_VER_DURATION;
11733: END IF;
11734:
11735: OPEN get_dates;
11764: ,x_msg_count => l_msg_count
11765: ,x_msg_data => l_msg_data
11766: );
11767:
11768: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11769: x_msg_count := FND_MSG_PUB.count_msg;
11770: if x_msg_count = 1 then
11771: x_msg_data := l_msg_data;
11772: end if;
11769: x_msg_count := FND_MSG_PUB.count_msg;
11770: if x_msg_count = 1 then
11771: x_msg_data := l_msg_data;
11772: end if;
11773: raise FND_API.G_EXC_ERROR;
11774: END IF;*/
11775:
11776: UPDATE PA_PROJ_ELEM_VER_SCHEDULE
11777: --SET DURATION = l_hours
11796: ,x_msg_count => l_msg_count
11797: ,x_msg_data => l_msg_data
11798: );
11799:
11800: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11801: x_msg_count := FND_MSG_PUB.count_msg;
11802: if x_msg_count = 1 then
11803: x_msg_data := l_msg_data;
11804: end if;
11801: x_msg_count := FND_MSG_PUB.count_msg;
11802: if x_msg_count = 1 then
11803: x_msg_data := l_msg_data;
11804: end if;
11805: raise FND_API.G_EXC_ERROR;
11806: END IF; */
11807:
11808: UPDATE PA_PROJ_ELEM_VER_SCHEDULE
11809: --SET ESTIMATED_DURATION = l_hours
11827: ,x_msg_count => l_msg_count
11828: ,x_msg_data => l_msg_data
11829: );
11830:
11831: If (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
11832: x_msg_count := FND_MSG_PUB.count_msg;
11833: if x_msg_count = 1 then
11834: x_msg_data := l_msg_data;
11835: end if;
11832: x_msg_count := FND_MSG_PUB.count_msg;
11833: if x_msg_count = 1 then
11834: x_msg_data := l_msg_data;
11835: end if;
11836: raise FND_API.G_EXC_ERROR;
11837: END IF;*/
11838:
11839: UPDATE PA_PROJ_ELEM_VER_SCHEDULE
11840: -- SET ACTUAL_DURATION = l_hours
11849: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.RECALC_STRUC_VER_DURATION end');
11850: END IF;
11851:
11852: EXCEPTION
11853: WHEN FND_API.G_EXC_ERROR THEN
11854: IF (p_commit = FND_API.G_TRUE) THEN
11855: ROLLBACK to RECALC_STRUC_VER_DURATION;
11856: END IF;
11857: x_msg_count := FND_MSG_PUB.count_msg;
11850: END IF;
11851:
11852: EXCEPTION
11853: WHEN FND_API.G_EXC_ERROR THEN
11854: IF (p_commit = FND_API.G_TRUE) THEN
11855: ROLLBACK to RECALC_STRUC_VER_DURATION;
11856: END IF;
11857: x_msg_count := FND_MSG_PUB.count_msg;
11858: x_return_status := FND_API.G_RET_STS_ERROR;
11854: IF (p_commit = FND_API.G_TRUE) THEN
11855: ROLLBACK to RECALC_STRUC_VER_DURATION;
11856: END IF;
11857: x_msg_count := FND_MSG_PUB.count_msg;
11858: x_return_status := FND_API.G_RET_STS_ERROR;
11859: WHEN OTHERS THEN
11860: IF (p_commit = FND_API.G_TRUE) THEN
11861: ROLLBACK to RECALC_STRUC_VER_DURATION;
11862: END IF;
11856: END IF;
11857: x_msg_count := FND_MSG_PUB.count_msg;
11858: x_return_status := FND_API.G_RET_STS_ERROR;
11859: WHEN OTHERS THEN
11860: IF (p_commit = FND_API.G_TRUE) THEN
11861: ROLLBACK to RECALC_STRUC_VER_DURATION;
11862: END IF;
11863: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11864: x_msg_count := FND_MSG_PUB.count_msg;
11859: WHEN OTHERS THEN
11860: IF (p_commit = FND_API.G_TRUE) THEN
11861: ROLLBACK to RECALC_STRUC_VER_DURATION;
11862: END IF;
11863: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11864: x_msg_count := FND_MSG_PUB.count_msg;
11865: --put message
11866: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
11867: p_procedure_name => 'RECALC_STRUC_VER_DURATION',
11872:
11873: procedure Delete_Struc_Ver_Wo_Val
11874: (
11875: p_api_version IN NUMBER := 1.0
11876: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11877: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11878: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11879: ,p_validation_level IN VARCHAR2 := 100
11880: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11873: procedure Delete_Struc_Ver_Wo_Val
11874: (
11875: p_api_version IN NUMBER := 1.0
11876: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11877: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11878: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11879: ,p_validation_level IN VARCHAR2 := 100
11880: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11881: ,p_debug_mode IN VARCHAR2 := 'N'
11874: (
11875: p_api_version IN NUMBER := 1.0
11876: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
11877: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
11878: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
11879: ,p_validation_level IN VARCHAR2 := 100
11880: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
11881: ,p_debug_mode IN VARCHAR2 := 'N'
11882: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
11955: IF (p_debug_mode = 'Y') THEN
11956: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUC_VER_WO_VAL begin');
11957: END IF;
11958:
11959: IF (p_commit = FND_API.G_TRUE) THEN
11960: savepoint delete_struc_ver_wo_val;
11961: END IF;
11962:
11963: IF (p_debug_mode = 'Y') THEN
12010: x_return_status => l_return_status,
12011: x_msg_count => l_msg_count,
12012: x_msg_data => l_msg_data);
12013:
12014: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12015: x_msg_count := FND_MSG_PUB.count_msg;
12016: IF x_msg_count = 1 then
12017: pa_interface_utils_pub.get_messages
12018: (p_encoded => FND_API.G_TRUE,
12014: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12015: x_msg_count := FND_MSG_PUB.count_msg;
12016: IF x_msg_count = 1 then
12017: pa_interface_utils_pub.get_messages
12018: (p_encoded => FND_API.G_TRUE,
12019: p_msg_index => 1,
12020: p_data => l_data,
12021: p_msg_index_out => l_msg_index_out);
12022: x_msg_data := l_data;
12021: p_msg_index_out => l_msg_index_out);
12022: x_msg_data := l_data;
12023: END IF;
12024: CLOSE get_top_tasks;
12025: raise FND_API.G_EXC_ERROR;
12026: END IF;
12027:
12028: END LOOP;
12029: CLOSE get_top_tasks;
12047:
12048: END IF;
12049:
12050: --check for errors.
12051: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12052: x_msg_count := FND_MSG_PUB.count_msg;
12053: IF x_msg_count = 1 then
12054: pa_interface_utils_pub.get_messages
12055: (p_encoded => FND_API.G_TRUE,
12051: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12052: x_msg_count := FND_MSG_PUB.count_msg;
12053: IF x_msg_count = 1 then
12054: pa_interface_utils_pub.get_messages
12055: (p_encoded => FND_API.G_TRUE,
12056: p_msg_index => 1,
12057: -- p_msg_count => l_msg_count,
12058: -- p_msg_data => l_msg_data,
12059: p_data => l_data,
12059: p_data => l_data,
12060: p_msg_index_out => l_msg_index_out);
12061: x_msg_data := l_data;
12062: END IF;
12063: raise FND_API.G_EXC_ERROR;
12064: END IF;
12065:
12066: IF (p_debug_mode = 'Y') THEN
12067: pa_debug.debug('del structure version attr');
12074: p_record_version_number => l_pevs_rvn,
12075: x_return_status => l_return_status,
12076: x_msg_count => l_msg_count,
12077: x_msg_data => l_msg_data);
12078: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12079: x_msg_count := FND_MSG_PUB.count_msg;
12080: IF x_msg_count = 1 then
12081: pa_interface_utils_pub.get_messages
12082: (p_encoded => FND_API.G_TRUE,
12078: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12079: x_msg_count := FND_MSG_PUB.count_msg;
12080: IF x_msg_count = 1 then
12081: pa_interface_utils_pub.get_messages
12082: (p_encoded => FND_API.G_TRUE,
12083: p_msg_index => 1,
12084: -- p_msg_count => l_msg_count,
12085: -- p_msg_data => l_msg_data,
12086: p_data => l_data,
12086: p_data => l_data,
12087: p_msg_index_out => l_msg_index_out);
12088: x_msg_data := l_data;
12089: END IF;
12090: raise FND_API.G_EXC_ERROR;
12091: END IF;
12092:
12093:
12094: IF (p_debug_mode = 'Y') THEN
12104: x_return_status => l_return_status,
12105: x_msg_count => l_msg_count,
12106: x_msg_data => l_msg_data);
12107:
12108: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12109: x_msg_count := FND_MSG_PUB.count_msg;
12110: IF x_msg_count = 1 then
12111: pa_interface_utils_pub.get_messages
12112: (p_encoded => FND_API.G_TRUE,
12108: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12109: x_msg_count := FND_MSG_PUB.count_msg;
12110: IF x_msg_count = 1 then
12111: pa_interface_utils_pub.get_messages
12112: (p_encoded => FND_API.G_TRUE,
12113: p_msg_index => 1,
12114: -- p_msg_count => l_msg_count,
12115: -- p_msg_data => l_msg_data,
12116: p_data => l_data,
12116: p_data => l_data,
12117: p_msg_index_out => l_msg_index_out);
12118: x_msg_data := l_data;
12119: END IF;
12120: raise FND_API.G_EXC_ERROR;
12121: END IF;
12122:
12123:
12124: --Delete structure if this is the last version
12137: FETCH sel_wp_attr into l_wp_attr_rvn;
12138: CLOSE sel_wp_attr;
12139:
12140: PA_WORKPLAN_ATTR_PUB.DELETE_PROJ_WORKPLAN_ATTRS(
12141: p_validate_only => FND_API.G_FALSE
12142: ,p_project_id => l_project_id
12143: ,p_proj_element_id => l_proj_element_id
12144: ,p_record_version_number => l_wp_attr_rvn
12145: ,x_return_status => l_return_status
12147: ,x_msg_data => l_msg_data
12148: );
12149:
12150: --Check error
12151: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12152: x_msg_count := FND_MSG_PUB.count_msg;
12153: IF x_msg_count = 1 then
12154: pa_interface_utils_pub.get_messages
12155: (p_encoded => FND_API.G_TRUE,
12151: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12152: x_msg_count := FND_MSG_PUB.count_msg;
12153: IF x_msg_count = 1 then
12154: pa_interface_utils_pub.get_messages
12155: (p_encoded => FND_API.G_TRUE,
12156: p_msg_index => 1,
12157: p_data => l_data,
12158: p_msg_index_out => l_msg_index_out);
12159: x_msg_data := l_data;
12157: p_data => l_data,
12158: p_msg_index_out => l_msg_index_out);
12159: x_msg_data := l_data;
12160: END IF;
12161: raise FND_API.G_EXC_ERROR;
12162: END IF;
12163:
12164: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
12165: p_validate_only => FND_API.G_FALSE
12161: raise FND_API.G_EXC_ERROR;
12162: END IF;
12163:
12164: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
12165: p_validate_only => FND_API.G_FALSE
12166: ,p_project_id => l_project_id
12167: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
12168: ,p_object_id => l_proj_element_id
12169: ,p_structure_type => 'WORKPLAN' --Amit
12172: ,x_msg_data => l_msg_data
12173: );
12174:
12175: --Check error
12176: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12177: x_msg_count := FND_MSG_PUB.count_msg;
12178: IF x_msg_count = 1 then
12179: pa_interface_utils_pub.get_messages
12180: (p_encoded => FND_API.G_TRUE,
12176: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12177: x_msg_count := FND_MSG_PUB.count_msg;
12178: IF x_msg_count = 1 then
12179: pa_interface_utils_pub.get_messages
12180: (p_encoded => FND_API.G_TRUE,
12181: p_msg_index => 1,
12182: p_data => l_data,
12183: p_msg_index_out => l_msg_index_out);
12184: x_msg_data := l_data;
12182: p_data => l_data,
12183: p_msg_index_out => l_msg_index_out);
12184: x_msg_data := l_data;
12185: END IF;
12186: raise FND_API.G_EXC_ERROR;
12187: END IF;
12188:
12189: END IF;
12190:
12202: END IF;
12203: CLOSE is_last_version;
12204:
12205: --Check error
12206: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12207: x_msg_count := FND_MSG_PUB.count_msg;
12208: IF x_msg_count = 1 then
12209: pa_interface_utils_pub.get_messages
12210: (p_encoded => FND_API.G_TRUE,
12206: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12207: x_msg_count := FND_MSG_PUB.count_msg;
12208: IF x_msg_count = 1 then
12209: pa_interface_utils_pub.get_messages
12210: (p_encoded => FND_API.G_TRUE,
12211: p_msg_index => 1,
12212: p_data => l_data,
12213: p_msg_index_out => l_msg_index_out);
12214: x_msg_data := l_data;
12212: p_data => l_data,
12213: p_msg_index_out => l_msg_index_out);
12214: x_msg_data := l_data;
12215: END IF;
12216: raise FND_API.G_EXC_ERROR;
12217: END IF;
12218:
12219: x_return_status := FND_API.G_RET_STS_SUCCESS;
12220:
12215: END IF;
12216: raise FND_API.G_EXC_ERROR;
12217: END IF;
12218:
12219: x_return_status := FND_API.G_RET_STS_SUCCESS;
12220:
12221: IF (p_debug_mode = 'Y') THEN
12222: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUC_VER_WO_VAL end');
12223: END IF;
12222: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.DELETE_STRUC_VER_WO_VAL end');
12223: END IF;
12224:
12225: EXCEPTION
12226: when FND_API.G_EXC_ERROR then
12227: if p_commit = FND_API.G_TRUE then
12228: rollback to delete_struc_ver_wo_val;
12229: end if;
12230: x_msg_count := FND_MSG_PUB.count_msg;
12223: END IF;
12224:
12225: EXCEPTION
12226: when FND_API.G_EXC_ERROR then
12227: if p_commit = FND_API.G_TRUE then
12228: rollback to delete_struc_ver_wo_val;
12229: end if;
12230: x_msg_count := FND_MSG_PUB.count_msg;
12231: x_return_status := FND_API.G_RET_STS_ERROR;
12227: if p_commit = FND_API.G_TRUE then
12228: rollback to delete_struc_ver_wo_val;
12229: end if;
12230: x_msg_count := FND_MSG_PUB.count_msg;
12231: x_return_status := FND_API.G_RET_STS_ERROR;
12232: when FND_API.G_EXC_UNEXPECTED_ERROR then
12233: if p_commit = FND_API.G_TRUE then
12234: rollback to delete_struc_ver_wo_val;
12235: end if;
12228: rollback to delete_struc_ver_wo_val;
12229: end if;
12230: x_msg_count := FND_MSG_PUB.count_msg;
12231: x_return_status := FND_API.G_RET_STS_ERROR;
12232: when FND_API.G_EXC_UNEXPECTED_ERROR then
12233: if p_commit = FND_API.G_TRUE then
12234: rollback to delete_struc_ver_wo_val;
12235: end if;
12236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12229: end if;
12230: x_msg_count := FND_MSG_PUB.count_msg;
12231: x_return_status := FND_API.G_RET_STS_ERROR;
12232: when FND_API.G_EXC_UNEXPECTED_ERROR then
12233: if p_commit = FND_API.G_TRUE then
12234: rollback to delete_struc_ver_wo_val;
12235: end if;
12236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12237: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12232: when FND_API.G_EXC_UNEXPECTED_ERROR then
12233: if p_commit = FND_API.G_TRUE then
12234: rollback to delete_struc_ver_wo_val;
12235: end if;
12236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12237: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12238: p_procedure_name => 'Delete_Struc_Ver_Wo_Val',
12239: p_error_text => SUBSTRB(SQLERRM,1,240));
12240: when OTHERS then
12237: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12238: p_procedure_name => 'Delete_Struc_Ver_Wo_Val',
12239: p_error_text => SUBSTRB(SQLERRM,1,240));
12240: when OTHERS then
12241: if p_commit = FND_API.G_TRUE then
12242: rollback to delete_struc_ver_wo_val;
12243: end if;
12244: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12245: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12240: when OTHERS then
12241: if p_commit = FND_API.G_TRUE then
12242: rollback to delete_struc_ver_wo_val;
12243: end if;
12244: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12245: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12246: p_procedure_name => 'Delete_Struc_Ver_Wo_Val',
12247: p_error_text => SUBSTRB(SQLERRM,1,240));
12248: raise;
12397: --done getting header and prompt
12398:
12399: --create record in pa_page_layouts
12400: PA_PAGE_CONTENTS_PUB.CREATE_PAGE_CONTENTS(
12401: p_init_msg_list => fnd_api.g_false
12402: ,p_validate_only => fnd_api.g_false
12403: ,p_object_type => 'PA_STRUCTURES'
12404: ,p_pk1_value => p_structure_version_id
12405: ,p_pk2_value => 1
12398:
12399: --create record in pa_page_layouts
12400: PA_PAGE_CONTENTS_PUB.CREATE_PAGE_CONTENTS(
12401: p_init_msg_list => fnd_api.g_false
12402: ,p_validate_only => fnd_api.g_false
12403: ,p_object_type => 'PA_STRUCTURES'
12404: ,p_pk1_value => p_structure_version_id
12405: ,p_pk2_value => 1
12406: ,x_page_content_id => x_page_content_id
12408: ,x_msg_count => x_msg_count
12409: ,x_msg_data => x_msg_data
12410: );
12411:
12412: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12413: RAISE FND_API.G_EXC_ERROR;
12414: END IF;
12415:
12416: --create notification page
12409: ,x_msg_data => x_msg_data
12410: );
12411:
12412: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
12413: RAISE FND_API.G_EXC_ERROR;
12414: END IF;
12415:
12416: --create notification page
12417: select page_content
12618: ,l_msg_count
12619: ,l_msg_data
12620: ,l_return_status
12621: );
12622: IF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
12623: PA_WORKFLOW_UTILS.INSERT_WF_PROCESSES(
12624: p_wf_type_code => 'WORKPLAN'
12625: ,p_item_type => 'PAWFPPWP'
12626: ,p_item_key => l_item_key
12633: );
12634: IF (l_err_code <> 0) THEN
12635: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
12636: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
12637: RAISE FND_API.G_EXC_ERROR;
12638: END IF;
12639: ELSE
12640: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
12641: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
12638: END IF;
12639: ELSE
12640: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
12641: p_msg_name => 'PA_PS_CREATE_WF_FAILED');
12642: RAISE FND_API.G_EXC_ERROR;
12643: END IF;
12644:
12645:
12646: x_return_status := FND_API.G_RET_STS_SUCCESS;
12642: RAISE FND_API.G_EXC_ERROR;
12643: END IF;
12644:
12645:
12646: x_return_status := FND_API.G_RET_STS_SUCCESS;
12647: COMMIT;
12648:
12649: EXCEPTION
12650: when FND_API.G_EXC_ERROR then
12646: x_return_status := FND_API.G_RET_STS_SUCCESS;
12647: COMMIT;
12648:
12649: EXCEPTION
12650: when FND_API.G_EXC_ERROR then
12651: ROLLBACK;
12652: x_msg_count := FND_MSG_PUB.count_msg;
12653: x_return_status := FND_API.G_RET_STS_ERROR;
12654: when OTHERS then
12649: EXCEPTION
12650: when FND_API.G_EXC_ERROR then
12651: ROLLBACK;
12652: x_msg_count := FND_MSG_PUB.count_msg;
12653: x_return_status := FND_API.G_RET_STS_ERROR;
12654: when OTHERS then
12655: ROLLBACK;
12656: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12657: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12652: x_msg_count := FND_MSG_PUB.count_msg;
12653: x_return_status := FND_API.G_RET_STS_ERROR;
12654: when OTHERS then
12655: ROLLBACK;
12656: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12657: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12658: p_procedure_name => 'Generate_Error_Page',
12659: p_error_text => SUBSTRB(SQLERRM,1,240));
12660: raise;
12839: AND relationship_type = 'S';
12840: END IF;
12841: END LOOP;
12842:
12843: x_return_status := FND_API.G_RET_STS_SUCCESS;
12844:
12845: EXCEPTION
12846: WHEN OTHERS THEN
12847: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12843: x_return_status := FND_API.G_RET_STS_SUCCESS;
12844:
12845: EXCEPTION
12846: WHEN OTHERS THEN
12847: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12848: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
12849: p_procedure_name => 'RECALC_FIN_TASK_WEIGHTS',
12850: p_error_text => SUBSTRB(SQLERRM,1,240));
12851: END RECALC_FIN_TASK_WEIGHTS;
12886:
12887: -- Performance changes : added this API. It is bulk version of COPY_STRUCTURE_VERSION
12888:
12889: PROCEDURE COPY_STRUCTURE_VERSION_BULK
12890: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
12891: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
12892: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
12893: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
12894: ,p_debug_mode IN VARCHAR2 := 'N'
12887: -- Performance changes : added this API. It is bulk version of COPY_STRUCTURE_VERSION
12888:
12889: PROCEDURE COPY_STRUCTURE_VERSION_BULK
12890: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
12891: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
12892: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
12893: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
12894: ,p_debug_mode IN VARCHAR2 := 'N'
12895: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
12888:
12889: PROCEDURE COPY_STRUCTURE_VERSION_BULK
12890: ( p_commit IN VARCHAR2 := FND_API.G_FALSE
12891: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
12892: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
12893: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
12894: ,p_debug_mode IN VARCHAR2 := 'N'
12895: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
12896: ,p_structure_version_id IN NUMBER
12891: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
12892: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
12893: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
12894: ,p_debug_mode IN VARCHAR2 := 'N'
12895: ,p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
12896: ,p_structure_version_id IN NUMBER
12897: ,p_new_struct_ver_name IN VARCHAR2
12898: ,p_new_struct_ver_desc IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
12899: ,p_change_reason_code IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
13006: IF (p_debug_mode = 'Y') THEN
13007: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE_VERSION_BULK begin');
13008: END IF;
13009:
13010: IF (p_commit = FND_API.G_TRUE) THEN
13011: savepoint copy_structure_version_pvt_blk;
13012: END IF;
13013:
13014: -- Get structure version info
13103: x_msg_count := l_msg_count;
13104: IF x_msg_count = 1 THEN
13105: x_msg_data := l_msg_data;
13106: END IF;
13107: RAISE FND_API.G_EXC_ERROR;
13108: END IF;
13109:
13110: -- Get structure version attributes
13111: OPEN l_get_structure_ver_attr_csr(p_structure_version_id);
13116: l_structure_ver_attr_rec.change_reason_code := p_change_reason_code;
13117: END IF;
13118:
13119: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
13120: ( p_validate_only => FND_API.G_FALSE
13121: ,p_structure_version_id => l_new_struct_ver_id
13122: ,p_structure_version_name => p_new_struct_ver_name
13123: ,p_structure_version_desc => p_new_struct_ver_desc
13124: ,p_effective_date => l_structure_ver_attr_rec.effective_date
13144: x_msg_count := l_msg_count;
13145: IF x_msg_count = 1 THEN
13146: x_msg_data := l_msg_data;
13147: END IF;
13148: RAISE FND_API.G_EXC_ERROR;
13149: END IF;
13150:
13151: --Search for outgoing links for the structure version; create new Links
13152: -- Amit: Code(get_to_id) which was commented earlier is removed. If needed it can be found from COPY_STRUCTURE_VERSION
13229: x_msg_count := l_msg_count;
13230: IF x_msg_count = 1 THEN
13231: x_msg_data := l_msg_data;
13232: END IF;
13233: RAISE FND_API.G_EXC_ERROR;
13234: END IF;
13235: END IF;
13236:
13237: -- ELSIF l_structure_type in ('FINANCIAL') then
13242: if l_check_working_versions_csr%FOUND then
13243: CLOSE l_check_working_versions_csr;
13244: PA_UTILS.ADD_MESSAGE('PA','PA_PS_WORKING_VER_EXISTS');
13245: x_msg_data := 'PA_PS_WORKING_VER_EXISTS';
13246: RAISE FND_API.G_EXC_ERROR;
13247: end if;
13248: CLOSE l_check_working_versions_csr;
13249: end if;
13250:
13542: X_Msg_Count => X_Msg_Count,
13543: X_Msg_Data => X_Msg_Data
13544: );
13545:
13546: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13547: RAISE FND_API.G_EXC_ERROR;
13548: END IF;
13549:
13550: PA_RELATIONSHIP_PVT.Copy_Inter_Project_Dependency (
13543: X_Msg_Data => X_Msg_Data
13544: );
13545:
13546: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13547: RAISE FND_API.G_EXC_ERROR;
13548: END IF;
13549:
13550: PA_RELATIONSHIP_PVT.Copy_Inter_Project_Dependency (
13551: P_Source_Ver_Tbl => Old_Versions_Tab,
13553: X_Return_Status => X_Return_Status,
13554: X_Msg_Count => X_Msg_Count,
13555: X_Msg_Data => X_Msg_Data
13556: );
13557: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13558: RAISE FND_API.G_EXC_ERROR;
13559: END IF;
13560: End;
13561: /* SMukka 01-Mar-04 Bug No. 3450684 */
13554: X_Msg_Count => X_Msg_Count,
13555: X_Msg_Data => X_Msg_Data
13556: );
13557: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13558: RAISE FND_API.G_EXC_ERROR;
13559: END IF;
13560: End;
13561: /* SMukka 01-Mar-04 Bug No. 3450684 */
13562: /* Added call to PA_RELATIONSHIP_PVT.Copy_OG_Lnk_For_Subproj_Ass */
13584: p_dest_str_version_id => l_new_struct_ver_id, -- Destination Str version id can be of published str also
13585: x_return_status => X_Return_Status,
13586: x_msg_count => X_Msg_Count,
13587: x_msg_data => X_Msg_Data);
13588: IF (X_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
13589: x_msg_count := FND_MSG_PUB.count_msg;
13590: IF x_msg_count = 1 then
13591: pa_interface_utils_pub.get_messages
13592: (p_encoded => FND_API.G_TRUE,
13588: IF (X_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
13589: x_msg_count := FND_MSG_PUB.count_msg;
13590: IF x_msg_count = 1 then
13591: pa_interface_utils_pub.get_messages
13592: (p_encoded => FND_API.G_TRUE,
13593: p_msg_index => 1,
13594: p_msg_count => l_msg_count,
13595: p_msg_data => l_msg_data,
13596: p_data => l_data,
13596: p_data => l_data,
13597: p_msg_index_out => l_msg_index_out);
13598: x_msg_data := l_data;
13599: END IF;
13600: raise FND_API.G_EXC_ERROR;
13601: END IF;
13602:
13603: end if; -- Fix for Bug # 4530436.
13604:
13614: ,x_msg_count => x_msg_count
13615: ,x_msg_data => x_msg_data
13616: );
13617:
13618: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13619: RAISE FND_API.G_EXC_ERROR;
13620: END IF;
13621: EXCEPTION
13622: WHEN OTHERS THEN
13615: ,x_msg_data => x_msg_data
13616: );
13617:
13618: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13619: RAISE FND_API.G_EXC_ERROR;
13620: END IF;
13621: EXCEPTION
13622: WHEN OTHERS THEN
13623: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13622: WHEN OTHERS THEN
13623: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13624: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13625: p_error_text => SUBSTRB('PA_PROJ_STRUC_MAPPING_PUB.copy_mapping:'||SQLERRM,1,240));
13626: RAISE FND_API.G_EXC_ERROR;
13627: END;
13628:
13629: -- Changes added by skannoji
13630: -- Added code for doosan customer
13661: WHEN OTHERS THEN
13662: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13663: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13664: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
13665: RAISE FND_API.G_EXC_ERROR;
13666: END;
13667: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13668: RAISE FND_API.G_EXC_ERROR;
13669: END IF;
13663: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13664: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
13665: RAISE FND_API.G_EXC_ERROR;
13666: END;
13667: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13668: RAISE FND_API.G_EXC_ERROR;
13669: END IF;
13670: End;
13671: END IF;
13664: p_error_text => SUBSTRB('PA_FP_COPY_FROM_PKG.copy_wp_budget_versions:'||SQLERRM,1,240));
13665: RAISE FND_API.G_EXC_ERROR;
13666: END;
13667: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
13668: RAISE FND_API.G_EXC_ERROR;
13669: END IF;
13670: End;
13671: END IF;
13672: -- till here by skannoji
13684: ;
13685:
13686:
13687: x_new_struct_ver_id := l_new_struct_ver_id;
13688: x_return_status := FND_API.G_RET_STS_SUCCESS;
13689:
13690: IF (p_commit = FND_API.G_TRUE) THEN
13691: COMMIT;
13692: END IF;
13686:
13687: x_new_struct_ver_id := l_new_struct_ver_id;
13688: x_return_status := FND_API.G_RET_STS_SUCCESS;
13689:
13690: IF (p_commit = FND_API.G_TRUE) THEN
13691: COMMIT;
13692: END IF;
13693:
13694: IF (p_debug_mode = 'Y') THEN
13695: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.COPY_STRUCTURE_VERSION_BULK END');
13696: END IF;
13697:
13698: EXCEPTION
13699: when FND_API.G_EXC_ERROR then
13700: if p_commit = FND_API.G_TRUE then
13701: rollback to copy_structure_version_pvt_blk;
13702: end if;
13703: x_return_status := FND_API.G_RET_STS_ERROR;
13696: END IF;
13697:
13698: EXCEPTION
13699: when FND_API.G_EXC_ERROR then
13700: if p_commit = FND_API.G_TRUE then
13701: rollback to copy_structure_version_pvt_blk;
13702: end if;
13703: x_return_status := FND_API.G_RET_STS_ERROR;
13704: when FND_API.G_EXC_UNEXPECTED_ERROR then
13699: when FND_API.G_EXC_ERROR then
13700: if p_commit = FND_API.G_TRUE then
13701: rollback to copy_structure_version_pvt_blk;
13702: end if;
13703: x_return_status := FND_API.G_RET_STS_ERROR;
13704: when FND_API.G_EXC_UNEXPECTED_ERROR then
13705: if p_commit = FND_API.G_TRUE then
13706: rollback to copy_structure_version_pvt_blk;
13707: end if;
13700: if p_commit = FND_API.G_TRUE then
13701: rollback to copy_structure_version_pvt_blk;
13702: end if;
13703: x_return_status := FND_API.G_RET_STS_ERROR;
13704: when FND_API.G_EXC_UNEXPECTED_ERROR then
13705: if p_commit = FND_API.G_TRUE then
13706: rollback to copy_structure_version_pvt_blk;
13707: end if;
13708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13701: rollback to copy_structure_version_pvt_blk;
13702: end if;
13703: x_return_status := FND_API.G_RET_STS_ERROR;
13704: when FND_API.G_EXC_UNEXPECTED_ERROR then
13705: if p_commit = FND_API.G_TRUE then
13706: rollback to copy_structure_version_pvt_blk;
13707: end if;
13708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13709: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13704: when FND_API.G_EXC_UNEXPECTED_ERROR then
13705: if p_commit = FND_API.G_TRUE then
13706: rollback to copy_structure_version_pvt_blk;
13707: end if;
13708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13709: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13710: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13711: p_error_text => SUBSTRB(SQLERRM,1,240));
13712: when OTHERS then
13709: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13710: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13711: p_error_text => SUBSTRB(SQLERRM,1,240));
13712: when OTHERS then
13713: if p_commit = FND_API.G_TRUE then
13714: rollback to copy_structure_version_pvt_blk;
13715: end if;
13716: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13717: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13712: when OTHERS then
13713: if p_commit = FND_API.G_TRUE then
13714: rollback to copy_structure_version_pvt_blk;
13715: end if;
13716: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13717: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13718: p_procedure_name => 'COPY_STRUCTURE_VERSION_BULK',
13719: p_error_text => SUBSTRB(SQLERRM,1,240));
13720: raise;
13729: ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
13730: )
13731: IS
13732: l_dirty_flag VARCHAR2(1);
13733: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
13734:
13735: --Bug No 3634334
13736: --Commented the following query for performance reason and rewritten the same.
13737: --Getting the project_id from pa_proj_element_versions table instead of getting
13780:
13781: x_return_status := l_return_status;
13782: EXCEPTION
13783: WHEN OTHERS THEN
13784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13785: x_msg_count := FND_MSG_PUB.count_msg;
13786: --put message
13787: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
13788: p_procedure_name => 'update_sch_dirty_flag',
13793: --bug 3305199
13794: --Please refer to update_structures_setup_old for old code
13795: PROCEDURE update_structures_setup_attr
13796: ( p_api_version IN NUMBER := 1.0
13797: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
13798: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
13799: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13800: ,p_validation_level IN VARCHAR2 := 100
13801: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
13794: --Please refer to update_structures_setup_old for old code
13795: PROCEDURE update_structures_setup_attr
13796: ( p_api_version IN NUMBER := 1.0
13797: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
13798: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
13799: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13800: ,p_validation_level IN VARCHAR2 := 100
13801: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
13802: ,p_debug_mode IN VARCHAR2 := 'N'
13795: PROCEDURE update_structures_setup_attr
13796: ( p_api_version IN NUMBER := 1.0
13797: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
13798: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
13799: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
13800: ,p_validation_level IN VARCHAR2 := 100
13801: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
13802: ,p_debug_mode IN VARCHAR2 := 'N'
13803: ,p_max_msg_count IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
14146: IF (p_debug_mode = 'Y') THEN
14147: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr');
14148: END IF;
14149:
14150: IF (p_commit = FND_API.G_TRUE) THEN
14151: savepoint update_struc_setup_attr_pvt;
14152: END IF;
14153:
14154: IF (p_debug_mode = 'Y') THEN
14193: ) then
14194:
14195: PA_UTILS.ADD_MESSAGE('PA', 'PA_WP_PROG_CANT_CHG_STR');
14196:
14197: RAISE FND_API.G_EXC_ERROR;
14198:
14199: end if;
14200:
14201: -- End fix for Bug # 4426392.
14207: l_err_msg_code);
14208: IF (l_ret_stat = 'N') THEN
14209: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
14210: x_msg_data := l_err_msg_code;
14211: RAISE FND_API.G_EXC_ERROR;
14212: END IF;
14213: END IF;
14214:
14215: --check if ok to disable workplan
14219: l_err_msg_code);
14220: IF (l_ret_stat = 'N') THEN
14221: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
14222: x_msg_data := l_err_msg_code;
14223: RAISE FND_API.G_EXC_ERROR;
14224: END IF;
14225: END IF;
14226:
14227: --check if ok to share
14231: l_err_msg_code);
14232: IF (l_ret_stat = 'N') THEN
14233: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
14234: x_msg_data := l_err_msg_code;
14235: RAISE FND_API.G_EXC_ERROR;
14236: END IF;
14237: END IF;
14238:
14239: --check if ok to split
14243: l_err_msg_code);
14244: IF (l_ret_stat = 'N') THEN
14245: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
14246: x_msg_data := l_err_msg_code;
14247: RAISE FND_API.G_EXC_ERROR;
14248: END IF;
14249: END IF;
14250:
14251: IF (l_proj_completion_date IS NULL AND l_proj_start_date IS NOT NULL) THEN
14273: ELSIF (p_workplan_enabled_flag = 'N' and p_financial_enabled_flag = 'Y') THEN
14274: --disable workplan (enable financial)
14275: --create financial structure API
14276: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14277: (p_validate_only => FND_API.G_FALSE
14278: ,p_project_id => p_project_id
14279: ,p_structure_number => l_name
14280: ,p_structure_name => l_name
14281: ,p_calling_flag => 'FINANCIAL'
14290: x_msg_count := l_msg_count;
14291: IF x_msg_count = 1 THEN
14292: x_msg_data := l_msg_data;
14293: END IF;
14294: RAISE FND_API.G_EXC_ERROR;
14295: END IF;
14296:
14297: --create row in pa_proj_workplan_attr
14298: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
14295: END IF;
14296:
14297: --create row in pa_proj_workplan_attr
14298: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
14299: (p_validate_only => FND_API.G_FALSE
14300: ,p_project_id => p_project_id
14301: ,p_proj_element_id => l_structure_id
14302: ,x_return_status => l_return_status
14303: ,x_msg_count => l_msg_count
14309: x_msg_count := l_msg_count;
14310: IF x_msg_count = 1 THEN
14311: x_msg_data := l_msg_data;
14312: END IF;
14313: RAISE FND_API.G_EXC_ERROR;
14314: END IF;
14315:
14316: --create structure version
14317: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14314: END IF;
14315:
14316: --create structure version
14317: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14318: (p_validate_only => FND_API.G_FALSE
14319: ,p_structure_id => l_structure_id
14320: ,x_structure_version_id => l_structure_version_id
14321: ,x_return_status => l_return_status
14322: ,x_msg_count => l_msg_count
14328: x_msg_count := l_msg_count;
14329: IF x_msg_count = 1 THEN
14330: x_msg_data := l_msg_data;
14331: END IF;
14332: RAISE FND_API.G_EXC_ERROR;
14333: END IF;
14334:
14335: IF (l_template_flag = 'Y') THEN
14336: l_status_code := 'STRUCTURE_WORKING';
14345: END IF;
14346:
14347: --create structure version
14348: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14349: (p_validate_only => FND_API.G_FALSE
14350: ,p_structure_version_id => l_structure_version_id
14351: ,p_structure_version_name => l_name
14352: ,p_structure_version_desc => NULL
14353: ,p_effective_date => l_effective_date
14367: x_msg_count := l_msg_count;
14368: IF x_msg_count = 1 THEN
14369: x_msg_data := l_msg_data;
14370: END IF;
14371: RAISE FND_API.G_EXC_ERROR;
14372: END IF;
14373:
14374: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'N') THEN
14375: --disable financial (enable workplan)
14374: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'N') THEN
14375: --disable financial (enable workplan)
14376: --create workplan structure
14377: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14378: (p_validate_only => FND_API.G_FALSE
14379: ,p_project_id => p_project_id
14380: ,p_structure_number => l_wp_name
14381: ,p_structure_name => l_wp_name
14382: ,p_calling_flag => 'WORKPLAN'
14391: x_msg_count := l_msg_count;
14392: IF x_msg_count = 1 THEN
14393: x_msg_data := l_msg_data;
14394: END IF;
14395: RAISE FND_API.G_EXC_ERROR;
14396: END IF;
14397:
14398: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14399: (p_validate_only => FND_API.G_FALSE
14395: RAISE FND_API.G_EXC_ERROR;
14396: END IF;
14397:
14398: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14399: (p_validate_only => FND_API.G_FALSE
14400: ,p_structure_id => l_structure_id
14401: ,x_structure_version_id => l_structure_version_id
14402: ,x_return_status => l_return_status
14403: ,x_msg_count => l_msg_count
14409: x_msg_count := l_msg_count;
14410: IF x_msg_count = 1 THEN
14411: x_msg_data := l_msg_data;
14412: END IF;
14413: RAISE FND_API.G_EXC_ERROR;
14414: END IF;
14415:
14416: PA_TASK_PUB1.Create_Schedule_Version(
14417: p_element_version_id => l_structure_version_id
14428: x_msg_count := l_msg_count;
14429: IF x_msg_count = 1 THEN
14430: x_msg_data := l_msg_data;
14431: END IF;
14432: RAISE FND_API.G_EXC_ERROR;
14433: END IF;
14434:
14435: IF (l_template_flag = 'Y') THEN
14436: l_status_code := 'STRUCTURE_WORKING';
14445: END IF;
14446:
14447: --create structure version
14448: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14449: (p_validate_only => FND_API.G_FALSE
14450: ,p_structure_version_id => l_structure_version_id
14451: ,p_structure_version_name => l_name
14452: ,p_structure_version_desc => NULL
14453: ,p_effective_date => l_effective_date
14467: x_msg_count := l_msg_count;
14468: IF x_msg_count = 1 THEN
14469: x_msg_data := l_msg_data;
14470: END IF;
14471: RAISE FND_API.G_EXC_ERROR;
14472: END IF;
14473:
14474: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SHARE_PARTIAL', 'SHARE_FULL')) THEN
14475: --partial share/full share
14474: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SHARE_PARTIAL', 'SHARE_FULL')) THEN
14475: --partial share/full share
14476: --enable workplan structure API
14477: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14478: (p_validate_only => FND_API.G_FALSE
14479: ,p_project_id => p_project_id
14480: ,p_structure_number => l_name
14481: ,p_structure_name => l_name
14482: ,p_calling_flag => 'WORKPLAN'
14491: x_msg_count := l_msg_count;
14492: IF x_msg_count = 1 THEN
14493: x_msg_data := l_msg_data;
14494: END IF;
14495: RAISE FND_API.G_EXC_ERROR;
14496: END IF;
14497:
14498: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14499: (p_validate_only => FND_API.G_FALSE
14495: RAISE FND_API.G_EXC_ERROR;
14496: END IF;
14497:
14498: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14499: (p_validate_only => FND_API.G_FALSE
14500: ,p_structure_id => l_structure_id
14501: ,x_structure_version_id => l_structure_version_id
14502: ,x_return_status => l_return_status
14503: ,x_msg_count => l_msg_count
14509: x_msg_count := l_msg_count;
14510: IF x_msg_count = 1 THEN
14511: x_msg_data := l_msg_data;
14512: END IF;
14513: RAISE FND_API.G_EXC_ERROR;
14514: END IF;
14515:
14516: PA_TASK_PUB1.Create_Schedule_Version(
14517: p_element_version_id => l_structure_version_id
14528: x_msg_count := l_msg_count;
14529: IF x_msg_count = 1 THEN
14530: x_msg_data := l_msg_data;
14531: END IF;
14532: RAISE FND_API.G_EXC_ERROR;
14533: END IF;
14534:
14535: IF (l_template_flag = 'Y') THEN
14536: l_status_code := 'STRUCTURE_WORKING';
14545: END IF;
14546:
14547: --create structure version
14548: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14549: (p_validate_only => FND_API.G_FALSE
14550: ,p_structure_version_id => l_structure_version_id
14551: ,p_structure_version_name => l_name
14552: ,p_structure_version_desc => NULL
14553: ,p_effective_date => l_effective_date
14567: x_msg_count := l_msg_count;
14568: IF x_msg_count = 1 THEN
14569: x_msg_data := l_msg_data;
14570: END IF;
14571: RAISE FND_API.G_EXC_ERROR;
14572: END IF;
14573:
14574: --create financial type
14575: OPEN sel_fin_struc_type_id;
14635: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SPLIT_MAPPING','SPLIT_NO_MAPPING')) THEN
14636: --split mapping/split no mapping
14637: --enable financial structure API
14638: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14639: (p_validate_only => FND_API.G_FALSE
14640: ,p_project_id => p_project_id
14641: ,p_structure_number => l_name
14642: ,p_structure_name => l_name
14643: ,p_calling_flag => 'FINANCIAL'
14652: x_msg_count := l_msg_count;
14653: IF x_msg_count = 1 THEN
14654: x_msg_data := l_msg_data;
14655: END IF;
14656: RAISE FND_API.G_EXC_ERROR;
14657: END IF;
14658:
14659: --create row in pa_proj_workplan_attr
14660: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
14657: END IF;
14658:
14659: --create row in pa_proj_workplan_attr
14660: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
14661: (p_validate_only => FND_API.G_FALSE
14662: ,p_project_id => p_project_id
14663: ,p_proj_element_id => l_structure_id
14664: ,x_return_status => l_return_status
14665: ,x_msg_count => l_msg_count
14671: x_msg_count := l_msg_count;
14672: IF x_msg_count = 1 THEN
14673: x_msg_data := l_msg_data;
14674: END IF;
14675: RAISE FND_API.G_EXC_ERROR;
14676: END IF;
14677:
14678: --create structure version
14679: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14676: END IF;
14677:
14678: --create structure version
14679: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14680: (p_validate_only => FND_API.G_FALSE
14681: ,p_structure_id => l_structure_id
14682: ,x_structure_version_id => l_structure_version_id
14683: ,x_return_status => l_return_status
14684: ,x_msg_count => l_msg_count
14690: x_msg_count := l_msg_count;
14691: IF x_msg_count = 1 THEN
14692: x_msg_data := l_msg_data;
14693: END IF;
14694: RAISE FND_API.G_EXC_ERROR;
14695: END IF;
14696:
14697: IF (l_template_flag = 'Y') THEN
14698: l_status_code := 'STRUCTURE_WORKING';
14707: END IF;
14708:
14709: --create structure version
14710: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14711: (p_validate_only => FND_API.G_FALSE
14712: ,p_structure_version_id => l_structure_version_id
14713: ,p_structure_version_name => l_name
14714: ,p_structure_version_desc => NULL
14715: ,p_effective_date => l_effective_date
14729: x_msg_count := l_msg_count;
14730: IF x_msg_count = 1 THEN
14731: x_msg_data := l_msg_data;
14732: END IF;
14733: RAISE FND_API.G_EXC_ERROR;
14734: END IF;
14735:
14736: --create workplan structure
14737: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14734: END IF;
14735:
14736: --create workplan structure
14737: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14738: (p_validate_only => FND_API.G_FALSE
14739: ,p_project_id => p_project_id
14740: ,p_structure_number => l_wp_name
14741: ,p_structure_name => l_wp_name
14742: ,p_calling_flag => 'WORKPLAN'
14751: x_msg_count := l_msg_count;
14752: IF x_msg_count = 1 THEN
14753: x_msg_data := l_msg_data;
14754: END IF;
14755: RAISE FND_API.G_EXC_ERROR;
14756: END IF;
14757:
14758: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14759: (p_validate_only => FND_API.G_FALSE
14755: RAISE FND_API.G_EXC_ERROR;
14756: END IF;
14757:
14758: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14759: (p_validate_only => FND_API.G_FALSE
14760: ,p_structure_id => l_structure_id
14761: ,x_structure_version_id => l_structure_version_id
14762: ,x_return_status => l_return_status
14763: ,x_msg_count => l_msg_count
14769: x_msg_count := l_msg_count;
14770: IF x_msg_count = 1 THEN
14771: x_msg_data := l_msg_data;
14772: END IF;
14773: RAISE FND_API.G_EXC_ERROR;
14774: END IF;
14775:
14776: PA_TASK_PUB1.Create_Schedule_Version(
14777: p_element_version_id => l_structure_version_id
14788: x_msg_count := l_msg_count;
14789: IF x_msg_count = 1 THEN
14790: x_msg_data := l_msg_data;
14791: END IF;
14792: RAISE FND_API.G_EXC_ERROR;
14793: END IF;
14794:
14795: IF (l_template_flag = 'Y') THEN
14796: l_status_code := 'STRUCTURE_WORKING';
14805: END IF;
14806:
14807: --create structure version
14808: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14809: (p_validate_only => FND_API.G_FALSE
14810: ,p_structure_version_id => l_structure_version_id
14811: ,p_structure_version_name => l_name
14812: ,p_structure_version_desc => NULL
14813: ,p_effective_date => l_effective_date
14827: x_msg_count := l_msg_count;
14828: IF x_msg_count = 1 THEN
14829: x_msg_data := l_msg_data;
14830: END IF;
14831: RAISE FND_API.G_EXC_ERROR;
14832: END IF;
14833:
14834: IF (p_sharing_option_code = 'SPLIT_MAPPING') THEN
14835: NULL;
14844: IF (p_workplan_enabled_flag = 'N' and p_financial_enabled_flag = 'N') THEN
14845: --disabled both
14846: --disable financial structure API
14847: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
14848: p_validate_only => FND_API.G_FALSE
14849: ,p_project_id => p_project_id
14850: ,x_return_status => l_return_status
14851: ,x_msg_count => l_msg_count
14852: ,x_msg_data => l_msg_data);
14857: x_msg_count := l_msg_count;
14858: IF x_msg_count = 1 THEN
14859: x_msg_data := l_msg_data;
14860: END IF;
14861: RAISE FND_API.G_EXC_ERROR;
14862: END IF;
14863:
14864: ELSIF (p_workplan_enabled_flag = 'N' and p_financial_enabled_flag = 'Y') THEN
14865: --disable workplan (enable financial)
14867: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'N') THEN
14868: --disable financial (enable workplan)
14869: --disable financial structure API
14870: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
14871: p_validate_only => FND_API.G_FALSE
14872: ,p_project_id => p_project_id
14873: ,x_return_status => l_return_status
14874: ,x_msg_count => l_msg_count
14875: ,x_msg_data => l_msg_data);
14880: x_msg_count := l_msg_count;
14881: IF x_msg_count = 1 THEN
14882: x_msg_data := l_msg_data;
14883: END IF;
14884: RAISE FND_API.G_EXC_ERROR;
14885: END IF;
14886:
14887: --create workplan structure
14888: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14885: END IF;
14886:
14887: --create workplan structure
14888: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
14889: (p_validate_only => FND_API.G_FALSE
14890: ,p_project_id => p_project_id
14891: ,p_structure_number => l_wp_name
14892: ,p_structure_name => l_wp_name
14893: ,p_calling_flag => 'WORKPLAN'
14902: x_msg_count := l_msg_count;
14903: IF x_msg_count = 1 THEN
14904: x_msg_data := l_msg_data;
14905: END IF;
14906: RAISE FND_API.G_EXC_ERROR;
14907: END IF;
14908:
14909: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14910: (p_validate_only => FND_API.G_FALSE
14906: RAISE FND_API.G_EXC_ERROR;
14907: END IF;
14908:
14909: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
14910: (p_validate_only => FND_API.G_FALSE
14911: ,p_structure_id => l_structure_id
14912: ,x_structure_version_id => l_structure_version_id
14913: ,x_return_status => l_return_status
14914: ,x_msg_count => l_msg_count
14920: x_msg_count := l_msg_count;
14921: IF x_msg_count = 1 THEN
14922: x_msg_data := l_msg_data;
14923: END IF;
14924: RAISE FND_API.G_EXC_ERROR;
14925: END IF;
14926:
14927: PA_TASK_PUB1.Create_Schedule_Version(
14928: p_element_version_id => l_structure_version_id
14939: x_msg_count := l_msg_count;
14940: IF x_msg_count = 1 THEN
14941: x_msg_data := l_msg_data;
14942: END IF;
14943: RAISE FND_API.G_EXC_ERROR;
14944: END IF;
14945:
14946: IF (l_template_flag = 'Y') THEN
14947: l_status_code := 'STRUCTURE_WORKING';
14956: END IF;
14957:
14958: --create structure version
14959: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
14960: (p_validate_only => FND_API.G_FALSE
14961: ,p_structure_version_id => l_structure_version_id
14962: ,p_structure_version_name => l_wp_name
14963: ,p_structure_version_desc => NULL
14964: ,p_effective_date => l_effective_date
14978: x_msg_count := l_msg_count;
14979: IF x_msg_count = 1 THEN
14980: x_msg_data := l_msg_data;
14981: END IF;
14982: RAISE FND_API.G_EXC_ERROR;
14983: END IF;
14984:
14985: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SHARE_PARTIAL', 'SHARE_FULL')) THEN
14986: --partial share
15019:
15020: --add progress row
15021: l_proj_prog_attr_id := NULL;
15022: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
15023: p_validate_only => FND_API.G_FALSE
15024: ,p_project_id => p_project_id
15025: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
15026: ,P_OBJECT_ID => l_structure_id
15027: ,p_action_set_id => NULL
15037: x_msg_count := l_msg_count;
15038: IF x_msg_count = 1 THEN
15039: x_msg_data := l_msg_data;
15040: END IF;
15041: RAISE FND_API.G_EXC_ERROR;
15042: END IF;
15043:
15044: OPEN sel_struc_ver(l_structure_id);
15045: FETCH sel_struc_ver into l_structure_version_id;
15060: WHEN OTHERS THEN
15061: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
15062: p_procedure_name => 'update_structures_setup_attr',
15063: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
15064: RAISE FND_API.G_EXC_ERROR;
15065: END;
15066: --Check if there is any error.
15067: l_msg_count := FND_MSG_PUB.count_msg;
15068: IF l_msg_count > 0 THEN
15069: x_msg_count := l_msg_count;
15070: IF x_msg_count = 1 THEN
15071: x_msg_data := l_msg_data;
15072: END IF;
15073: RAISE FND_API.G_EXC_ERROR;
15074: END IF;
15075:
15076:
15077: --create schedule row for each task
15131:
15132: IF (l_task_ver_ids_tbl.count > 0) THEN
15133: --rollup
15134: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
15135: p_commit => FND_API.G_FALSE,
15136: p_element_versions => l_task_ver_ids_tbl,
15137: x_return_status => l_return_status,
15138: x_msg_count => l_msg_count,
15139: x_msg_data => l_msg_data);
15144: x_msg_count := l_msg_count;
15145: IF x_msg_count = 1 THEN
15146: x_msg_data := l_msg_data;
15147: END IF;
15148: RAISE FND_API.G_EXC_ERROR;
15149: END IF;
15150: END IF;
15151:
15152: IF (l_status_code = 'STRUCTURE_PUBLISHED') OR
15162: FETCH get_template_flag into l_template_flag, l_proj_rec_ver_num;
15163: CLOSE get_template_flag;
15164:
15165: PA_PROJECT_DATES_PUB.UPDATE_PROJECT_DATES (
15166: p_validate_only => FND_API.G_FALSE
15167: ,p_project_id => p_project_id
15168: ,p_date_type => 'SCHEDULED'
15169: ,p_start_date => l_get_sch_dates_cur.scheduled_start_date
15170: ,p_finish_date => l_get_sch_dates_cur.scheduled_finish_date
15172: ,x_return_status => x_return_status
15173: ,x_msg_count => x_msg_count
15174: ,x_msg_data => x_msg_data );
15175:
15176: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
15177: RAISE FND_API.G_EXC_ERROR;
15178: END IF;
15179: END IF;
15180:
15173: ,x_msg_count => x_msg_count
15174: ,x_msg_data => x_msg_data );
15175:
15176: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
15177: RAISE FND_API.G_EXC_ERROR;
15178: END IF;
15179: END IF;
15180:
15181: RECALC_FIN_TASK_WEIGHTS(
15190: x_msg_count := l_msg_count;
15191: IF x_msg_count = 1 THEN
15192: x_msg_data := l_msg_data;
15193: END IF;
15194: RAISE FND_API.G_EXC_ERROR;
15195: END IF;
15196:
15197: -- Begin fix for Bug # 4426392.
15198:
15265: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SPLIT_NO_MAPPING', 'SPLIT_MAPPING')) THEN
15266: --split mapping
15267: --Create default workplan structure
15268: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
15269: (p_validate_only => FND_API.G_FALSE
15270: ,p_project_id => p_project_id
15271: ,p_structure_number => l_wp_name
15272: ,p_structure_name => l_wp_name
15273: ,p_calling_flag => 'WORKPLAN'
15282: x_msg_count := l_msg_count;
15283: IF x_msg_count = 1 THEN
15284: x_msg_data := l_msg_data;
15285: END IF;
15286: RAISE FND_API.G_EXC_ERROR;
15287: END IF;
15288:
15289: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15290: (p_validate_only => FND_API.G_FALSE
15286: RAISE FND_API.G_EXC_ERROR;
15287: END IF;
15288:
15289: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15290: (p_validate_only => FND_API.G_FALSE
15291: ,p_structure_id => l_structure_id
15292: ,x_structure_version_id => l_structure_version_id
15293: ,x_return_status => l_return_status
15294: ,x_msg_count => l_msg_count
15300: x_msg_count := l_msg_count;
15301: IF x_msg_count = 1 THEN
15302: x_msg_data := l_msg_data;
15303: END IF;
15304: RAISE FND_API.G_EXC_ERROR;
15305: END IF;
15306:
15307: PA_TASK_PUB1.Create_Schedule_Version(
15308: p_element_version_id => l_structure_version_id
15319: x_msg_count := l_msg_count;
15320: IF x_msg_count = 1 THEN
15321: x_msg_data := l_msg_data;
15322: END IF;
15323: RAISE FND_API.G_EXC_ERROR;
15324: END IF;
15325:
15326: IF (l_template_flag = 'Y') THEN
15327: l_status_code := 'STRUCTURE_WORKING';
15336: END IF;
15337:
15338: --create structure version
15339: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
15340: (p_validate_only => FND_API.G_FALSE
15341: ,p_structure_version_id => l_structure_version_id
15342: ,p_structure_version_name => l_name
15343: ,p_structure_version_desc => NULL
15344: ,p_effective_date => l_effective_date
15358: x_msg_count := l_msg_count;
15359: IF x_msg_count = 1 THEN
15360: x_msg_data := l_msg_data;
15361: END IF;
15362: RAISE FND_API.G_EXC_ERROR;
15363: END IF;
15364:
15365: IF (p_sharing_option_code = 'SPLIT_NO_MAPPING') THEN
15366: NULL;
15394: l_err_msg_code);
15395: IF (l_return_status <> 'S') THEN
15396: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
15397: x_msg_data := l_err_msg_code;
15398: RAISE FND_API.G_EXC_ERROR;
15399: END IF;
15400:
15401: --get top tasks
15402: OPEN get_top_tasks(l_del_struc_ver_id);
15415: x_return_status := l_return_status;
15416: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
15417: l_msg_data := l_err_msg_code;
15418: CLOSE get_top_tasks;
15419: RAISE FND_API.G_EXC_ERROR;
15420: END IF;
15421: END LOOP;
15422: CLOSE get_top_tasks;
15423:
15435: IF x_msg_count = 1 THEN
15436: x_msg_data := l_msg_data;
15437: END IF;
15438: CLOSE sel_all_wp_structure_ver;
15439: RAISE FND_API.G_EXC_ERROR;
15440: END IF;
15441: END LOOP;
15442: CLOSE sel_all_wp_structure_ver;
15443:
15446: ELSIF (p_financial_enabled_flag = 'Y') THEN
15447: --call enable financial structure API
15448: --enable financial structure API
15449: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
15450: (p_validate_only => FND_API.G_FALSE
15451: ,p_project_id => p_project_id
15452: ,p_structure_number => l_name
15453: ,p_structure_name => l_name
15454: ,p_calling_flag => 'FINANCIAL'
15463: x_msg_count := l_msg_count;
15464: IF x_msg_count = 1 THEN
15465: x_msg_data := l_msg_data;
15466: END IF;
15467: RAISE FND_API.G_EXC_ERROR;
15468: END IF;
15469:
15470: --create row in pa_proj_workplan_attr
15471: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
15468: END IF;
15469:
15470: --create row in pa_proj_workplan_attr
15471: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
15472: (p_validate_only => FND_API.G_FALSE
15473: ,p_project_id => p_project_id
15474: ,p_proj_element_id => l_structure_id
15475: ,x_return_status => l_return_status
15476: ,x_msg_count => l_msg_count
15482: x_msg_count := l_msg_count;
15483: IF x_msg_count = 1 THEN
15484: x_msg_data := l_msg_data;
15485: END IF;
15486: RAISE FND_API.G_EXC_ERROR;
15487: END IF;
15488:
15489: --create structure version
15490: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15487: END IF;
15488:
15489: --create structure version
15490: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15491: (p_validate_only => FND_API.G_FALSE
15492: ,p_structure_id => l_structure_id
15493: ,x_structure_version_id => l_structure_version_id
15494: ,x_return_status => l_return_status
15495: ,x_msg_count => l_msg_count
15501: x_msg_count := l_msg_count;
15502: IF x_msg_count = 1 THEN
15503: x_msg_data := l_msg_data;
15504: END IF;
15505: RAISE FND_API.G_EXC_ERROR;
15506: END IF;
15507:
15508: IF (l_template_flag = 'Y') THEN
15509: l_status_code := 'STRUCTURE_WORKING';
15518: END IF;
15519:
15520: --create structure version
15521: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
15522: (p_validate_only => FND_API.G_FALSE
15523: ,p_structure_version_id => l_structure_version_id
15524: ,p_structure_version_name => l_name
15525: ,p_structure_version_desc => NULL
15526: ,p_effective_date => l_effective_date
15540: x_msg_count := l_msg_count;
15541: IF x_msg_count = 1 THEN
15542: x_msg_data := l_msg_data;
15543: END IF;
15544: RAISE FND_API.G_EXC_ERROR;
15545: END IF;
15546:
15547: END IF;
15548:
15616:
15617: --bug 4114101
15618: --insert progress attr row for financial struc
15619: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
15620: p_validate_only => FND_API.G_FALSE
15621: ,p_project_id => p_project_id
15622: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
15623: ,P_OBJECT_ID => l_structure_id
15624: ,P_PROGRESS_CYCLE_ID => to_number(null)
15641: x_msg_count := l_msg_count;
15642: IF x_msg_count = 1 THEN
15643: x_msg_data := l_msg_data;
15644: END IF;
15645: RAISE FND_API.G_EXC_ERROR;
15646: END IF;
15647: --end bug 4114101
15648:
15649: IF (p_sharing_option_code = 'SHARE_PARTIAL') THEN
15670: ,p_syncup_all_tasks => 'Y'
15671: ,p_task_version_id => NULL
15672: ,p_structure_version_id => l_structure_version_id
15673: ,p_check_for_transactions => 'N'
15674: ,p_checked_flag => FND_API.G_MISS_CHAR
15675: ,p_mode => 'ALL'
15676: ,x_return_status => l_return_status
15677: ,x_msg_count => l_msg_count
15678: ,x_msg_data => l_msg_data);
15683: x_msg_count := l_msg_count;
15684: IF x_msg_count = 1 THEN
15685: x_msg_data := l_msg_data;
15686: END IF;
15687: RAISE FND_API.G_EXC_ERROR;
15688: END IF;
15689:
15690: -- Begin fix for Bug # 4426392.
15691:
15752: --split mapping/ no mapping
15753: --call enable financial structure API
15754: --create financial structure API
15755: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
15756: (p_validate_only => FND_API.G_FALSE
15757: ,p_project_id => p_project_id
15758: ,p_structure_number => l_name
15759: ,p_structure_name => l_name
15760: ,p_calling_flag => 'FINANCIAL'
15769: x_msg_count := l_msg_count;
15770: IF x_msg_count = 1 THEN
15771: x_msg_data := l_msg_data;
15772: END IF;
15773: RAISE FND_API.G_EXC_ERROR;
15774: END IF;
15775:
15776: --create row in pa_proj_workplan_attr
15777: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
15774: END IF;
15775:
15776: --create row in pa_proj_workplan_attr
15777: PA_PROJECT_STRUCTURE_PUB1.ENABLE_FINANCIAL_STRUCTURE
15778: (p_validate_only => FND_API.G_FALSE
15779: ,p_project_id => p_project_id
15780: ,p_proj_element_id => l_structure_id
15781: ,x_return_status => l_return_status
15782: ,x_msg_count => l_msg_count
15788: x_msg_count := l_msg_count;
15789: IF x_msg_count = 1 THEN
15790: x_msg_data := l_msg_data;
15791: END IF;
15792: RAISE FND_API.G_EXC_ERROR;
15793: END IF;
15794:
15795: --create structure version
15796: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15793: END IF;
15794:
15795: --create structure version
15796: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
15797: (p_validate_only => FND_API.G_FALSE
15798: ,p_structure_id => l_structure_id
15799: ,x_structure_version_id => l_structure_version_id
15800: ,x_return_status => l_return_status
15801: ,x_msg_count => l_msg_count
15807: x_msg_count := l_msg_count;
15808: IF x_msg_count = 1 THEN
15809: x_msg_data := l_msg_data;
15810: END IF;
15811: RAISE FND_API.G_EXC_ERROR;
15812: END IF;
15813:
15814: IF (l_template_flag = 'Y') THEN
15815: l_status_code := 'STRUCTURE_WORKING';
15824: END IF;
15825:
15826: --create structure version
15827: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
15828: (p_validate_only => FND_API.G_FALSE
15829: ,p_structure_version_id => l_structure_version_id
15830: ,p_structure_version_name => l_name
15831: ,p_structure_version_desc => NULL
15832: ,p_effective_date => l_effective_date
15846: x_msg_count := l_msg_count;
15847: IF x_msg_count = 1 THEN
15848: x_msg_data := l_msg_data;
15849: END IF;
15850: RAISE FND_API.G_EXC_ERROR;
15851: END IF;
15852:
15853: IF (p_sharing_option_code = 'SPLIT_MAPPING') THEN
15854: NULL;
15883:
15884: IF (l_return_status <> 'S') THEN
15885: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
15886: x_msg_data := l_err_msg_code;
15887: RAISE FND_API.G_EXC_ERROR;
15888: END IF;
15889:
15890: END LOOP;
15891: CLOSE sel_all_wp_structure_ver;
15917: x_return_status => l_return_status,
15918: x_msg_count => x_msg_count,
15919: x_msg_data => x_msg_data);
15920: IF l_del_trans_exist = 'Y' THEN
15921: RAISE FND_API.G_EXC_ERROR;
15922: END IF;
15923: */
15924: --delete wp budget for the version we keep
15925: l_struct_version_id_tbl.extend(1); /* Venky */
15946: WHEN OTHERS THEN
15947: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
15948: p_procedure_name => 'update_structures_setup_attr',
15949: p_error_text => SUBSTRB('PA_FIN_PLAN_PVT.delete_wp_options :'||SQLERRM,1,240));
15950: RAISE FND_API.G_EXC_ERROR;
15951: END;
15952: l_msg_count := FND_MSG_PUB.count_msg;
15953: IF l_msg_count > 0 THEN
15954: x_msg_count := l_msg_count;
15954: x_msg_count := l_msg_count;
15955: IF x_msg_count = 1 THEN
15956: x_msg_data := l_msg_data;
15957: END IF;
15958: RAISE FND_API.G_EXC_ERROR;
15959: END IF;
15960:
15961: --Delete all other structure versions
15962: OPEN sel_other_structure_ver(l_keep_structure_ver_id);
15971: l_err_msg_code);
15972: IF (l_return_status <> 'S') THEN
15973: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
15974: x_msg_data := l_err_msg_code;
15975: RAISE FND_API.G_EXC_ERROR;
15976: END IF;
15977:
15978: --get top tasks
15979: OPEN get_top_tasks(l_del_struc_ver_id);
15992: x_return_status := l_return_status;
15993: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
15994: l_msg_data := l_err_msg_code;
15995: CLOSE get_top_tasks;
15996: RAISE FND_API.G_EXC_ERROR;
15997: END IF;
15998: END LOOP;
15999: CLOSE get_top_tasks;
16000:
16011: IF x_msg_count = 1 THEN
16012: x_msg_data := l_msg_data;
16013: END IF;
16014: CLOSE sel_other_structure_ver;
16015: RAISE FND_API.G_EXC_ERROR;
16016: END IF;
16017: END LOOP;
16018: CLOSE sel_other_structure_ver;
16019:
16018: CLOSE sel_other_structure_ver;
16019:
16020: --delete from pa_proj_progress_attr
16021: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
16022: p_validate_only => FND_API.G_FALSE
16023: ,p_project_id => p_project_id
16024: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
16025: ,p_object_id => l_structure_id
16026: ,p_structure_type => 'WORKPLAN'
16035: x_msg_count := l_msg_count;
16036: IF x_msg_count = 1 THEN
16037: x_msg_data := l_msg_data;
16038: END IF;
16039: RAISE FND_API.G_EXC_ERROR;
16040: END IF;
16041:
16042: --delete all tasks not marked as financial in the structure keeping
16043: --delete schedule versions
16140: x_msg_count := l_msg_count;
16141: IF x_msg_count = 1 THEN
16142: x_msg_data := l_msg_data;
16143: END IF;
16144: RAISE FND_API.G_EXC_ERROR;
16145: END IF;
16146:
16147: --bug 3894059
16148: --set versioning disable for financial structure, and structure version as published if it is a project
16164: IF (p_workplan_enabled_flag = 'Y' AND p_sharing_option_code IN ('SPLIT_NO_MAPPING','SPLIT_MAPPING')) THEN
16165: --Create empty workplan structure
16166: l_structure_id := NULL;
16167: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
16168: (p_validate_only => FND_API.G_FALSE
16169: ,p_project_id => p_project_id
16170: ,p_structure_number => l_wp_name
16171: ,p_structure_name => l_wp_name
16172: ,p_calling_flag => 'WORKPLAN'
16181: x_msg_count := l_msg_count;
16182: IF x_msg_count = 1 THEN
16183: x_msg_data := l_msg_data;
16184: END IF;
16185: RAISE FND_API.G_EXC_ERROR;
16186: END IF;
16187:
16188: l_structure_version_id := NULL;
16189: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
16186: END IF;
16187:
16188: l_structure_version_id := NULL;
16189: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
16190: (p_validate_only => FND_API.G_FALSE
16191: ,p_structure_id => l_structure_id
16192: ,x_structure_version_id => l_structure_version_id
16193: ,x_return_status => l_return_status
16194: ,x_msg_count => l_msg_count
16200: x_msg_count := l_msg_count;
16201: IF x_msg_count = 1 THEN
16202: x_msg_data := l_msg_data;
16203: END IF;
16204: RAISE FND_API.G_EXC_ERROR;
16205: END IF;
16206:
16207: PA_TASK_PUB1.Create_Schedule_Version(
16208: p_element_version_id => l_structure_version_id
16219: x_msg_count := l_msg_count;
16220: IF x_msg_count = 1 THEN
16221: x_msg_data := l_msg_data;
16222: END IF;
16223: RAISE FND_API.G_EXC_ERROR;
16224: END IF;
16225:
16226: IF (l_template_flag = 'Y') THEN
16227: l_status_code := 'STRUCTURE_WORKING';
16236: END IF;
16237:
16238: --create structure version
16239: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
16240: (p_validate_only => FND_API.G_FALSE
16241: ,p_structure_version_id => l_structure_version_id
16242: ,p_structure_version_name => l_name
16243: ,p_structure_version_desc => NULL
16244: ,p_effective_date => l_effective_date
16258: x_msg_count := l_msg_count;
16259: IF x_msg_count = 1 THEN
16260: x_msg_data := l_msg_data;
16261: END IF;
16262: RAISE FND_API.G_EXC_ERROR;
16263: END IF;
16264:
16265: NULL;
16266: ELSIF (p_workplan_enabled_flag = 'N' ) THEN
16280: where proj_element_id = l_structure_id;
16281:
16282: --Need delete financial tasks API
16283: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
16284: p_validate_only => FND_API.G_FALSE
16285: ,p_project_id => p_project_id
16286: ,x_return_status => l_return_status
16287: ,x_msg_count => l_msg_count
16288: ,x_msg_data => l_msg_data);
16293: x_msg_count := l_msg_count;
16294: IF x_msg_count = 1 THEN
16295: x_msg_data := l_msg_data;
16296: END IF;
16297: RAISE FND_API.G_EXC_ERROR;
16298: END IF;
16299:
16300: --clear financial Flag API
16301: OPEN sel_all_wp_structure_ver(l_structure_id);
16303: FETCH sel_all_wp_structure_ver INTO l_structure_version_id, l_struc_ver_rvn;
16304: EXIT WHEN sel_all_wp_structure_ver%NOTFOUND;
16305:
16306: PA_PROJECT_STRUCTURE_PUB1.CLEAR_FINANCIAL_FLAG(
16307: p_validate_only => FND_API.G_FALSE
16308: ,p_project_id => p_project_id
16309: ,p_task_version_id => NULL
16310: ,p_structure_version_id => l_structure_version_id
16311: ,x_return_status => l_return_status
16318: x_msg_count := l_msg_count;
16319: IF x_msg_count = 1 THEN
16320: x_msg_data := l_msg_data;
16321: END IF;
16322: RAISE FND_API.G_EXC_ERROR;
16323: END IF;
16324:
16325: END LOOP;
16326: CLOSE sel_all_wp_structure_ver;
16365: ,p_syncup_all_tasks => 'Y'
16366: ,p_task_version_id => NULL
16367: ,p_structure_version_id => l_structure_version_id
16368: ,p_check_for_transactions => 'N'
16369: ,p_checked_flag => FND_API.G_MISS_CHAR
16370: ,p_mode => 'ALL'
16371: ,x_return_status => l_return_status
16372: ,x_msg_count => l_msg_count
16373: ,x_msg_data => l_msg_data);
16378: x_msg_count := l_msg_count;
16379: IF x_msg_count = 1 THEN
16380: x_msg_data := l_msg_data;
16381: END IF;
16382: RAISE FND_API.G_EXC_ERROR;
16383: END IF;
16384:
16385: END IF;
16386:
16410:
16411: IF (l_return_status <> 'S') THEN
16412: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16413: x_msg_data := l_err_msg_code;
16414: RAISE FND_API.G_EXC_ERROR;
16415: END IF;
16416:
16417: END LOOP;
16418: CLOSE sel_all_wp_structure_ver;
16451: x_return_status => l_return_status,
16452: x_msg_count => x_msg_count,
16453: x_msg_data => x_msg_data);
16454: IF l_del_trans_exist = 'Y' THEN
16455: RAISE FND_API.G_EXC_ERROR;
16456: END IF;
16457: */
16458:
16459: --delete wp budget for the version we keep
16481: WHEN OTHERS THEN
16482: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
16483: p_procedure_name => 'update_structures_setup_attr',
16484: p_error_text => SUBSTRB('PA_FIN_PLAN_PVT.delete_wp_option:'||SQLERRM,1,240));
16485: RAISE FND_API.G_EXC_ERROR;
16486: END;
16487: l_msg_count := FND_MSG_PUB.count_msg;
16488: IF l_msg_count > 0 THEN
16489: x_msg_count := l_msg_count;
16489: x_msg_count := l_msg_count;
16490: IF x_msg_count = 1 THEN
16491: x_msg_data := l_msg_data;
16492: END IF;
16493: RAISE FND_API.G_EXC_ERROR;
16494: END IF;
16495:
16496: --Delete all other structure versions
16497: OPEN sel_other_structure_ver(l_keep_structure_ver_id);
16506: l_err_msg_code);
16507: IF (l_return_status <> 'S') THEN
16508: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16509: x_msg_data := l_err_msg_code;
16510: RAISE FND_API.G_EXC_ERROR;
16511: END IF;
16512:
16513: --get top tasks
16514: OPEN get_top_tasks(l_del_struc_ver_id);
16527: x_return_status := l_return_status;
16528: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16529: l_msg_data := l_err_msg_code;
16530: CLOSE get_top_tasks;
16531: RAISE FND_API.G_EXC_ERROR;
16532: END IF;
16533: END LOOP;
16534: CLOSE get_top_tasks;
16535:
16546: IF x_msg_count = 1 THEN
16547: x_msg_data := l_msg_data;
16548: END IF;
16549: CLOSE sel_other_structure_ver;
16550: RAISE FND_API.G_EXC_ERROR;
16551: END IF;
16552: END LOOP;
16553: CLOSE sel_other_structure_ver;
16554:
16553: CLOSE sel_other_structure_ver;
16554:
16555: --delete from pa_proj_progress_attr
16556: PA_PROGRESS_PUB.DELETE_PROJ_PROG_ATTR(
16557: p_validate_only => FND_API.G_FALSE
16558: ,p_project_id => p_project_id
16559: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
16560: ,p_object_id => l_structure_id
16561: ,p_structure_type => 'WORKPLAN' --Amit
16570: x_msg_count := l_msg_count;
16571: IF x_msg_count = 1 THEN
16572: x_msg_data := l_msg_data;
16573: END IF;
16574: RAISE FND_API.G_EXC_ERROR;
16575: END IF;
16576:
16577: --delete all tasks not marked as financial in the structure keeping
16578: --delete schedule versions
16606: x_msg_count := l_msg_count;
16607: IF x_msg_count = 1 THEN
16608: x_msg_data := l_msg_data;
16609: END IF;
16610: RAISE FND_API.G_EXC_ERROR;
16611: END IF;
16612:
16613: --bug 3894059
16614: --set versioning disable for financial structure, and structure version as published if it is a project
16629:
16630: IF (p_workplan_enabled_flag = 'Y' AND p_sharing_option_code IN ('SPLIT_NO_MAPPING','SPLIT_MAPPING')) THEN
16631: --Create empty workplan structure
16632: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
16633: (p_validate_only => FND_API.G_FALSE
16634: ,p_project_id => p_project_id
16635: ,p_structure_number => l_wp_name
16636: ,p_structure_name => l_wp_name
16637: ,p_calling_flag => 'WORKPLAN'
16646: x_msg_count := l_msg_count;
16647: IF x_msg_count = 1 THEN
16648: x_msg_data := l_msg_data;
16649: END IF;
16650: RAISE FND_API.G_EXC_ERROR;
16651: END IF;
16652:
16653: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
16654: (p_validate_only => FND_API.G_FALSE
16650: RAISE FND_API.G_EXC_ERROR;
16651: END IF;
16652:
16653: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
16654: (p_validate_only => FND_API.G_FALSE
16655: ,p_structure_id => l_structure_id
16656: ,x_structure_version_id => l_structure_version_id
16657: ,x_return_status => l_return_status
16658: ,x_msg_count => l_msg_count
16664: x_msg_count := l_msg_count;
16665: IF x_msg_count = 1 THEN
16666: x_msg_data := l_msg_data;
16667: END IF;
16668: RAISE FND_API.G_EXC_ERROR;
16669: END IF;
16670:
16671: PA_TASK_PUB1.Create_Schedule_Version(
16672: p_element_version_id => l_structure_version_id
16683: x_msg_count := l_msg_count;
16684: IF x_msg_count = 1 THEN
16685: x_msg_data := l_msg_data;
16686: END IF;
16687: RAISE FND_API.G_EXC_ERROR;
16688: END IF;
16689:
16690: IF (l_template_flag = 'Y') THEN
16691: l_status_code := 'STRUCTURE_WORKING';
16700: END IF;
16701:
16702: --create structure version
16703: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
16704: (p_validate_only => FND_API.G_FALSE
16705: ,p_structure_version_id => l_structure_version_id
16706: ,p_structure_version_name => l_name
16707: ,p_structure_version_desc => NULL
16708: ,p_effective_date => l_effective_date
16722: x_msg_count := l_msg_count;
16723: IF x_msg_count = 1 THEN
16724: x_msg_data := l_msg_data;
16725: END IF;
16726: RAISE FND_API.G_EXC_ERROR;
16727: END IF;
16728:
16729: NULL;
16730: ELSIF (p_workplan_enabled_flag = 'N' ) THEN
16745: where proj_element_id = l_structure_id;
16746:
16747: --Need delete financial tasks API
16748: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
16749: p_validate_only => FND_API.G_FALSE
16750: ,p_project_id => p_project_id
16751: ,x_return_status => l_return_status
16752: ,x_msg_count => l_msg_count
16753: ,x_msg_data => l_msg_data);
16758: x_msg_count := l_msg_count;
16759: IF x_msg_count = 1 THEN
16760: x_msg_data := l_msg_data;
16761: END IF;
16762: RAISE FND_API.G_EXC_ERROR;
16763: END IF;
16764:
16765: --clear financial Flag API
16766: OPEN sel_all_wp_structure_ver(l_structure_id);
16768: FETCH sel_all_wp_structure_ver INTO l_structure_version_id, l_struc_ver_rvn;
16769: EXIT WHEN sel_all_wp_structure_ver%NOTFOUND;
16770:
16771: PA_PROJECT_STRUCTURE_PUB1.CLEAR_FINANCIAL_FLAG(
16772: p_validate_only => FND_API.G_FALSE
16773: ,p_project_id => p_project_id
16774: ,p_task_version_id => NULL
16775: ,p_structure_version_id => l_structure_version_id
16776: ,x_return_status => l_return_status
16783: x_msg_count := l_msg_count;
16784: IF x_msg_count = 1 THEN
16785: x_msg_data := l_msg_data;
16786: END IF;
16787: RAISE FND_API.G_EXC_ERROR;
16788: END IF;
16789:
16790: END LOOP;
16791: CLOSE sel_all_wp_structure_ver;
16817: x_msg_count := l_msg_count;
16818: IF x_msg_count = 1 THEN
16819: x_msg_data := l_msg_data;
16820: END IF;
16821: RAISE FND_API.G_EXC_ERROR;
16822: END IF;
16823:
16824: IF (p_workplan_enabled_flag = 'N') THEN
16825: --disable workplan
16841: l_err_msg_code);
16842: IF (l_return_status <> 'S') THEN
16843: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16844: x_msg_data := l_err_msg_code;
16845: RAISE FND_API.G_EXC_ERROR;
16846: END IF;
16847:
16848: --get top tasks
16849: OPEN get_top_tasks(l_del_struc_ver_id);
16862: x_return_status := l_return_status;
16863: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16864: l_msg_data := l_err_msg_code;
16865: CLOSE get_top_tasks;
16866: RAISE FND_API.G_EXC_ERROR;
16867: END IF;
16868: END LOOP;
16869: CLOSE get_top_tasks;
16870:
16882: IF x_msg_count = 1 THEN
16883: x_msg_data := l_msg_data;
16884: END IF;
16885: CLOSE sel_all_wp_structure_ver;
16886: RAISE FND_API.G_EXC_ERROR;
16887: END IF;
16888: END LOOP;
16889: CLOSE sel_all_wp_structure_ver;
16890: END IF;
16891:
16892: IF (p_financial_enabled_flag = 'N') THEN
16893: --disable financial structure API
16894: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
16895: p_validate_only => FND_API.G_FALSE
16896: ,p_project_id => p_project_id
16897: ,x_return_status => l_return_status
16898: ,x_msg_count => l_msg_count
16899: ,x_msg_data => l_msg_data);
16904: x_msg_count := l_msg_count;
16905: IF x_msg_count = 1 THEN
16906: x_msg_data := l_msg_data;
16907: END IF;
16908: RAISE FND_API.G_EXC_ERROR;
16909: END IF;
16910: END IF;
16911:
16912: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SHARE_FULL','SHARE_PARTIAL')) THEN
16935: l_err_msg_code);
16936: IF (l_return_status <> 'S') THEN
16937: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16938: x_msg_data := l_err_msg_code;
16939: RAISE FND_API.G_EXC_ERROR;
16940: END IF;
16941:
16942: --get top tasks
16943: OPEN get_top_tasks(l_del_struc_ver_id);
16957: x_return_status := l_return_status;
16958: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
16959: l_msg_data := l_err_msg_code;
16960: CLOSE get_top_tasks;
16961: RAISE FND_API.G_EXC_ERROR;
16962: END IF;
16963: END LOOP;
16964: CLOSE get_top_tasks;
16965:
16978: IF x_msg_count = 1 THEN
16979: x_msg_data := l_msg_data;
16980: END IF;
16981: CLOSE sel_all_wp_structure_ver;
16982: RAISE FND_API.G_EXC_ERROR;
16983: END IF;
16984: END LOOP;
16985: CLOSE sel_all_wp_structure_ver;
16986:
17017: ,X_ATTRIBUTE15 => NULL);
17018:
17019: l_proj_prog_attr_id := NULL;
17020: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
17021: p_validate_only => FND_API.G_FALSE
17022: ,p_project_id => p_project_id
17023: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
17024: ,P_OBJECT_ID => l_structure_id
17025: ,p_action_set_id => NULL
17050: WHEN OTHERS THEN
17051: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
17052: p_procedure_name => 'update_structures_setup_attr',
17053: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
17054: RAISE FND_API.G_EXC_ERROR;
17055: END;
17056: --Check if there is any error.
17057: l_msg_count := FND_MSG_PUB.count_msg;
17058: IF l_msg_count > 0 THEN
17059: x_msg_count := l_msg_count;
17060: IF x_msg_count = 1 THEN
17061: x_msg_data := l_msg_data;
17062: END IF;
17063: RAISE FND_API.G_EXC_ERROR;
17064: END IF;
17065:
17066: --create schedule row for each task
17067: INSERT INTO PA_PROJ_ELEM_VER_SCHEDULE(
17120:
17121: IF (l_task_ver_ids_tbl.count > 0) THEN
17122: --rollup
17123: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
17124: p_commit => FND_API.G_FALSE,
17125: p_element_versions => l_task_ver_ids_tbl,
17126: x_return_status => l_return_status,
17127: x_msg_count => l_msg_count,
17128: x_msg_data => l_msg_data);
17133: x_msg_count := l_msg_count;
17134: IF x_msg_count = 1 THEN
17135: x_msg_data := l_msg_data;
17136: END IF;
17137: RAISE FND_API.G_EXC_ERROR;
17138: END IF;
17139: END IF;
17140:
17141: --Check if there is any error.
17144: x_msg_count := l_msg_count;
17145: IF x_msg_count = 1 THEN
17146: x_msg_data := l_msg_data;
17147: END IF;
17148: RAISE FND_API.G_EXC_ERROR;
17149: END IF;
17150:
17151:
17152: -- Bug # 5077599.
17202: x_msg_count := l_msg_count;
17203: IF x_msg_count = 1 THEN
17204: x_msg_data := l_msg_data;
17205: END IF;
17206: RAISE FND_API.G_EXC_ERROR;
17207: END IF;
17208:
17209: END IF;
17210:
17235: l_err_msg_code);
17236: IF (l_return_status <> 'S') THEN
17237: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
17238: x_msg_data := l_err_msg_code;
17239: RAISE FND_API.G_EXC_ERROR;
17240: END IF;
17241:
17242: --get top tasks
17243: OPEN get_top_tasks(l_del_struc_ver_id);
17256: x_return_status := l_return_status;
17257: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
17258: l_msg_data := l_err_msg_code;
17259: CLOSE get_top_tasks;
17260: RAISE FND_API.G_EXC_ERROR;
17261: END IF;
17262: END LOOP;
17263: CLOSE get_top_tasks;
17264:
17276: IF x_msg_count = 1 THEN
17277: x_msg_data := l_msg_data;
17278: END IF;
17279: CLOSE sel_all_wp_structure_ver;
17280: RAISE FND_API.G_EXC_ERROR;
17281: END IF;
17282: END LOOP;
17283: CLOSE sel_all_wp_structure_ver;
17284: END IF;
17285:
17286: IF (p_financial_enabled_flag = 'N') THEN
17287: --disable financial structure API
17288: PA_PROJECT_STRUCTURE_PUB1.DISABLE_FINANCIAL_STRUCTURE(
17289: p_validate_only => FND_API.G_FALSE
17290: ,p_project_id => p_project_id
17291: ,x_return_status => l_return_status
17292: ,x_msg_count => l_msg_count
17293: ,x_msg_data => l_msg_data);
17298: x_msg_count := l_msg_count;
17299: IF x_msg_count = 1 THEN
17300: x_msg_data := l_msg_data;
17301: END IF;
17302: RAISE FND_API.G_EXC_ERROR;
17303: END IF;
17304: END IF;
17305: ELSIF (p_workplan_enabled_flag = 'Y' and p_financial_enabled_flag = 'Y' and p_sharing_option_code IN ('SHARE_FULL','SHARE_PARTIAL')) THEN
17306: --partial share/full share
17327: l_err_msg_code);
17328: IF (l_return_status <> 'S') THEN
17329: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
17330: x_msg_data := l_err_msg_code;
17331: RAISE FND_API.G_EXC_ERROR;
17332: END IF;
17333:
17334: --get top tasks
17335: OPEN get_top_tasks(l_del_struc_ver_id);
17349: x_return_status := l_return_status;
17350: PA_UTILS.ADD_MESSAGE('PA', l_err_msg_code);
17351: l_msg_data := l_err_msg_code;
17352: CLOSE get_top_tasks;
17353: RAISE FND_API.G_EXC_ERROR;
17354: END IF;
17355: END LOOP;
17356: CLOSE get_top_tasks;
17357:
17370: IF x_msg_count = 1 THEN
17371: x_msg_data := l_msg_data;
17372: END IF;
17373: CLOSE sel_all_wp_structure_ver;
17374: RAISE FND_API.G_EXC_ERROR;
17375: END IF;
17376: END LOOP;
17377: CLOSE sel_all_wp_structure_ver;
17378:
17409: ,X_ATTRIBUTE15 => NULL);
17410:
17411: l_proj_prog_attr_id := NULL;
17412: PA_PROGRESS_PUB.CREATE_PROJ_PROG_ATTR(
17413: p_validate_only => FND_API.G_FALSE
17414: ,p_project_id => p_project_id
17415: ,P_OBJECT_TYPE => 'PA_STRUCTURES'
17416: ,P_OBJECT_ID => l_structure_id
17417: ,p_action_set_id => NULL
17441: WHEN OTHERS THEN
17442: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
17443: p_procedure_name => 'update_structures_setup_attr',
17444: p_error_text => SUBSTRB('PA_FP_PLANNING_TRANSACTION_PUB.add_planning_transactions:'||SQLERRM,1,240));
17445: RAISE FND_API.G_EXC_ERROR;
17446: END;
17447: --Check if there is any error.
17448: l_msg_count := FND_MSG_PUB.count_msg;
17449: IF l_msg_count > 0 THEN
17450: x_msg_count := l_msg_count;
17451: IF x_msg_count = 1 THEN
17452: x_msg_data := l_msg_data;
17453: END IF;
17454: RAISE FND_API.G_EXC_ERROR;
17455: END IF;
17456:
17457: --create schedule row for each task
17458: INSERT INTO PA_PROJ_ELEM_VER_SCHEDULE(
17512:
17513: IF (l_task_ver_ids_tbl.count > 0) THEN
17514: --rollup
17515: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
17516: p_commit => FND_API.G_FALSE,
17517: p_element_versions => l_task_ver_ids_tbl,
17518: x_return_status => l_return_status,
17519: x_msg_count => l_msg_count,
17520: x_msg_data => l_msg_data);
17525: x_msg_count := l_msg_count;
17526: IF x_msg_count = 1 THEN
17527: x_msg_data := l_msg_data;
17528: END IF;
17529: RAISE FND_API.G_EXC_ERROR;
17530: END IF;
17531: END IF;
17532:
17533: --Check if there is any error.
17536: x_msg_count := l_msg_count;
17537: IF x_msg_count = 1 THEN
17538: x_msg_data := l_msg_data;
17539: END IF;
17540: RAISE FND_API.G_EXC_ERROR;
17541: END IF;
17542:
17543: -- Bug # 5077599.
17544:
17606: x_msg_count := l_msg_count;
17607: IF x_msg_count = 1 THEN
17608: x_msg_data := l_msg_data;
17609: END IF;
17610: RAISE FND_API.G_EXC_ERROR;
17611: END IF;
17612: END IF;
17613: ELSE --l_delv_enabled = 'N'
17614: --currently disabled
17624: l_del_name := substrb(l_name||l_append||l_suffix, 1, 240);
17625:
17626: --create workplan structure
17627: PA_PROJECT_STRUCTURE_PUB1.CREATE_STRUCTURE
17628: (p_validate_only => FND_API.G_FALSE
17629: ,p_project_id => p_project_id
17630: ,p_structure_number => l_del_name
17631: ,p_structure_name => l_del_name
17632: ,p_calling_flag => 'DELIVERABLE'
17641: x_msg_count := l_msg_count;
17642: IF x_msg_count = 1 THEN
17643: x_msg_data := l_msg_data;
17644: END IF;
17645: RAISE FND_API.G_EXC_ERROR;
17646: END IF;
17647:
17648: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
17649: (p_validate_only => FND_API.G_FALSE
17645: RAISE FND_API.G_EXC_ERROR;
17646: END IF;
17647:
17648: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version
17649: (p_validate_only => FND_API.G_FALSE
17650: ,p_structure_id => l_structure_id
17651: ,x_structure_version_id => l_structure_version_id
17652: ,x_return_status => l_return_status
17653: ,x_msg_count => l_msg_count
17659: x_msg_count := l_msg_count;
17660: IF x_msg_count = 1 THEN
17661: x_msg_data := l_msg_data;
17662: END IF;
17663: RAISE FND_API.G_EXC_ERROR;
17664: END IF;
17665:
17666: PA_TASK_PUB1.Create_Schedule_Version(
17667: p_element_version_id => l_structure_version_id
17678: x_msg_count := l_msg_count;
17679: IF x_msg_count = 1 THEN
17680: x_msg_data := l_msg_data;
17681: END IF;
17682: RAISE FND_API.G_EXC_ERROR;
17683: END IF;
17684:
17685: IF (l_template_flag = 'Y') THEN
17686: l_status_code := 'STRUCTURE_WORKING';
17695: END IF;
17696:
17697: --create structure version
17698: PA_PROJECT_STRUCTURE_PVT1.Create_Structure_Version_Attr
17699: (p_validate_only => FND_API.G_FALSE
17700: ,p_structure_version_id => l_structure_version_id
17701: ,p_structure_version_name => l_del_name
17702: ,p_structure_version_desc => NULL
17703: ,p_effective_date => l_effective_date
17717: x_msg_count := l_msg_count;
17718: IF x_msg_count = 1 THEN
17719: x_msg_data := l_msg_data;
17720: END IF;
17721: RAISE FND_API.G_EXC_ERROR;
17722: END IF;
17723:
17724: END IF;
17725: END IF;
17742: THEN
17743: Pa_Utils.ADD_MESSAGE
17744: ( p_app_short_name => 'PA',
17745: p_msg_name =>'PA_PS_EN_SYS_PROG_ERR');
17746: RAISE FND_API.G_EXC_ERROR;
17747: END IF;
17748: --end bug 4275096
17749:
17750: IF (l_proj_sys_program_flag='Y' and nvl(l_sys_program_flag,'N')='N' ) then
17752: If l_flag='N' Then
17753: Pa_Utils.ADD_MESSAGE
17754: ( p_app_short_name => 'PA',
17755: p_msg_name =>'PA_PS_DIS_SYS_PROG_ERR');
17756: RAISE FND_API.G_EXC_ERROR;
17757: END IF;
17758: END IF;
17759:
17760: IF (l_proj_allow_program_rollup='Y' and nvl(l_allow_multi_program_rollup,'N')='N' ) then
17762: IF l_flag ='N' Then
17763: Pa_Utils.ADD_MESSAGE
17764: ( p_app_short_name => 'PA',
17765: p_msg_name =>'PA_PS_DIS_MULTI_PROG_ERR');
17766: RAISE FND_API.G_EXC_ERROR;
17767: END IF;
17768: END IF;
17769:
17770: -- IF NOT FND_API.TO_BOOLEAN(p_validate_only) THEN
17766: RAISE FND_API.G_EXC_ERROR;
17767: END IF;
17768: END IF;
17769:
17770: -- IF NOT FND_API.TO_BOOLEAN(p_validate_only) THEN
17771: UPDATE pa_projects_all
17772: SET
17773: sys_program_flag = nvl(l_sys_program_flag,'N'),
17774: allow_multi_program_rollup = nvl(l_allow_multi_program_rollup,'N')
17775: WHERE project_id = p_project_id;
17776: -- END IF;
17777: -- end of FP.M changes
17778:
17779: x_return_status := FND_API.G_RET_STS_SUCCESS;
17780:
17781: IF (p_debug_mode = 'Y') THEN
17782: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr end');
17783: END IF;
17782: pa_debug.debug('PA_PROJECT_STRUCTURE_PVT1.update_structures_setup_attr end');
17783: END IF;
17784:
17785: EXCEPTION
17786: WHEN FND_API.G_EXC_ERROR THEN
17787: IF (p_commit = FND_API.G_TRUE) THEN
17788: ROLLBACK to update_struc_setup_attr_pvt;
17789: END IF;
17790: x_msg_count := FND_MSG_PUB.count_msg;
17783: END IF;
17784:
17785: EXCEPTION
17786: WHEN FND_API.G_EXC_ERROR THEN
17787: IF (p_commit = FND_API.G_TRUE) THEN
17788: ROLLBACK to update_struc_setup_attr_pvt;
17789: END IF;
17790: x_msg_count := FND_MSG_PUB.count_msg;
17791: x_return_status := FND_API.G_RET_STS_ERROR;
17787: IF (p_commit = FND_API.G_TRUE) THEN
17788: ROLLBACK to update_struc_setup_attr_pvt;
17789: END IF;
17790: x_msg_count := FND_MSG_PUB.count_msg;
17791: x_return_status := FND_API.G_RET_STS_ERROR;
17792: WHEN OTHERS THEN
17793: IF (p_commit = FND_API.G_TRUE) THEN
17794: ROLLBACK to update_struc_setup_attr_pvt;
17795: END IF;
17789: END IF;
17790: x_msg_count := FND_MSG_PUB.count_msg;
17791: x_return_status := FND_API.G_RET_STS_ERROR;
17792: WHEN OTHERS THEN
17793: IF (p_commit = FND_API.G_TRUE) THEN
17794: ROLLBACK to update_struc_setup_attr_pvt;
17795: END IF;
17796: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
17797: x_msg_count := FND_MSG_PUB.count_msg;
17792: WHEN OTHERS THEN
17793: IF (p_commit = FND_API.G_TRUE) THEN
17794: ROLLBACK to update_struc_setup_attr_pvt;
17795: END IF;
17796: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
17797: x_msg_count := FND_MSG_PUB.count_msg;
17798: --put message
17799: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECT_STRUCTURE_PVT1',
17800: p_procedure_name => 'update_structures_setup_attr',