[Home] [Help]
16: ----NONE(Impact can be implemented)
17: --impl_cost_flag and impl_rev_flag will be either Y or N indicating whether the ci id can be implemented in
18: --the budget version id or not
19: TYPE budget_ci_map_rec IS RECORD
20: (budget_version_id pa_budget_versions.budget_version_id%TYPE
21: ,ci_id pa_control_items.ci_id%TYPE
22: ,impact_type_code VARCHAR2(10)
23: ,impl_cost_flag VARCHAR2(1)
24: ,impl_rev_flag VARCHAR2(1));
67:
68: PROCEDURE FP_CI_LINK_CONTROL_ITEMS
69: (
70: p_project_id IN NUMBER,
71: p_s_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
72: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
73: p_inclusion_method IN VARCHAR2,
74: p_included_by IN NUMBER,
75: --Added for bug 3550073
68: PROCEDURE FP_CI_LINK_CONTROL_ITEMS
69: (
70: p_project_id IN NUMBER,
71: p_s_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
72: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
73: p_inclusion_method IN VARCHAR2,
74: p_included_by IN NUMBER,
75: --Added for bug 3550073
76: p_version_type IN pa_budget_versions.version_type%TYPE,
72: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
73: p_inclusion_method IN VARCHAR2,
74: p_included_by IN NUMBER,
75: --Added for bug 3550073
76: p_version_type IN pa_budget_versions.version_type%TYPE,
77: p_ci_id IN pa_control_items.ci_id%TYPE,
78: p_cost_ppl_qty IN pa_fp_merged_ctrl_items.impl_quantity%TYPE,
79: p_rev_ppl_qty IN pa_fp_merged_ctrl_items.impl_quantity%TYPE,
80: p_cost_equip_qty IN pa_fp_merged_ctrl_items.impl_equipment_quantity%TYPE,
98: l_creation_date DATE := SYSDATE;
99: l_last_update_date DATE := l_creation_date;
100: l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
101:
102: l_s_ci_id pa_budget_versions.ci_id%TYPE;
103: l_included_by NUMBER := 0;
104: l_party_id NUMBER := 0;
105: l_debug_mode VARCHAR2(30);
106: l_module_name VARCHAR2(100):='PAFPCIMB.FP_CI_LINK_CONTROL_ITEMS';
208: SELECT
209: bv.ci_id
210: INTO
211: l_s_ci_id
212: FROM pa_budget_versions bv
213: WHERE bv.budget_version_id = p_s_fp_version_id
214: AND bv.project_id = p_project_id;
215: EXCEPTION
216: WHEN NO_DATA_FOUND THEN
396: ***************************************************************/
397:
398: PROCEDURE FP_CI_UPDATE_EST_AMOUNTS
399: (
400: p_project_id IN pa_budget_versions.project_id%TYPE,
401: p_source_version_id IN pa_budget_versions.budget_version_id%TYPE,
402: p_target_version_id IN pa_budget_versions.budget_version_id%TYPE,
403: p_merge_unmerge_mode IN VARCHAR2 ,
404: p_commit_flag IN VARCHAR2 ,
397:
398: PROCEDURE FP_CI_UPDATE_EST_AMOUNTS
399: (
400: p_project_id IN pa_budget_versions.project_id%TYPE,
401: p_source_version_id IN pa_budget_versions.budget_version_id%TYPE,
402: p_target_version_id IN pa_budget_versions.budget_version_id%TYPE,
403: p_merge_unmerge_mode IN VARCHAR2 ,
404: p_commit_flag IN VARCHAR2 ,
405: p_init_msg_list IN VARCHAR2 ,
398: PROCEDURE FP_CI_UPDATE_EST_AMOUNTS
399: (
400: p_project_id IN pa_budget_versions.project_id%TYPE,
401: p_source_version_id IN pa_budget_versions.budget_version_id%TYPE,
402: p_target_version_id IN pa_budget_versions.budget_version_id%TYPE,
403: p_merge_unmerge_mode IN VARCHAR2 ,
404: p_commit_flag IN VARCHAR2 ,
405: p_init_msg_list IN VARCHAR2 ,
406: p_update_agreement IN VARCHAR2,
416: l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
417:
418: l_debug_mode VARCHAR2(30);
419:
420: l_target_ver_type pa_budget_versions.version_type%TYPE;
421:
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
418: l_debug_mode VARCHAR2(30);
419:
420: l_target_ver_type pa_budget_versions.version_type%TYPE;
421:
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
419:
420: l_target_ver_type pa_budget_versions.version_type%TYPE;
421:
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
420: l_target_ver_type pa_budget_versions.version_type%TYPE;
421:
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
421:
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
422: l_est_project_raw_cost pa_budget_versions.est_project_raw_cost%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
430: l_est_equipment_quantity pa_budget_versions.est_equipment_quantity%TYPE;
423: l_est_project_burdened_cost pa_budget_versions.est_project_burdened_cost%TYPE;
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
430: l_est_equipment_quantity pa_budget_versions.est_equipment_quantity%TYPE;
431:
424: l_est_project_revenue pa_budget_versions.est_project_revenue%TYPE;
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
430: l_est_equipment_quantity pa_budget_versions.est_equipment_quantity%TYPE;
431:
432: BEGIN
425: l_est_quantity pa_budget_versions.est_quantity%TYPE;
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
430: l_est_equipment_quantity pa_budget_versions.est_equipment_quantity%TYPE;
431:
432: BEGIN
433: IF p_pa_debug_mode = 'Y' THEN
426: l_est_projfunc_raw_cost pa_budget_versions.est_projfunc_raw_cost%TYPE;
427: l_est_projfunc_burdened_cost pa_budget_versions.est_projfunc_burdened_cost%TYPE;
428: l_est_projfunc_revenue pa_budget_versions.est_projfunc_revenue%TYPE;
429: l_agreement_id pa_budget_versions.agreement_id%TYPE;
430: l_est_equipment_quantity pa_budget_versions.est_equipment_quantity%TYPE;
431:
432: BEGIN
433: IF p_pa_debug_mode = 'Y' THEN
434: pa_debug.init_err_stack('PAFPCIMB.FP_CI_UPDATE_EST_AMOUNTS');
484: -- Get the target version type
485: BEGIN
486: SELECT bv.version_type
487: INTO l_target_ver_type
488: FROM pa_budget_versions bv
489: WHERE
490: bv.project_id = p_project_id
491: AND bv.budget_version_id = p_target_version_id;
492: EXCEPTION
520: l_est_projfunc_burdened_cost,
521: l_est_projfunc_revenue,
522: l_est_equipment_quantity,
523: l_agreement_id
524: FROM PA_BUDGET_VERSIONS bv
525: WHERE
526: bv.project_id = p_project_id
527: AND bv.budget_version_id = p_source_version_id;
528:
537:
538: -- Update the budget versions table for the target version
539: -- based on version type
540: IF(l_target_ver_type = 'ALL') THEN
541: UPDATE PA_BUDGET_VERSIONS bv
542: SET
543: est_project_raw_cost = NVL(est_project_raw_cost,0) + DECODE
544: (p_merge_unmerge_mode,
545: 'MERGE', l_est_project_raw_cost,
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
581: END IF;
582: ELSIF(l_target_ver_type = 'COST') THEN
583: UPDATE PA_BUDGET_VERSIONS bv
584: SET
585: est_project_raw_cost = NVL(est_project_raw_cost,0) + DECODE
586: (p_merge_unmerge_mode,
587: 'MERGE', l_est_project_raw_cost,
609: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
610: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
611: END IF;
612: ELSIF(l_target_ver_type = 'REVENUE') THEN
613: UPDATE PA_BUDGET_VERSIONS bv
614: SET
615: est_project_revenue = NVL(est_project_revenue,0) + DECODE
616: (p_merge_unmerge_mode,
617: 'MERGE', l_est_project_revenue,
633: END IF;
634: END IF;
635:
636: IF (p_update_agreement = 'Y') THEN
637: UPDATE PA_BUDGET_VERSIONS bv
638: SET
639: agreement_id = l_agreement_id
640: WHERE
641: bv.project_id = p_project_id
830:
831: PROCEDURE FP_CI_MERGE_CI_ITEMS
832: (
833: p_project_id IN NUMBER,
834: p_s_fp_ci_id IN pa_budget_versions.ci_id%TYPE,
835: p_t_fp_ci_id IN pa_budget_versions.ci_id%TYPE,
836: p_merge_unmerge_mode IN VARCHAR2 ,
837: p_commit_flag IN VARCHAR2 ,
838: p_init_msg_list IN VARCHAR2 ,
831: PROCEDURE FP_CI_MERGE_CI_ITEMS
832: (
833: p_project_id IN NUMBER,
834: p_s_fp_ci_id IN pa_budget_versions.ci_id%TYPE,
835: p_t_fp_ci_id IN pa_budget_versions.ci_id%TYPE,
836: p_merge_unmerge_mode IN VARCHAR2 ,
837: p_commit_flag IN VARCHAR2 ,
838: p_init_msg_list IN VARCHAR2 ,
839: p_calling_context IN VARCHAR2,
843: x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
844: )
845: IS
846: --Defining PL/SQL local variables
847: l_s_fp_ci_id pa_budget_versions.ci_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
844: )
845: IS
846: --Defining PL/SQL local variables
847: l_s_fp_ci_id pa_budget_versions.ci_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
845: IS
846: --Defining PL/SQL local variables
847: l_s_fp_ci_id pa_budget_versions.ci_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
853: l_counter NUMBER := 0;
846: --Defining PL/SQL local variables
847: l_s_fp_ci_id pa_budget_versions.ci_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
853: l_counter NUMBER := 0;
854: l_task_id NUMBER;
847: l_s_fp_ci_id pa_budget_versions.ci_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
853: l_counter NUMBER := 0;
854: l_task_id NUMBER;
855: l_s_version_id pa_budget_versions.budget_version_id%TYPE;
848: l_t_fp_ci_id pa_budget_versions.ci_id%TYPE;
849: l_budget_version_id pa_budget_versions.budget_version_id%TYPE;
850: l_target_version_id pa_budget_versions.budget_version_id%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
853: l_counter NUMBER := 0;
854: l_task_id NUMBER;
855: l_s_version_id pa_budget_versions.budget_version_id%TYPE;
856: l_s_fin_plan_pref_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
851: l_target_version_id_tmp pa_budget_versions.budget_version_id%TYPE;
852: l_source_version_id pa_budget_versions.budget_version_id%TYPE;
853: l_counter NUMBER := 0;
854: l_task_id NUMBER;
855: l_s_version_id pa_budget_versions.budget_version_id%TYPE;
856: l_s_fin_plan_pref_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
857: l_s_multi_curr_flag pa_proj_fp_options.plan_in_multi_curr_flag%TYPE;
858: l_s_time_phased_code pa_proj_fp_options. all_time_phased_code%TYPE;
859: l_s_resource_list_id pa_proj_fp_options.all_resource_list_id%TYPE;
859: l_s_resource_list_id pa_proj_fp_options.all_resource_list_id%TYPE;
860: l_s_fin_plan_level_code pa_proj_fp_options.all_fin_plan_level_code%TYPE;
861: l_s_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
862: l_s_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
863: l_s_version_type pa_budget_versions.version_type%TYPE;
864: l_s_ci_id pa_budget_versions.ci_id%TYPE;
865: l_t_version_id pa_budget_versions.budget_version_id%TYPE;
866: l_t_fin_plan_pref_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
867: l_t_time_phased_code pa_proj_fp_options. all_time_phased_code%TYPE;
860: l_s_fin_plan_level_code pa_proj_fp_options.all_fin_plan_level_code%TYPE;
861: l_s_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
862: l_s_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
863: l_s_version_type pa_budget_versions.version_type%TYPE;
864: l_s_ci_id pa_budget_versions.ci_id%TYPE;
865: l_t_version_id pa_budget_versions.budget_version_id%TYPE;
866: l_t_fin_plan_pref_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
867: l_t_time_phased_code pa_proj_fp_options. all_time_phased_code%TYPE;
868: l_t_resource_list_id pa_proj_fp_options.all_resource_list_id%TYPE;
861: l_s_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
862: l_s_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
863: l_s_version_type pa_budget_versions.version_type%TYPE;
864: l_s_ci_id pa_budget_versions.ci_id%TYPE;
865: l_t_version_id pa_budget_versions.budget_version_id%TYPE;
866: l_t_fin_plan_pref_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
867: l_t_time_phased_code pa_proj_fp_options. all_time_phased_code%TYPE;
868: l_t_resource_list_id pa_proj_fp_options.all_resource_list_id%TYPE;
869: l_t_multi_curr_flag pa_proj_fp_options.plan_in_multi_curr_flag%TYPE;
869: l_t_multi_curr_flag pa_proj_fp_options.plan_in_multi_curr_flag%TYPE;
870: l_t_fin_plan_level_code pa_proj_fp_options.all_fin_plan_level_code%TYPE;
871: l_t_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
872: l_t_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
873: l_t_version_type pa_budget_versions.version_type%TYPE;
874: l_t_ci_id pa_budget_versions.ci_id%TYPE;
875: l_source_ver_type pa_budget_versions.version_type%TYPE;
876: l_target_ver_type pa_budget_versions.version_type%TYPE;
877: l_target_plan_type_p_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
870: l_t_fin_plan_level_code pa_proj_fp_options.all_fin_plan_level_code%TYPE;
871: l_t_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
872: l_t_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
873: l_t_version_type pa_budget_versions.version_type%TYPE;
874: l_t_ci_id pa_budget_versions.ci_id%TYPE;
875: l_source_ver_type pa_budget_versions.version_type%TYPE;
876: l_target_ver_type pa_budget_versions.version_type%TYPE;
877: l_target_plan_type_p_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
878:
871: l_t_uncategorized_flag pa_resource_lists_all_bg.uncategorized_flag %TYPE;
872: l_t_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
873: l_t_version_type pa_budget_versions.version_type%TYPE;
874: l_t_ci_id pa_budget_versions.ci_id%TYPE;
875: l_source_ver_type pa_budget_versions.version_type%TYPE;
876: l_target_ver_type pa_budget_versions.version_type%TYPE;
877: l_target_plan_type_p_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
878:
879: --Defining Local PL/SQL variables for source version
872: l_t_group_res_type_id pa_resource_lists_all_bg.group_resource_type_id%TYPE;
873: l_t_version_type pa_budget_versions.version_type%TYPE;
874: l_t_ci_id pa_budget_versions.ci_id%TYPE;
875: l_source_ver_type pa_budget_versions.version_type%TYPE;
876: l_target_ver_type pa_budget_versions.version_type%TYPE;
877: l_target_plan_type_p_code pa_proj_fp_options.fin_plan_preference_code%TYPE;
878:
879: --Defining Local PL/SQL variables for source version
880: l_source_id_tbl PA_PLSQL_DATATYPES.IdTabTyp;
931:
932: l_impact_record_exists VARCHAR2(1); -- Bug 3677924 Raja 02-Jul-04
933:
934: -- Bug 5845142
935: l_s_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
936: l_s_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
937: l_t_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
938: l_t_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
939:
932: l_impact_record_exists VARCHAR2(1); -- Bug 3677924 Raja 02-Jul-04
933:
934: -- Bug 5845142
935: l_s_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
936: l_s_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
937: l_t_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
938: l_t_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
939:
940: BEGIN
933:
934: -- Bug 5845142
935: l_s_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
936: l_s_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
937: l_t_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
938: l_t_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
939:
940: BEGIN
941:
934: -- Bug 5845142
935: l_s_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
936: l_s_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
937: l_t_app_cost_flag pa_budget_versions.approved_cost_plan_type_flag%TYPE;
938: l_t_app_rev_flag pa_budget_versions.approved_rev_plan_type_flag%TYPE;
939:
940: BEGIN
941:
942: IF p_pa_debug_mode = 'Y' THEN
968:
969: --Check if any budget versions exist for the target
970: --control item id or not
971: SELECT COUNT(*) INTO l_t_count_versions
972: FROM pa_budget_versions bv
973: WHERE
974: bv.project_id = p_project_id
975: AND bv.ci_id = l_t_fp_ci_id
976: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
988:
989: -- Get the number of source budget versions
990: SELECT count(*)
991: INTO l_s_version_id_count
992: FROM pa_budget_versions bv
993: WHERE
994: bv.project_id = p_project_id
995: AND bv.ci_id = l_s_fp_ci_id
996: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
1000:
1001: --Get source version id
1002: SELECT bv.budget_version_id
1003: BULK COLLECT INTO l_source_id_tbl
1004: FROM pa_budget_versions bv
1005: WHERE
1006: bv.project_id = p_project_id
1007: AND bv.ci_id = l_s_fp_ci_id
1008: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
1020: NVL(bv.approved_rev_plan_type_flag,'N')
1021: INTO l_source_ver_type,
1022: l_s_app_cost_flag,
1023: l_s_app_rev_flag
1024: FROM pa_budget_versions bv
1025: WHERE
1026: bv.project_id = p_project_id
1027: AND bv.budget_version_id = l_source_version_id;
1028:
1030: --Get target version id
1031: BEGIN
1032: SELECT bv.budget_version_id
1033: INTO l_target_version_id
1034: FROM pa_budget_versions bv
1035: WHERE
1036: bv.project_id = p_project_id
1037: AND bv.ci_id = l_t_fp_ci_id
1038: AND bv.version_type = l_source_ver_type
1118: END IF;
1119:
1120: l_update_agreement_flag := 'Y';
1121: --Stamp the Control item ids for these budget versions
1122: UPDATE pa_budget_versions bv
1123: SET CI_ID = l_t_fp_ci_id
1124: ,VERSION_NUMBER = 1 -- bug 3677924
1125: WHERE
1126: p_project_id = bv.project_id
1158: --Get target version id for correct source version type
1159: BEGIN
1160: SELECT bv.budget_version_id
1161: INTO l_target_version_id
1162: FROM pa_budget_versions bv
1163: WHERE
1164: bv.project_id = p_project_id
1165: AND bv.ci_id = l_t_fp_ci_id
1166: AND bv.version_type = l_source_ver_type
1287: ELSIF (l_s_version_id_count = 2) THEN
1288: --Get both source version ids
1289: SELECT bv.budget_version_id
1290: BULK COLLECT INTO l_source_fp_version_id_tbl
1291: FROM pa_budget_versions bv
1292: WHERE
1293: bv.project_id = p_project_id
1294: AND bv.ci_id = l_s_fp_ci_id
1295: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
1370:
1371: l_update_agreement_flag := 'Y';
1372:
1373: --Stamp the Control item ids for this budget versions
1374: UPDATE pa_budget_versions bv
1375: SET CI_ID = l_t_fp_ci_id
1376: ,version_number = 1 -- Bug 3677924 Jul 06 2004 Raja
1377: WHERE
1378: p_project_id = bv.project_id
1399:
1400: /* For Enc 12.1.3 start */
1401: SELECT bv.approved_cost_plan_type_flag
1402: INTO l_t_app_cost_flag
1403: FROM pa_budget_versions bv
1404: WHERE budget_version_id = l_target_version_id ;
1405:
1406: if(l_t_app_cost_flag ='Y') then
1407: /* call the below procedure only for cost budget */
1441: --Get target version id
1442: --Since ordered by version type, the first version should be cost and the second one should be revenue
1443: SELECT bv.budget_version_id
1444: BULK COLLECT INTO l_target_fp_version_id_tbl
1445: FROM pa_budget_versions bv
1446: WHERE
1447: bv.project_id = p_project_id
1448: AND bv.ci_id = l_t_fp_ci_id
1449: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
1544: SELECT bv.budget_version_id, bv.version_type,
1545: bv.approved_cost_plan_type_flag,bv.approved_rev_plan_type_flag
1546: INTO l_target_version_id, l_target_ver_type,
1547: l_t_app_cost_flag,l_t_app_rev_flag
1548: FROM pa_budget_versions bv
1549: WHERE
1550: bv.project_id = p_project_id
1551: AND bv.ci_id = l_t_fp_ci_id
1552: AND (NVL(bv.approved_rev_plan_type_flag,'N') = 'Y'
1637:
1638: -- Get the source version type
1639: SELECT bv.version_type,bv.approved_cost_plan_type_flag, bv.approved_rev_plan_type_flag
1640: INTO l_source_ver_type,l_s_app_cost_flag,l_s_app_rev_flag
1641: FROM pa_budget_versions bv
1642: WHERE bv.project_id = p_project_id
1643: AND bv.budget_version_id = l_source_version_id;
1644:
1645: IF(l_source_ver_type <> l_target_ver_type) THEN
1710: RETURN;
1711: END IF;
1712: l_update_agreement_flag := 'Y';
1713: --Stamp the Control item ids for these budget versions
1714: UPDATE pa_budget_versions bv
1715: SET CI_ID = l_t_fp_ci_id
1716: WHERE
1717: p_project_id = bv.project_id
1718: AND bv.budget_version_id = l_target_version_id
1872: ==================================================================*/
1873:
1874: --Bug 4247703. Added the parameter p_calling_context. The valid values are NULL or GENERATION
1875: PROCEDURE copy_merged_ctrl_items
1876: ( p_project_id IN pa_budget_versions.project_id%TYPE
1877: ,p_source_version_id IN pa_budget_versions.budget_version_id%TYPE
1878: ,p_target_version_id IN pa_budget_versions.budget_version_id%TYPE
1879: ,p_calling_context IN VARCHAR2
1880: ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1873:
1874: --Bug 4247703. Added the parameter p_calling_context. The valid values are NULL or GENERATION
1875: PROCEDURE copy_merged_ctrl_items
1876: ( p_project_id IN pa_budget_versions.project_id%TYPE
1877: ,p_source_version_id IN pa_budget_versions.budget_version_id%TYPE
1878: ,p_target_version_id IN pa_budget_versions.budget_version_id%TYPE
1879: ,p_calling_context IN VARCHAR2
1880: ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1881: ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1874: --Bug 4247703. Added the parameter p_calling_context. The valid values are NULL or GENERATION
1875: PROCEDURE copy_merged_ctrl_items
1876: ( p_project_id IN pa_budget_versions.project_id%TYPE
1877: ,p_source_version_id IN pa_budget_versions.budget_version_id%TYPE
1878: ,p_target_version_id IN pa_budget_versions.budget_version_id%TYPE
1879: ,p_calling_context IN VARCHAR2
1880: ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1881: ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1882: ,x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
1993: ,pmc.impl_quantity impl_quantity
1994: ,pmc.impl_equipment_quantity impl_equipment_quantity
1995: ,pmc.impl_agr_revenue impl_agr_revenue
1996: FROM pa_fp_merged_ctrl_items pmc,
1997: pa_budget_versions sourcever,
1998: pa_budget_versions targetver -- Bug 3720445
1999: WHERE plan_version_id = p_source_version_id
2000: AND sourcever.budget_version_id=p_source_version_id
2001: AND targetver.budget_version_id=p_target_version_id -- Bug 3720445
1994: ,pmc.impl_equipment_quantity impl_equipment_quantity
1995: ,pmc.impl_agr_revenue impl_agr_revenue
1996: FROM pa_fp_merged_ctrl_items pmc,
1997: pa_budget_versions sourcever,
1998: pa_budget_versions targetver -- Bug 3720445
1999: WHERE plan_version_id = p_source_version_id
2000: AND sourcever.budget_version_id=p_source_version_id
2001: AND targetver.budget_version_id=p_target_version_id -- Bug 3720445
2002: AND pmc.version_type = Decode (targetver.version_type, 'ALL', pmc.version_type,
2122: ,pmc.impl_quantity
2123: ,pmc.impl_equipment_quantity
2124: ,pmc.impl_agr_revenue
2125: FROM pa_fp_merged_ctrl_items pmc,
2126: pa_budget_versions sourcever,
2127: pa_budget_versions targetver -- Bug 3720445
2128: WHERE plan_version_id = p_source_version_id
2129: AND sourcever.budget_version_id=p_source_version_id
2130: AND targetver.budget_version_id=p_target_version_id -- Bug 3720445
2123: ,pmc.impl_equipment_quantity
2124: ,pmc.impl_agr_revenue
2125: FROM pa_fp_merged_ctrl_items pmc,
2126: pa_budget_versions sourcever,
2127: pa_budget_versions targetver -- Bug 3720445
2128: WHERE plan_version_id = p_source_version_id
2129: AND sourcever.budget_version_id=p_source_version_id
2130: AND targetver.budget_version_id=p_target_version_id -- Bug 3720445
2131: AND pmc.project_id = p_project_id -- Bug 4493425
2209: PROCEDURE FP_CI_MANUAL_MERGE
2210: (
2211: p_project_id IN NUMBER,
2212: p_ci_id IN pa_ci_impacts.ci_id%TYPE,
2213: p_ci_cost_version_id IN pa_budget_versions.budget_version_id%TYPE,
2214: p_ci_rev_version_id IN pa_budget_versions.budget_version_id%TYPE,
2215: p_ci_all_version_id IN pa_budget_versions.budget_version_id%TYPE,
2216: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
2217: p_targ_version_type IN pa_budget_versions.version_type%TYPE,
2210: (
2211: p_project_id IN NUMBER,
2212: p_ci_id IN pa_ci_impacts.ci_id%TYPE,
2213: p_ci_cost_version_id IN pa_budget_versions.budget_version_id%TYPE,
2214: p_ci_rev_version_id IN pa_budget_versions.budget_version_id%TYPE,
2215: p_ci_all_version_id IN pa_budget_versions.budget_version_id%TYPE,
2216: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
2217: p_targ_version_type IN pa_budget_versions.version_type%TYPE,
2218: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
2211: p_project_id IN NUMBER,
2212: p_ci_id IN pa_ci_impacts.ci_id%TYPE,
2213: p_ci_cost_version_id IN pa_budget_versions.budget_version_id%TYPE,
2214: p_ci_rev_version_id IN pa_budget_versions.budget_version_id%TYPE,
2215: p_ci_all_version_id IN pa_budget_versions.budget_version_id%TYPE,
2216: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
2217: p_targ_version_type IN pa_budget_versions.version_type%TYPE,
2218: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
2219: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
2212: p_ci_id IN pa_ci_impacts.ci_id%TYPE,
2213: p_ci_cost_version_id IN pa_budget_versions.budget_version_id%TYPE,
2214: p_ci_rev_version_id IN pa_budget_versions.budget_version_id%TYPE,
2215: p_ci_all_version_id IN pa_budget_versions.budget_version_id%TYPE,
2216: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
2217: p_targ_version_type IN pa_budget_versions.version_type%TYPE,
2218: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
2219: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
2220: x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
2213: p_ci_cost_version_id IN pa_budget_versions.budget_version_id%TYPE,
2214: p_ci_rev_version_id IN pa_budget_versions.budget_version_id%TYPE,
2215: p_ci_all_version_id IN pa_budget_versions.budget_version_id%TYPE,
2216: p_t_fp_version_id IN pa_budget_versions.budget_version_id%TYPE,
2217: p_targ_version_type IN pa_budget_versions.version_type%TYPE,
2218: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
2219: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
2220: x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
2221: )
2233: l_impl_version_type pa_fp_merged_ctrl_items.version_type%TYPE;
2234:
2235: --This cursor is introduced for bug 3550073. In manual merge a link will be created which
2236: --indicates that the amounts are copied from the source to the target version. The user has to
2237: CURSOR c_impl_dtls_csr (c_ci_version_id pa_budget_versions.budget_version_id%TYPE)
2238: IS
2239: SELECT pbvs.burdened_cost pfc_burd_cost,
2240: pbvs.revenue pfc_revenue,
2241: pbvs.raw_cost pfc_raw_cost,
2245: DECODE(pbvs.version_type,'REVENUE',NULL,pbvs.labor_quantity) cost_ppl_qty,
2246: DECODE(pbvs.version_type,'REVENUE',NULL,pbvs.equipment_quantity) cost_equip_qty,
2247: DECODE(pbvs.version_type,'REVENUE',pbvs.labor_quantity,NULL) rev_ppl_qty,
2248: DECODE(pbvs.version_type,'REVENUE',pbvs.equipment_quantity,NULL) rev_equip_qty
2249: FROM pa_budget_versions pbvs
2250: WHERE pbvs.budget_version_id=c_ci_version_id;
2251:
2252: l_impl_dtls_rec c_impl_dtls_csr%ROWTYPE;
2253:
2780:
2781: PROCEDURE implement_ci_into_single_ver(p_context IN VARCHAR2
2782: ,p_calling_context IN VARCHAR2 DEFAULT NULL -- bug 3934574
2783: ,P_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
2784: ,P_ci_cost_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The cost budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2785: ,P_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2786: ,P_ci_all_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The all budget_version_id corresponding to the p_ci_id passed. This will be derived internally if not passed
2787: ,P_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
2788: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
2781: PROCEDURE implement_ci_into_single_ver(p_context IN VARCHAR2
2782: ,p_calling_context IN VARCHAR2 DEFAULT NULL -- bug 3934574
2783: ,P_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
2784: ,P_ci_cost_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The cost budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2785: ,P_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2786: ,P_ci_all_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The all budget_version_id corresponding to the p_ci_id passed. This will be derived internally if not passed
2787: ,P_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
2788: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
2789: ,p_fin_plan_type_name IN pa_fin_plan_types_tl.name%TYPE
2782: ,p_calling_context IN VARCHAR2 DEFAULT NULL -- bug 3934574
2783: ,P_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
2784: ,P_ci_cost_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The cost budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2785: ,P_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2786: ,P_ci_all_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The all budget_version_id corresponding to the p_ci_id passed. This will be derived internally if not passed
2787: ,P_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
2788: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
2789: ,p_fin_plan_type_name IN pa_fin_plan_types_tl.name%TYPE
2790: ,P_partial_impl_rev_amt IN NUMBER DEFAULT NULL -- The revenue amount that should be implemented into the target. This will be passed only in the case of partial implementation
2783: ,P_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
2784: ,P_ci_cost_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The cost budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2785: ,P_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
2786: ,P_ci_all_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The all budget_version_id corresponding to the p_ci_id passed. This will be derived internally if not passed
2787: ,P_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
2788: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
2789: ,p_fin_plan_type_name IN pa_fin_plan_types_tl.name%TYPE
2790: ,P_partial_impl_rev_amt IN NUMBER DEFAULT NULL -- The revenue amount that should be implemented into the target. This will be passed only in the case of partial implementation
2791: ,p_cost_impl_flag IN VARCHAR2 -- Can be Y or N. Indicates whether cost can be implemented or not.
2845: l_impl_qty_tbl SYSTEM.PA_VARCHAR2_1_TBL_TYPE := SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
2846:
2847: l_impact_type_code pa_ci_impacts.impact_type_code%TYPE;
2848:
2849: l_record_version_number pa_budget_versions.record_version_number%TYPE;
2850: l_partial_factor NUMBER := 1;
2851: l_impl_amt pa_fp_merged_ctrl_items.impl_proj_revenue%TYPE;
2852: l_total_amt pa_budget_versions.total_project_revenue%TYPE;
2853: l_total_amt_in_pfc pa_budget_lines.revenue%TYPE;
2848:
2849: l_record_version_number pa_budget_versions.record_version_number%TYPE;
2850: l_partial_factor NUMBER := 1;
2851: l_impl_amt pa_fp_merged_ctrl_items.impl_proj_revenue%TYPE;
2852: l_total_amt pa_budget_versions.total_project_revenue%TYPE;
2853: l_total_amt_in_pfc pa_budget_lines.revenue%TYPE;
2854: l_total_amt_in_pc pa_budget_lines.project_revenue%TYPE;
2855:
2856: l_src_proj_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
3188: l_bl_rbf_flag_tbl SYSTEM.PA_VARCHAR2_1_TBL_TYPE:= SYSTEM.PA_VARCHAR2_1_TBL_TYPE();
3189:
3190: -- End of tables prepared to insert/update into pa_budget_lines
3191:
3192: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
3193: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
3194: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
3195:
3196: l_etc_start_date pa_budget_versions.etc_start_date%TYPE;
3189:
3190: -- End of tables prepared to insert/update into pa_budget_lines
3191:
3192: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
3193: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
3194: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
3195:
3196: l_etc_start_date pa_budget_versions.etc_start_date%TYPE;
3197: L_TARG_APP_COST_FLAG pa_proj_fp_options.approved_cost_plan_type_flag%TYPE;
3190: -- End of tables prepared to insert/update into pa_budget_lines
3191:
3192: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
3193: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
3194: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
3195:
3196: l_etc_start_date pa_budget_versions.etc_start_date%TYPE;
3197: L_TARG_APP_COST_FLAG pa_proj_fp_options.approved_cost_plan_type_flag%TYPE;
3198:
3192: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
3193: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
3194: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
3195:
3196: l_etc_start_date pa_budget_versions.etc_start_date%TYPE;
3197: L_TARG_APP_COST_FLAG pa_proj_fp_options.approved_cost_plan_type_flag%TYPE;
3198:
3199: L_SAME_MULTI_CURR_FLAG VARCHAR2(1);
3200: l_amt_used_for_rate_calc NUMBER;
3207: ,nvl(burdened_cost,0)
3208: ,nvl(revenue,0)
3209: ,nvl(labor_quantity,0)
3210: ,nvl(equipment_quantity,0)
3211: FROM pa_budget_versions
3212: WHERE budget_version_id = p_budget_version_id;
3213:
3214:
3215: -- Variables for calling FP_CI_LINK_CONTROL_ITEMS
3212: WHERE budget_version_id = p_budget_version_id;
3213:
3214:
3215: -- Variables for calling FP_CI_LINK_CONTROL_ITEMS
3216: l_version_type pa_budget_versions.version_type%TYPE;
3217: l_cost_ppl_qty pa_fp_merged_ctrl_items.impl_quantity%TYPE;
3218: l_rev_ppl_qty pa_fp_merged_ctrl_items.impl_quantity%TYPE;
3219: l_cost_equip_qty pa_fp_merged_ctrl_items.impl_equipment_quantity%TYPE;
3220: l_rev_equip_qty pa_fp_merged_ctrl_items.impl_equipment_quantity%TYPE;
3223: l_impl_pfc_burd_cost pa_fp_merged_ctrl_items.impl_proj_func_burdened_cost%TYPE;
3224: l_impl_pc_raw_cost pa_fp_merged_ctrl_items.impl_proj_raw_cost%TYPE;
3225: l_impl_pc_revenue pa_fp_merged_ctrl_items.impl_proj_revenue%TYPE;
3226: l_impl_pc_burd_cost pa_fp_merged_ctrl_items.impl_proj_burdened_cost%TYPE;
3227: l_target_version_type pa_budget_versions.version_type%TYPE;
3228: l_baselined_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
3229: l_baselined_version_id pa_budget_versions.budget_version_id%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3225: l_impl_pc_revenue pa_fp_merged_ctrl_items.impl_proj_revenue%TYPE;
3226: l_impl_pc_burd_cost pa_fp_merged_ctrl_items.impl_proj_burdened_cost%TYPE;
3227: l_target_version_type pa_budget_versions.version_type%TYPE;
3228: l_baselined_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
3229: l_baselined_version_id pa_budget_versions.budget_version_id%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3226: l_impl_pc_burd_cost pa_fp_merged_ctrl_items.impl_proj_burdened_cost%TYPE;
3227: l_target_version_type pa_budget_versions.version_type%TYPE;
3228: l_baselined_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
3229: l_baselined_version_id pa_budget_versions.budget_version_id%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3228: l_baselined_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
3229: l_baselined_version_id pa_budget_versions.budget_version_id%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3229: l_baselined_version_id pa_budget_versions.budget_version_id%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3230: l_orig_record_version_number pa_budget_versions.record_version_number%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3231: l_fc_version_created_flag VARCHAR2(1);
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3232: l_targ_lab_qty_before_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3233: l_targ_eqp_qty_before_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3234: l_targ_pfc_rawc_before_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3235: l_targ_pfc_burdc_before_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3236: l_targ_pfc_rev_before_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3237: l_targ_pc_rawc_before_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3238: l_targ_pc_burdc_before_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3239: l_targ_pc_rev_before_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3247: l_targ_pc_rev_after_merge pa_budget_versions.total_project_revenue%TYPE;
3240: l_targ_lab_qty_after_merge pa_budget_versions.labor_quantity%TYPE;
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3247: l_targ_pc_rev_after_merge pa_budget_versions.total_project_revenue%TYPE;
3248: l_impl_earlier VARCHAR2(1);
3241: l_targ_eqp_qty_after_merge pa_budget_versions.equipment_quantity%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3247: l_targ_pc_rev_after_merge pa_budget_versions.total_project_revenue%TYPE;
3248: l_impl_earlier VARCHAR2(1);
3249: l_total_agr_revenue pa_budget_lines.txn_revenue%TYPE;
3242: l_targ_pfc_rawc_after_merge pa_budget_versions.raw_cost%TYPE;
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3247: l_targ_pc_rev_after_merge pa_budget_versions.total_project_revenue%TYPE;
3248: l_impl_earlier VARCHAR2(1);
3249: l_total_agr_revenue pa_budget_lines.txn_revenue%TYPE;
3250:
3243: l_targ_pfc_burdc_after_merge pa_budget_versions.burdened_cost%TYPE;
3244: l_targ_pfc_rev_after_merge pa_budget_versions.revenue%TYPE;
3245: l_targ_pc_rawc_after_merge pa_budget_versions.total_project_raw_cost%TYPE;
3246: l_targ_pc_burdc_after_merge pa_budget_versions.total_project_burdened_cost%TYPE;
3247: l_targ_pc_rev_after_merge pa_budget_versions.total_project_revenue%TYPE;
3248: l_impl_earlier VARCHAR2(1);
3249: l_total_agr_revenue pa_budget_lines.txn_revenue%TYPE;
3250:
3251: l_partial_impl_rev_amt NUMBER;
3254: --Variable used for passing ci id to the change management baseline API.
3255: l_CI_ID_Tab PA_PLSQL_DATATYPES.IdTabTyp;
3256: l_temp NUMBER;
3257: X_Err_Code NUMBER;
3258: l_current_working_flag pa_budget_versions.current_working_flag%TYPE;
3259:
3260: -- variables introduced for bug 3934574
3261: l_retain_manual_lines_flag VARCHAR2(1);
3262:
3293: -- Added a condition to choose only the RA having the budget lines as the LAST RA.This cursor will be
3294: -- used in the case when both source and target have the same resource lists.(Please note that any changes
3295: -- in this cursor might have to be done in src_delta_amt_adj_ra_cur1 also)
3296: CURSOR src_delta_amt_adj_ra_cur
3297: (c_budget_version_id pa_budget_versions.budget_version_id%TYPE)IS
3298: SELECT pra.task_id, pra.resource_list_member_id, pra.resource_assignment_id,
3299: PA_PROJ_ELEMENTS_UTILS.GET_DISPLAY_SEQUENCE(pra.task_id) as dispSeq, rlm.alias
3300: FROM pa_resource_assignments pra, pa_resource_list_members rlm
3301: WHERE pra.budget_version_id = c_budget_version_id
3308: --This cursor is same as src_delta_amt_adj_ra_cur. This will be used when the source and target
3309: --have different resource lists.(Please note that any changes in this cursor might have to be
3310: --done in src_delta_amt_adj_ra_cur also)
3311: CURSOR src_delta_amt_adj_ra_cur1
3312: (c_budget_version_id pa_budget_versions.budget_version_id%TYPE)IS
3313: SELECT pra.task_id, tmp4.resource_list_member_id, pra.resource_assignment_id,
3314: PA_PROJ_ELEMENTS_UTILS.GET_DISPLAY_SEQUENCE(pra.task_id) as dispSeq, rlm.alias
3315: FROM pa_resource_assignments pra, pa_resource_list_members rlm,pa_res_list_map_tmp4 tmp4
3316: WHERE pra.budget_version_id = c_budget_version_id
3396: WHERE spread_curve_code = 'FIXED_DATE';
3397:
3398: --dbms_output.put_line('I3');
3399: BEGIN
3400: -- Select the details required from pa_budget_versions so that they can be used in the later part of the code
3401: SELECT etc_start_date
3402: ,project_id
3403: ,version_type
3404: ,PA_PROJECT_STRUCTURE_UTILS.GET_FIN_STRUC_VER_ID(project_id )
3423: ,l_targ_pc_rawc_before_merge
3424: ,l_targ_pc_burdc_before_merge
3425: ,l_targ_pc_rev_before_merge
3426: ,l_current_working_flag
3427: from pa_budget_versions
3428: WHERE budget_version_id = p_budget_version_id;
3429:
3430: IF P_PA_debug_mode = 'Y' THEN
3431: pa_debug.g_err_stage:= 'Fetching l_etc_start_date :'||l_etc_start_date;
8806: SELECT agr.agreement_id,
8807: agr.agreement_currency_code
8808: INTO l_agreement_id,
8809: l_agreement_currency_code
8810: FROM pa_budget_versions cibv,
8811: pa_agreements_all agr
8812: WHERE cibv.budget_version_id = l_src_ver_id_tbl(j)
8813: AND cibv.agreement_id = agr.agreement_id;
8814:
10051: ELSE*/-- Commented as part of bug 3877815, would remove completely, once review is done.
10052:
10053: SELECT record_version_number
10054: INTO l_record_version_number
10055: FROM pa_budget_versions
10056: WHERE budget_version_id=p_budget_version_id;
10057:
10058: pa_fin_plan_pub.Submit_Current_Working
10059: (p_project_id => l_project_id,
10239: END IF;
10240:
10241: END IF;
10242:
10243: --rev_partially_impl_flag of pa_budget_Versions should be updated in case of partial implementation
10244: --It should be Y if the CO is implemented partially. It should be N if the CO has got fully implemented
10245: -- If the CO has earlier been partially implemented(l_impl_earlier = 'Y'), inclusion will make it fully implemented.
10246: -- So, rev_partially_impl_flag should be set to 'N'
10247: IF p_context='PARTIAL_REV' OR l_impl_earlier = 'Y' THEN
10247: IF p_context='PARTIAL_REV' OR l_impl_earlier = 'Y' THEN
10248:
10249: IF nvl(l_impl_amt,0) + l_partial_impl_rev_amt = l_total_amt THEN
10250:
10251: UPDATE pa_budget_versions
10252: SET rev_partially_impl_flag ='N'
10253: ,record_version_number =record_version_number+1
10254: ,last_update_date =sysdate
10255: ,last_update_login =fnd_global.login_id
10257: WHERE budget_version_id = l_src_ver_id_tbl(j);
10258:
10259: ELSE
10260:
10261: --Update pa_budget_versions only if rev_partially_impl_flag is not already Y
10262: UPDATE pa_budget_versions
10263: SET rev_partially_impl_flag ='Y'
10264: ,record_version_number =record_version_number+1
10265: ,last_update_date =sysdate
10258:
10259: ELSE
10260:
10261: --Update pa_budget_versions only if rev_partially_impl_flag is not already Y
10262: UPDATE pa_budget_versions
10263: SET rev_partially_impl_flag ='Y'
10264: ,record_version_number =record_version_number+1
10265: ,last_update_date =sysdate
10266: ,last_update_login =fnd_global.login_id
10399: l_debug_mode VARCHAR2(30);
10400: l_module_name VARCHAR2(100):='PAFPCIMB.validate_ci_merge_input_data';
10401: --End of variables used for debugging
10402: i NUMBER;
10403: l_ci_cost_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10404: l_ci_rev_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10405: l_ci_all_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10400: l_module_name VARCHAR2(100):='PAFPCIMB.validate_ci_merge_input_data';
10401: --End of variables used for debugging
10402: i NUMBER;
10403: l_ci_cost_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10404: l_ci_rev_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10405: l_ci_all_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10401: --End of variables used for debugging
10402: i NUMBER;
10403: l_ci_cost_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10404: l_ci_rev_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10405: l_ci_all_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10409: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
10404: l_ci_rev_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10405: l_ci_all_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10409: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
10410: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
10411: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
10412: l_project_id pa_projects_all.project_id%TYPE;
10405: l_ci_all_version_id_tbl pa_budget_versions.budget_version_id%TYPE;
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10409: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
10410: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
10411: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
10412: l_project_id pa_projects_all.project_id%TYPE;
10413: l_source_version_id_tbl SYSTEM.pa_num_tbl_type:=SYSTEM.pa_num_tbl_type();
10406: l_out_index NUMBER;
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10409: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
10410: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
10411: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
10412: l_project_id pa_projects_all.project_id%TYPE;
10413: l_source_version_id_tbl SYSTEM.pa_num_tbl_type:=SYSTEM.pa_num_tbl_type();
10414: l_calling_mode_for_chk_api VARCHAR2(30);
10407: l_error_occurred_flag VARCHAR2(1);
10408: l_budget_status_code pa_budget_versions.budget_status_code%TYPE;
10409: l_ci_cost_version_id pa_budget_versions.budget_version_id%TYPE;
10410: l_ci_rev_version_id pa_budget_versions.budget_version_id%TYPE;
10411: l_ci_all_version_id pa_budget_versions.budget_version_id%TYPE;
10412: l_project_id pa_projects_all.project_id%TYPE;
10413: l_source_version_id_tbl SYSTEM.pa_num_tbl_type:=SYSTEM.pa_num_tbl_type();
10414: l_calling_mode_for_chk_api VARCHAR2(30);
10415: l_merge_possible_code_tbl SYSTEM.pa_varchar2_1_tbl_type :=SYSTEM.pa_varchar2_1_tbl_type();
10413: l_source_version_id_tbl SYSTEM.pa_num_tbl_type:=SYSTEM.pa_num_tbl_type();
10414: l_calling_mode_for_chk_api VARCHAR2(30);
10415: l_merge_possible_code_tbl SYSTEM.pa_varchar2_1_tbl_type :=SYSTEM.pa_varchar2_1_tbl_type();
10416: l_copy_ci_ver_flag VARCHAR2(1);
10417: l_record_version_number pa_budget_versions.record_Version_number%TYPE;
10418: l_cost_ci_ver_index NUMBER;
10419: l_rev_ci_ver_index NUMBER;
10420: l_all_ci_ver_index NUMBER;
10421: l_index NUMBER:=0;
10438: l_implemented_amount NUMBER;
10439: l_remaining_amount NUMBER;
10440: l_agr_curr_code pa_agreements_all.agreement_currency_code%TYPE;
10441:
10442: CURSOR c_chk_rej_codes (ci_ci_ver_id1 pa_budget_versions.budget_version_id%TYPE,
10443: ci_ci_ver_id2 pa_budget_versions.budget_version_id%TYPE)
10444: IS
10445: SELECT 'Y'
10446: FROM DUAL
10439: l_remaining_amount NUMBER;
10440: l_agr_curr_code pa_agreements_all.agreement_currency_code%TYPE;
10441:
10442: CURSOR c_chk_rej_codes (ci_ci_ver_id1 pa_budget_versions.budget_version_id%TYPE,
10443: ci_ci_ver_id2 pa_budget_versions.budget_version_id%TYPE)
10444: IS
10445: SELECT 'Y'
10446: FROM DUAL
10447: WHERE EXISTS (SELECT 1
10459: --different then the error status will be returned as E from the API. This will be done only when the p_context='CI_MERGE'
10460: l_init_msg_count NUMBER;
10461: l_msg_count_at_end NUMBER;
10462:
10463: l_version_type pa_budget_versions.version_type%TYPE;
10464: l_version_type_tbl SYSTEM.pa_varchar2_30_tbl_type :=SYSTEM.pa_varchar2_30_tbl_type();
10465: l_fin_plan_type_name_tbl SYSTEM.pa_varchar2_150_tbl_type :=SYSTEM.pa_varchar2_150_tbl_type();
10466: -- Bug 5845142
10467: l_app_cost_plan_type_flag_tbl SYSTEM.pa_varchar2_1_tbl_type :=SYSTEM.pa_varchar2_1_tbl_type();
10474:
10475: l_ci_type_class_code pa_ci_types_b.ci_type_class_code%TYPE;
10476:
10477: -- Bug 3986129: Added the following
10478: l_targ_ver_plan_prc_code pa_budget_versions.plan_processing_code%TYPE;
10479: --CBS 12.2 enhancement changes Start here
10480: l_ci_cost_res_cls_flag VARCHAR2(1) := 'Y';
10481: l_ci_rev_res_cls_flag VARCHAR2(1) := 'Y';
10482: l_ci_all_res_cls_flag VARCHAR2(1) := 'Y';
10849: -- Get the project id
10850:
10851: SELECT project_id
10852: INTO l_project_id
10853: FROM pa_budget_versions
10854: WHERE budget_version_id=p_budget_version_id_tbl(i);
10855:
10856:
10857: IF l_debug_mode = 'Y' THEN
11051: nvl(l_ci_rev_version_id, l_ci_all_version_id) IS NOT NULL THEN
11052:
11053: SELECT agreement_id
11054: INTO x_agreement_id
11055: FROM pa_budget_Versions
11056: WHERE budget_Version_id=nvl(l_ci_rev_version_id, l_ci_all_version_id);
11057:
11058: END IF;
11059:
11089: fin.fin_plan_type_id
11090: INTO l_fin_plan_type_name,
11091: l_fin_plan_type_id
11092: FROM pa_fin_plan_types_vl fin,
11093: pa_budget_versions pbv
11094: WHERE fin.fin_plan_type_id=pbv.fin_plan_type_id
11095: AND pbv.budget_version_id=p_budget_version_id_tbl(i);
11096: ELSE
11097: l_fin_plan_type_name := p_fin_plan_type_name_tbl(i);
11144: l_targ_ver_plan_prc_code, -- for Bug 3986129
11145: -- Bug 5845142
11146: l_app_cost_plan_type_flag,
11147: l_app_rev_plan_type_flag
11148: FROM pa_budget_versions pbv
11149: WHERE pbv.budget_version_id=p_budget_version_id_tbl(i);
11150:
11151: -- Bug 5845142. When the approved cost budget is setup to have "Cost and Revenue Together"
11152: -- plan it is not possible to include change orders. Change Orders can only be implemented.
11716: * iv. Call is made to pa_fp_ci_merge.FP_CI_UPDATE_IMPACT.
11717: *--------------------------------------------------------------------------------------------------------*/
11718:
11719: PROCEDURE impl_ci_into_autobaseline_proj( p_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
11720: ,p_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
11721: ,p_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
11722: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
11723: ,p_partial_impl_rev_amt IN NUMBER DEFAULT NULL -- The revenue amount that should be implemented into the target. This will be passed only in the case of partial implementation
11724: ,p_agreement_id IN Pa_agreements_all.agreement_id%TYPE DEFAULT NULL -- The id of the agreement that is linked with the CO.
11717: *--------------------------------------------------------------------------------------------------------*/
11718:
11719: PROCEDURE impl_ci_into_autobaseline_proj( p_ci_id IN Pa_control_items.ci_id%TYPE -- The Id of the chg doc that needs to be implemented
11720: ,p_ci_rev_version_id IN Pa_budget_versions.budget_version_id%TYPE DEFAULT NULL -- The rev budget version id corresponding to the p_ci_id passed. This will be derived internally if not passed
11721: ,p_budget_version_id IN Pa_budget_versions.budget_version_id%TYPE -- The Id of the budget version into which the CO needs to be implemented
11722: ,p_fin_plan_type_id IN pa_fin_plan_types_b.fin_plan_type_id%TYPE
11723: ,p_partial_impl_rev_amt IN NUMBER DEFAULT NULL -- The revenue amount that should be implemented into the target. This will be passed only in the case of partial implementation
11724: ,p_agreement_id IN Pa_agreements_all.agreement_id%TYPE DEFAULT NULL -- The id of the agreement that is linked with the CO.
11725: ,p_update_agreement_amt_flag IN VARCHAR2 DEFAULT NULL -- Indicates whether to update the agreement amt or not. Null is considered as N
11768: --Variable used for passing ci id to the change management baseline API.
11769: l_CI_ID_Tab PA_PLSQL_DATATYPES.IdTabTyp;
11770: X_Err_Code NUMBER;
11771:
11772: l_new_cw_version_id pa_budget_versions.budget_version_id%TYPE;
11773: l_baseline_version_id pa_budget_versions.budget_version_id%TYPE;
11774: l_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
11775: -- Variable to be used for calling FP_CI_LINK_CONTROL_ITEMS
11776: l_rev_ppl_quantity NUMBER;
11769: l_CI_ID_Tab PA_PLSQL_DATATYPES.IdTabTyp;
11770: X_Err_Code NUMBER;
11771:
11772: l_new_cw_version_id pa_budget_versions.budget_version_id%TYPE;
11773: l_baseline_version_id pa_budget_versions.budget_version_id%TYPE;
11774: l_fp_options_id pa_proj_fp_options.proj_fp_options_id%TYPE;
11775: -- Variable to be used for calling FP_CI_LINK_CONTROL_ITEMS
11776: l_rev_ppl_quantity NUMBER;
11777: l_rev_equip_quantity NUMBER;
11802: l_project_currency_code pa_projects_all.project_currency_code%TYPE;
11803: l_projfunc_currency_code pa_projects_all.project_currency_code%TYPE;
11804: l_ci_already_impl_flag VARCHAR2(1) := 'N';
11805:
11806: l_final_rev_par_impl_flag pa_budget_versions.rev_partially_impl_flag%TYPE;
11807: --Bug 4136238
11808: l_partial_impl_rev_amt pa_budget_lines.txn_revenue%TYPE;
11809:
11810: BEGIN
11938: l_impl_pc_revenue_bf_mg,
11939: l_project_id,
11940: l_project_currency_code,
11941: l_projfunc_currency_code
11942: FROM pa_budget_versions pbv,
11943: pa_projects_all p
11944: WHERE pbv.project_id = p.project_id
11945: AND pbv.budget_version_id = p_budget_version_id;
11946:
12241: l_rev_equip_quantity_af_mg,
12242: l_impl_pfc_revenue_af_mg,
12243: l_impl_pc_revenue_af_mg,
12244: l_final_rev_par_impl_flag
12245: FROM pa_budget_versions
12246: WHERE project_id = l_project_id
12247: AND budget_version_id = l_new_cw_version_id;
12248:
12249: IF l_debug_mode = 'Y' THEN
12421: IF l_debug_mode = 'Y' THEN
12422: pa_debug.g_err_stage:='Setting rev_impl_flag to N after autobaseline call';
12423: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
12424: END IF;
12425: UPDATE pa_budget_versions
12426: SET rev_partially_impl_flag ='N'
12427: ,record_version_number = record_version_number+1
12428: ,last_update_date = sysdate
12429: ,last_update_login = fnd_global.login_id
12439: IF l_debug_mode = 'Y' THEN
12440: pa_debug.g_err_stage:='Setting rev_impl_flag to Y after autobaseline call';
12441: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
12442: END IF;
12443: UPDATE pa_budget_versions
12444: SET rev_partially_impl_flag ='Y'
12445: ,record_version_number = record_version_number+1
12446: ,last_update_date = sysdate
12447: ,last_update_login = fnd_global.login_id
12590: l_ci_number_collection VARCHAR2(2000);
12591: l_partial_impl_succeeded VARCHAR2(1);
12592: l_ci_bv_merge_possible_map_tbl PA_PLSQL_DATATYPES.Char30TabTyp;
12593: l_index NUMBER;
12594: l_cost_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12595: l_rev_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12596: l_all_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12597: l_budget_ci_map_rec_tbl budget_ci_map_rec_tbl_type;
12598: l_impl_impact_type_code VARCHAR2(10);
12591: l_partial_impl_succeeded VARCHAR2(1);
12592: l_ci_bv_merge_possible_map_tbl PA_PLSQL_DATATYPES.Char30TabTyp;
12593: l_index NUMBER;
12594: l_cost_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12595: l_rev_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12596: l_all_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12597: l_budget_ci_map_rec_tbl budget_ci_map_rec_tbl_type;
12598: l_impl_impact_type_code VARCHAR2(10);
12599: l_agreement_id pa_agreements_all.agreement_id%TYPE;
12592: l_ci_bv_merge_possible_map_tbl PA_PLSQL_DATATYPES.Char30TabTyp;
12593: l_index NUMBER;
12594: l_cost_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12595: l_rev_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12596: l_all_ci_version_id pa_budget_Versions.budget_version_id%TYPE;
12597: l_budget_ci_map_rec_tbl budget_ci_map_rec_tbl_type;
12598: l_impl_impact_type_code VARCHAR2(10);
12599: l_agreement_id pa_agreements_all.agreement_id%TYPE;
12600: l_funding_category VARCHAR2(30);
12863: INTO l_targ_app_cost_flag,
12864: l_targ_app_rev_flag,
12865: l_baseline_funding_flag
12866: FROM pa_projects_all pj,
12867: pa_budget_versions bv
12868: WHERE bv.budget_version_id = l_budget_version_id_tbl(j)
12869: AND bv.project_id = pj.project_id;
12870: EXCEPTION
12871: WHEN OTHERS THEN
13377: supp_to_tbl.delete;
13378:
13379: select budget_version_id
13380: into l_budget_version_id
13381: from pa_budget_versions
13382: where ci_id = l_ci_id_to
13383: and version_type in ('COST', 'ALL');
13384:
13385: open get_supp_dtls(l_ci_id_from);
13580:
13581: /* -- bug: 9840053 .. moved the update to after insert.
13582: select budget_version_id
13583: into l_budget_version_id
13584: from pa_budget_versions
13585: where ci_id = l_ci_id_to
13586: and version_type in ('COST', 'ALL');
13587:
13588: update pa_ci_supplier_details a
13621:
13622: procedure copy_direct_cost_data(
13623: p_ci_id_to IN NUMBER
13624: ,p_ci_id_from IN NUMBER
13625: ,p_bv_id IN pa_budget_versions.budget_version_id%TYPE
13626: ,p_project_id IN NUMBER
13627: ,x_return_status OUT NOCOPY VARCHAR2
13628: ,x_msg_count OUT NOCOPY NUMBER
13629: ,x_msg_data OUT NOCOPY VARCHAR2
13628: ,x_msg_count OUT NOCOPY NUMBER
13629: ,x_msg_data OUT NOCOPY VARCHAR2
13630: ) IS
13631: l_project_id NUMBER ;
13632: l_bv_id pa_budget_versions.budget_version_id%TYPE ;
13633: l_task_id_tbl SYSTEM.PA_NUM_TBL_TYPE ;
13634: l_expenditure_type_tbl SYSTEM.PA_VARCHAR2_30_TBL_TYPE ;
13635: l_rlmi_id_tbl SYSTEM.PA_NUM_TBL_TYPE;
13636: l_unit_of_measure_tbl SYSTEM.PA_VARCHAR2_30_TBL_TYPE;