[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
339 RULE_NAME => 'PA_PRM_UTL_AUTH') THEN
336 IF NOT FND_FUNCTION_SECURITY.SECURITY_RULE_EXISTS (
337 RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
338 RULE_TYPE => 'M',
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',
448 RESPONSIBILITY_KEY => 'PA_PRM_ORG_MGR',
445 RULE_NAME => 'PA_ORG_UTILIZATION') THEN
446
447 FND_FUNCTION_SECURITY.SECURITY_RULE (
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;