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