[Home] [Help]
83: --
84: l_structure_version_id NUMBER;
85: l_baseline_proj_id NUMBER;
86: l_versioning VARCHAR2(1);
87: l_planned_effort PA_PROJ_ELEM_VER_SCHEDULE.PLANNED_EFFORT%TYPE;
88: --
89: -- Dates changes
90: l_template_flag VARCHAR2(1);
91: l_record_version_number NUMBER;
119: ppev.element_version_id lnk_task_ver_id,
120: ppev.project_id lnk_task_project_id
121: FROM pa_proj_element_versions ppev,
122: pa_proj_elements ppe,
123: pa_proj_elem_ver_schedule pevs,
124: --bug 4541039
125: pa_object_relationships por,
126: pa_proj_elem_ver_structure pevst
127: --bug 4541039
170: cp_lnk_proj_id_to NUMBER) IS
171: SELECT min(scheduled_start_date) lnk_task_sch_start_Dt
172: FROM (SELECT min(b.scheduled_start_date) scheduled_start_date --bug 3967855
173: FROM pa_proj_element_versions a,
174: pa_proj_elem_ver_schedule b
175: WHERE a.project_id = b.project_id
176: AND a.element_version_id = b.element_version_id
177: AND b.project_id = cp_lnk_proj_id_from --Bug 3634389 Added for performance
178: AND b.element_version_id IN (SELECT object_id_from1
185: -- AND object_type_from = 'PA_STRUCTURES') --Bug 3634389
186: UNION ALL
187: SELECT min(d.scheduled_start_date) scheduled_start_date --bug 3967855
188: FROM pa_proj_element_versions c,
189: pa_proj_elem_ver_schedule d
190: ,pa_proj_elem_ver_structure e --bug 4541039
191: WHERE c.project_id = d.project_id
192: AND d.project_id =e.project_id --Bug#6277752 Added for performance
193: AND d.element_version_id = e.element_version_id --Bug#6277752 Added for performance
214: cp_lnk_proj_id_to NUMBER) IS
215: SELECT max(scheduled_finish_date) lnk_task_sch_finish_Dt
216: FROM (SELECT max(b.scheduled_finish_date) scheduled_finish_date --bug 3967855
217: FROM pa_proj_element_versions a,
218: pa_proj_elem_ver_schedule b
219: WHERE a.project_id = b.project_id
220: AND a.element_version_id = b.element_version_id
221: AND b.project_id = cp_lnk_proj_id_from --Bug 3634389 Added for performance
222: AND b.element_version_id IN (SELECT object_id_from1
229: -- AND object_type_from = 'PA_STRUCTURES') --Bug 3634389
230: UNION ALL
231: SELECT max(d.scheduled_finish_date) scheduled_finish_date --bug 3967855
232: FROM pa_proj_element_versions c,
233: pa_proj_elem_ver_schedule d
234: ,pa_proj_elem_ver_structure e --bug 4541039
235: WHERE c.project_id = d.project_id
236: AND d.project_id =e.project_id --Bug#6277752 Added for performance
237: AND d.element_version_id = e.element_version_id --Bug#6277752 Added for performance
254:
255: --bug 4238036
256: Cursor get_sch_dates(c_element_version_id NUMBER) IS
257: SELECT a.scheduled_start_date, a.scheduled_finish_date
258: from pa_proj_elem_ver_schedule a
259: where a.element_version_id = c_element_version_id;
260: l_parent_start_date DATE;
261: l_parent_finish_date DATE;
262: --bug 4238036
268: --bug 4416432 issue # 5 and 6
269: CURSOR get_scheduled_dates(c_project_Id NUMBER, c_element_version_id NUMBER)
270: IS
271: select scheduled_start_date, scheduled_finish_date
272: from pa_proj_elem_ver_schedule
273: where project_id = c_project_id
274: and element_version_id = c_element_version_id;
275: l_get_sch_dates_cur get_scheduled_dates%ROWTYPE;
276:
284: -- Start of Bug 6719725
285: -- Generic lock for any project_id
286: CURSOR c_wh_generic_lock_cur (l_project_id IN NUMBER, l_element_version_id IN NUMBER) IS
287: SELECT /*+ optimizer_features_enable('10.2.0.2') */ project_id
288: FROM pa_proj_elem_ver_schedule
289: WHERE project_id = l_project_id
290: AND element_version_id = l_element_version_id
291: FOR UPDATE NOWAIT;
292:
437: l_project_id => l_lnk_task_project_id,
438: l_element_version_id => get_lnk_task_rec.lnk_task_ver_id);
439: CLOSE c_wh_generic_lock_cur;
440:
441: UPDATE pa_proj_elem_ver_schedule
442: SET scheduled_start_date = l_parent_start_date
443: ,scheduled_finish_date = l_parent_finish_date
444: ,record_version_number = NVL( record_version_number, 0 ) + 1
445: WHERE element_version_id = get_lnk_task_rec.lnk_task_ver_id
523: ' a.object_type, b.PLANNED_EFFORT, '||
524: ' NVL(a.wbs_level,0), b.scheduled_start_date+NVL(b.scheduled_start_date_rollup,0), '||
525: ' b.scheduled_finish_date+NVL(b.scheduled_finish_date_rollup,0), c.object_id_from1, '||
526: ' c.object_type_from FROM '||
527: ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
528: ' pa_object_relationships c, pa_proj_elements d WHERE '||
529: ' a.element_version_id = c.object_id_to1(+) AND '||
530: ' c.relationship_type(+)= '||''''||'S'||''''||' AND '||
531: ' a.project_id = b.project_id AND '||
547: ' a.object_type, b.PLANNED_EFFORT, '||
548: ' nvl(a.wbs_level,0), b.scheduled_start_date+NVL(b.scheduled_start_date_rollup,0), '||
549: ' b.scheduled_finish_date+NVL(b.scheduled_finish_date_rollup,0), c.object_id_from1, '||
550: ' c.object_type_from FROM '||
551: ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
552: ' pa_object_relationships c, pa_proj_elements d WHERE '||
553: ' a.element_version_id = c.object_id_to1 AND '||
554: ' c.relationship_type = '||''''||'S'||''''||' AND '||
555: ' a.project_id = b.project_id AND '||
682: --
683: FOR i IN l_rollup_table.FIRST..l_rollup_table.LAST LOOP
684: SELECT scheduled_start_date, scheduled_finish_date
685: into l_old_sch_st_date_tbl(i), l_old_sch_fn_date_tbl(i)
686: FROM pa_proj_elem_ver_schedule
687: WHERE project_id = l_proj_id_tbl(i)
688: AND element_version_id = l_elem_ver_id_tbl(i);
689: END LOOP;
690: --
688: AND element_version_id = l_elem_ver_id_tbl(i);
689: END LOOP;
690: --
691: FORALL i IN l_rollup_table.FIRST..l_rollup_table.LAST
692: UPDATE pa_proj_elem_ver_schedule
693: SET scheduled_start_date = l_sch_start_date_tbl(i),
694: scheduled_finish_date = l_sch_finish_date_tbl(i),
695: planned_effort = l_effort_tbl(i),
696: duration = l_sch_finish_date_tbl(i) - l_sch_start_date_tbl(i) + 1,
749: END LOOP;
750: --
751: FOR i IN l_rollup_table.FIRST..l_rollup_table.LAST LOOP
752: SELECT scheduled_start_date into l_old_sch_st_date_tbl(i)
753: FROM pa_proj_elem_ver_schedule
754: WHERE project_id = l_proj_id_tbl(i)
755: AND element_version_id = l_elem_ver_id_tbl(i);
756: END LOOP;
757: --
755: AND element_version_id = l_elem_ver_id_tbl(i);
756: END LOOP;
757: --
758: FORALL i IN l_rollup_table.FIRST..l_rollup_table.LAST
759: UPDATE pa_proj_elem_ver_schedule
760: SET scheduled_start_date_rollup = l_sch_start_date_tbl(i) - scheduled_start_date,
761: scheduled_finish_date_rollup = l_sch_finish_date_tbl(i) - scheduled_finish_date,
762: last_update_date = sysdate,
763: last_updated_by = FND_GLOBAL.USER_ID,
1205:
1206: l_structure_version_id NUMBER;
1207: l_baseline_proj_id NUMBER;
1208: l_versioning VARCHAR2(1);
1209: l_planned_effort PA_PROJ_ELEM_VER_SCHEDULE.PLANNED_EFFORT%TYPE;
1210:
1211: --bug 4290472, rtarway
1212: str_start_date DATE;
1213: str_end_date DATE;
1246: -- hyau get calendar id to calculate duration
1247: cursor get_calendar_id_csr(c_project_id NUMBER, c_element_version_id NUMBER)
1248: IS
1249: SELECT calendar_id
1250: FROM pa_proj_elem_ver_schedule
1251: WHERE element_version_id = c_element_version_id
1252: AND project_id = c_project_id;
1253:
1254: -- hsiu added for bulk update
1254: -- hsiu added for bulk update
1255: CURSOR get_scheduled_dates(c_project_Id NUMBER, c_element_version_id NUMBER)
1256: IS
1257: select scheduled_start_date, scheduled_finish_date
1258: from pa_proj_elem_ver_schedule
1259: where project_id = c_project_id
1260: and element_version_id = c_element_version_id;
1261: l_get_sch_dates_cur get_scheduled_dates%ROWTYPE;
1262:
1420: ' a.object_type, b.PLANNED_EFFORT, '||
1421: ' nvl(a.wbs_level,0), b.scheduled_start_date, '||
1422: ' b.scheduled_finish_date, c.object_id_from1, '||
1423: ' c.object_type_from from '||
1424: ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
1425: ' pa_object_relationships c, pa_proj_elements d where '||
1426: ' a.element_version_id = c.object_id_to1 and '||
1427: ' c.relationship_type = '||''''||'S'||''''||' and '||
1428: ' a.project_id = b.project_id and '||
1443: ' a.object_type, b.PLANNED_EFFORT, '||
1444: ' nvl(a.wbs_level,0), b.scheduled_start_date, '||
1445: ' b.scheduled_finish_date, c.object_id_from1, '||
1446: ' c.object_type_from from '||
1447: ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
1448: ' pa_object_relationships c, pa_proj_elements d where '||
1449: ' a.element_version_id = c.object_id_to1(+) and '||
1450: ' c.relationship_type(+)= '||''''||'S'||''''||' and '||
1451: ' a.project_id = b.project_id and '||
1467: ' a.object_type, b.PLANNED_EFFORT, '||
1468: ' nvl(a.wbs_level,0), b.scheduled_start_date, '||
1469: ' b.scheduled_finish_date, c.object_id_from1, '||
1470: ' c.object_type_from from '||
1471: ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
1472: ' pa_object_relationships c, pa_proj_elements d where '||
1473: ' a.element_version_id = c.object_id_to1 and '||
1474: ' c.relationship_type = '||''''||'S'||''''||' and '||
1475: ' a.project_id = b.project_id and '||
1494: -- ' a.object_type, b.PLANNED_EFFORT, '||
1495: -- ' nvl(a.wbs_level,0), b.scheduled_start_date, '||
1496: -- ' b.scheduled_finish_date, c.object_id_from1, '||
1497: -- ' c.object_type_from from '||
1498: -- ' pa_proj_element_versions a, pa_proj_elem_ver_schedule b, '||
1499: -- ' pa_object_relationships c where '||
1500: -- ' a.element_version_id = c.object_id_to1(+) and '||
1501: -- ' c.relationship_type(+) = '||''''||'S'||''''||' and '||
1502: -- ' a.project_id = b.project_id and '||
1607: ELSE
1608: /* BEGIN
1609: --Update the tasks
1610: l_CursorId := DBMS_SQL.OPEN_CURSOR;
1611: l_update_stmt := 'Update pa_proj_elem_ver_schedule '||
1612: 'set SCHEDULED_START_DATE = :sd, '||
1613: 'SCHEDULED_FINISH_DATE = :fd, '||
1614: 'PLANNED_EFFORT = :pe, '||
1615: 'DURATION = :dur, '||
1749: --bug 3305199 hsiu
1750: FOR i IN l_rollup_table.first..l_rollup_table.last LOOP
1751: select scheduled_start_date, scheduled_finish_date
1752: into l_old_sch_st_date_tbl(i), l_old_sch_fn_date_tbl(i)
1753: from pa_proj_elem_ver_schedule
1754: where project_id = l_proj_id_tbl(i)
1755: and element_version_id = l_elem_ver_id_tbl(i);
1756: END LOOP;
1757: --end 3305199 hsiu
1763: l_sch_start_date_tbl(i),
1764: l_sch_finish_date_tbl(i)),
1765: */
1766: FORALL i IN l_rollup_table.first..l_rollup_table.last
1767: UPDATE pa_proj_elem_ver_schedule
1768: set scheduled_start_date = l_sch_start_date_tbl(i),
1769: scheduled_finish_date = l_sch_finish_date_tbl(i),
1770: planned_effort = l_effort_tbl(i),
1771: duration = l_sch_finish_date_tbl(i) - l_sch_start_date_tbl(i) + 1,
1792:
1793: FOR i IN l_rollup_table.first..l_rollup_table.last LOOP
1794: select scheduled_start_date, scheduled_finish_date
1795: into l_old_sch_st_date_tbl(i), l_old_sch_fn_date_tbl(i)
1796: from pa_proj_elem_ver_schedule
1797: where project_id = l_proj_id_tbl(i)
1798: and element_version_id = l_elem_ver_id_tbl(i);
1799:
1800: ---- Start of addition for bug 6393979
1816: OPEN c_get_project_dates(l_baseline_proj_id);
1817: FETCH c_get_project_dates INTO str_start_date, str_end_date;
1818: CLOSE c_get_project_dates;*/
1819:
1820: UPDATE pa_proj_elem_ver_schedule
1821: set scheduled_start_date =str_start_date,
1822: scheduled_finish_date = str_end_date,
1823: duration = str_end_date - str_start_date + 1,
1824: last_update_date = sysdate,