1 PACKAGE PA_PROJ_ELEMENTS_UTILS AS
2 /* $Header: PATSK1US.pls 120.7 2007/02/06 10:08:17 dthakker ship $ */
3
4 --Global variable to store project id and structure version id
5 g_Struc_Ver_Id NUMBER := NULL;
6
7 --type sub_task is table of task_rec;
8
9 PROCEDURE SetGlobalStrucVerId (p_structure_version_id IN NUMBER);
10
11 FUNCTION GetGlobalStrucVerId RETURN NUMBER;
12
13 -- 5/13/05: DHI ER: Allowing multiple user to update task assignment
14 -- Added p_require_lock_flag parameter defauled to 'Y'.
15 -- 8/29/05: R12 Bug fix 4533152: Added p_add_error_flag paramter
16 -- defaulted to 'N'.
17 FUNCTION Check_Edit_Task_Ok(p_project_id IN NUMBER,
18 p_structure_version_id IN NUMBER,
19 p_curr_struct_version_id IN NUMBER,
20 p_element_id IN NUMBER := NULL,
21 p_require_lock_flag IN VARCHAR := 'Y',
22 p_add_error_flag IN VARCHAR := 'N')
23 RETURN VARCHAR2;
24
25 PROCEDURE Get_Structure_Attributes(
26 p_element_version_id NUMBER,
27 p_structure_type_code VARCHAR2 := 'WORKPLAN',
28 x_task_name OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
29 x_task_number OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
30 x_task_version_id OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
31 x_structure_version_name OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
32 x_structure_version_number OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
33 x_structure_name OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
34 x_structure_number OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
35 x_structure_id OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
36 x_structure_type_code_name OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
37 x_structure_version_id OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
38 x_project_id OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
39 );
40
41 FUNCTION latest_published_ver_id(
42 p_project_id NUMBER,
43 p_structure_type_code VARCHAR2 := 'WORKPLAN'
44 ) RETURN NUMBER;
45
46
47 -- POST K:Added for Shortcut to get the last updated Workplan version
48 -- API name : Get_Last_Upd_Working_Wp_Ver
49 -- Type : Utils API
50 -- Pre-reqs : None
51 -- Parameters
52 -- p_project_id IN REQUIRED NUMBER
53 -- x_element_version_id OUT NUMBER
54 -- x_element_version_name OUT VARCHAR2
55 -- x_record_version_number OUT NUMBER
56 -- x_return_status OUT VARCHAR2
57 -- x_msg_count OUT NUMBER
58 -- x_msg_data OUT VARCHAR2
59 -- History
60 --
61 -- 17-APRIL-03 MRAJPUT -Created
62 Procedure Get_Last_Upd_Working_Wp_Ver(
63 p_project_id IN pa_proj_elem_ver_structure.project_id%TYPE
64 ,x_pev_structure_id OUT NOCOPY pa_proj_elem_ver_structure.pev_structure_id%TYPE --File.Sql.39 bug 4440895
65 ,x_element_version_id OUT NOCOPY pa_proj_elem_ver_structure.element_version_id%TYPE --File.Sql.39 bug 4440895
66 ,x_element_version_name OUT NOCOPY pa_proj_elem_ver_structure.name%TYPE --File.Sql.39 bug 4440895
67 ,x_record_version_number OUT NOCOPY pa_proj_elem_ver_structure.record_version_number%TYPE --File.Sql.39 bug 4440895
68 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
69 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
70 ,x_msg_data OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
71
72
73 FUNCTION element_has_child(
74 p_structure_version_id NUMBER
75 ) RETURN VARCHAR2;
76
77 function IS_LOWEST_TASK(p_task_version_id NUMBER) RETURN VARCHAR2;
78
79 function Check_element_number_Unique
80 (
81 p_element_number IN VARCHAR2
82 ,p_element_id IN NUMBER
83 ,p_project_id IN NUMBER
84 ,p_structure_id IN NUMBER
85 ,p_object_type IN VARCHAR2 := 'PA_TASKS'
86 ) return VARCHAR2;
87
88 function Check_Struc_Published
89 (
90 p_project_id IN NUMBER
91 ,p_structure_id IN NUMBER
92 ) return VARCHAR2;
93
94 procedure Check_Delete_task_Ver_Ok
95 (
96 p_project_id IN NUMBER
97 ,p_task_version_id IN NUMBER
98 ,p_parent_structure_ver_id IN NUMBER
99 ,p_validation_mode IN VARCHAR2 DEFAULT 'U' --bug 2947492
100 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
101 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
102 );
103
104 function structure_type(
105 p_structure_version_id NUMBER,
106 p_task_version_id NUMBER,
107 p_structure_type VARCHAR2 ) RETURN VARCHAR2;
108
109 FUNCTION is_summary_task_or_structure( p_element_version_id NUMBER ) RETURN VARCHAR2;
110
111 procedure Check_Date_range
112 (
113 p_scheduled_start_date IN DATE :=null
114 ,p_scheduled_end_date IN DATE :=null
115 ,p_obligation_start_date IN DATE :=null
116 ,p_obligation_end_date IN DATE :=null
117 ,p_actual_start_date IN DATE :=null
118 ,p_actual_finish_date IN DATE :=null
119 ,p_estimate_start_date IN DATE :=null
120 ,p_estimate_finish_date IN DATE :=null
121 ,p_early_start_date IN DATE :=null
122 ,p_early_end_date IN DATE :=null
123 ,p_late_start_date IN DATE :=null
124 ,p_late_end_date IN DATE :=null
125 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
126 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
127 );
128
129 PROCEDURE Project_Name_Or_Id
130 (
131 p_project_name IN VARCHAR2
132 ,p_project_id IN NUMBER
133 ,p_check_id_flag IN VARCHAR2 := 'Y'
134 ,x_project_id OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
135 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
136 ,x_error_msg_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
137 );
138
139 PROCEDURE task_Ver_Name_Or_Id
140 (
141 p_task_name IN VARCHAR2
142 ,p_task_version_id IN NUMBER
143 ,p_structure_version_id IN NUMBER
144 ,p_check_id_flag IN VARCHAR2 := 'Y'
145 ,x_task_version_id OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
146 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
147 ,x_error_msg_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
148 );
149
150 PROCEDURE UPDATE_WBS_NUMBERS ( p_commit IN VARCHAR2
151 ,p_debug_mode IN VARCHAR2
152 ,p_parent_structure_ver_id IN NUMBER
153 ,p_task_id IN NUMBER
154 ,p_display_seq IN NUMBER
155 ,p_action IN VARCHAR2
156 ,p_parent_task_id IN NUMBER
157 ,x_return_status OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
158
159 FUNCTION task_exists_in_struc_ver(
160 p_structure_version_id NUMBER,
161 p_task_version_id NUMBER ) RETURN VARCHAR2;
162
163 FUNCTION GET_LINKED_TASK_VERSION_ID(
164 p_cur_element_id NUMBER ,
165 p_cur_element_version_id NUMBER
166 ) RETURN NUMBER;
167
168 FUNCTION LINK_FLAG( p_element_id NUMBER ) RETURN VARCHAR2;
169
170 -- API name : CHECK_TASK_IN_STRUCTURE
171 -- Type : Utils API
172 -- Pre-reqs : None
173 -- Return Value : Y if task is in structure; N for task in
174 -- different struture.
175 --
176 -- Parameters
177 -- p_structure_version_id IN NUMBER
178 -- p_task_version_id IN NUMBER
179 --
180 -- History
181 --
182 -- 09-JAN-02 HSIU -Created
183 --
184 FUNCTION CHECK_TASK_IN_STRUCTURE(p_structure_version_id NUMBER,
185 p_task_version_id NUMBER)
186 RETURN VARCHAR2;
187
188
189 FUNCTION GET_DISPLAY_PARENT_VERSION_ID(p_element_version_id NUMBER,
190 p_parent_element_version_id NUMBER,
191 p_relationship_type VARCHAR2,
192 p_link_task_flag VARCHAR2)
193 RETURN NUMBER;
194
195
196 FUNCTION IS_ACTIVE_TASK(p_element_version_id NUMBER,
197 p_object_type VARCHAR2)
198 RETURN VARCHAR2;
199
200 FUNCTION Get_DAYS_TO_START(p_element_version_id NUMBER,
201 p_object_type VARCHAR2)
202 RETURN NUMBER;
203
204 FUNCTION Get_DAYS_TO_FINISH(p_element_version_id NUMBER,
205 p_object_type VARCHAR2)
206 RETURN NUMBER;
207
208 FUNCTION GET_PREV_SCH_START_DATE(p_element_version_id NUMBER,
209 p_parent_structure_version_id NUMBER)
210 RETURN DATE;
211
212 FUNCTION GET_PREV_SCH_FINISH_DATE(p_element_version_id NUMBER,
213 p_parent_structure_version_id NUMBER)
214 RETURN DATE;
215
216 FUNCTION CHECK_IS_FINANCIAL_TASK(p_proj_element_id NUMBER)
217 RETURN VARCHAR2;
218
219 FUNCTION CONVERT_HR_TO_DAYS(p_hour NUMBER)
220 RETURN NUMBER;
221
222 FUNCTION GET_FND_LOOKUP_MEANING(p_lookup_type VARCHAR2,
223 p_lookup_code VARCHAR2)
224 RETURN VARCHAR2;
225
226 FUNCTION GET_PA_LOOKUP_MEANING(p_lookup_type VARCHAR2,
227 p_lookup_code VARCHAR2)
228 RETURN VARCHAR2;
229
230 -- API name : GET_DEFAULT_TASK_TYPE_ID
231 -- Type : Utils API
232 -- Pre-reqs : None
233 -- Return Value : Default task type_id
234 --
235 -- Parameters
236 --
237 -- History
238 --
239 -- 26-JUL-02 HSIU -Created
240 --
241 FUNCTION GET_DEFAULT_TASK_TYPE_ID
242 return NUMBER;
243
244
245 FUNCTION IS_TASK_TYPE_USED(p_task_type_id IN NUMBER)
246 return VARCHAR2;
247
248 -- API name : GET_LATEST_FIN_PUB_TASK_VER_ID
249 -- Type : Utils API
250 -- Pre-reqs : None
251 -- Return Value : Task version id of the latest financial
252 -- published task
253 --
254 -- Parameters
255 -- p_project_id IN NUMBER
256 -- p_task_id IN NUMBER
257 --
258 -- History
259 --
260 -- 26-JUL-02 HSIU -Created
261 --
262 FUNCTION GET_LATEST_FIN_PUB_TASK_VER_ID(
263 p_project_id IN NUMBER
264 ,p_task_id IN NUMBER
265 ) return NUMBER;
266
267 -- API name : CHECK_MODIFY_OK_FOR_STATUS
268 -- Type : Utils API
269 -- Pre-reqs : None
270 -- Return Value : Check if this task can be modified with its
271 -- current status. Y can be modified, N cannot.
272 --
273 -- Parameters
274 -- p_project_id IN NUMBER
275 -- p_task_id IN NUMBER
276 --
277 -- History
278 --
279 -- 26-JUL-02 HSIU -Created
280 --
281 FUNCTION CHECK_MODIFY_OK_FOR_STATUS(
282 p_project_id IN NUMBER
283 ,p_task_id IN NUMBER
284 ) return VARCHAR2;
285
286
287 -- API name : GET_DISPLAY_SEQUENCE
288 -- Type : FUNCTION
289 -- Pre-reqs : N/A
290 -- Return Value : The display sequence for a given task.
291 --
292 -- Parameters
293 -- p_task_id IN NUMBER
294 --
295 -- History
296 --
297 -- 16-OCT-02 XXLU -Created
298 --
299 FUNCTION GET_DISPLAY_SEQUENCE (
300 p_task_id IN NUMBER
301 ) RETURN NUMBER;
302
303
304 procedure Check_Del_all_task_Ver_Ok
305 (
306 p_project_id IN NUMBER
307 ,p_task_version_id IN NUMBER
308 ,p_parent_structure_ver_id IN NUMBER
309 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
310 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
311 );
312
313 procedure Check_create_subtask_ok
314 ( p_parent_task_ver_id IN NUMBER
315 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
316 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
317 );
318
319 FUNCTION Check_task_stus_action_allowed
320 (p_task_status_code IN VARCHAR2,
321 p_action_code IN VARCHAR2 ) return
322 VARCHAR2;
323
324
325 -- hyau new apis for lifecycle changes
326
327 -- API name : CHECK_ELEMENT_HAS_PHASE
328 -- Type : FUNCTION
329 -- Pre-reqs : N/A
330 -- Return Value : 'Y' if the element has a phase associated with it, else returns 'N'.
331 --
332 -- Parameters
333 -- p_proj_element_id IN NUMBER
334 --
335 -- History
336 --
337 -- 30-OCT-02 hyau -Created
338 --
339 FUNCTION CHECK_ELEMENT_HAS_PHASE (
340 p_proj_element_id IN NUMBER
341 ) RETURN VARCHAR2;
342
343 -- API name : IS_TOP_TASK_ACROSS_ALL_VER
344 -- Type : FUNCTION
345 -- Pre-reqs : N/A
346 -- Return Value : 'Y' if the task is a top task across all versions, else returns 'N'.
347 --
348 -- Parameters
349 -- p_proj_element_id IN NUMBER
350 --
351 -- History
352 --
353 -- 30-OCT-02 hyau -Created
354 --
355 FUNCTION IS_TOP_TASK_ACROSS_ALL_VER(
356 p_proj_element_id IN NUMBER
357 ) RETURN VARCHAR2;
358
359 -- API name : CHECK_PHASE_IN_USE
360 -- Type : FUNCTION
361 -- Pre-reqs : N/A
362 -- Return Value : 'Y' if the phase is already used by another task in the structure, else returns 'N'.
363 --
364 -- Parameters
365 -- p_task_id NUMBER
366 -- phase_version_id NUMBER
367 --
368 -- History
369 --
370 -- 30-OCT-02 hyau -Created
371 --
372 FUNCTION CHECK_PHASE_IN_USE(
373 p_task_id IN NUMBER
374 ,p_phase_version_id IN NUMBER
375 ) RETURN VARCHAR2;
376
377 -- end hyau new apis for lifecycle changes
378
382 x_error_message_code OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
379 PROCEDURE Check_Fin_Task_Published(p_project_id IN NUMBER,
380 p_task_id IN NUMBER,
381 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
383
384 PROCEDURE check_move_task_ok
385 (
386 p_task_ver_id IN NUMBER
387 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
388 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
389 );
390
391
392 PROCEDURE Check_chg_stat_cancel_ok
393 (
394 p_task_id IN NUMBER
395 ,p_task_version_id IN NUMBER
396 ,p_new_task_status IN VARCHAR2
397 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
398 ,x_error_message_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
399 );
400
401 FUNCTION get_element_name(p_proj_element_id IN NUMBER) RETURN VARCHAR2;
402 FUNCTION get_element_number(p_proj_element_id IN NUMBER) RETURN VARCHAR2;
403 FUNCTION get_element_name_number(p_proj_element_id IN NUMBER) RETURN VARCHAR2;
404
405 function check_child_element_exist(p_element_version_id NUMBER) RETURN VARCHAR2;
406
407 FUNCTION get_task_status_sys_code(p_task_status_code VARCHAR2) RETURN VARCHAR2;
408
409 FUNCTION get_next_prev_task_id(
410 p_project_id IN NUMBER
411 ,p_structure_version_id IN NUMBER
412 ,p_display_seq_id IN NUMBER
413 ,p_previous_or_next IN VARCHAR2) RETURN NUMBER;
414
415 -- Included the API for Post FP K one off. Bug 2931183
416 PROCEDURE GET_STRUCTURE_INFO
417 ( p_project_id IN pa_projects_all.project_id%TYPE
418 ,p_structure_type IN pa_structure_types.structure_type_class_code%TYPE
419 ,p_structure_id IN pa_proj_elements.proj_element_id%TYPE
420 ,p_is_wp_separate_from_fn IN VARCHAR2
421 ,p_is_wp_versioning_enabled IN VARCHAR2
422 ,x_structure_version_id OUT NOCOPY pa_proj_element_versions.element_version_id%TYPE --File.Sql.39 bug 4440895
423 -- The following parameter has been added after review obsoleting get_task_unpub_status_ver_code api.
424 ,x_task_unpub_ver_status_code OUT NOCOPY pa_proj_element_versions.task_unpub_ver_status_code%TYPE --File.Sql.39 bug 4440895
425 ,x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
426 ,x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
427 ,x_msg_data OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
428
429 -- Begin add rtarway FP.M development
430 -- API for checking if a financial task has transaction
431 -- For detailed comment check package body
432 PROCEDURE CHECK_TASK_HAS_TRANSACTION
433 (
434 p_api_version IN NUMBER := 1.0
435 , p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
436 , p_debug_mode IN VARCHAR2 := 'N'
437 , p_task_id IN NUMBER
438 , p_project_id IN NUMBER -- Added for Performance fix 4903460
439 , x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
440 , x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
441 , x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
442 , x_error_msg_code OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
443 , x_error_code OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
444
445 );
446 --End add rtarway FP.M development
447
448 function GET_TOP_TASK_ID(
449 p_element_version_id IN NUMBER) return NUMBER;
450
451 function GET_TOP_TASK_VER_ID(
452 p_element_version_id IN NUMBER) return NUMBER;
453
454 -- This API returns Task Level of WP Tasks
455 function GET_TASK_LEVEL(
456 p_element_version_id IN NUMBER) return VARCHAR2;
457
458 -- Added by avaithia : INCLUDED FOR BUG 4156732
459 -- This API returns task level of Financial Tasks
460 -- Please see package body for more details reg. this function
461 function GET_TASK_LEVEL(
462 p_project_id IN PA_PROJECTS_ALL.PROJECT_ID%TYPE,
463 p_proj_element_id IN PA_PROJ_ELEMENT_VERSIONS.PROJ_ELEMENT_ID%TYPE) return VARCHAR2;
464
465 --Added by sabansal
466 --Function to check whether the given task is a workplan task or not
467 function CHECK_IS_WORKPLAN_TASK(p_project_id NUMBER,
468 p_proj_element_id NUMBER) RETURN VARCHAR2;
469 --End added by sabansal
470
471 function GET_PARENT_TASK_ID(
472 p_element_version_id IN NUMBER) return NUMBER;
473
474 function GET_PARENT_TASK_VERSION_ID(
475 p_element_version_id IN NUMBER) return NUMBER;
476
477 function GET_TASK_VERSION_ID(
478 p_structure_version_id IN NUMBER
479 ,p_task_id IN NUMBER) return NUMBER;
480
481 function GET_RELATIONSHIP_ID(
482 p_object_id_from1 IN NUMBER
483 ,p_object_id_to1 IN NUMBER) return NUMBER;
484
485 FUNCTION check_task_parents_deliv(p_element_version_id IN number)
486 RETURN VARCHAR2;
487
488 FUNCTION check_deliv_in_hierarchy(p_element_version_id IN number,
489 p_target_element_version_id IN number)
490 RETURN VARCHAR2;
491
492 FUNCTION check_sharedstruct_deliv(p_element_version_id IN number)
493 RETURN VARCHAR2;
494
495 FUNCTION IS_WF_PROCESS_RUNNING(p_proj_element_id IN number)
496 RETURN VARCHAR2;
497
498 FUNCTION GET_ELEMENT_WF_ITEMKEY(p_proj_element_id IN number,
499 p_project_id IN number, p_wf_type_code IN VARCHAR2 := 'TASK_EXECUTION')
500 RETURN VARCHAR2;
501
502 FUNCTION GET_ELEMENT_WF_STATUS(p_proj_element_id IN number,
503 p_project_id IN number, p_wf_type_code IN VARCHAR2 := 'TASK_EXECUTION')
504 RETURN VARCHAR2;
505
506 --
507 -- FUNCTION check_fin_or_wp_structure
508 -- PURPOSE Checks whether the passed proj_element_id is a WP or FIN structure record
509 -- RETURN VALUE VARCHAR2 - 'Y' if the passed proj_element_id is of the type WORKPLAN OR FINANCIAL STRUCTURE
510 -- 'N' otherwise.
511 --
512 FUNCTION check_fin_or_wp_structure( p_proj_element_id IN NUMBER ) RETURN VARCHAR2;
513
514 FUNCTION CHECK_USER_VIEW_TASK_PRIVILEGE
515 (
516 p_project_id IN NUMBER
517 ) RETURN VARCHAR2;
518 --
519 --
520 FUNCTION check_deliv_in_hie_upd(p_task_version_id IN number)
521 RETURN NUMBER;
522 --
523 FUNCTION GET_SUB_TASK_VERSION_ID(p_task_version_id IN number)
524 RETURN NUMBER;
525 --
526 --
527 -- FUNCTION check_pa_lookup_exists
528 -- PURPOSE Checks whether the passed lookup_code and value are valid
529 -- RETURN VALUE VARCHAR2 - 'Y' if the valid
530 -- 'N' otherwise.
531 --
532 Function check_pa_lookup_exists(p_lookup_type VARCHAR2,
533 p_lookup_code VARCHAR2)
534 RETURN VARCHAR2;
535 --
536 --
537 --bug 4183307
538 function GET_TASK_ID(
539 p_project_id IN NUMBER
540 ,p_structure_version_id IN NUMBER
541 ,p_task_version_id IN NUMBER) return NUMBER;
542
543 -- Begin fix for Bug # 4237838.
544
545 function is_lowest_level_fin_task(p_project_id NUMBER
546 , p_task_version_id NUMBER
547 , p_include_sub_proj_flag VARCHAR2 := 'Y') -- Fix for Bug # 4290042.
548 return VARCHAR2;
549 -- End fix for Bug # 4237838.
550
551 -- Bug 4667361: Added this Function
552 FUNCTION WP_STR_EXISTS_FOR_UPG
553 (
554 p_project_id IN NUMBER
555 ) RETURN VARCHAR2;
556
557 -- Bug 4667361: Added this Function
558 FUNCTION CHECK_SHARING_ENABLED_FOR_UPG
559 (
560 p_project_id IN NUMBER
561 ) return VARCHAR2;
562
563
564 -- Procedure included for perf fix 4903460
565 ---------------------------------------------
566 -- Does the following validations :
567 ---------------------------------------------
568 -- Check if task has expenditure item
569 -- Check if task has purchase order distribution
570 -- Check if task has purchase order requisition
571 -- Check if task has supplier invoices
572 -- check if task has supplier invoice distribution
573 -- Check if task has commitment transaction
574 -- Check if task has compensation rule set
575 -- Check if task has draft invoices
576 -- Check if task has Project_customers
577
578 PROCEDURE perform_task_validations
579 (
580 p_project_id IN NUMBER,
581 p_task_id IN NUMBER,
582 x_error_code OUT NOCOPY NUMBER,
583 x_error_msg_code OUT NOCOPY VARCHAR2
584 );
585
586 -- This Function has been included for perf fix 4964992
587 ----------------------------------------------------------------------------------------------------------
588 -- This function returns the entire hierarchy for the
589 -- passed task_id.
590 -- Example: if the task hierarchy is like
591 -- 1
592 -- 1.1
593 -- 1.1.1
594
595 -- When we pass 1's task_id the entire strucutre above is retrieved.
596
597 FUNCTION get_task_hierarchy(
598 p_project_id IN NUMBER,
599 p_task_id IN NUMBER
600 )
601 RETURN sub_task;
602
603 --Function to check if the given task is the lowest task at the project level
604 --ie If there are linked tasks under the child task in a program then the subproject
605 -- will not be included in the check.
606 function IS_LOWEST_PROJ_TASK( p_task_version_id NUMBER,
607 p_project_id Number) RETURN VARCHAR2;
608
609
610 END PA_PROJ_ELEMENTS_UTILS;
611