4 --The following global varables are added for as_of_date APIs
1 package PA_PROGRESS_UTILS AUTHID CURRENT_USER as
2 /* $Header: PAPCUTLS.pls 120.17.12020000.5 2013/06/06 09:28:47 djambhek ship $ */
3
5 previous_record_count NUMBER(15) := 0;
6 next_record_count NUMBER(15) := 0;
7 record_count NUMBER(15) := 0;
8 x_bill_thru_date DATE;
9 project_id NUMBER := 0;
10 previous_record_index NUMBER := 0;
11 current_index NUMBER := 0;
12 previous_return_date DATE := sysdate - 10;
13 l_last_progress_date DATE;
14 l_Last_Bill_Thru_Date DATE;
15 l_return_date PA_VC_1000_10 := PA_VC_1000_10(1000);
16 i NUMBER := 0;
17
18 X_project_start_date DATE;
19 X_project_finish_date DATE;
20 G_prog_as_of_date DATE := sysdate;
21 G_bac_value_project_id NUMBER := 0; -- FPM Dev CR 3
22
23 -- 4535784 Begin
24 j_task NUMBER := 0;
25 g_task_id NUMBER := 0;
26 g_max_rollup_dt DATE;
27 -- 4535784 End
28 --
29
30 -- Bug 7633088
31 g_override_as_of_date DATE := NULL;
32
33 FUNCTION GET_LATEST_TASK_VER_ID (p_project_id IN NUMBER,
37 p_object_type IN VARCHAR2
34 p_task_id IN NUMBER) return NUMBER;
35
36 FUNCTION PROGRESS_RECORD_EXISTS (p_element_version_id IN NUMBER,
38 ,p_project_id IN NUMBER -- Fixed bug # 3688901.
39 ) return VARCHAR2;
40
41 FUNCTION GET_LATEST_STRUCTURE_VER_ID (p_project_id IN NUMBER) return NUMBER;
42
43 FUNCTION isUserProjectManager(p_user_id IN NUMBER,
44 p_project_id IN NUMBER) return VARCHAR2;
45
46 FUNCTION Get_Working_Progress_Id(p_project_id IN NUMBER,
47 p_task_id IN NUMBER) return NUMBER;
48
49 PROCEDURE UPDATE_TASK_PROG_REQ_DATE(p_commit in varchar2 := FND_API.G_TRUE,
50 p_object_id in number,
51 p_object_type in varchar2,
52 x_return_status out NOCOPY varchar2, --File.Sql.39 bug 4440895
53 x_msg_count out NOCOPY number, --File.Sql.39 bug 4440895
54 x_msg_data out NOCOPY varchar2); --File.Sql.39 bug 4440895
55 PROCEDURE adjust_reminder_date(
56 p_commit IN VARCHAR2 := FND_API.G_TRUE
57 ,p_project_id IN NUMBER
58 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
59 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
60 ,x_msg_data OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
61
62 FUNCTION PROJ_TASK_PROG_EXISTS(p_project_id IN NUMBER,
63 p_task_id IN NUMBER) return VARCHAR2;
64
65 FUNCTION GET_PRIOR_PERCENT_COMPLETE(p_project_id IN NUMBER,
66 p_task_id IN NUMBER,
67 p_as_of_date IN DATE) return NUMBER;
68
69
70 FUNCTION GET_LATEST_AS_OF_DATE(
71 p_task_id NUMBER
72 ,p_project_id NUMBER := null -- FPM Development Bug 3420093
73 ,p_object_id NUMBER := null -- FPM Development Bug 3420093
74 ,p_object_type VARCHAR2 := 'PA_TASKS'-- FPM Development Bug 3420093
75 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
76 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2
77 ) RETURN DATE;
78
79
80
81
82 function Get_AS_OF_DATE (
83 X_Project_ID IN Number,
84 X_project_start_date IN Date default NULL,
85 X_Billing_Cycle_ID IN Number default NULL,
86 X_Billing_Offset_Days IN Number default NULL,
87 X_Bill_Thru_Date IN Date default NULL,
88 X_Last_Bill_Thru_Date IN Date default NULL
89 ) RETURN DATE;
90
91
92 FUNCTION as_of_date(
93 X_Project_ID IN NUMBER ,
94 x_object_id IN NUMBER ,
95 X_Billing_Cycle_ID IN NUMBER DEFAULT NULL ,
96 X_Object_type IN VARCHAR2 DEFAULT 'PA_TASKS' , -- FPM Development Bug 3420093
97 X_structure_type IN VARCHAR2 DEFAULT 'WORKPLAN' ,-- FPM Development Bug 3420093
98 X_proj_element_id IN NUMBER := null /* Amit : Modified for IB4 Progress CR. */
99 ) RETURN DATE;
100
101 FUNCTION get_next_ppc_id RETURN NUMBER;
102
103 -- FPM Development Bug 3420093 : Added p_object_type
104 FUNCTION CHECK_VALID_AS_OF_DATE(p_as_of_date IN DATE, p_project_id IN NUMBER, p_object_id NUMBER, p_object_type VARCHAR2 := 'PA_TASKS' ,p_cbs_element_id NUMBER := null ,
105 p_proj_element_id IN NUMBER := null /* Amit : Modified for IB4 Progress CR. */ )
106 RETURN VARCHAR2;
107
108 FUNCTION Calc_base_percent(
109 p_task_id NUMBER,
110 p_incr_work_qty NUMBER,
111 p_cuml_work_qty NUMBER,
112 p_est_remaining_effort NUMBER
113 ) RETURN NUMBER;
114
115 -- 4392189 Phase 2: This method is not used anywhere
116 /*
117 PROCEDURE get_rollup_attrs(
118 p_task_id NUMBER,
119 p_as_of_date DATE,
120 x_EFF_ROLLUP_PROG_STAT_CODE OUT VARCHAR2,
121 x_EFF_ROLLUP_PROG_STAT_NAME OUT VARCHAR2,
122 x_ESTIMATED_REMAINING_EFFORT OUT NUMBER,
123 x_BASE_PERCENT_COMPLETE OUT NUMBER,
124 x_EFF_ROLLUP_PERCENT_COMP OUT NUMBER,
125 x_ESTIMATED_START_DATE OUT DATE,
126 x_ESTIMATED_FINISH_DATE OUT DATE,
127 x_ACTUAL_START_DATE OUT DATE,
128 x_ACTUAL_FINISH_DATE OUT DATE,
129 x_status_icon_ind OUT VARCHAR2,
130 x_status_icon_active_ind OUT VARCHAR2
131 );
132 */
133
134 FUNCTION get_next_progress_cycle(
135 p_project_id NUMBER,
136 p_task_id NUMBER,
137 p_object_id NUMBER := null, -- FPM Development Bug 3420093
138 p_object_type VARCHAR2 := 'PA_TASKS', -- FPM Development Bug 3420093
139 p_structure_type VARCHAR2 := 'WORKPLAN', -- FPM Development Bug 3420093
140 p_start_date DATE := to_date(null) -- FPM Development Bug 3420093
141 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
142 ) RETURN DATE;
143
144 FUNCTION get_prog_dt_closest_to_sys_dt(
145 p_project_id NUMBER,
146 p_task_id NUMBER,
150 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
147 p_object_id NUMBER := null, -- FPM Development Bug 3420093
148 p_object_type VARCHAR2 := 'PA_TASKS', -- FPM Development Bug 3420093
149 p_structure_type VARCHAR2 := 'WORKPLAN'
151 ) RETURN DATE ;
152
153 FUNCTION check_prog_exists_on_aod(
154 p_project_id NUMBER,
155 p_object_type VARCHAR2,
156 p_object_version_id NUMBER,
157 p_task_id NUMBER := null/* Amit : Modified for IB4 Progress CR. */ ,
158 p_as_of_date DATE,
159 p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
160 ,p_object_id NUMBER := null /* Modified for IB4 Progress CR. */
161 ,p_cbs_element_id NUMBER := NULL --Added for 16200605
162 ) RETURN VARCHAR2;
163
164 FUNCTION get_ppc_id(
165 p_project_id NUMBER
166 ,p_object_id NUMBER
167 ,p_object_type VARCHAR2
168 ,p_object_version_id NUMBER
169 ,p_as_of_date DATE
170 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
171 ,p_task_id NUMBER := null /* Modified for IB4 Progress CR. */
172 ,p_cbs_element_id NUMBER := NULL --Added for 16200605
173
174 ) RETURN NUMBER;
175
176 FUNCTION get_prog_rollup_id(
177 p_project_id NUMBER
178 ,p_object_id NUMBER
179 ,p_object_type VARCHAR2
180 ,p_object_version_id NUMBER
181 ,p_as_of_date DATE
182 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
183 ,p_structure_version_id NUMBER := null -- FPM Development Bug 3420093
184 ,x_record_version_number OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
185 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
186 ,p_action VARCHAR2 := 'PUBLISH' -- Bug 3879461
187 ,p_cbs_element_id NUMBER := NULL --Added for 16200605
188 ) RETURN NUMBER;
189
190 FUNCTION check_task_has_progress(
191 p_task_id NUMBER ) RETURN VARCHAR2;
192
193 FUNCTION get_last_cumulative(
194 p_project_id NUMBER
195 ,p_object_id NUMBER
196 ,p_object_type VARCHAR2
197 ,p_as_of_date DATE ) RETURN NUMBER;
198
199
200 FUNCTION get_planned_wq(
201 p_project_id NUMBER
202 ,p_object_id NUMBER
203 ,p_object_version_id NUMBER ) RETURN NUMBER;
204
205 PROCEDURE clear_prog_outdated_flag(
206 p_project_id NUMBER
207 ,p_object_id NUMBER
208 ,p_object_type VARCHAR2
209 ,p_structure_version_id NUMBER default null --bug 3851528
210 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
211 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
212 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
213 );
214
215 -- FPM Development Bug 3420093
216 PROCEDURE get_project_progress_defaults(
217 p_project_id NUMBER
218 ,p_structure_type IN VARCHAR2
219 ,x_WQ_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
220 ,x_EFFORT_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
221 ,x_PERCENT_COMP_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
222 ,x_task_weight_basis_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
223 ,X_ALLOW_COLLAB_PROG_ENTRY OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
224 ,X_ALLW_PHY_PRCNT_CMP_OVERRIDES OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
225 );
226
227 PROCEDURE get_progress_defaults(
228 p_project_id NUMBER
229 ,p_object_version_id NUMBER
230 ,p_object_type VARCHAR2
231 ,p_object_id NUMBER
232 ,p_as_of_date DATE
233 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
234 ,x_WQ_ACTUAL_ENTRY_CODE OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
235 ,x_WQ_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
236 ,x_EFFORT_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
237 ,x_BASE_PERCENT_COMP_DERIV_CODE OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
238 ,x_PERCENT_COMP_ENABLED_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
239 ,X_PROGRESS_ENTRY_ENABLE_FLAG OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
240 ,X_ALLOW_COLLAB_PROG_ENTRY OUT NOCOPY VARCHAR2 -- FPM Development Bug 3420093 --File.Sql.39 bug 4440895
241 ,X_ALLW_PHY_PRCNT_CMP_OVERRIDES OUT NOCOPY VARCHAR2 -- FPM Development Bug 3420093 --File.Sql.39 bug 4440895
242 ,x_task_weight_basis_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
243 );
244
245 FUNCTION chk_prg_since_last_prg(
246 p_project_id NUMBER
247 ,p_percent_complete_id NUMBER
248 ,p_object_type VARCHAR2
249 ,p_object_id NUMBER
250 ,p_task_id NUMBER := null /* Modified for IB4 Progress CR. */
251 ) RETURN VARCHAR2;
252
253 FUNCTION check_project_has_progress(
254 p_project_id NUMBER,
255 p_object_id NUMBER,
256 p_structure_type VARCHAR2 := null ) RETURN VARCHAR2; -- added by kmaddi for bug 6914708
257
258 FUNCTION get_task_prog_profile(
259 p_profile_name VARCHAR2 ) RETURN VARCHAR2;
260
261 FUNCTION Working_version_exist(
262 p_task_id NUMBER := null /* Amit : Modified for IB4 Progress CR. */
263 ,p_project_id NUMBER
264 ,p_object_type VARCHAR2
265 ,p_object_id NUMBER := null /* Modified for IB4 Progress CR. */
266 ,p_as_of_date DATE := null -- bug 4185364
267 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
268 ) RETURN DATE;
269
270 FUNCTION check_status_referenced(
271 p_status_code VARCHAR2 ) RETURN BOOLEAN;
275 ,p_as_of_date DATE ) RETURN DATE;
272
273 FUNCTION GET_LATEST_AS_OF_DATE2(
274 p_task_id NUMBER
276
277 FUNCTION is_parent_on_hold(
278 p_object_version_id NUMBER
279 ) RETURN VARCHAR2;
280
281 FUNCTION get_task_status(
282 p_project_id NUMBER
283 ,p_object_id NUMBER
284 , p_object_type VARCHAR2 := 'PA_TASKS' -- FPM Development Bug 3420093
285 ) RETURN VARCHAR2;
286
287 FUNCTION get_system_task_status(
288 p_status_code VARCHAR2
289 ,p_object_type VARCHAR2 := 'PA_TASKS'
290 ) RETURN VARCHAR2;
291
292 Function is_cycle_ok_to_delete(p_progress_cycle_id IN NUMBER) return VARCHAR2;
293
294 function get_max_ppc_id(p_project_id IN NUMBER,
295 p_object_id IN NUMBER,
296 p_object_type IN VARCHAR2,
297 p_as_of_date IN DATE) return number;
298
299 function get_max_rollup_asofdate(p_project_id IN NUMBER,
300 p_object_id IN NUMBER,
301 p_object_type IN VARCHAR2,
302 p_as_of_date IN DATE,
303 p_object_version_id IN NUMBER,
304 p_structure_type IN VARCHAR2 := 'WORKPLAN', -- FPM Dev CR 3
305 p_structure_version_id NUMBER := NULL -- FPM Dev CR 4
306 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
307 ) return date;
308
309 function get_project_wq_flag(p_project_id IN NUMBER) return varchar2;
310
311 PROCEDURE copy_attachments (
312 p_project_id IN NUMBER,
313 p_object_id IN NUMBER,
314 p_object_type IN VARCHAR2,
315 p_from_pc_id IN NUMBER,
316 p_to_pc_id IN NUMBER,
317 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
318 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
319 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
320 );
321
322 function is_task_manager (p_task_id IN NUMBER,
323 p_project_id IN NUMBER,
324 p_user_id IN NUMBER) return varchar2;
325
326 --Bug 3010538 : New API for the Task Weighting Enhancement.
327 FUNCTION GET_TASK_WEIGHTING_BASIS(
328 p_project_id IN pa_projects_all.project_id%TYPE
329 , p_structure_type IN VARCHAR2 := 'WORKPLAN' -- FPM Dev CR 3
330 )
331 return VARCHAR2;
332
333 -- Progress Management Changes. Bug # 3420093.
334
335 FUNCTION is_object_progressable(p_project_id IN NUMBER
336 ,p_proj_element_id IN NUMBER
337 ,p_object_id IN NUMBER
338 ,p_object_type IN VARCHAR2) return VARCHAR2;
339
340 FUNCTION check_wp_working_prog_exists(p_project_id IN NUMBER
341 ,p_structure_version_id IN NUMBER
342 ) return VARCHAR2;
343
344 FUNCTION is_pc_override_allowed(p_project_id IN NUMBER
345 ,p_structure_type IN VARCHAR2 := 'WORKPLAN'
346 ) return VARCHAR2;
347
348
349 FUNCTION calculate_percentage( p_actual_value NUMBER
350 ,p_planned_value NUMBER ) return NUMBER;
351
352
353 FUNCTION GET_EARLIEST_AS_OF_DATE(
354 p_project_id NUMBER
355 ,p_object_id NUMBER
356 ,p_object_type VARCHAR2
357 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
358 ,p_task_id NUMBER := null /* Modified for IB4 Progress CR. */
359 ) RETURN DATE;
360
361 FUNCTION check_assignment_exists(
362 p_project_id NUMBER
363 ,p_object_version_id NUMBER
364 ,p_object_type VARCHAR2
365 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
366 ) RETURN VARCHAR2;
367
368 FUNCTION get_last_effort(
369 p_project_id NUMBER
370 ,p_object_id NUMBER
371 ,p_object_type VARCHAR2
372 ,p_as_of_date DATE
373 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
374 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
375 ) RETURN NUMBER;
376
377 FUNCTION get_last_cost(
378 p_project_id NUMBER
379 ,p_object_id NUMBER
380 ,p_object_type VARCHAR2
381 ,p_as_of_date DATE
382 ,p_structure_type VARCHAR2 := 'WORKPLAN' -- FPM Development Bug 3420093
383 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
384 ) RETURN NUMBER;
385
386
387 PROCEDURE convert_currency_amounts(
388 p_api_version IN NUMBER :=1.0
389 ,p_init_msg_list IN VARCHAR2 :=FND_API.G_TRUE
390 ,p_commit IN VARCHAR2 :=FND_API.G_FALSE
391 ,p_validate_only IN VARCHAR2 :=FND_API.G_TRUE
392 ,p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
393 ,p_calling_module IN VARCHAR2 :='SELF_SERVICE'
394 ,p_debug_mode IN VARCHAR2 :='N'
395 ,p_max_msg_count IN NUMBER :=PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
396 ,p_project_id IN NUMBER
397 ,p_task_id IN NUMBER /* to pass to conversion api */
398 ,p_as_of_date IN DATE /* to pass to conversion api */
402 ,p_calling_mode IN VARCHAR2 := 'ACTUAL_RATES' -- Bug 4372462
399 ,P_txn_cost IN NUMBER
400 ,P_txn_curr_code IN VARCHAR2
401 ,p_structure_version_id IN NUMBER -- Bug 3627787
403 ,p_budget_version_id IN NUMBER := null -- Bug 4372462
404 ,p_res_assignment_id IN NUMBER := null -- Bug 4372462
405 ,p_init_inout_vars IN VARCHAR2 := 'Y' -- Bug 4372462
406 ,P_project_curr_code IN OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
407 ,P_project_rate_type IN OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
408 ,P_project_rate_date IN OUT NOCOPY DATE --File.Sql.39 bug 4440895
409 ,P_project_exch_rate IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
410 ,P_project_raw_cost IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
411 ,P_projfunc_curr_code IN OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
412 ,P_projfunc_cost_rate_type IN OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
413 ,P_projfunc_cost_rate_date IN OUT NOCOPY DATE --File.Sql.39 bug 4440895
414 ,P_projfunc_cost_exch_rate IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
415 ,P_projfunc_raw_cost IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
416 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
417 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
418 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
419 );
420
421 FUNCTION get_time_phase_period(p_structure_version_id IN NUMBER
422 ,p_project_id IN NUMBER := NULL) return VARCHAR2;
423
424 FUNCTION get_incremental_actual_cost(p_as_of_date IN DATE
425 ,p_period_name IN VARCHAR2
426 ,pgn_flag IN VARCHAR2
427 ,p_project_id IN NUMBER
428 ,p_object_id IN NUMBER
429 ,p_object_version_id IN NUMBER
430 ,currency_flag IN VARCHAR2 := 'T'
431 ,p_structure_version_id IN NUMBER := null --3694031
432 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
433 ) return NUMBER;
434
435 FUNCTION get_incremental_actual_rawcost(p_as_of_date IN DATE
436 ,p_period_name IN VARCHAR2
437 ,pgn_flag IN VARCHAR2
438 ,p_project_id IN NUMBER
439 ,p_object_id IN NUMBER
440 ,p_object_version_id IN NUMBER
441 ,currency_flag IN VARCHAR2 := 'T'
442 ,p_structure_version_id IN NUMBER := null --3694031
443 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
444 ) return NUMBER;
445
446 FUNCTION get_incremental_actual_effort(p_as_of_date IN DATE
447 ,p_period_name IN VARCHAR2
448 ,pgn_flag IN VARCHAR2
449 ,p_project_id IN NUMBER
450 ,p_object_id IN NUMBER
451 ,p_object_version_id IN NUMBER
452 ,p_structure_version_id IN NUMBER := null --3694031
453 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
454 ) return NUMBER;
455
456
457 FUNCTION get_act_txn_cost_this_period (p_as_of_date IN DATE
458 ,p_project_id IN NUMBER
459 ,p_object_id IN NUMBER
460 ,p_object_version_id IN NUMBER
461 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
462 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
463 ) return NUMBER;
464
465 FUNCTION get_act_pfn_cost_this_period (p_as_of_date IN DATE
466 ,p_project_id IN NUMBER
467 ,p_object_id IN NUMBER
468 ,p_object_version_id IN NUMBER
469 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */) return NUMBER;
470
471 FUNCTION get_act_cost_this_period (p_as_of_date IN DATE
472 ,p_project_id IN NUMBER
473 ,p_object_id IN NUMBER
474 ,p_object_version_id IN NUMBER
475 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
476 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
477 ) return NUMBER;
478
479
480 FUNCTION get_act_effort_this_period (p_as_of_date IN DATE
481 ,p_project_id IN NUMBER
482 ,p_object_id IN NUMBER
483 ,p_object_version_id IN NUMBER
484 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */) return NUMBER;
485
486
490 ) RETURN VARCHAR2;
487 FUNCTION check_wwp_prog_publishing_ok(
488 p_project_id IN NUMBER
489 ,p_structure_version_id IN NUMBER
491
492 FUNCTION Get_BAC_Value(
493 p_project_id IN NUMBER
494 ,p_task_weight_method IN VARCHAR2
495 ,p_proj_element_id IN NUMBER
496 ,p_structure_version_id IN NUMBER
497 ,p_structure_type IN VARCHAR2
498 ,p_working_wp_prog_flag IN VARCHAR2 default 'N' --maansari7/18. To get the planned in case of apply lp flow
499 ,p_program_flag IN VARCHAR2 default 'Y' -- Bug 4493105
500 ) RETURN NUMBER;
501
502 FUNCTION Get_LATEST_PROGRESS_ENTRY_DATE(
503 p_project_id NUMBER
504 ,p_object_id NUMBER
505 ,p_object_type VARCHAR2 := 'PA_TASKS'
506 ,p_structure_type VARCHAR2 := 'WORKPLAN'
507 ,p_task_id NUMBER := null /* Amit : Modified for IB4 Progress CR. */
508 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
509 ) RETURN DATE ;
510
511 FUNCTION Get_EARLY_PROGRESS_ENTRY_DATE(
512 p_project_id NUMBER
513 ,p_object_id NUMBER
514 ,p_object_type VARCHAR2 := 'PA_TASKS'
515 ,p_structure_type VARCHAR2 := 'WORKPLAN'
516 ,p_task_id NUMBER := null /* Modified for IB4 Progress CR. */
517 ) RETURN DATE ;
518
519 FUNCTION latest_published_progress_date(p_project_id IN NUMBER
520 ,p_structure_type IN VARCHAR2 ) RETURN DATE;
521
522 FUNCTION check_object_has_prog(
523 p_project_id IN NUMBER -- FPM Dev CR 7 : Removed defaulting
524 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
525 ,p_object_id IN NUMBER -- FPM Dev CR 7 : Removed defaulting
526 ,p_object_type IN VARCHAR2:='PA_TASKS'
527 ,p_structure_type IN VARCHAR2:='WORKPLAN'
528 ,p_progress_status IN VARCHAR2:='ANY'
529 ) RETURN VARCHAR2;
530
531 --- Following APIs added by Bhumesh
532
533 Function Prog_Get_Pa_Period_Name (p_Date IN Date
534 , p_org_id IN NUMBER :=null -- 4746476
535 ) RETURN VARCHAR2 ;
536
537 Function Prog_Get_GL_Period_Name (P_Date IN Date
538 , p_org_id IN NUMBER :=null -- 4746476
539 ) RETURN VARCHAR2 ;
540
541 -- History
542 -- 02-aug-04
543 -- Added two params p_structure_version_id and p_structure_status to return base percent complete
544 -- from a working version also.
545 -- This change is done for B and F.
546
547 Procedure REDEFAULT_BASE_PC (
548 p_Project_ID IN NUMBER
549 ,p_Proj_element_id IN NUMBER
550 ,p_Structure_type IN VARCHAR2 DEFAULT 'WORKPLAN'
551 ,p_object_type IN VARCHAR2 DEFAULT 'PA_TASKS'
552 ,p_As_Of_Date IN DATE
553 ,p_structure_version_id IN NUMBER DEFAULT null
554 ,p_structure_status IN VARCHAR2 DEFAULT null
555 ,p_calling_context IN VARCHAR2 DEFAULT 'PROGRESS'
556 ,X_base_percent_complete OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
557 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
558 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
559 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
560 );
561
562 Procedure RECALCULATE_PROG_STATS (
563 p_project_id IN NUMBER
564 ,p_proj_element_id IN NUMBER
565 ,p_task_version_id IN NUMBER
566 ,p_structure_type IN VARCHAR2 DEFAULT 'WORKPLAN'
567 ,p_As_Of_Date IN DATE
568 ,P_Overide_Percent_Complete IN NUMBER
569 ,p_Actual_Effort IN NUMBER
570 ,p_Actual_Cost IN NUMBER
571 ,p_Planned_Effort IN NUMBER
572 ,p_Planned_Cost IN NUMBER
573 ,p_baselined_Effort IN NUMBER
574 ,p_baselined_Cost IN NUMBER
575 ,x_BCWS OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
576 ,X_BCWP OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
577 ,X_SCH_Performance_Index OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
578 ,X_COST_Performance_Index OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
579 ,x_Sch_At_Completion OUT NOCOPY DATE --File.Sql.39 bug 4440895
580 ,x_Complete_Performance_Index OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
581 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
582 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
583 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
584 );
585
586 Procedure DEF_DATES_FROM_RESOURCES (
587 p_project_id IN NUMBER
588 ,p_proj_element_id IN NUMBER
589 ,p_structure_type IN VARCHAR2 DEFAULT 'WORKPLAN'
590 ,p_As_Of_Date IN DATE
591 ,x_Actual_Start_Date OUT NOCOPY DATE --File.Sql.39 bug 4440895
592 ,x_Actual_Finish_Date OUT NOCOPY DATE --File.Sql.39 bug 4440895
593 ,x_Estimated_Start_Date OUT NOCOPY DATE --File.Sql.39 bug 4440895
594 ,x_Estimated_Finish_Date OUT NOCOPY DATE --File.Sql.39 bug 4440895
595 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
596 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
597 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
598 );
599
600 FUNCTION check_actuals_allowed (p_project_id IN NUMBER
601 ,p_structure_type IN VARCHAR2 := 'WORKPLAN') RETURN VARCHAR2;
602
603 -- Progress Management Changes Bug # 3420093.
604
605 FUNCTION get_bcws (p_project_id IN NUMBER
606 ,p_object_id IN NUMBER
607 ,p_proj_element_id IN NUMBER
611 ,p_scheduled_start_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
608 ,p_as_of_date IN DATE
609 ,p_structure_version_id IN NUMBER := PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM
610 ,p_rollup_method IN VARCHAR2 := PA_INTERFACE_UTILS_PUB.G_PA_MISS_CHAR
612 ,p_scheduled_end_date IN DATE := PA_INTERFACE_UTILS_PUB.G_PA_MISS_DATE
613 ,p_prj_currency_code IN VARCHAR2 := null --bug 3824042
614 ,p_structure_type IN VARCHAR2 := 'WORKPLAN' --maansari4/10
615 ) RETURN NUMBER;
616
617 FUNCTION get_latest_ass_prog_date(p_project_id IN NUMBER
618 ,p_structure_type IN VARCHAR2
619 ,p_object_id IN NUMBER
620 ,p_object_type IN VARCHAR2
621 ,p_task_id IN NUMBER := null /* Modified for IB4 Progress CR. */) RETURN DATE;
622
623 --- End of addding new APIs
624
625 FUNCTION get_resource_list_id ( p_resource_list_member_id NUMBER) RETURN NUMBER;
626
627
628 function get_max_rollup_asofdate2(p_project_id IN NUMBER,
629 p_object_id IN NUMBER,
630 p_object_type IN VARCHAR2,
631 p_structure_type IN VARCHAR2 := 'WORKPLAN', -- FPM Dev CR 3
632 p_structure_version_id IN NUMBER := NULL -- FPM Dev CR 4
633 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
634 ) return date;
635
636 procedure set_prog_as_of_Date(p_project_id IN NUMBER,
637 p_task_id IN NUMBER,
638 p_as_of_date IN DATE default to_date(null),
639 p_object_id IN NUMBER := null, -- Bug 3974627
640 p_object_type IN VARCHAR2 := 'PA_TASKS' -- Bug 3974627
641 );
642
643 function get_prog_asofdate return date;
644 PRAGMA RESTRICT_REFERENCES(get_prog_asofdate, WNDS, WNPS);
645
646 --The following api is used to render cost region on Task progress Details -summary page
647
648 --bug 4085786, changed the signature
649 --function check_workplan_cost ( p_project_id NUMBER) RETURN VARCHAR2;
650 function check_workplan_cost ( p_project_id IN NUMBER,
651 p_task_id IN NUMBER := NULL,
652 p_object_id IN NUMBER := NULL,
653 p_object_type IN VARCHAR2 := 'PA_TASKS',
654 p_structure_version_id IN NUMBER := NULL
655 ) RETURN VARCHAR2;
656
657 -- Progress Management Changes. Bug # 3420093.
658
659 procedure get_actuals_for_task(p_project_id IN NUMBER
660 ,p_wp_task_id IN NUMBER
661 ,p_res_list_mem_id IN NUMBER
662 ,p_as_of_date IN DATE
663 ,x_planned_work_qty OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
664 ,x_actual_work_qty OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
665 ,x_ppl_act_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
666 ,x_eqpmt_act_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
667 ,x_oth_act_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
668 ,x_ppl_act_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
669 ,x_eqpmt_act_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
670 ,x_oth_act_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
671 ,x_act_labor_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
672 ,x_act_eqpmt_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
673 ,x_unit_of_measure OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
674 ,x_txn_currency_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
675 ,x_ppl_act_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
676 ,x_eqpmt_act_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
677 ,x_oth_act_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
678 ,x_ppl_act_rawcost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
679 ,x_eqpmt_act_rawcost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
680 ,x_oth_act_rawcost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
681 ,x_ppl_act_rawcost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
682 ,x_eqpmt_act_rawcost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
683 ,x_oth_act_rawcost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
684 ,x_ppl_act_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
685 ,x_eqpmt_act_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
686 ,x_oth_act_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
687 ,x_oth_quantity OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
688 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
689 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
690 ,x_msg_data OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
691
692 -- Progress Management Changes. Bug # 3420093.
693
697 p_project_id NUMBER
694 FUNCTION wp_task_ver_id_for_fin_task_id(p_project_id NUMBER, p_fin_task_id NUMBER) return NUMBER;
695 /* Bug 3595585 : Added the following procedure */
696 FUNCTION get_last_etc_effort(
698 ,p_object_id NUMBER
699 ,p_object_type VARCHAR2
700 ,p_as_of_date DATE
701 ,p_structure_type VARCHAR2 := 'WORKPLAN'
702 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
703 ) RETURN NUMBER;
704
705 /* Bug 3595585 : Added the following procedure */
706 FUNCTION get_last_etc_cost(
707 p_project_id NUMBER
708 ,p_object_id NUMBER
709 ,p_object_type VARCHAR2
710 ,p_as_of_date DATE
711 ,p_structure_type VARCHAR2 := 'WORKPLAN'
712 ,p_proj_element_id NUMBER := null /* Modified for IB4 Progress CR. */
713 ) RETURN NUMBER;
714
715 /* Bug 3595585 : Added the following procedure */
716 -- Bug 3621404 : Added burden parameters
717 PROCEDURE get_last_etc_all(p_project_id IN NUMBER
718 ,p_object_id IN NUMBER
719 ,p_object_type IN VARCHAR2
720 ,p_as_of_date IN DATE
721 ,p_structure_type IN VARCHAR2 := 'WORKPLAN'
722 ,x_etc_txn_raw_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
723 ,x_etc_prj_raw_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
724 ,x_etc_pfc_raw_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
725 ,x_etc_txn_bur_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
726 ,x_etc_prj_bur_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
727 ,x_etc_pfc_bur_cost_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
728 ,x_etc_effort_last_subm OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
729 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
730 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
731 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
732 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
733 ,p_resource_class_code IN VARCHAR2 := 'PEOPLE' -- Bug 3836485
734 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
735 );
736
737 function sum_etc_values(
738 p_planned_value NUMBER := null
739 ,p_ppl_etc_value NUMBER := null
740 ,p_eqpmt_etc_value NUMBER := null
741 ,p_oth_etc_value NUMBER := null
742 ,p_subprj_ppl_etc_value NUMBER := null
743 ,p_subprj_eqpmt_etc_value NUMBER := null
744 ,p_subprj_oth_etc_value NUMBER := null
745 ,p_oth_etc_quantity NUMBER := null
746 ,p_actual_value NUMBER := null
747 ,p_mode VARCHAR2 := 'PUBLISH'
748 )return number;
749
750
751 -- Progress Management Changes. Bug # 3621404.
752
753 FUNCTION get_act_rawcost_this_period (p_as_of_date IN DATE
754 ,p_project_id IN NUMBER
755 ,p_object_id IN NUMBER
756 ,p_object_version_id IN NUMBER
757 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */) return NUMBER;
758
759
760 -- Progress Management Changes. Bug # 3621404.
761
762 FUNCTION get_act_txn_rawcost_thisperiod (p_as_of_date IN DATE
763 ,p_project_id IN NUMBER
764 ,p_object_id IN NUMBER
765 ,p_object_version_id IN NUMBER
766 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
767 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
768 ) return NUMBER;
769
770
771 -- Progress Management Changes. Bug # 3621404.
772
773 FUNCTION get_act_pfn_rawcost_thisperiod (p_as_of_date IN DATE
774 ,p_project_id IN NUMBER
775 ,p_object_id IN NUMBER
776 ,p_object_version_id IN NUMBER
777 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */) return NUMBER;
778
779
780 -- Bug 3621404 : Added Get_Res_Rate_Burden_Multiplier
781 Procedure Get_Res_Rate_Burden_Multiplier(P_res_list_mem_id IN NUMBER
782 ,P_project_id IN NUMBER
783 ,P_task_id IN NUMBER := null --bug 3860575
784 ,p_as_of_date IN DATE := null --bug 3901289
785 --maansari6/14 bug 3686920
786 ,p_structure_version_id IN NUMBER default null
787 ,p_currency_code IN VARCHAR2 default null
788 --maansari6/14 bug 3686920
789 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
790 ,p_calling_mode IN VARCHAR2 := 'ACTUAL_RATES' -- Bug 3627315
791 -- ,P_dummy_override_raw_cost IN NUMBER Bug 3632946
792 -- ,P_override_txn_currency_code IN VARCHAR2 Bug 3632946
793 ,x_resource_curr_code OUT NOCOPY VARCHAR2
797 ,X_burden_multiplier OUT NOCOPY NUMBER
794 ,x_resource_raw_rate OUT NOCOPY NUMBER
795 ,x_resource_burden_rate OUT NOCOPY NUMBER
796 -- ,X_dummy_burden_cost OUT NOCOPY NUMBER Bug 3632946
798 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
799 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
800 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
801 );
802
803 -- Bug 3621404 : Raw Cost Changes, Added this procedure
804 PROCEDURE get_all_amounts_cumulative
805 (p_project_id IN NUMBER
806 ,p_object_id IN NUMBER
807 ,p_object_type IN VARCHAR2
808 ,p_structure_version_id IN NUMBER := NULL -- Do not pass if published structure version
809 ,p_as_of_date IN DATE := NULL -- Must pass if published structure version
810 ,x_act_bur_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
811 ,x_act_bur_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
812 ,x_act_bur_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
813 ,x_act_raw_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
814 ,x_act_raw_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
815 ,x_act_raw_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
816 ,x_etc_bur_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
817 ,x_etc_bur_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
818 ,x_etc_bur_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
819 ,x_etc_raw_cost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
820 ,x_etc_raw_cost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
821 ,x_etc_raw_cost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
822 ,x_act_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
823 ,x_etc_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
824 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
825 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
826 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
827 ,p_proj_element_id IN NUMBER := null /* Modified for IB4 Progress CR. */
828 );
829
830 -- Progress Management Changes. Bug # 3621404.
831
832 function derive_etc_values(
833 p_planned_value NUMBER := null
834 ,p_ppl_act_value NUMBER := null
835 ,p_eqpmt_act_value NUMBER := null
836 ,p_oth_act_value NUMBER := null
837 ,p_subprj_ppl_act_value NUMBER := null
838 ,p_subprj_eqpmt_act_value NUMBER := null
839 ,p_subprj_oth_act_value NUMBER := null
840 ,p_oth_quantity_to_date NUMBER := null
841 )return number;
842
843 -- Bug 3633293 : Added check_deliverable_exists
844 FUNCTION check_deliverable_exists(
845 p_project_id NUMBER
846 ,p_object_id NUMBER
847 ) RETURN VARCHAR2 ;
848
849 -- Bug 3651781 : Added published_dlv_prog_exists
850 function published_dlv_prog_exists
851 (
852 p_project_id PA_PROJECTS_ALL.PROJECT_ID%TYPE
853 ,p_dlv_proj_elt_id PA_PROJ_ELEMENTS.PROJ_ELEMENT_ID%TYPE
854 ) RETURN VARCHAR2 ;
855
856
857 --Added for performance improvements.
858 g_structure_version_id NUMBER;
859 procedure set_global_str_ver_id(p_structure_version_id NUMBER);
860 function get_global_str_ver_id RETURN NUMBER;
861
862 g_time_phase_period_name VARCHAR2(150);
863 procedure set_global_time_phase_period(p_period_name VARCHAR2);
864 function get_global_time_phase_period RETURN VARCHAR2;
865
866 -- Added following two functions for bug 3709439
867 FUNCTION Percent_Spent_Value
868 (
869 p_actual_value NUMBER
870 ,p_planned_value NUMBER
871 ) RETURN NUMBER ;
872
873 FUNCTION Percent_Complete_Value
874 (
875 p_actual_value NUMBER
876 ,p_etc_value NUMBER
877 ) RETURN NUMBER ;
878
879 -- Bug 3784324 : Added procedure convert_effort_to_cost
880 PROCEDURE convert_effort_to_cost
881 ( p_resource_list_mem_id IN NUMBER
882 ,p_project_id IN NUMBER
883 ,p_structure_version_id IN NUMBER
884 ,p_txn_currency_code IN VARCHAR
885 ,p_planned_effort IN NUMBER
886 ,p_planned_rawcost_tc IN NUMBER
887 ,p_act_effort_this_period IN NUMBER
888 ,p_act_effort IN NUMBER
889 ,p_etc_effort IN NUMBER
890 ,p_rate_based_flag IN VARCHAR := 'Y'
891 ,p_act_rawcost_tc IN NUMBER
892 ,x_act_rawcost_tc_this_period IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
893 ,x_etc_rawcost_tc IN OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
894 ,x_prcnt_comp_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
895 ,x_prcnt_spent_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
896 ,x_eac_effort OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
897 ,x_prcnt_comp_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
898 ,x_prcnt_spent_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
899 ,x_eac_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
900 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
901 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
902 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
903 );
904 --BUG 3815202, rtarway
905 FUNCTION get_last_published_perc_comp(
906 p_project_id NUMBER
910 ) RETURN NUMBER ;
907 ,p_object_id NUMBER
908 ,p_as_of_date Date
909 ,p_object_type VARCHAR2
911
912 /* Bug # 3861344: Created API: return_start_end_date(). */
913
914 Function return_start_end_date(
915 p_scheduled_date DATE := NULL
916 ,p_baselined_date DATE := NULL
917 ,p_project_id NUMBER
918 ,p_proj_element_id NUMBER
919 ,p_object_type VARCHAR2 := 'PA_TASKS'
920 ,p_start_end_flag VARCHAR2 := 'S'
921 ) return date;
922
923 -- Procedure to be called when applying latest progress to / publishing the working workplan version.
924 PROCEDURE check_txn_currency_diff
925 (
926 p_structure_version_id IN NUMBER,
927 p_context IN VARCHAR2 DEFAULT 'PUBLISH_STRUCTURE',
928 x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
929 );
930
931 -- Procedure to be called when updating task assignments for progress related business rules check.
932 PROCEDURE check_prog_for_update_asgmts
933 (
934 p_task_assignment_tbl IN PA_TASK_ASSIGNMENT_UTILS.l_resource_rec_tbl_type,
935 x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
936 );
937
938 -- Bug # 3910193: Created API: convert_effort_to_cost_brdn_pc().
939
940 PROCEDURE convert_effort_to_cost_brdn_pc
941 ( p_resource_list_mem_id IN NUMBER
942 ,p_project_id IN NUMBER
943 ,p_task_id IN NUMBER
944 ,p_as_of_date IN DATE
945 ,p_structure_version_id IN NUMBER
946 ,p_txn_currency_code IN VARCHAR
947 ,p_planned_quantity IN NUMBER
948 ,p_act_quantity_this_period IN NUMBER
949 ,p_act_quantity IN NUMBER
950 ,p_act_brdncost_pc IN NUMBER
951 ,p_etc_quantity IN NUMBER
952 ,p_rate_based_flag IN VARCHAR := 'Y'
953 ,x_act_brdncost_pc_this_period OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
954 ,x_etc_brdncost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
955 ,x_prcnt_comp_quantity OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
956 ,x_prcnt_spent_quantity OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
957 ,x_eac_quantity OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
958 ,x_prcnt_comp_brdncost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
959 ,x_prcnt_spent_brdncost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
960 ,x_eac_brdncost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
961 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
962 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
963 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
964 );
965
966 function get_actual_summ_date(p_project_id IN NUMBER) return date;
967
968 /* Bug # 3956235: Created API: get_cost_variance(). */
969
970 Function get_cost_variance(
971 p_project_id NUMBER
972 , p_proj_element_id NUMBER
973 , p_structure_version_id NUMBER
974 , p_task_weight_method VARCHAR2
975 , p_structure_type VARCHAR2 := 'WORKPLAN'
976 , p_base_percent_complete NUMBER
977 , p_eff_rollup_percent_comp NUMBER
978 , p_earned_value NUMBER
979 , p_oth_act_cost_to_date_pc NUMBER
980 , p_ppl_act_cost_to_date_pc NUMBER
981 , p_eqpmt_act_cost_to_date_pc NUMBER
982 , p_spj_oth_act_cost_to_date_pc NUMBER
983 , p_spj_ppl_act_cost_pc NUMBER
984 , p_spj_eqpmt_act_cost_pc NUMBER
985 ) return number;
986
987 -- Begin fix for Bug # 4073659.
988
989 FUNCTION check_prog_exists_and_delete(
990 p_project_id NUMBER
991 ,p_task_id NUMBER
992 ,p_object_type VARCHAR2 := 'PA_TASKS'
993 ,p_object_id NUMBER := null
994 ,p_structure_type VARCHAR2 := 'WORKPLAN'
995 ,p_delete_progress_flag VARCHAR2 := 'Y' -- Fix for Bug # 4140984.
996 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16598322
997 ) RETURN VARCHAR2;
998
999 -- End fix for Bug # 4073659.
1000
1001 /* Begin fix for bug # 4115607. */
1002
1003 FUNCTION get_app_cost_budget_cb_wor_ver(p_project_id NUMBER)
1004 return NUMBER;
1005
1006 /* End fix for bug # 4115607. */
1007 --Bug 5027965. introduced parameter p_etc_cost_calc_mode which can be either COPY or DERIVE.
1008 --If its COPY then
1009 ----the etc cost in the current working workplan version will returned. In this case
1010 ----the parameter p_budget_version_id will contain the budget version id corresponding to the
1011 ----current working workplan version
1012 --If its DERIVE then
1013 ----the etc cost will be derived based on the rate setup on p_as_of_date
1014 ----p_budget_version_id will contain the budget version id corresponding to the latest published
1015 ---- workplan version
1016 procedure get_plan_costs_for_qty
1017 ( p_etc_cost_calc_mode IN VARCHAR2 DEFAULT 'DERIVE' --Bug 5027965
1018 ,p_resource_list_mem_id IN NUMBER
1019 ,p_project_id IN NUMBER
1023 ,p_txn_currency_code IN VARCHAR
1020 ,p_task_id IN NUMBER
1021 ,p_as_of_date IN DATE
1022 ,p_structure_version_id IN NUMBER
1024 ,p_rate_based_flag IN VARCHAR := 'Y'
1025 ,p_quantity IN NUMBER
1026 ,p_budget_version_id IN NUMBER ---4372462
1027 ,p_res_assignment_id IN NUMBER
1028 ,x_rawcost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1029 ,x_brdncost_tc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1030 ,x_rawcost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1031 ,x_brdncost_pc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1032 ,x_rawcost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1033 ,x_brdncost_fc OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1034 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1035 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
1036 ,x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
1037 ,p_cbs_element_id IN NUMBER DEFAULT NULL
1038 );
1039
1040 /* Begin Fix for Bug # 4108270.*/
1041
1042 FUNCTION get_pc_from_sub_tasks_assgn
1043 (p_project_id NUMBER
1044 ,p_proj_element_id NUMBER
1045 ,p_structure_version_id NUMBER
1046 ,p_include_sub_tasks_flag VARCHAR2 := 'Y'
1047 ,p_structure_type VARCHAR2 := 'WORKPLAN'
1048 ,p_object_type VARCHAR2 := 'PA_TASKS'
1049 ,p_as_of_date DATE := null
1050 ,p_program_flag VARCHAR2 := 'Y' -- 4392189 : Program Reporting Changes - Phase 2
1051 )
1052 RETURN NUMBER;
1053
1054 /* End Fix for Bug # 4108270.*/
1055
1056 /* Begin fix for Bug # 4185974. */
1057
1058 FUNCTION get_act_for_prev_asofdate (p_as_of_date IN DATE
1059 ,p_project_id IN NUMBER
1060 ,p_object_id IN NUMBER
1061 ,p_object_version_id IN NUMBER
1062 ,p_proj_element_id IN NUMBER := null
1063 ,p_effort_cost_flag IN VARCHAR2 := 'C'
1064 ,p_cost_type_flag IN VARCHAR2 := 'B'
1065 ,p_currency_flag IN VARCHAR2 := 'T'
1066 ,p_cbs_element_id IN NUMBER := null) return NUMBER;
1067
1068 /* End fix for Bug # 4185974. */
1069
1070 -- Begin fix for Bug # 4319171.
1071
1072 function calc_act(p_ppl_cost_eff IN NUMBER := null
1073 , p_eqpmt_cost_eff IN NUMBER := null
1074 , p_oth_cost_eff IN NUMBER := null
1075 , p_subprj_ppl_cost_eff IN NUMBER := null
1076 , p_subprj_eqpmt_cost_eff IN NUMBER := null
1077 , p_subprj_oth_cost_eff IN NUMBER := null) return NUMBER;
1078
1079 function calc_etc(p_planned_cost_eff IN NUMBER := null
1080 , p_ppl_cost_eff IN NUMBER := null
1081 , p_eqpmt_cost_eff IN NUMBER := null
1082 , p_oth_cost_eff IN NUMBER := null
1083 , p_subprj_ppl_cost_eff IN NUMBER := null
1084 , p_subprj_eqpmt_cost_eff IN NUMBER := null
1085 , p_subprj_oth_cost_eff IN NUMBER := null
1086 , p_oth_quantity IN NUMBER := null
1087 , p_act_cost_eff IN NUMBER := null) return NUMBER;
1088
1089 function calc_wetc(p_planned_cost_eff IN NUMBER := null
1090 , p_ppl_cost_eff IN NUMBER := null
1091 , p_eqpmt_cost_eff IN NUMBER := null
1092 , p_oth_cost_eff IN NUMBER := null
1093 , p_subprj_ppl_cost_eff IN NUMBER := null
1094 , p_subprj_eqpmt_cost_eff IN NUMBER := null
1095 , p_subprj_oth_cost_eff IN NUMBER := null
1096 , p_oth_quantity IN NUMBER := null) return NUMBER;
1097
1098 function calc_plan(p_ppl_cost_eff IN NUMBER := null
1099 , p_eqpmt_cost_eff IN NUMBER := null
1100 , p_oth_cost_eff IN NUMBER := null) return NUMBER;
1101
1102 -- End fix for Bug # 4319171.
1103
1104 -- Bug 4490532 Begin
1105 g_self_project_id NUMBER;
1106 g_self_object_version_id NUMBER;
1107 g_self_as_of_date DATE;
1108 g_self_current_flag VARCHAR2(1);
1109 g_self_rec_version_number NUMBER;
1110 g_self_act_effort NUMBER;
1111 g_self_act_cost NUMBER;
1112 g_self_etc_effort NUMBER;
1113 g_self_etc_cost NUMBER;
1114
1115 function get_self_amounts(p_amount_type IN VARCHAR2
1116 , p_structure_sharing_code IN VARCHAR2
1117 , p_prg_group IN NUMBER
1118 , p_project_id IN NUMBER
1119 , p_object_version_id IN NUMBER
1120 , p_proj_element_id IN NUMBER
1121 , p_as_of_date IN DATE
1122 , p_current_flag IN VARCHAR2
1123 , p_record_version_number IN NUMBER
1124 ) return NUMBER;
1125 -- Bug 4490532 End
1126
1127 -- Bug 4871809, added this function for perf reasons, used in pa_progress_pvt.
1128 function get_w_pub_prupid_asofdate(p_project_id IN number,
1129 p_object_id IN number,
1130 p_object_type IN varchar2,
1131 p_task_id IN number,
1132 p_as_of_date IN date,
1133 p_chk_task IN varchar2 default 'Y',
1134 p_cbs_element_id in number :=null) return number;
1135
1136 function get_w_pub_currflag(p_project_id IN number,
1137 p_object_id IN number,
1138 p_object_type IN varchar2,
1139 p_task_id IN number,
1140 p_chk_task IN varchar2 default 'N') return varchar2;
1141
1142 function check_etc_overridden(p_plan_qty IN NUMBER,
1143 p_actual_qty IN NUMBER,
1144 p_etc_qty IN NUMBER) return varchar2;
1145
1146 function check_ta_has_prog(
1147 p_project_id IN NUMBER,
1148 p_proj_element_id IN NUMBER,
1149 p_element_ver_id IN NUMBER ) return varchar2;
1150
1151
1152 --Start changes for Bug 6664716
1153 procedure get_plan_value
1154 ( p_project_id IN NUMBER
1155 ,p_structure_version_id IN NUMBER
1156 ,p_element_id IN NUMBER
1157 ,p_as_of_date IN DATE
1158 );
1159
1160 procedure clear_tmp_tables (p_task_id IN Number Default Null);
1161 --End changes for Bug 6664716
1162
1163
1164 -- Bug 7259306
1165 FUNCTION get_def_as_of_date_prog_report(
1166 p_project_id pa_progress_rollup.project_id%TYPE,
1167 p_proj_element_id pa_progress_rollup.proj_element_id%TYPE,
1168 p_object_type pa_progress_rollup.object_type%TYPE := 'PA_TASKS'
1169 ) RETURN DATE;
1170
1171 -- Bug 7633088
1172 procedure set_override_as_of_date(p_as_of_date IN DATE DEFAULT to_date(NULL));
1173
1174 /** bpottipa added this method for bug 9877852.
1175 * This will be used in Team Member Home page > Update Progress >
1176 * Assignments tab view to get the actual effort this period
1177 * value. The logic in this method is similar to the one used in
1178 * pa_tasks_assigns_progress_v to derive actual effort to this period.
1179 */
1180 FUNCTION get_assgn_act_effort_period (p_as_of_date IN DATE
1181 ,p_project_id IN NUMBER
1182 ,p_object_id IN NUMBER
1183 ,p_object_version_id IN NUMBER
1184 ,p_proj_element_id IN NUMBER := null
1185 ,p_cbs_element_id NUMBER := null -- Added for CBS phase 2 16200605
1186 ) return NUMBER;
1187
1188 end PA_PROGRESS_UTILS;
1189