DBA Data[Home] [Help]

PACKAGE: APPS.PA_PROJ_ELEMENTS_UTILS

Source


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