DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PJI_MENU_UTIL

Source


1 package body PA_PJI_MENU_UTIL as
2 /* $Header: PAPJIMSB.pls 120.0 2005/05/30 09:06:04 appldev noship $ */
3 
4 
5 ----------------------------------------------------------------------------
6 --Procedure     ENABLE_CONCCURRENT_PROGRAMS
7 --
8 --Description   This API adds DBI concurrent programs to PA request groups
9 --              to enable PA customers to use Utilization using PJI data model
10 --              This is a PRIVATE procedure local to this package only
11 --Created by    virangan
12 --Creation Date 18-JUN-2003
13 ----------------------------------------------------------------------------
14 PROCEDURE enable_concurrent_programs IS
15     l_reqgrp_name VARCHAR2(30);
16 BEGIN
17 
18     ------------------------
19     --Identify Request group
20     ------------------------
21 	IF fnd_program.request_group_exists ( 'All Projects Programs', 'PA') THEN
22 	    l_reqgrp_name := 'All Projects Programs';
23 	ELSIF fnd_program.request_group_exists ( 'All PRM Programs', 'PA') THEN
24 	    l_reqgrp_name := 'All PRM Programs';
25         ELSE
26 	    return;
27 	END IF;
28 
29 	-------------------------------------------
30         --Check if program exists in request group
31          -------------------------------------------
32 	IF fnd_program.program_in_group('FII_TIME_C', 'FII', l_reqgrp_name, 'PA') THEN
33 	    --Exit if program is already in request group
34 		--ensures that we add program only once
35 	    return;
36 	ELSE
37 	    ---------------------------------------------------------
38 	    --Add programs to Request group All program required for
39 	    --PJI implementation of Util. consolidation are added
40             ---------------------------------------------------------
41 		fnd_program.add_to_group('FII_TIME_C', 'FII', l_reqgrp_name, 'PA');
42 		fnd_program.add_to_group('PERSLM', 'PER', l_reqgrp_name, 'PA');
43 		fnd_program.add_to_group('HRISUPCR', 'HRI', l_reqgrp_name, 'PA');
44 		fnd_program.add_to_group('HRIORGCR', 'HRI', l_reqgrp_name, 'PA');
45 		fnd_program.add_to_group('PJI_FM_SUMMARIZE_UPDATE', 'PJI', l_reqgrp_name, 'PA');
46 		fnd_program.add_to_group('PJI_RM_SUMMARIZE_UPDATE', 'PJI', l_reqgrp_name, 'PA');
47 		fnd_program.add_to_group('PJI_FM_SUMMARIZE_REFRESH', 'PJI', l_reqgrp_name, 'PA');
48 		fnd_program.add_to_group('PJI_RM_SUMMARIZE_REFRESH', 'PJI', l_reqgrp_name, 'PA');
49 		fnd_program.add_to_group('PJI_MV_REFRESH', 'PJI', l_reqgrp_name, 'PA');
50 		fnd_program.add_to_group('PJI_SUM_CLEANALL', 'PJI', l_reqgrp_name, 'PA');
51 		fnd_program.add_to_group('PJI_SECURITY_REPORT', 'PJI', l_reqgrp_name, 'PA');
52 		fnd_program.add_to_group('PJI_SETUP_REPORT', 'PJI', l_reqgrp_name, 'PA');
53 
54         COMMIT;
55 
56 	END IF;
57 
58 EXCEPTION
59     WHEN OTHERS THEN
60 	    null;
61 END enable_concurrent_programs;
62 
63 ------------------------------------------------------------------------------
64 --Procedure     ENABLE_MENUS
65 --
66 --Description   This API corrects the Utiization menus based on whether
67 --              PJI is installed or not (Utilization Consoilidation patch
68 --              is applied or not)
69 --              Note: PJI installed => Utilization Consolidation patch applied
70 --                    PJI licensed  => PJI is implemented
71 --Created by    virangan
72 --Creation Date 29-MAY-2003
73 -------------------------------------------------------------------------------
74 PROCEDURE ENABLE_MENUS
75   IS
76   BEGIN
77 
78       -----------------------------------------------------------------------
79       --This API enables the correct Utilization menus based on whether PJI
80       --is installed or not. The logic is to delete exclusion rules for PJI
81       --functions and add exclusion rules for PA functions if PJI is instaled
82       --i.e. Utilization Consolidation patch is applied. If not do the opposite
83       --i.e delete PA function exlusion rules and PJI function exclusion.
84       --The table below summarizes the complete list of functions
85       -----------------------------------------------------------------------
86       -- Responsibility	  PJI Functions	           PA Functions
87       -----------------------------------------------------------------------
88       -- PA_PRM_PROJ_SU   PA_ORG_UTIL_DIS          PA_ORG_UTILIZATION
89       --                  PA_RES_UTIL_DIS          PA_RES_MGR_UTILIZATION
90       --                  PA_MGR_UTIL_DIS          PA_PRM_MY_UTIL
91       --                  PJI_SETUP
92       --
93       -- PA_PRM_RES_MGR   PA_ORG_UTIL_DIS          PA_ORG_UTILIZATION
94       --                  PA_RES_UTIL_DIS          PA_RES_MGR_UTILIZATION
95       --                  PA_MGR_UTIL_DIS
96       --
97       -- PA_PRM_ORG_MGR   PA_ORG_UTIL_DIS          PA_ORG_UTILIZATION
98       --                  PA_RES_UTIL_DIS          PA_RES_MGR_UTILIZATION
99       --                  PA_MGR_UTIL_DIS          PA_PRM_MY_UTIL
100       --                                           PA_PRM_UTL_AUTH
101       --
102       -- PA_PRM_TEAM_MEM  PJI_PRM_MY_UTIL          PA_PRM_MY_UTIL
103       -----------------------------------------------------------------------
104 
105       IF PA_INSTALL.is_pji_installed = 'Y' THEN
106 
107           --Enable all PJI Utilization menu entries by deleting PJI function
108           --exclusion rules
109 
110           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
111                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
112                           RULE_TYPE          => 'F',
113                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
114 
115               FND_FUNCTION_SECURITY.SECURITY_RULE (
116                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
117                           RULE_TYPE          => 'F',
118                           RULE_NAME          => 'PA_ORG_UTIL_DIS',
119                           DELETE_FLAG        => 'Y');
120           END IF;
121 
122           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
123                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
124                           RULE_TYPE          => 'F',
125                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
126 
127               FND_FUNCTION_SECURITY.SECURITY_RULE (
128                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
129                           RULE_TYPE          => 'F',
130                           RULE_NAME          => 'PA_RES_UTIL_DIS',
131                           DELETE_FLAG        => 'Y');
132           END IF;
133 
134           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
135                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
136                           RULE_TYPE          => 'F',
137                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
138 
139 
140               FND_FUNCTION_SECURITY.SECURITY_RULE (
141                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
142                           RULE_TYPE          => 'F',
143                           RULE_NAME          => 'PA_MGR_UTIL_DIS',
144                           DELETE_FLAG        => 'Y');
145           END IF;
146 
147           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
148                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
149                           RULE_TYPE          => 'F',
150                           RULE_NAME          => 'PJI_SETUP') THEN
151 
152               FND_FUNCTION_SECURITY.SECURITY_RULE (
153                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
154                           RULE_TYPE          => 'F',
155                           RULE_NAME          => 'PJI_SETUP',
156                           DELETE_FLAG        => 'Y');
157           END IF;
158 
159           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
160                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
161                           RULE_TYPE          => 'F',
162                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
163 
164               FND_FUNCTION_SECURITY.SECURITY_RULE (
165                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
166                           RULE_TYPE          => 'F',
167                           RULE_NAME          => 'PA_ORG_UTIL_DIS',
168                           DELETE_FLAG        => 'Y');
169           END IF;
170 
171           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
172                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
173                           RULE_TYPE          => 'F',
174                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
175 
176               FND_FUNCTION_SECURITY.SECURITY_RULE (
177                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
178                           RULE_TYPE          => 'F',
179                           RULE_NAME          => 'PA_RES_UTIL_DIS',
180                           DELETE_FLAG        => 'Y');
181           END IF;
182 
183           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
184                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
185                           RULE_TYPE          => 'F',
186                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
187 
188               FND_FUNCTION_SECURITY.SECURITY_RULE (
189                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
190                           RULE_TYPE          => 'F',
191                           RULE_NAME          => 'PA_MGR_UTIL_DIS',
192                           DELETE_FLAG        => 'Y');
193           END IF;
194 
195           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
196                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
197                           RULE_TYPE          => 'F',
198                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
199 
200               FND_FUNCTION_SECURITY.SECURITY_RULE (
201                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
202                           RULE_TYPE          => 'F',
203                           RULE_NAME          => 'PA_ORG_UTIL_DIS',
204                           DELETE_FLAG        => 'Y');
205           END IF;
206 
207           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
208                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
209                           RULE_TYPE          => 'F',
210                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
211 
212               FND_FUNCTION_SECURITY.SECURITY_RULE (
213                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
214                           RULE_TYPE          => 'F',
215                           RULE_NAME          => 'PA_RES_UTIL_DIS',
216                           DELETE_FLAG        => 'Y');
217           END IF;
218 
219           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
220                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
221                           RULE_TYPE          => 'F',
222                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
223 
224               FND_FUNCTION_SECURITY.SECURITY_RULE (
225                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
226                           RULE_TYPE          => 'F',
227                           RULE_NAME          => 'PA_MGR_UTIL_DIS',
228                           DELETE_FLAG        => 'Y');
229           END IF;
230 
231         --Commented out for FP.L but is required for FP.K
232         /*  IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
233                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
234                           RULE_TYPE          => 'F',
235                           RULE_NAME          => 'PJI_PRM_MY_UTIL') THEN
236 
237               FND_FUNCTION_SECURITY.SECURITY_RULE (
238                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
239                           RULE_TYPE          => 'F',
240                           RULE_NAME          => 'PJI_PRM_MY_UTIL',
241                           DELETE_FLAG        => 'Y');
242           END IF;*/
243 
244           --Disable all PA Utilization menu entries by adding PA function
245           --exclusion rules
246 
247           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
248                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
249                           RULE_TYPE          => 'F',
250                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
251 
252               FND_FUNCTION_SECURITY.SECURITY_RULE (
253                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
254                           RULE_TYPE          => 'F',
255                           RULE_NAME          => 'PA_ORG_UTILIZATION');
256 
257           END IF;
258 
259           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
260                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
261                           RULE_TYPE          => 'F',
262                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
263 
264               FND_FUNCTION_SECURITY.SECURITY_RULE (
265                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
266                           RULE_TYPE          => 'F',
267                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION');
268           END IF;
269 
270           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
271                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
272                           RULE_TYPE          => 'F',
273                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
274 
275               FND_FUNCTION_SECURITY.SECURITY_RULE (
276                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
277                           RULE_TYPE          => 'F',
278                           RULE_NAME          => 'PA_PRM_MY_UTIL');
279           END IF;
280 
281           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
282                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
283                           RULE_TYPE          => 'F',
284                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
285 
286               FND_FUNCTION_SECURITY.SECURITY_RULE (
287                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
288                           RULE_TYPE          => 'F',
289                           RULE_NAME          => 'PA_ORG_UTILIZATION');
290           END IF;
291 
292           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
293                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
294                           RULE_TYPE          => 'F',
295                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
296 
297               FND_FUNCTION_SECURITY.SECURITY_RULE (
298                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
299                           RULE_TYPE          => 'F',
300                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION');
301           END IF;
302 
303           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
304                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
305                           RULE_TYPE          => 'F',
306                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
307 
308               FND_FUNCTION_SECURITY.SECURITY_RULE (
309                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
310                           RULE_TYPE          => 'F',
311                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION');
312           END IF;
313 
314           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
315                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
316                           RULE_TYPE          => 'F',
317                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
318 
319               FND_FUNCTION_SECURITY.SECURITY_RULE (
320                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
321                           RULE_TYPE          => 'F',
322                           RULE_NAME          => 'PA_ORG_UTILIZATION');
323           END IF;
324 
325           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
326                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
327                           RULE_TYPE          => 'F',
328                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
329 
330               FND_FUNCTION_SECURITY.SECURITY_RULE (
331                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
332                           RULE_TYPE          => 'F',
333                           RULE_NAME          => 'PA_PRM_MY_UTIL');
334           END IF;
335 
336           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
337                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
338                           RULE_TYPE          => 'M',
339                           RULE_NAME          => 'PA_PRM_UTL_AUTH') THEN
340 
341               FND_FUNCTION_SECURITY.SECURITY_RULE (
342                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
343                           RULE_TYPE          => 'M',
344                           RULE_NAME          => 'PA_PRM_UTL_AUTH');
345           END IF;
346 
347           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
348                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
349                           RULE_TYPE          => 'F',
350                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
351 
352               FND_FUNCTION_SECURITY.SECURITY_RULE (
353                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
354                           RULE_TYPE          => 'F',
355                           RULE_NAME          => 'PA_PRM_MY_UTIL');
356           END IF;
357 
358           -------------------------------------------------------------
359           --Enable All concurrent programs required for PJI Utilization
360           --under PA responsibility
361           -------------------------------------------------------------
362           enable_concurrent_programs;
363 
364       ELSE   --Enable all PA Utilization menu entries
365 
366           --Enable all PA Utilization menu entries by deleting PA function
367           --exclusion rules
368           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
369                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
370                           RULE_TYPE          => 'F',
371                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
372 
373               FND_FUNCTION_SECURITY.SECURITY_RULE (
374                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
375                           RULE_TYPE          => 'F',
376                           RULE_NAME          => 'PA_ORG_UTILIZATION',
377                           DELETE_FLAG        => 'Y');
378 
379           END IF;
380 
381           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
382                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
383                           RULE_TYPE          => 'F',
384                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
385 
386               FND_FUNCTION_SECURITY.SECURITY_RULE (
387                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
388                           RULE_TYPE          => 'F',
389                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION',
390                           DELETE_FLAG        => 'Y');
391           END IF;
392 
393 
394           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
395                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
396                           RULE_TYPE          => 'F',
397                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
398 
399               FND_FUNCTION_SECURITY.SECURITY_RULE (
400                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
401                           RULE_TYPE          => 'F',
402                           RULE_NAME          => 'PA_PRM_MY_UTIL',
403                           DELETE_FLAG        => 'Y');
404           END IF;
405 
406           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
407                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
408                           RULE_TYPE          => 'F',
409                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
410 
411               FND_FUNCTION_SECURITY.SECURITY_RULE (
412                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
413                           RULE_TYPE          => 'F',
414                           RULE_NAME          => 'PA_ORG_UTILIZATION',
415                           DELETE_FLAG        => 'Y');
416           END IF;
417 
418           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
419                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
420                           RULE_TYPE          => 'F',
421                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
422 
423               FND_FUNCTION_SECURITY.SECURITY_RULE (
424                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
425                           RULE_TYPE          => 'F',
426                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION',
427                           DELETE_FLAG        => 'Y');
428           END IF;
429 
430           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
431                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
432                           RULE_TYPE          => 'F',
433                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION') THEN
434 
435               FND_FUNCTION_SECURITY.SECURITY_RULE (
436                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
437                           RULE_TYPE          => 'F',
438                           RULE_NAME          => 'PA_RES_MGR_UTILIZATION',
439                           DELETE_FLAG        => 'Y');
440           END IF;
441 
442           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
443                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
444                           RULE_TYPE          => 'F',
445                           RULE_NAME          => 'PA_ORG_UTILIZATION') THEN
446 
447               FND_FUNCTION_SECURITY.SECURITY_RULE (
448                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
449                           RULE_TYPE          => 'F',
450                           RULE_NAME          => 'PA_ORG_UTILIZATION',
451                           DELETE_FLAG        => 'Y');
452           END IF;
453 
454           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
455                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
456                           RULE_TYPE          => 'F',
457                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
458 
459               FND_FUNCTION_SECURITY.SECURITY_RULE (
460                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
461                           RULE_TYPE          => 'F',
462                           RULE_NAME          => 'PA_PRM_MY_UTIL',
463                           DELETE_FLAG        => 'Y');
464           END IF;
465 
466           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
467                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
468                           RULE_TYPE          => 'M',
469                           RULE_NAME          => 'PA_PRM_UTL_AUTH') THEN
470 
471               FND_FUNCTION_SECURITY.SECURITY_RULE (
472                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
473                           RULE_TYPE          => 'M',
474                           RULE_NAME          => 'PA_PRM_UTL_AUTH',
475                           DELETE_FLAG        => 'Y');
476           END IF;
477 
478           IF FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
479                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
480                           RULE_TYPE          => 'F',
481                           RULE_NAME          => 'PA_PRM_MY_UTIL') THEN
482 
483               FND_FUNCTION_SECURITY.SECURITY_RULE (
484                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
485                           RULE_TYPE          => 'F',
486                           RULE_NAME          => 'PA_PRM_MY_UTIL',
487                           DELETE_FLAG        => 'Y');
488           END IF;
489 
490           --Disable all PJI Utilization menu entries by adding PJI function
491           --exclusion rules
492           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
493                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
494                           RULE_TYPE          => 'F',
495                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
496 
497               FND_FUNCTION_SECURITY.SECURITY_RULE (
498                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
499                           RULE_TYPE          => 'F',
500                           RULE_NAME          => 'PA_ORG_UTIL_DIS');
501           END IF;
502 
503           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
504                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
505                           RULE_TYPE          => 'F',
506                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
507 
508               FND_FUNCTION_SECURITY.SECURITY_RULE (
509                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
510                           RULE_TYPE          => 'F',
511                           RULE_NAME          => 'PA_RES_UTIL_DIS');
512           END IF;
513 
514           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
515                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
516                           RULE_TYPE          => 'F',
517                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
518 
519 
520               FND_FUNCTION_SECURITY.SECURITY_RULE (
521                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
522                           RULE_TYPE          => 'F',
523                           RULE_NAME          => 'PA_MGR_UTIL_DIS');
524           END IF;
525 
526           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
527                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
528                           RULE_TYPE          => 'F',
529                           RULE_NAME          => 'PJI_SETUP') THEN
530 
531               FND_FUNCTION_SECURITY.SECURITY_RULE (
532                           RESPONSIBILITY_KEY => 'PA_PRM_PROJ_SU',
533                           RULE_TYPE          => 'F',
534                           RULE_NAME          => 'PJI_SETUP');
535           END IF;
536 
537           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
538                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
539                           RULE_TYPE          => 'F',
540                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
541 
542               FND_FUNCTION_SECURITY.SECURITY_RULE (
543                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
544                           RULE_TYPE          => 'F',
545                           RULE_NAME          => 'PA_ORG_UTIL_DIS');
546           END IF;
547 
548           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
549                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
550                           RULE_TYPE          => 'F',
551                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
552 
553               FND_FUNCTION_SECURITY.SECURITY_RULE (
554                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
555                           RULE_TYPE          => 'F',
556                           RULE_NAME          => 'PA_RES_UTIL_DIS');
557           END IF;
558 
559           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
560                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
561                           RULE_TYPE          => 'F',
562                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
563 
564               FND_FUNCTION_SECURITY.SECURITY_RULE (
565                           RESPONSIBILITY_KEY => 'PA_PRM_RES_MGR',
566                           RULE_TYPE          => 'F',
567                           RULE_NAME          => 'PA_MGR_UTIL_DIS');
568           END IF;
569 
570           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
571                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
572                           RULE_TYPE          => 'F',
573                           RULE_NAME          => 'PA_ORG_UTIL_DIS') THEN
574 
575               FND_FUNCTION_SECURITY.SECURITY_RULE (
576                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
577                           RULE_TYPE          => 'F',
578                           RULE_NAME          => 'PA_ORG_UTIL_DIS');
579           END IF;
580 
581           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
582                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
583                           RULE_TYPE          => 'F',
584                           RULE_NAME          => 'PA_RES_UTIL_DIS') THEN
585 
586               FND_FUNCTION_SECURITY.SECURITY_RULE (
587                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
588                           RULE_TYPE          => 'F',
589                           RULE_NAME          => 'PA_RES_UTIL_DIS');
590           END IF;
591 
592           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
593                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
594                           RULE_TYPE          => 'F',
595                           RULE_NAME          => 'PA_MGR_UTIL_DIS') THEN
596 
597               FND_FUNCTION_SECURITY.SECURITY_RULE (
598                           RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
599                           RULE_TYPE          => 'F',
600                           RULE_NAME          => 'PA_MGR_UTIL_DIS');
601           END IF;
602 
603           IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
604                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
605                           RULE_TYPE          => 'F',
606                           RULE_NAME          => 'PJI_PRM_MY_UTIL') THEN
607 
608               FND_FUNCTION_SECURITY.SECURITY_RULE (
609                           RESPONSIBILITY_KEY => 'PA_PRM_TEAM_MEM',
610                           RULE_TYPE          => 'F',
611                           RULE_NAME          => 'PJI_PRM_MY_UTIL');
612           END IF;
613 
614       END IF;
615 
616   END ENABLE_MENUS;
617 
618 
619 
620 end PA_PJI_MENU_UTIL;