1 PACKAGE EGO_DATA_SECURITY AS
2 /* $Header: EGOPFDSS.pls 120.1.12000000.2 2007/07/11 20:27:21 sanmani ship $ */
3
4 FUNCTION check_function
5 (
6 p_api_version IN NUMBER,
7 p_function IN VARCHAR2,
8 p_object_name IN VARCHAR2,
9 p_instance_pk1_value IN VARCHAR2,
10 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
11 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
12 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
13 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
14 p_user_name in varchar2 default null
15 )
16 RETURN VARCHAR2;
17 -- Start OF comments
18 -- API name : check_function
19 -- TYPE : Public
20 -- Pre-reqs : None
21 -- FUNCTION : Determines whether user is granted a particular
22 -- function for a particular object instance.
23 --
24 -- Parameters:
25 -- IN : p_api_version IN NUMBER (required)
26 -- API Version of this procedure (currently 1.0)
27 --
28 -- p_function IN VARCHAR2 (required)
29 -- name of the function
30 --
31 -- p_object_name IN VARCHAR2 (required)
32 -- object on which the grant should be checked
33 -- from fnd_objects table.
34 --
35 -- p_instance_pk[1..5]_value IN NUMBER (required)
36 -- Primary key values for the object instance, with order
37 -- corresponding to the order of the PKs in the
38 -- FND_OBJECTS table. Most objects will only have a
39 -- few primary key columns so just let the higher,
40 -- unused column values default to NULL.
41 --
42 -- p_user_name IN VARCHAR2 (optional)
43 -- User to check grant for, from FND_USER or another
44 -- table (like HZ_PARTIES) that the view column
45 -- WF_ROLES.NAME is based on. Pass the same value stored
46 -- in the GRANTEE_KEY column in FND_GRANTS.
47 -- Examples of values that might be passed: 'SYSADMIN',
48 -- 'HZ_PARTIES:1234'
49 -- Defaults to current FND user if null.
50 --
51 -- OUT :
52 -- RETURNs 1 byte result code:
53 -- 'T' function is granted.
54 -- 'F' not granted.
55 -- 'E' Error
56 -- 'U' Unexpected Error
57 --
58 -- If 'E' or 'U' is returned, there will be an error
59 -- message on the FND_MESSAGE stack which
60 -- can be retrieved with FND_MESSAGE.GET_ENCODED()
61 -- If that message is not used, it must be cleared.
62 --
63
64 -- Version: Current Version 1.0
65 -- Previous Version : None
66 -- Notes :
67 --
68 -- END OF comments
69 ----------------------------------------------------------------
70 FUNCTION check_inherited_function
71 (
72 p_api_version IN NUMBER,
73 p_function IN VARCHAR2,
74 p_object_name IN VARCHAR2,
75 p_instance_pk1_value IN VARCHAR2,
76 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
77 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
78 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
79 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
80 p_user_name IN varchar2 default null,
81 p_object_type IN VARCHAR2 default null,
82 p_parent_object_name IN VARCHAR2,
83 p_parent_instance_pk1_value IN VARCHAR2,
84 p_parent_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
85 p_parent_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
86 p_parent_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
87 p_parent_instance_pk5_value IN VARCHAR2 DEFAULT NULL
88 )
89 RETURN VARCHAR2;
90
91 ----------------------------------------------------------------
92 TYPE EGO_PRIVILEGE_NAME_TABLE_TYPE IS TABLE OF VARCHAR2(480)
93 INDEX BY BINARY_INTEGER;
94
95 PROCEDURE get_functions
96 (
97 p_api_version IN NUMBER,
98 p_object_name IN VARCHAR2,
99 p_instance_pk1_value IN VARCHAR2,
100 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
101 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
102 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
103 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
104 p_user_name IN varchar2 default null,
105 x_return_status OUT NOCOPY VARCHAR2,
106 x_privilege_tbl OUT NOCOPY EGO_PRIVILEGE_NAME_TABLE_TYPE
107 ) ;
108 -- Start OF comments
109 -- API name : get_functions
110 -- TYPE : Public
111 -- Pre-reqs : None
112 -- FUNCTION : get the list of functions user has on the
113 -- object instance
114 --
115 -- Parameters:
116 -- IN : p_api_version IN NUMBER (required)
117 -- API Version of this procedure (currently 1.0)
118 --
119 -- p_object_name IN VARCHAR2 (required)
120 -- object on which the grant should be checked
121 -- from fnd_objects table.
122 --
123 -- p_instance_pk[1..5]_value IN NUMBER (required)
124 -- Primary keys values to an object instance, corresponding
125 -- to the order in the FND_OBJECTS table. Most objects will
126 -- only have a few primary key columns so just pass
127 -- NULL for the unused higher columns.
128 --
129 -- p_user_name IN VARCHAR2 (optional)
130 -- User to check grant for, from FND_USER or another
131 -- table (like HZ_PARTIES) that the view column
132 -- WF_ROLES.NAME is based on. Pass the same value stored
133 -- in the GRANTEE_KEY column in FND_GRANTS.
134 -- Examples of values that might be passed: 'SYSADMIN',
135 -- 'HZ_PARTIES:1234'
136 -- Defaults to current FND user if null.
137 --
138 -- OUT :
139 -- X_return_status OUT VARCHAR2(1)
140 -- Result of all the operations
141 -- 'T' Successfully got list of functions
142 -- 'F' No functions granted
143 -- 'E' Error
144 -- 'U' Unexpected Error
145 --
146 -- If 'E' or 'U' is returned, there will be an error
147 -- message on the FND_MESSAGE stack which
148 -- can be retrieved with FND_MESSAGE.GET_ENCODED()
149 -- If that message is not used, it must be cleared.
150 --
151 -- x_functions_tbl OUT TABLE
152 -- list of functions available
153 --
154 -- Version: Current Version 1.0
155 -- Previous Version : None
156 -- Notes :
157 --
158 -- END OF comments
159 ----------------------------------------------------------------
160
161 PROCEDURE get_inherited_functions
162 (
163 p_api_version IN NUMBER,
164 p_object_name IN VARCHAR2,
165 p_instance_pk1_value IN VARCHAR2,
166 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
167 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
168 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
169 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
170 p_user_name IN varchar2 default null,
171 p_object_type IN VARCHAR2 default null,
172 p_parent_object_name IN VARCHAR2,
173 p_parent_instance_pk1_value IN VARCHAR2,
174 p_parent_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
175 p_parent_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
176 p_parent_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
177 p_parent_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
178 x_return_status OUT NOCOPY VARCHAR2,
179 x_privilege_tbl OUT NOCOPY EGO_VARCHAR_TBL_TYPE
180 ) ;
181
182 ----------------------------------------------------------------
183 PROCEDURE get_security_predicate
184 (
185 p_api_version IN NUMBER,
186 p_function IN VARCHAR2 default null,
187 p_object_name IN VARCHAR2,
188 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
189 p_user_name IN VARCHAR2 default null,
190 /* statement_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= to check existence*/
191 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
192 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
193 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
194 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
195 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
196 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
197 x_predicate OUT NOCOPY VARCHAR2,
198 x_return_status OUT NOCOPY VARCHAR2
199 ) ;
200 -- Start OF comments
201 -- API name : get_security_predicate
202 -- TYPE : Public
203 -- Pre-reqs : None
204 -- FUNCTION : get Union of all predicates for user on a function
205 --
206 -- Parameters:
207 -- IN : p_api_version IN NUMBER (required)
208 -- API Version of this procedure (currently 1.0)
209 --
210 -- p_function IN VARCHAR2 (optional)
211 -- name of the function
212 -- If null, return union of predicates for all functions
213 -- granted on this object type.
214 --
215 -- p_object_name IN VARCHAR2 (required)
216 -- object on which the predicate should be checked.
217 -- from fnd_objects table.
218 --
219 -- p_grant_instance_type IN VARCHAR2 (optional)
220 -- Can take on one of the following values:
221 -- 'INSTANCE'- returns predicate for grants with
222 -- instance_type = 'INSTANCE'
223 -- 'SET'- returns predicate for grants with
224 -- instance_type = 'SET'
225 -- 'UNIVERSAL'(default)- returns predicate for
226 -- grants with any instance_type.
227 -- Note: 'SET' mode does not support aliases.
228 --
229 -- p_user_name IN VARCHAR2 (optional)
230 -- User to check grant for, from FND_USER or another
231 -- table (like HZ_PARTIES) that the view column
232 -- WF_ROLES.NAME is based on. Pass the same value stored
233 -- in the GRANTEE_KEY column in FND_GRANTS.
234 -- Examples of values that might be passed: 'SYSADMIN',
235 -- 'HZ_PARTIES:1234'
236 -- Defaults to current FND user if null.
237 --
238 -- p_statement_type IN VARCHAR2 DEFAULT 'OTHER' (optional)
239 -- Can take one of the following values:
240 -- 'OTHER'- This is the default. This means the predicate
241 -- returned will not be attached by policy
242 -- to the base table ala VPD. In practice this
243 -- allows the predicate to have a subselect against
244 -- the base table, which allows aliases and may
245 -- improve performance.
246 -- 'BASE'- Pass this type if the predicate will be attached
247 -- by policy to the base table. Use 'BASE' when
248 -- VPD will use the returned predicate to control
249 -- access. In practice this means the predicate
250 -- cannot have subselects against the base table,
251 -- prevents aliases and may lower performance.
252 -- 'EXISTS'- Pass this type if the predicate will be
253 -- simply used to determine if there are any rows
254 -- at all that are available. The predicate
255 -- returned will be of the format 'EXISTS ...'
256 --
257 -- p_pk[1..5]_alias IN VARCHAR2 (optional)
258 -- Normally the caller wouldn't pass any values for these.
259 -- Column aliases for primary keys. Pass column names
260 -- (optionally including table aliases) of the relevant
261 -- columns, if they are different from the base column names
262 -- as defined in FND_OBJECTS. For example 'MY_VIEW.MY_APP_ID'
263 -- might be passed in as a column alias for the first PK, which
264 -- was defined in FND_OBJECTS as 'APPLICATION_ID'.
265 -- Column aliases are not allowed for p_statement_type='BASE',
266 -- or for p_grant_instance_type ='SET'.
267 --
268 -- OUT :
269 -- X_return_status OUT VARCHAR2(1)
270 -- Result of all the operations
271 -- 'T' Successfully got predicate
272 -- 'F' No predicates granted
273 -- 'E' Error
274 -- 'U' Unexpected Error
275 -- 'L' Value too long- predicate too large for
276 -- database VPD.
277 --
278 -- If 'E', 'U, or 'L' is returned, there will be an error
279 -- message on the FND_MESSAGE stack which
280 -- can be retrieved with FND_MESSAGE.GET_ENCODED()
281 -- If that message is not used, it must be cleared.
282 --
283 -- Return Value:
284 -- All the available predicates from the grants on
285 -- this function for this user, ORed together to form
286 -- a big gob of SQL that can be dropped into the where
287 -- clause. Does not include 'WHERE'.
288 --
289 -- Version: Current Version 1.0
290 -- Previous Version : None
291 -- Notes :
292 --
293 -- END OF comments
294 -------------------------------------------------------------------------
295 PROCEDURE get_sec_predicate_with_exists
296 (
297 p_api_version IN NUMBER,
298 p_function IN VARCHAR2 default null,
299 p_object_name IN VARCHAR2,
300 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
301 p_party_id IN NUMBER,
302 /* stmnt_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= for checking existence. */
303 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
304 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
305 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
306 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
307 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
308 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
309 x_predicate OUT NOCOPY VARCHAR2,
310 x_return_status OUT NOCOPY VARCHAR2
311 );
312 --------------------------------------------------------------------------
313
314 PROCEDURE get_sec_predicate_with_clause
315 (
316 p_api_version IN NUMBER,
317 p_function IN VARCHAR2 default null,
318 p_object_name IN VARCHAR2,
319 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
320 p_party_id IN NUMBER,
321 p_append_inst_set_predicate IN VARCHAR2 default null,
322 /* stmnt_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= for checking existence. */
323 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
327 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
324 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
325 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
326 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
328 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
329 x_predicate OUT NOCOPY VARCHAR2,
330 x_return_status OUT NOCOPY VARCHAR2
331 );
332 ----------------------------------------------------------------------------
333 TYPE PARENT_OBJECT_TABLE_TYPE IS TABLE OF VARCHAR2(30)
334 INDEX BY BINARY_INTEGER;
335
336 TYPE RELATIONSHIP_SQL_TABLE_TYPE IS TABLE OF VARCHAR2(300)
337 INDEX BY BINARY_INTEGER;
338
339 PROCEDURE get_inherited_predicate
340 (
341 p_api_version IN NUMBER,
342 p_function IN VARCHAR2 default null,
343 p_object_name IN VARCHAR2,
344 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
345 p_user_name IN VARCHAR2 default null,
346 /* statement_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= to check existence*/
347 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
348 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
349 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
350 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
351 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
352 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
353 p_object_type IN VARCHAR2 default null,
354 p_parent_object_tbl IN EGO_VARCHAR_TBL_TYPE,
355 p_relationship_sql_tbl IN EGO_VARCHAR_TBL_TYPE,
356 p_parent_obj_alias_tbl IN EGO_VARCHAR_TBL_TYPE,
357 x_predicate OUT NOCOPY VARCHAR2,
358 x_return_status OUT NOCOPY VARCHAR2
359 ) ;
360
361 --------------------------------------------------------------------------
362
363 PROCEDURE get_inherited_predicate
364 (
365 p_api_version IN NUMBER,
366 p_function IN VARCHAR2 default null,
367 p_object_name IN VARCHAR2,
368 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
369 p_user_name IN VARCHAR2 default null,
370 /* statement_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= to check existence*/
371 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
372 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
373 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
374 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
375 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
376 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
377 p_object_type IN VARCHAR2 default null,
378 p_parent_object_tbl IN EGO_VARCHAR_TBL_TYPE,
379 p_relationship_sql_tbl IN EGO_VARCHAR_TBL_TYPE,
380 p_parent_obj_pk1alias_tbl IN EGO_VARCHAR_TBL_TYPE,
381 p_parent_obj_pk2alias_tbl IN EGO_VARCHAR_TBL_TYPE,
382 x_predicate OUT NOCOPY VARCHAR2,
383 x_return_status OUT NOCOPY VARCHAR2
384 ) ;
385
386 --------------------------------------------------------------------------
387
388 PROCEDURE get_inherited_predicate
389 (
390 p_api_version IN NUMBER,
391 p_function IN VARCHAR2 default null,
392 p_object_name IN VARCHAR2,
393 p_grant_instance_type IN VARCHAR2 DEFAULT 'UNIVERSAL',/* SET, INSTANCE*/
394 p_user_name IN VARCHAR2 default null,
395 /* statement_type: 'OTHER', 'BASE'=VPD, 'EXISTS'= to check existence*/
396 p_statement_type IN VARCHAR2 DEFAULT 'OTHER',
397 p_pk1_alias IN VARCHAR2 DEFAULT NULL,
398 p_pk2_alias IN VARCHAR2 DEFAULT NULL,
399 p_pk3_alias IN VARCHAR2 DEFAULT NULL,
400 p_pk4_alias IN VARCHAR2 DEFAULT NULL,
401 p_pk5_alias IN VARCHAR2 DEFAULT NULL,
402 p_object_type IN VARCHAR2 default null,
403 p_parent_object_tbl IN EGO_VARCHAR_TBL_TYPE,
404 p_relationship_sql_tbl IN EGO_VARCHAR_TBL_TYPE,
405 p_parent_obj_pk1alias_tbl IN EGO_VARCHAR_TBL_TYPE,
406 p_parent_obj_pk2alias_tbl IN EGO_VARCHAR_TBL_TYPE,
407 x_predicate OUT NOCOPY varchar2,
408 x_clob_predicate OUT NOCOPY CLOB,
409 x_return_status OUT NOCOPY varchar2
410 );
411
412 ----------------------------------------------------------------------------
413
414 TYPE EGO_INSTANCE_PK_RECORD is record
415 (PK1_VALUE varchar2(256),
416 PK2_VALUE varchar2(256),
417 PK3_VALUE varchar2(256),
418 PK4_VALUE varchar2(256),
419 PK5_VALUE varchar2(256));
420
421 TYPE EGO_INSTANCE_TABLE_TYPE IS TABLE OF EGO_INSTANCE_PK_RECORD
422 INDEX BY BINARY_INTEGER;
423
424 PROCEDURE get_instances
425 (
426 p_api_version IN NUMBER,
427 p_function IN VARCHAR2 DEFAULT NULL,
428 p_object_name IN VARCHAR2,
429 p_user_name IN VARCHAR2 DEFAULT NULL,
430 x_return_status OUT NOCOPY VARCHAR2,
431 x_object_key_tbl OUT NOCOPY EGO_INSTANCE_TABLE_TYPE
432 );
433 -- Start OF comments
434 -- API name : get_instances
435 -- TYPE : Public
436 -- Pre-reqs : None
437 -- FUNCTION : get list of all instances granted to a particular user
438 -- on a particular function.
439 --
440 -- Parameters:
441 -- IN : p_api_version IN NUMBER (required)
445 -- name of the function
442 -- API Version of this procedure (currently 1.0)
443 --
444 -- p_function IN VARCHAR2 (optional)
446 -- If null, return union of predicates for all functions
447 -- granted on this object type.
448 --
449 -- p_object_name IN VARCHAR2 (required)
450 -- object on which the predicate should be checked.
451 -- from fnd_objects table.
452 --
453 -- p_user_name IN VARCHAR2 (optional)
454 -- User to check grant for, from FND_USER or another
455 -- table (like HZ_PARTIES) that the view column
456 -- WF_ROLES.NAME is based on. Pass the same value stored
457 -- in the GRANTEE_KEY column in FND_GRANTS.
458 -- Examples of values that might be passed: 'SYSADMIN',
459 -- 'HZ_PARTIES:1234'
460 -- Defaults to current FND user if null.
461 --
462 -- OUT :
463 -- X_return_status OUT VARCHAR2(1)
464 -- Result of all the operations
465 -- 'T' Successfully got instances
466 -- 'F' No instances accessible
467 -- 'E' Error
468 -- 'U' Unexpected Error
469 --
470 -- If 'E', or 'U' is returned, there will be an error
471 -- message on the FND_MESSAGE stack which
472 -- can be retrieved with FND_MESSAGE.GET_ENCODED()
473 -- If that message is not used, it must be cleared.
474 --
475 -- Return Value:
476 -- Table of primary keys of all the available instances
477 -- from the grants on this function for this user.
478 --
479 -- Version: Current Version 1.0
480 -- Previous Version : None
481 -- Notes :
482 --
483 -- END OF comments
484
485 FUNCTION check_instance_in_set
486 (
487 p_api_version IN NUMBER,
488 p_instance_set_name IN VARCHAR2,
489 p_instance_pk1_value IN VARCHAR2,
490 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
491 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
492 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
493 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
494 ) return VARCHAR2;
495 -- Start OF comments
496 -- API name : check_instance_in_set
497 -- TYPE : Public
498 -- Pre-reqs : None
499 -- FUNCTION : Check whether a particular object instance is part of an
500 -- instance set.
501 --
502 -- Parameters:
503 -- IN : p_api_version IN NUMBER (required)
504 -- API Version of this procedure (currently 1.0)
505 --
506 -- p_instance_set_name in varchar2
507 -- the instance set name for the instance set to be checked.
508 --
509 -- p_instance_pk[1..5]_value IN NUMBER (required)
510 -- Primary key values for the object instance, with order
511 -- corresponding to the order of the PKs in the
512 -- FND_OBJECTS table. Most objects will only have a
513 -- few primary key columns so just let the higher,
514 -- unused column values default to NULL.
515 --
516 -- OUT :
517 -- RETURNs 1 byte result code:
518 -- 'T' instance is part of instance set.
519 -- 'F' instance is not part of instance set.
520 -- 'E' Error
521 -- 'U' Unexpected Error
522 --
523 -- If 'E' or 'U' is returned, there will be an error
524 -- message on the FND_MESSAGE stack which
525 -- can be retrieved with FND_MESSAGE.GET_ENCODED()
526 -- If that message is not used, it must be cleared.
527 --
528 --
529 -- Version: Current Version 1.0
530 -- Previous Version : None
531 -- Notes :
532 --
533 -- END OF comments
534
535 -- signature to use if caller wants to specify OWNER
536 PROCEDURE Create_Role_Mapping(
537 p_api_version IN NUMBER
538 ,p_parent_obj_name IN VARCHAR2
539 ,p_parent_role_name IN VARCHAR2
540 ,p_child_obj_name IN VARCHAR2
541 ,p_child_object_type IN VARCHAR2
542 ,p_child_role_name IN VARCHAR2
543 ,p_owner IN NUMBER
544 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
545 ,p_commit IN VARCHAR2 := fnd_api.g_FALSE
546 ,x_return_status OUT NOCOPY VARCHAR2
547 ,x_errorcode OUT NOCOPY NUMBER
548 ,x_msg_count OUT NOCOPY NUMBER
549 ,x_msg_data OUT NOCOPY VARCHAR2
550 ) ;
551
552 -- signature to use if caller does not want to specify OWNER
553 PROCEDURE Create_Role_Mapping(
554 p_api_version IN NUMBER
555 ,p_parent_obj_name IN VARCHAR2
556 ,p_parent_role_name IN VARCHAR2
557 ,p_child_obj_name IN VARCHAR2
561 ,p_commit IN VARCHAR2 := fnd_api.g_FALSE
558 ,p_child_object_type IN VARCHAR2
559 ,p_child_role_name IN VARCHAR2
560 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
562 ,x_return_status OUT NOCOPY VARCHAR2
563 ,x_errorcode OUT NOCOPY NUMBER
564 ,x_msg_count OUT NOCOPY NUMBER
565 ,x_msg_data OUT NOCOPY VARCHAR2
566 ) ;
567
568 -- signature to use if caller wants to specify OWNER
569 PROCEDURE Update_Role_Mapping(
570 p_api_version IN NUMBER
571 ,p_parent_obj_name IN VARCHAR2
572 ,p_parent_role_name IN VARCHAR2
573 ,p_child_obj_name IN VARCHAR2
574 ,p_child_object_type IN VARCHAR2
575 ,p_child_role_name IN VARCHAR2
576 ,p_owner IN NUMBER
577 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
578 ,p_commit IN VARCHAR2 := fnd_api.g_FALSE
579 ,x_return_status OUT NOCOPY VARCHAR2
580 ,x_errorcode OUT NOCOPY NUMBER
581 ,x_msg_count OUT NOCOPY NUMBER
582 ,x_msg_data OUT NOCOPY VARCHAR2
583 ) ;
584
585 -- signature to use if caller does not want to specify OWNER
586 PROCEDURE Update_Role_Mapping(
587 p_api_version IN NUMBER
588 ,p_parent_obj_name IN VARCHAR2
589 ,p_parent_role_name IN VARCHAR2
590 ,p_child_obj_name IN VARCHAR2
591 ,p_child_object_type IN VARCHAR2
592 ,p_child_role_name IN VARCHAR2
593 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
594 ,p_commit IN VARCHAR2 := fnd_api.g_FALSE
595 ,x_return_status OUT NOCOPY VARCHAR2
596 ,x_errorcode OUT NOCOPY NUMBER
597 ,x_msg_count OUT NOCOPY NUMBER
598 ,x_msg_data OUT NOCOPY VARCHAR2
599 ) ;
600
601 PROCEDURE Delete_Role_Mapping(
602 p_api_version IN NUMBER
603 ,p_parent_obj_name IN VARCHAR2
604 ,p_parent_role_name IN VARCHAR2
605 ,p_child_obj_name IN VARCHAR2
606 ,p_child_object_type IN VARCHAR2
607 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
608 ,p_commit IN VARCHAR2 := fnd_api.g_FALSE
609 ,x_return_status OUT NOCOPY VARCHAR2
610 ,x_errorcode OUT NOCOPY NUMBER
611 ,x_msg_count OUT NOCOPY NUMBER
612 ,x_msg_data OUT NOCOPY VARCHAR2
613 ) ;
614
615 ----------------------------------------------------------------
616
617 PROCEDURE get_role_functions
618 (
619 p_api_version IN NUMBER,
620 p_role_name IN VARCHAR2,
621 x_return_status OUT NOCOPY VARCHAR2,
622 x_privilege_tbl OUT NOCOPY EGO_VARCHAR_TBL_TYPE
623 ) ;
624
625 ----------------------------------------------------------------
626
627 PROCEDURE get_inherited_functions
628 (
629 p_api_version IN NUMBER,
630 p_object_name IN VARCHAR2,
631 p_instance_pk1_value IN VARCHAR2,
632 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
633 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
634 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
635 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
636 p_user_name IN VARCHAR2 DEFAULT NULL,
637 p_object_type IN VARCHAR2 DEFAULT NULL,
638 p_parent_object_name_tbl IN EGO_VARCHAR_TBL_TYPE,
639 p_parent_object_sql_tbl IN EGO_VARCHAR_TBL_TYPE,
640 x_return_status OUT NOCOPY VARCHAR2,
641 x_privilege_tbl OUT NOCOPY EGO_VARCHAR_TBL_TYPE
642 ) ;
643
644
645 FUNCTION check_inherited_function
646 (
647 p_api_version IN NUMBER,
648 p_function IN VARCHAR2,
649 p_object_name IN VARCHAR2,
650 p_instance_pk1_value IN VARCHAR2,
651 p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
652 p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
653 p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
654 p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
655 p_parent_object_name_tbl IN EGO_VARCHAR_TBL_TYPE,
656 p_parent_object_sql_tbl IN EGO_VARCHAR_TBL_TYPE,
657 p_user_name IN VARCHAR2 DEFAULT NULL,
658 p_object_type IN VARCHAR2 DEFAULT NULL
659 )
660 RETURN VARCHAR2;
661
662 END EGO_DATA_SECURITY;