2369: --bug 4501280
2370: IF l_task_info_rec.link_task_flag = 'N'
2371: THEN
2372: --bug 4501280
2373: IF (PA_PROJECT_STRUCTURE_UTILS.check_sharing_enabled(l_task_info_rec.project_id) = 'Y') THEN
2374: --sharing enabled
2375: IF (PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(l_task_info_rec.project_id) = 'Y') THEN
2376: --versioning on
2377: IF (l_task_info_rec.task_unpub_ver_status_code = 'PUBLISHED' OR
2427: ELSE -- versioning off
2428: NULL; --continue to delete
2429: END IF;
2430: ELSE --not shared
2431: IF (PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(l_task_info_rec.parent_structure_version_id, 'FINANCIAL') = 'Y') THEN
2432: --Financial structure
2433: NULL; --continue to delete
2434: ELSE --Workplan structure
2435: --check if versioning is on
3009: OPEN cur_proj_id;
3010: FETCH cur_proj_id INTO l_project_id;
3011: CLOSE cur_proj_id;
3012:
3013: If PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_Project_ID) = 'Y' Then
3014:
3015: Select a.Parent_Structure_Version_ID
3016: Into l_Structure_Version_ID
3017: From PA_Proj_Element_Versions a, pa_proj_elem_ver_schedule b
3961: END IF;
3962:
3963:
3964: /* If p_structure_type = 'WORKPLAN' and
3965: PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_dest_project_id)
3966: IN ('SHARE_PARTIAL')
3967: Then
3968:
3969: PA_TASKS_MAINT_UTILS.CHECK_MOVE_FINANCIAL_TASK_OK (
3988: IF p_calling_module = 'SELF_SERVICE' THEN
3989:
3990: --3035902: process update flag changes
3991: l_weighting_basis_code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_dest_project_id);
3992: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_dest_structure_version_id, 'WORKPLAN');
3993: --3035902: end process update flag changes
3994:
3995:
3996: OPEN get_product_code(l_dest_project_id);
4072: (p_src_structure_name IS NOT NULL)) OR
4073: ((p_src_structure_id <> PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) AND
4074: (p_src_structure_id IS NOT NULL)) THEN
4075: --Call Check API.
4076: PA_PROJECT_STRUCTURE_UTILS.Structure_Name_Or_Id
4077: (
4078: p_project_id => l_src_project_id
4079: ,p_structure_name => p_src_structure_name
4080: ,p_structure_id => p_src_structure_id
4095: ((p_src_structure_version_id <> PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) AND
4096: (p_src_structure_version_id IS NOT NULL)) THEN
4097: --Call Check API.
4098: l_src_structure_version_id := p_src_structure_version_id;
4099: PA_PROJECT_STRUCTURE_UTILS.Structure_Version_Name_Or_Id
4100: (
4101: p_structure_id => l_src_structure_id
4102: ,p_structure_version_name => p_src_structure_version_name
4103: ,p_structure_version_id => p_src_structure_version_id
4141: -- bug 3301192 financial HTML changes
4142: IF p_structure_type = 'WORKPLAN'
4143: THEN
4144: IF
4145: PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_dest_project_id) =
4146: 'SHARE_FULL'
4147: THEN
4148: l_fin_task_flag := 'Y';
4149: ELSE
4168: END IF;
4169: CLOSE cur_proj_is_template;
4170:
4171: /*4201927 : Moved this code outside the Loop*/
4172: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
4173: l_dest_project_id);
4174: /*4201927 : Moved this code outside the Loop*/
4175:
4176: /*4201927 : Deriving whether versioned or not only once*/
4200: ELSE
4201: l_task_unpub_ver_status_code := 'PUBLISHED';
4202: END IF;
4203: ELSE --split
4204: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id,'FINANCIAL') AND
4205: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id,'WORKPLAN')) THEN
4206: l_task_unpub_ver_status_code := 'PUBLISHED';
4207: ELSE --workplan only
4208: IF ('Y' = l_ver_enabled) THEN
4201: l_task_unpub_ver_status_code := 'PUBLISHED';
4202: END IF;
4203: ELSE --split
4204: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id,'FINANCIAL') AND
4205: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id,'WORKPLAN')) THEN
4206: l_task_unpub_ver_status_code := 'PUBLISHED';
4207: ELSE --workplan only
4208: IF ('Y' = l_ver_enabled) THEN
4209: l_task_unpub_ver_status_code := 'WORKING';
4257: /* 4201927 : Perf Fix : END IF; --move_task_version check. */
4258:
4259: -- 4223490 Included for Copy External Flow
4260: IF l_copy_external_flag = 'Y' THEN
4261: l_src_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(l_src_structure_version_id,'WORKPLAN');
4262: ELSE
4263: l_src_wp_type := l_wp_type;
4264: END IF;
4265:
4360: --end task status changes
4361: /* not required in the context of copy_task bcoz when a task is copied, copied as financial if copied under Fin tab and
4362: workplan if copied under WP tab for a partial share structures.
4363: If p_structure_type = 'WORKPLAN' and
4364: PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_dest_project_id) = 'SHARE_PARTIAL'
4365: Then
4366: IF p_dest_structure_version_id <> p_dest_task_version_id -- reference should not be str ver
4367: THEN
4368: PA_TASKS_MAINT_UTILS.CHECK_MOVE_FINANCIAL_TASK_OK (
4564: -- if split, check if 'FINANCIAL'
4565: -- 'PUBLISHED' if financial
4566: -- check if versioned
4567: -- 'WORKING' if versioend; 'PUBLISHED' if not
4568: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.check_sharing_enabled(l_dest_project_id)) THEN
4569: IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(l_dest_project_id)) THEN
4570: l_task_unpub_ver_status_code := 'WORKING';
4571: ELSE
4572: l_task_unpub_ver_status_code := 'PUBLISHED';
4571: ELSE
4572: l_task_unpub_ver_status_code := 'PUBLISHED';
4573: END IF;
4574: ELSE --split
4575: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id, 'FINANCIAL') AND
4576: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id, 'WORKPLAN')) THEN
4577: l_task_unpub_ver_status_code := 'PUBLISHED';
4578: ELSE --workplan only
4579: IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(l_dest_project_id)) THEN
4572: l_task_unpub_ver_status_code := 'PUBLISHED';
4573: END IF;
4574: ELSE --split
4575: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id, 'FINANCIAL') AND
4576: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_structure_id, 'WORKPLAN')) THEN
4577: l_task_unpub_ver_status_code := 'PUBLISHED';
4578: ELSE --workplan only
4579: IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(l_dest_project_id)) THEN
4580: l_task_unpub_ver_status_code := 'WORKING';
5146: --hsiu
5147: --changes for versioning
5148: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
5149: l_project_id);
5150: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
5151: l_project_id);
5152:
5153: IF (NVL( l_published_version, 'N' ) = 'N') OR (l_published_version = 'Y' AND l_versioned = 'N' AND l_shared = 'Y') THEN
5154: -- IF NVL( l_published_version, 'N' ) = 'N'
5212: CLOSE cur_struc_type2;
5213: */
5214:
5215: /* 4201927: This value is already derived as the variable l_wp_type */
5216: /*IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_dest_structure_version_id, 'WORKPLAN') = 'Y' then
5217: */
5218: IF l_wp_type = 'Y' then
5219: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup_Unlimited(
5220: p_commit => FND_API.G_FALSE,
5285: /* 4201927 : This value is already derived l_copy_external_flag VARCHAR2(1); */
5286: begin
5287:
5288: /* 4201927 : This value is already derived
5289: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_dest_structure_version_id, 'WORKPLAN');
5290: 4201927 */
5291: --3305199: deliverable changes
5292: IF (p_cp_deliverable_asso_flag = 'Y' AND l_wp_type = 'Y') THEN
5293: PA_DELIVERABLE_PUB.COPY_ASSOCIATIONS
5909: OPEN cur_proj_id;
5910: FETCH cur_proj_id INTO l_cur_project_id;
5911: CLOSE cur_proj_id;
5912:
5913: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_cur_project_id);
5914: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
5915: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id,'WORKPLAN');
5916: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_cur_project_id);
5917: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_cur_project_id);
5910: FETCH cur_proj_id INTO l_cur_project_id;
5911: CLOSE cur_proj_id;
5912:
5913: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_cur_project_id);
5914: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
5915: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id,'WORKPLAN');
5916: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_cur_project_id);
5917: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_cur_project_id);
5918: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(l_cur_project_id);
5911: CLOSE cur_proj_id;
5912:
5913: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_cur_project_id);
5914: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
5915: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id,'WORKPLAN');
5916: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_cur_project_id);
5917: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_cur_project_id);
5918: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(l_cur_project_id);
5919: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(l_cur_project_id);
5912:
5913: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_cur_project_id);
5914: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
5915: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id,'WORKPLAN');
5916: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_cur_project_id);
5917: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_cur_project_id);
5918: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(l_cur_project_id);
5919: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(l_cur_project_id);
5920:
5914: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
5915: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id,'WORKPLAN');
5916: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(l_cur_project_id);
5917: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_cur_project_id);
5918: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(l_cur_project_id);
5919: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(l_cur_project_id);
5920:
5921: END IF; /*4269830*/
5922:
6289: This code has been moved to block tagged by <<--A-->>
6290:
6291: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
6292: l_project_id);
6293: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
6294: l_project_id);
6295: */
6296:
6297: IF l_fin_type = 'Y' -- 4269830 this is equivalent to cur_struc_type%FOUND
6462: --bug 3053281 --set flag if not (manual and workplan only)
6463:
6464: /* 4269830 :
6465: This code has been moved to block tagged by <<--A-->>
6466: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(l_parent_struct_ver_id, 'WORKPLAN');
6467: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(l_project_id);
6468: */
6469: --3035902: process update flag changes
6470: OPEN get_task_type_id(l_proj_element_id);
6692: l_task_ver_ids2 SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type(); /* Venky */
6693: /*l_wp_type VARCHAR2(1); Commented for 4269830 - This value is already derived*/
6694: begin
6695: /*4269830 Commented for 4269830 - This value is already derived
6696: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(l_structure_ver_id, 'WORKPLAN');
6697: */
6698: IF l_wp_type = 'Y'
6699: AND l_ref_parent_struct_ver_id <> p_ref_task_version_id /* make sure that the reference is not a str ver */
6700: THEN
7209: --hsiu
7210: --changes for versioning
7211: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
7212: l_project_id);
7213: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
7214: l_project_id);
7215:
7216: IF (NVL( l_published_version, 'N' ) = 'N') OR (l_published_version = 'Y' AND l_versioned = 'N' AND l_shared = 'Y')
7217: OR ((l_published_version = 'Y') AND (l_shared = 'N')) -- Bug # 5064340. -- To accomodate split financial tasks.
7273: END IF;
7274:
7275: --Hsiu added for date rollup; workplan only
7276:
7277: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(l_parent_structure_version_id, 'WORKPLAN') = 'Y' then
7278: l_tasks_ver_ids.extend;
7279: l_tasks_ver_ids(l_tasks_ver_ids.count) := p_task_version_id;
7280:
7281: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup(
7691: --hsiu
7692: --changes for versioning
7693: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
7694: l_project_id);
7695: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
7696: l_project_id);
7697: IF (NVL( l_published_version, 'N' ) = 'N') OR (l_published_version = 'Y' AND l_versioned = 'N' AND l_shared = 'Y')
7698: OR ((l_published_version = 'Y') AND (l_shared = 'N')) -- Bug # 5064340. -- To accomodate split financial tasks.
7699: THEN
7752: --dbms_output.put_line( 'After Move task ' );
7753:
7754: --Hsiu added for date rollup; workplan only
7755:
7756: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(l_parent_structure_version_id, 'WORKPLAN') = 'Y' then
7757: l_tasks_ver_ids.extend;
7758: l_tasks_ver_ids(l_tasks_ver_ids.count) := p_task_version_id;
7759:
7760: --added for task status rollup
8042: raise API_ERROR;
8043: end if;
8044:
8045: --bug 3053281 --set flag if not (manual and workplan only)
8046: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN');
8047: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(p_project_id);
8048:
8049: --bug 3010538
8050: --Added the following lines to cache versioning and sharing information
8049: --bug 3010538
8050: --Added the following lines to cache versioning and sharing information
8051: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
8052: p_project_id);
8053: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
8054: p_project_id);
8055: --check whether there exists any published version.
8056: l_published_ver_exists := PA_PROJECT_STRUCTURE_UTILS.CHECK_PUBLISHED_VER_EXISTS( p_project_id, p_structure_id );
8057: --end bug 3010538
8052: p_project_id);
8053: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
8054: p_project_id);
8055: --check whether there exists any published version.
8056: l_published_ver_exists := PA_PROJECT_STRUCTURE_UTILS.CHECK_PUBLISHED_VER_EXISTS( p_project_id, p_structure_id );
8057: --end bug 3010538
8058: --3035902: process update flag changes
8059: l_wp_process_flag := 'N';
8060: --3035902: end process update flag changes
8103: if p_outline_level(i) is null then
8104: exit;
8105: end if;
8106:
8107: l_Share_Code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(p_project_id);
8108: -- Added for FP_M changes. Tracking Bug 3305199 : Bhumesh
8109: /*
8110: IF l_Share_Code IN ('SHARE_FULL', 'SHARE_PARTIAL') then
8111: If P_Structure_Type = 'FINANCIAL' THEN
8354: --3035902: end process update flag changes
8355:
8356: --ideally the following calls should have been cached. but due to time constraints
8357: --we need to write the code this way in multiple places.
8358: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y'
8359: THEN
8360: IF ( l_versioned = 'N' ) OR
8361: ( l_shared = 'N' ) OR --This wont happen bcoz for adding tasks to a financial structure we dont use this api
8362: ( l_versioned = 'Y' AND l_shared = 'Y' AND l_published_ver_exists = 'N' )THEN
8398: -- if split, check if 'FINANCIAL'
8399: -- 'PUBLISHED' if financial
8400: -- check if versioned
8401: -- 'WORKING' if versioend; 'PUBLISHED' if not
8402: -- IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.check_sharing_enabled(p_project_id)) THEN
8403: -- IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(p_project_id)) THEN --Replaced these line with the following for performance.
8404: --Code added for bug 3010538 also does the same check.
8405: IF ('Y' = l_shared) THEN
8406: IF ('Y' = l_versioned) THEN
8409: ELSE
8410: l_task_unpub_ver_status_code := 'PUBLISHED';
8411: END IF;
8412: ELSE --split
8413: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(p_structure_id, 'FINANCIAL') AND
8414: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(p_structure_id, 'WORKPLAN')) THEN
8415: l_task_unpub_ver_status_code := 'PUBLISHED';
8416: ELSE --workplan only
8417: --IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(p_project_id)) THEN --Replaced these line with the following for performance. Code added for bug 3010538 also does the same check.
8410: l_task_unpub_ver_status_code := 'PUBLISHED';
8411: END IF;
8412: ELSE --split
8413: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(p_structure_id, 'FINANCIAL') AND
8414: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(p_structure_id, 'WORKPLAN')) THEN
8415: l_task_unpub_ver_status_code := 'PUBLISHED';
8416: ELSE --workplan only
8417: --IF ('Y' = PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(p_project_id)) THEN --Replaced these line with the following for performance. Code added for bug 3010538 also does the same check.
8418: IF ('Y' = l_versioned) THEN
8482: raise API_ERROR;
8483: end if;
8484: --end inherit task type
8485:
8486: --my_error_msg( 'before PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION' );
8487: --Changes for 8566495 anuragag
8488: --We will create record in pa_proj_elem_ver_schedules now for tasks created via change management flow.
8489: -- PA_TASK_PVT1.G_CHG_DOC_CNTXT will be equal to 1 only when the task is created via CD flow.
8490: if (PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' OR PA_TASK_PVT1.G_CHG_DOC_CNTXT = 1) then
8486: --my_error_msg( 'before PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION' );
8487: --Changes for 8566495 anuragag
8488: --We will create record in pa_proj_elem_ver_schedules now for tasks created via change management flow.
8489: -- PA_TASK_PVT1.G_CHG_DOC_CNTXT will be equal to 1 only when the task is created via CD flow.
8490: if (PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' OR PA_TASK_PVT1.G_CHG_DOC_CNTXT = 1) then
8491: PA_TASK_PUB1.CREATE_SCHEDULE_VERSION
8492: ( p_validate_only => FND_API.G_FALSE
8493: ,p_element_version_id => l_task_version_id
8494: ,p_scheduled_start_date => nvl(p_scheduled_start_date(i), sysdate)
8597: end LOOP;
8598:
8599:
8600: --bug 3301192 call the budgets apis
8601: if PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then /* this api called should have been cached but we dont have time now to do this. */
8602: PA_TASK_PUB1.call_add_planning_txns(
8603: p_tasks_ver_ids => l_tasks_ver_ids,
8604: p_planned_effort => p_planned_effort,
8605: p_project_id => p_project_id,
8690: --bug 3301192 call the budgets apis
8691:
8692: --Hsiu added for date rollup; workplan only
8693:
8694: if PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then
8695: PA_STRUCT_TASK_ROLLUP_PUB.Tasks_Rollup(
8696: p_commit => FND_API.G_FALSE,
8697: p_element_versions => l_tasks_ver_ids,
8698: x_return_status => l_return_status,
8713: end if;
8714: raise API_ERROR;
8715: end if;
8716:
8717: -- IF (PA_PROJECT_STRUCTURE_UTILS.check_sharing_enabled(p_project_id) = 'Y') AND
8718: -- (PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(p_project_id) = 'N') THEN --Replaced these line with the following for performance. Code added for bug 3010538 also does the same check.
8719: IF (l_shared = 'Y') AND
8720: (l_versioned = 'N')
8721: THEN
9980: CLOSE get_parent_version_id;
9981:
9982: --bug 3069306
9983: --if financial task, check if changing parent ok
9984: IF (PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y') THEN
9985: OPEN get_top_task_ver_id(l_parent_ver_id);
9986: FETCH get_top_task_ver_id into l_new_par_ver_id;
9987: CLOSE get_top_task_ver_id;
9988:
10019: --end bug 4099488
10020: ELSE
10021: --bug 3069306
10022: --if financial task, check if changing parent ok
10023: IF (PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y') THEN
10024: OPEN get_top_task_ver_id(ref_elem_ver_id);
10025: FETCH get_top_task_ver_id into l_new_par_ver_id;
10026: CLOSE get_top_task_ver_id;
10027:
10060: END IF;
10061:
10062: -- Added for FP_M changes. Bug 3305199 : Bhumesh xxx
10063:
10064: If PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(p_project_id)
10065: IN ('SHARE_PARTIAL')
10066: Then
10067:
10068: PA_TASKS_MAINT_UTILS.CHECK_MOVE_FINANCIAL_TASK_OK (
10482:
10483:
10484: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
10485: l_project_id);
10486: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
10487: l_project_id);
10488:
10489: l_fin_task_flag := PA_Proj_Elements_Utils.CHECK_IS_FINANCIAL_TASK(src_proj_element_id); --indent in corresponding task in pa_tasks
10490:
10625: END IF;
10626: CLOSE cur_struc_type;
10627: -- Merged from 85
10628:
10629: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then
10630:
10631: -- Added for FP_M changes Bug 3305199 : Bhumesh
10632: If PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(P_Project_ID) = 'Y' Then
10633:
10628:
10629: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then
10630:
10631: -- Added for FP_M changes Bug 3305199 : Bhumesh
10632: If PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(P_Project_ID) = 'Y' Then
10633:
10634: PA_PROJECT_STRUCTURE_PVT1.update_sch_dirty_flag(
10635: p_structure_version_id => P_Structure_Version_ID
10636: ,p_dirty_flag => 'Y' --bug 3902282
10714:
10715: --bug 3010538 (Indent)
10716:
10717: --bug 3053281 --set flag if not (manual and workplan only)
10718: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN');
10719: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(p_project_id);
10720:
10721: /*
10722: IF (l_shared = 'N') AND
10779: --3035902: end process update flag changes
10780:
10781: --ideally the following calls should have been cached. but due to time constraints
10782: --we need to write the code this way in multiple places.
10783: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y'
10784: THEN
10785: IF ( l_versioned = 'N' ) OR ( l_versioned = 'Y' and l_shared = 'Y' and l_published_version = 'N' ) THEN
10786: --Indent
10787: pa_fp_refresh_elements_pub.set_process_flag_proj(
11476: CLOSE get_parent_version_id;
11477:
11478: --bug 3069306
11479: --if financial task, check if changing parent ok
11480: IF (PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y') THEN
11481: OPEN get_top_task_ver_id(l_parent_ver_id);
11482: FETCH get_top_task_ver_id into l_new_par_ver_id;
11483: CLOSE get_top_task_ver_id;
11484:
11529: END IF;
11530: --Bug 16013002
11531: -- Added for FP_M changes. Bug 3305199 : Bhumesh xxx
11532:
11533: If PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(p_project_id)
11534: IN ('SHARE_PARTIAL')
11535: Then
11536:
11537: PA_TASKS_MAINT_UTILS.CHECK_MOVE_FINANCIAL_TASK_OK (
12098:
12099:
12100: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(
12101: l_project_id);
12102: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
12103: l_project_id);
12104:
12105: --o IF (NVL( l_published_version, 'N' ) = 'N') OR (l_published_version = 'Y' AND l_versioned = 'N' AND l_shared = 'Y') THEN
12106: l_fin_task_flag := PA_Proj_Elements_Utils.CHECK_IS_FINANCIAL_TASK(src_proj_element_id); --outdent in corresponding task in pa_tasks
12296: CLOSE cur_struc_type;
12297:
12298: -- Added for date rollup; workplan only
12299:
12300: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then
12301:
12302: -- Added for FP_M changes Bug 3305199 : Bhumesh
12303: If PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(P_Project_ID) = 'Y' Then
12304:
12299:
12300: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y' then
12301:
12302: -- Added for FP_M changes Bug 3305199 : Bhumesh
12303: If PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(P_Project_ID) = 'Y' Then
12304:
12305: PA_PROJECT_STRUCTURE_PVT1.update_sch_dirty_flag(
12306: p_structure_version_id => P_Structure_Version_ID
12307: ,p_dirty_flag => 'Y' --bug 3902282
12386: END IF;
12387:
12388: --bug 3010538 ( outdent )
12389: --bug 3053281 --set flag if not (manual and workplan only)
12390: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.Get_Struc_Type_For_Version(p_structure_version_id, 'WORKPLAN');
12391: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(p_project_id);
12392: /*
12393: IF (l_shared = 'N') AND
12394: (l_wp_type = 'Y') AND
12451: --3035902: end process update flag changes
12452:
12453: --ideally the following calls should have been cached. but due to time constraints
12454: --we need to write the code this way in multiple places.
12455: IF PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL') = 'Y'
12456: THEN
12457: IF ( l_versioned = 'N' ) OR ( l_versioned = 'Y' and l_shared = 'Y' and l_published_version = 'N' ) THEN
12458:
12459: --Outdent
12824:
12825: IF ((PA_TASK_ASSIGNMENT_UTILS.IS_PROGRESS_ROLLUP_REQUIRED(l_project_id) = 'Y')
12826: AND
12827: ((PA_PROJ_TASK_STRUC_PUB.WP_STR_EXISTS(l_project_id) = 'Y') OR
12828: (PA_PROJECT_STRUCTURE_UTILS.CHECK_SHARING_ENABLED(l_project_id) = 'Y'))
12829: AND
12830: (l_planned_effort_exists = 'Y')
12831: ) THEN
12832:
14225: -- Call: pa_fp_planning_transaction_pub.update_planning_transactions().
14226:
14227: --IF (PA_PROJ_ELEMENTS_UTILS.IS_LOWEST_TASK(p_task_version_id => p_task_ver_id ) = 'Y' AND
14228: IF (l_lowest_level_task = 'Y' AND --bug 3959087
14229: PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN') = 'Y'
14230: -- Progress Management Changes, Bug # 3420093.
14231: --AND PA_PROGRESS_UTILS.check_assignment_exists(p_project_id,p_task_ver_id,p_object_type) = 'N' --bug 3864543
14232: AND l_assignment_exists = 'N' --bug 3959087
14233: AND p_object_type = 'PA_TASKS'
14932: pa_progress_pub.populate_pji_tab_for_plan(
14933: p_init_msg_list => FND_API.G_FALSE,
14934: p_project_id => p_project_id,
14935: p_structure_version_id => p_structure_version_id,
14936: p_baselined_str_ver_id => PA_PROJECT_STRUCTURE_UTILS.Get_Baseline_Struct_Ver(p_project_id),
14937: p_structure_type => 'WORKPLAN',
14938: x_return_status => l_return_status,
14939: x_msg_count => l_msg_count,
14940: x_msg_data => l_msg_data
15035: p_init_msg_list => FND_API.G_FALSE,
15036: --p_calling_module => p_calling_module,
15037: p_project_id => p_project_id,
15038: p_structure_version_id => p_structure_version_id,
15039: p_baselined_str_ver_id => PA_PROJECT_STRUCTURE_UTILS.Get_Baseline_Struct_Ver(p_project_id),
15040: p_structure_type => 'WORKPLAN',
15041: x_return_status => l_return_status,
15042: x_msg_count => l_msg_count,
15043: x_msg_data => l_msg_data
15364: (p_src_structure_name IS NOT NULL)) OR
15365: ((p_src_structure_id <> PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) AND
15366: (p_src_structure_id IS NOT NULL)) THEN
15367: --Call Check API.
15368: PA_PROJECT_STRUCTURE_UTILS.Structure_Name_Or_Id
15369: (
15370: p_project_id => l_src_project_id
15371: ,p_structure_name => p_src_structure_name
15372: ,p_structure_id => p_src_structure_id
15388: ((p_src_structure_version_id <> PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) AND
15389: (p_src_structure_version_id IS NOT NULL)) THEN
15390: --Call Check API.
15391: l_src_structure_version_id := p_src_structure_version_id;
15392: PA_PROJECT_STRUCTURE_UTILS.Structure_Version_Name_Or_Id
15393: (
15394: p_structure_id => l_src_structure_id
15395: ,p_structure_version_name => p_src_structure_version_name
15396: ,p_structure_version_id => p_src_structure_version_id
15455: FETCH cur_struc_id into l_dest_structure_id ;
15456: CLOSE cur_struc_id ;
15457:
15458: /*4201927 : Derive values for sharing enabled and Versioning Enabled */
15459: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(
15460: l_dest_project_id);
15461:
15462: l_ver_enabled :=
15463: PA_WORKPLAN_ATTR_UTILS.Check_Wp_Versioning_Enabled(l_dest_project_id);
15488: ELSE
15489: l_task_unpub_ver_status_code := 'PUBLISHED';
15490: END IF;
15491: ELSE --split
15492: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_dest_structure_id,'FINANCIAL') AND
15493: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_dest_structure_id,'WORKPLAN')) THEN
15494: l_task_unpub_ver_status_code := 'PUBLISHED';
15495: ELSE --workplan only
15496: IF ('Y' = l_ver_enabled) THEN
15489: l_task_unpub_ver_status_code := 'PUBLISHED';
15490: END IF;
15491: ELSE --split
15492: IF ('Y' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_dest_structure_id,'FINANCIAL') AND
15493: 'N' = PA_PROJECT_STRUCTURE_UTILS.get_struc_type_for_structure(l_dest_structure_id,'WORKPLAN')) THEN
15494: l_task_unpub_ver_status_code := 'PUBLISHED';
15495: ELSE --workplan only
15496: IF ('Y' = l_ver_enabled) THEN
15497: l_task_unpub_ver_status_code := 'WORKING';
15507: /*Derive valie for the p_fin_task_flag*/
15508: IF p_structure_type = 'WORKPLAN'
15509: THEN
15510: IF
15511: PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(l_dest_project_id) =
15512: 'SHARE_FULL'
15513: THEN
15514: l_fin_task_flag := 'Y';
15515: ELSE
15817: l_versioned,l_structure_id,l_published_version,l_weighting_basis_Code
15818: ONLY once in the BULK API and pass it as params to the Move Task Version API
15819: */
15820:
15821: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(p_ref_project_id);
15822: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(p_ref_project_id);
15823:
15824: -- Bug Fix 4764891.
15825: -- The following lines have the structure types usage messed up.
15818: ONLY once in the BULK API and pass it as params to the Move Task Version API
15819: */
15820:
15821: l_shared := PA_PROJECT_STRUCTURE_UTILS.Check_Sharing_Enabled(p_ref_project_id);
15822: l_sharing_code := PA_PROJECT_STRUCTURE_UTILS.get_Structure_sharing_code(p_ref_project_id);
15823:
15824: -- Bug Fix 4764891.
15825: -- The following lines have the structure types usage messed up.
15826: -- Correcting the structure types which are passed to the get_struct_type_for_version.
15823:
15824: -- Bug Fix 4764891.
15825: -- The following lines have the structure types usage messed up.
15826: -- Correcting the structure types which are passed to the get_struct_type_for_version.
15827: -- l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15828: -- l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15829:
15830: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15831: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15824: -- Bug Fix 4764891.
15825: -- The following lines have the structure types usage messed up.
15826: -- Correcting the structure types which are passed to the get_struct_type_for_version.
15827: -- l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15828: -- l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15829:
15830: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15831: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15832:
15826: -- Correcting the structure types which are passed to the get_struct_type_for_version.
15827: -- l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15828: -- l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15829:
15830: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15831: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15832:
15833: -- End of Bug Fix 4764891.
15834:
15827: -- l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15828: -- l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15829:
15830: l_wp_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'WORKPLAN');
15831: l_fin_type := PA_PROJECT_STRUCTURE_UTILS.GET_STRUC_TYPE_FOR_VERSION(p_structure_version_id, 'FINANCIAL');
15832:
15833: -- End of Bug Fix 4764891.
15834:
15835: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(p_ref_project_id);
15833: -- End of Bug Fix 4764891.
15834:
15835: l_versioned := PA_WORKPLAN_ATTR_UTILS.CHECK_WP_VERSIONING_ENABLED(p_ref_project_id);
15836: l_weighting_basis_Code := PA_PROGRESS_UTILS.GET_TASK_WEIGHTING_BASIS(p_ref_project_id);
15837: l_check_third_party_flag := PA_Project_Structure_Utils.Check_Third_Party_Sch_Flag(p_ref_project_id);
15838:
15839: IF nvl(p_task_version_id_tbl.LAST,0)>0 THEN
15840: l_task_version_id := p_task_version_id_tbl(1);
15841: