125: BEGIN
126:
127: IF NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N') = 'Y' THEN
128:
129: INSERT INTO pji_fm_extr_plan_lines_debug
130: (
131: PROJECT_ID ,
132: PROJECT_ORG_ID ,
133: PROJECT_ELEMENT_ID ,
224: ETC_PRJ_RAW_COST ,
225: ETC_PFC_RAW_COST ,
226: SYSDATE
227: FROM
228: pji_fm_extr_plan_lines ;
229:
230: END IF;
231:
232: END;
587: -- OLAP START CHANGE
588:
589: cursor plan_versions is
590: select extr.plan_version_id, p.pjt_rollup_enabled_flag , nvl(p.CBS_ENABLE_FLAG, 'N') cbs_enable_flag, p.project_id , fpo.rbs_version_id , p.cbs_version_id
591: from pa_budget_versions b , pa_projects_all p , pa_proj_fp_options fpo, pji_fm_extr_plan_lines extr
592: where b.budget_version_id = extr.plan_version_id
593: and b.project_id = p.project_id
594: AND b.fin_plan_type_id = fpo.fin_plan_type_id
595: AND b.budget_version_id = fpo.fin_plan_version_id
677: END IF;
678:
679: IF l_res_class_flag = 'N' THEN
680:
681: UPDATE pji_fm_extr_plan_lines
682: SET RESOURCE_CLASS_CODE = 'PEOPLE-1'
683: WHERE RESOURCE_CLASS_CODE = 'PEOPLE';
684:
685: IF g_debug_mode = 'Y' THEN
682: SET RESOURCE_CLASS_CODE = 'PEOPLE-1'
683: WHERE RESOURCE_CLASS_CODE = 'PEOPLE';
684:
685: IF g_debug_mode = 'Y' THEN
686: pa_debug.write('PLAN_UPDATE: ' || g_module_name,'Updated pji_fm_extr_plan_lines '||SQL%Rowcount,1);
687: END IF;
688:
689: UPDATE pji_fm_extr_plan_lines
690: SET RESOURCE_CLASS_CODE = 'EQUIPMENT-1'
685: IF g_debug_mode = 'Y' THEN
686: pa_debug.write('PLAN_UPDATE: ' || g_module_name,'Updated pji_fm_extr_plan_lines '||SQL%Rowcount,1);
687: END IF;
688:
689: UPDATE pji_fm_extr_plan_lines
690: SET RESOURCE_CLASS_CODE = 'EQUIPMENT-1'
691: WHERE RESOURCE_CLASS_CODE = 'EQUIPMENT';
692:
693: IF g_debug_mode = 'Y' THEN
690: SET RESOURCE_CLASS_CODE = 'EQUIPMENT-1'
691: WHERE RESOURCE_CLASS_CODE = 'EQUIPMENT';
692:
693: IF g_debug_mode = 'Y' THEN
694: pa_debug.write('PLAN_UPDATE: ' || g_module_name,'Updated pji_fm_extr_plan_lines '||SQL%Rowcount,1);
695: END IF;
696:
697: END IF;
698:
768: -- OLAP END CHANGE
769:
770: IF l_res_class_flag = 'N' THEN
771:
772: UPDATE pji_fm_extr_plan_lines
773: SET RESOURCE_CLASS_CODE = 'PEOPLE'
774: WHERE RESOURCE_CLASS_CODE = 'PEOPLE-1';
775:
776:
773: SET RESOURCE_CLASS_CODE = 'PEOPLE'
774: WHERE RESOURCE_CLASS_CODE = 'PEOPLE-1';
775:
776:
777: UPDATE pji_fm_extr_plan_lines
778: SET RESOURCE_CLASS_CODE = 'EQUIPMENT'
779: WHERE RESOURCE_CLASS_CODE = 'EQUIPMENT-1';
780:
781: IF g_debug_mode = 'Y' THEN
778: SET RESOURCE_CLASS_CODE = 'EQUIPMENT'
779: WHERE RESOURCE_CLASS_CODE = 'EQUIPMENT-1';
780:
781: IF g_debug_mode = 'Y' THEN
782: pa_debug.write('PLAN_UPDATE: ' || g_module_name,'Updated pji_fm_extr_plan_lines back',1);
783: END IF;
784:
785: END IF;
786:
806: x_processing_code OUT NOCOPY VARCHAR2 ) IS
807:
808: CURSOR GET_MAINT_SMART_SLICE_PARAMS
809: IS SELECT DISTINCT rbs_version_id,plan_version_id,struct_ver_id
810: FROM pji_fm_extr_plan_lines
811: WHERE plan_version_id = NVL(p_plan_version_id,plan_version_id)
812: AND ROWID IN ( SELECT extr_lines_rowid FROM pji_fp_rmap_fpr_update_t)
813: ORDER BY rbs_version_id,struct_ver_id;
814:
850: CLEANUP_TEMP_TABLES;
851:
852: IF (p_plan_version_id IS NULL) THEN
853: INSERT INTO pji_fp_rmap_fpr_update_t (EXTR_LINES_ROWID)
854: SELECT ROWID FROM pji_fm_extr_plan_lines;
855: ELSE
856: INSERT INTO pji_fp_rmap_fpr_update_t (EXTR_LINES_ROWID)
857: SELECT ROWID FROM pji_fm_extr_plan_lines
858: WHERE plan_version_id = p_plan_version_id;
853: INSERT INTO pji_fp_rmap_fpr_update_t (EXTR_LINES_ROWID)
854: SELECT ROWID FROM pji_fm_extr_plan_lines;
855: ELSE
856: INSERT INTO pji_fp_rmap_fpr_update_t (EXTR_LINES_ROWID)
857: SELECT ROWID FROM pji_fm_extr_plan_lines
858: WHERE plan_version_id = p_plan_version_id;
859: END IF;
860:
861: -------------------------------------------------------------------------
933: p_online_flag => 'Y'
934: , x_return_status => x_return_status ) ;
935: end */
936: /* We get the list of rbs_version,wbs_version and plan_version for which smart slice needs to be created.
937: The PJI_FM_EXTR_PLAN_LINES needs to be deleted before calling maintain_smart_slice as there is a commit
938: in maintain_smart_slice which nulls out pji_fp_rmap_fpr_update_t */
939: /* commenting as the incremental smart slice will be created */
940: /*start
941: OPEN GET_MAINT_SMART_SLICE_PARAMS;
946: end */
947: debug_plan_lines ; /* bug#3993830 */
948:
949:
950: DELETE FROM PJI_FM_EXTR_PLAN_LINES
951: WHERE 1 = 1
952: AND ROWID IN ( SELECT extr_lines_rowid FROM pji_fp_rmap_fpr_update_t)
953: AND TXN_CURRENCY_CODE IS NOT NULL
954: AND prj_currency_code IS NOT NULL
1279: print_time ( 'PLAN_UPDATE_PVT_ACT_ETC 1 plan version id is null.. returning ' );
1280: RETURN;
1281: ELSE
1282: INSERT INTO pji_fp_rmap_fpr_update_t (EXTR_LINES_ROWID)
1283: SELECT ROWID FROM pji_fm_extr_plan_lines
1284: WHERE plan_version_id = p_plan_version_id;
1285: END IF;
1286:
1287: SELECT COUNT(1)
1285: END IF;
1286:
1287: SELECT COUNT(1)
1288: INTO l_temp
1289: FROM pji_fm_extr_plan_lines
1290: WHERE ROWNUM=1; /*Added for bug 3928020*/
1291: -------------------------------------------------------------------------
1292: -- Process records only if # of lines in plan lines table > threshold #.
1293: -- They will be processed in the next call to plan update api if the above
1374: print_time ( 'PLAN_UPDATE_PVT_ACT_ETC 5.11 ');
1375:
1376: debug_plan_lines ; /* bug#3993830 */
1377:
1378: DELETE FROM PJI_FM_EXTR_PLAN_LINES
1379: WHERE 1 = 1
1380: AND ROWID IN ( SELECT extr_lines_rowid FROM pji_fp_rmap_fpr_update_t)
1381: AND TXN_CURRENCY_CODE IS NOT NULL
1382: AND prj_currency_code IS NOT NULL
3323: PRAGMA EXCEPTION_INIT(excp_resource_busy, -54);
3324:
3325: CURSOR c_lines IS
3326: SELECT project_id
3327: FROM pji_fm_extr_plan_lines
3328: WHERE ROWID IN
3329: ( SELECT extr_lines_rowid
3330: FROM pji_fp_rmap_fpr_update_t)
3331: FOR UPDATE NOWAIT;
3393: l_fp_version_ids SYSTEM.pa_num_tbl_type := SYSTEM.pa_num_tbl_type();
3394:
3395: CURSOR c_plan_version_ids_cur IS
3396: SELECT DISTINCT plan_version_id
3397: FROM PJI_FM_EXTR_PLAN_LINES
3398: WHERE ROWID IN
3399: ( SELECT extr_lines_rowid
3400: FROM pji_fp_rmap_fpr_update_t);
3401:
4290: IF l_prg_event_id is not null then
4291:
4292: --Bug 4626803: Need this for preventing doubling
4293: --of actuals
4294: UPDATE pji_fm_extr_plan_lines
4295: SET ACT_QUANTITY = NULL,
4296: ACT_TXN_BURDENED_COST = NULL,
4297: ACT_PRJ_BURDENED_COST = NULL,
4298: ACT_PFC_BURDENED_COST = NULL,
4304: ACT_PFC_REVENUE = NULL
4305: WHERE
4306: plan_version_id = l_plan_version_id;
4307:
4308: --Callingt plan_update to process data in PJI_FM_EXTR_PLAN_LINES
4309: pa_task_pub1.G_CALL_PJI_ROLLUP := 'Y';
4310: pji_fm_xbs_accum_maint.plan_update (
4311: p_plan_version_id => l_plan_version_id,
4312: x_msg_code => l_msg_data,
4532: IF l_prg_event_id is not null then
4533:
4534: --Bug 4626803: Need this for preventing doubling
4535: --of actuals
4536: UPDATE pji_fm_extr_plan_lines
4537: SET ACT_QUANTITY = NULL,
4538: ACT_TXN_BURDENED_COST = NULL,
4539: ACT_PRJ_BURDENED_COST = NULL,
4540: ACT_PFC_BURDENED_COST = NULL,
4546: ACT_PFC_REVENUE = NULL
4547: WHERE
4548: plan_version_id = l_plan_version_id;
4549:
4550: --Callingt plan_update to process data in PJI_FM_EXTR_PLAN_LINES
4551: pa_task_pub1.G_CALL_PJI_ROLLUP := 'Y';
4552: pji_fm_xbs_accum_maint.plan_update (
4553: p_plan_version_id => l_plan_version_id,
4554: x_msg_code => l_msg_data,
7161: --incremental change in plan value is not copied to the
7162: --ETC columns
7163: --------------------------------------------------------
7164:
7165: INSERT INTO pji_fm_extr_plan_lines (
7166: PROJECT_ID, PROJECT_ORG_ID, PROJECT_ELEMENT_ID, STRUCT_VER_ID,
7167: PERIOD_NAME, CALENDAR_TYPE, START_DATE, END_DATE, RBS_ELEMENT_ID,
7168: RBS_VERSION_ID, PLAN_VERSION_ID, PLAN_TYPE_ID, WP_VERSION_FLAG,
7169: ROLLUP_TYPE, TXN_CURRENCY_CODE, PRJ_CURRENCY_CODE, PFC_CURRENCY_CODE,
7178: RESOURCE_CLASS_CODE, RATE_BASED_FLAG,
7179: 0, 0, 0,
7180: 0, 0, 0, 0
7181: FROM
7182: pji_fm_extr_plan_lines
7183: WHERE
7184: STRUCT_VER_ID = PA_PROGRESS_PUB.G_WBS_APPLY_PROG
7185: GROUP BY
7186: PROJECT_ID, PROJECT_ORG_ID, PROJECT_ELEMENT_ID, STRUCT_VER_ID,