1 PACKAGE ibc_data_security_pvt AUTHID CURRENT_USER AS
2 /* $Header: ibcdsecs.pls 120.1 2005/05/31 23:20:02 appldev $ */
3 /*#
4 * This is the private API for OCM Data Security. These methods are
5 * exposed as Java APIs in DataSecurityManager.class
6 * @rep:scope private
7 * @rep:product IBC
8 * @rep:displayname Oracle Content Manager Data Security Private API
9 * @rep:category BUSINESS_ENTITY IBC_DATA_SECURITY
10 */
11
12 /*#
13 * This procedure establishes inheritance hierarchy, it must be kept
14 * in sync with directory nodes hierarchy tree. It creates an
15 * inheritance link between an instance (child) and its container (parent).
16 * This procedure must be called for each container (i.e. directory node)
17 * create to define a hierarchy of containment and inheritance
18 *
19 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
20 * for this particular instance
21 * @param p_instance_pk1_value value 1 for instance's primary key
22 * @param p_instance_pk2_value value 2 for instance's primary key
23 * @param p_instance_pk3_value value 3 for instance's primary key
24 * @param p_instance_pk4_value value 4 for instance's primary key
25 * @param p_instance_pk5_value value 5 for instance's primary key
26 * @param p_container_object_id ID for object definition id found in FND_OBJECTS
27 * for the container
28 * @param p_container_pk1_value value 1 for container's primary key
29 * @param p_container_pk2_value value 2 for container's primary key
30 * @param p_container_pk3_value value 3 for container's primary key
31 * @param p_container_pk4_value value 4 for container's primary key
32 * @param p_container_pk5_value value 5 for container's primary key
33 * @param p_inheritance_type type of inheritance (FOLDER, HIDDEN-FOLDER,
34 * WORKSPACE and WSFOLDER). Currently supported
35 * in OCM only FOLDER and HIDDEN-FOLDER.
36 * @param p_commit Indicates whether to commit or not at the end
37 * of procedure
38 * @param p_api_version standard parm - API Version
39 * @param p_init_msg_list standard parm - Initialize message list
40 * @param x_return_status standard parm - Return Status
41 * @param x_msg_count standard parm - Message Count
42 * @param x_msg_data standard parm - Message Data
43 *
44 * @rep:displayname establish_inheritance
45 *
46 */
47 PROCEDURE establish_inheritance(
48 p_instance_object_id IN NUMBER
49 ,p_instance_pk1_value IN VARCHAR2
50 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
51 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
52 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
53 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
54 ,p_container_object_id IN NUMBER DEFAULT NULL
55 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
56 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
57 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
58 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
59 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
60 ,p_inheritance_type IN VARCHAR2
61 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
62 ,p_api_version IN NUMBER DEFAULT 1.0
63 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
64 ,x_return_status OUT NOCOPY VARCHAR2
65 ,x_msg_count OUT NOCOPY NUMBER
66 ,x_msg_data OUT NOCOPY VARCHAR2
67 );
68
69 /*#
70 * This procedure establishes inheritance hierarchy, it must be kept
71 * in sync with directory nodes hierarchy tree. It creates an
72 * inheritance link between an instance (child) and its container (parent).
73 * This procedure must be called for each container (i.e. directory node)
74 * create to define a hierarchy of containment and inheritance.
75 * This is overloaded of establish_inheritance without inheritance type parm.
76 *
77 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
78 * for this particular instance
79 * @param p_instance_pk1_value value 1 for instance's primary key
80 * @param p_instance_pk2_value value 2 for instance's primary key
81 * @param p_instance_pk3_value value 3 for instance's primary key
82 * @param p_instance_pk4_value value 4 for instance's primary key
83 * @param p_instance_pk5_value value 5 for instance's primary key
84 * @param p_container_object_id ID for object definition id found in FND_OBJECTS
85 * for the container
86 * @param p_container_pk1_value value 1 for container's primary key
87 * @param p_container_pk2_value value 2 for container's primary key
88 * @param p_container_pk3_value value 3 for container's primary key
89 * @param p_container_pk4_value value 4 for container's primary key
90 * @param p_container_pk5_value value 5 for container's primary key
91 * @param p_commit Indicates whether to commit or not at the end
92 * of procedure
93 * @param p_api_version standard parm - API Version
94 * @param p_init_msg_list standard parm - Initialize message list
95 * @param x_return_status standard parm - Return Status
96 * @param x_msg_count standard parm - Message Count
97 * @param x_msg_data standard parm - Message Data
98 *
99 * @rep:displayname establish_inheritance
100 *
101 */
102 PROCEDURE establish_inheritance(
103 p_instance_object_id IN NUMBER
104 ,p_instance_pk1_value IN VARCHAR2
105 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
106 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
107 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
108 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
109 ,p_container_object_id IN NUMBER DEFAULT NULL
110 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
111 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
112 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
113 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
114 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
115 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
116 ,p_api_version IN NUMBER DEFAULT 1.0
117 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
118 ,x_return_status OUT NOCOPY VARCHAR2
119 ,x_msg_count OUT NOCOPY NUMBER
120 ,x_msg_data OUT NOCOPY VARCHAR2
121 );
122
123 /*#
124 * It sets inheritance type of an instance already existing in data
125 * security inheritance tree.
126 *
127 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
128 * for this particular instance
129 * @param p_instance_pk1_value value 1 for instance's primary key
130 * @param p_instance_pk2_value value 2 for instance's primary key
131 * @param p_instance_pk3_value value 3 for instance's primary key
132 * @param p_instance_pk4_value value 4 for instance's primary key
133 * @param p_instance_pk5_value value 5 for instance's primary key
134 * @param p_inheritance_type type of inheritance (FOLDER, HIDDEN-FOLDER,
135 * WORKSPACE and WSFOLDER). Currently supported
136 * in OCM only FOLDER and HIDDEN-FOLDER.
137 * @param p_commit Indicates whether to commit or not at the end
138 * of procedure
139 * @param p_api_version standard parm - API Version
140 * @param p_init_msg_list standard parm - Initialize message list
141 * @param x_return_status standard parm - Return Status
142 * @param x_msg_count standard parm - Message Count
143 * @param x_msg_data standard parm - Message Data
144 *
145 * @rep:displayname set_inheritance_type
146 *
147 */
148 PROCEDURE set_inheritance_type(
149 p_instance_object_id IN NUMBER
150 ,p_instance_pk1_value IN VARCHAR2
151 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
152 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
153 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
154 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
155 ,p_inheritance_type IN VARCHAR2
156 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
157 ,p_api_version IN NUMBER DEFAULT 1.0
158 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.g_false
159 ,x_return_status OUT NOCOPY VARCHAR2
160 ,x_msg_count OUT NOCOPY NUMBER
161 ,x_msg_data OUT NOCOPY VARCHAR2
162 );
163
164 /*#
165 * It removes an instance from data security inheritance tree. This procedure
166 * should be called when the directory node gets removed from the system as well,
167 * to keep inheritance information accurate.
168 *
169 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
170 * for this particular instance
171 * @param p_instance_pk1_value value 1 for instance's primary key
172 * @param p_instance_pk2_value value 2 for instance's primary key
173 * @param p_instance_pk3_value value 3 for instance's primary key
174 * @param p_instance_pk4_value value 4 for instance's primary key
175 * @param p_instance_pk5_value value 5 for instance's primary key
176 * @param p_commit Indicates whether to commit or not at the end
177 * of procedure
178 * @param p_api_version standard parm - API Version
179 * @param p_init_msg_list standard parm - Initialize message list
180 * @param x_return_status standard parm - Return Status
181 * @param x_msg_count standard parm - Message Count
182 * @param x_msg_data standard parm - Message Data
183 *
184 * @rep:displayname Remove_Instance
185 *
186 */
187 PROCEDURE Remove_Instance(
188 p_instance_object_id IN NUMBER
189 ,p_instance_pk1_value IN VARCHAR2
190 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
191 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
192 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
193 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
194 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
195 ,p_api_version IN NUMBER DEFAULT 1.0
196 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.g_false
197 ,x_return_status OUT NOCOPY VARCHAR2
198 ,x_msg_count OUT NOCOPY NUMBER
199 ,x_msg_data OUT NOCOPY VARCHAR2
200 );
201
202
203 /*#
204 * It Resets all permissions, and makes the instance to inherit
205 * all permissions from parent. This procedure gets called when
206 * in the UI the user selects "Inherit"
207 *
208 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
209 * for this particular instance
210 * @param p_instance_pk1_value value 1 for instance's primary key
211 * @param p_instance_pk2_value value 2 for instance's primary key
212 * @param p_instance_pk3_value value 3 for instance's primary key
213 * @param p_instance_pk4_value value 4 for instance's primary key
214 * @param p_instance_pk5_value value 5 for instance's primary key
215 * @param p_commit Indicates whether to commit or not at the end
216 * of procedure
217 * @param p_api_version standard parm - API Version
218 * @param p_init_msg_list standard parm - Initialize message list
219 * @param x_return_status standard parm - Return Status
220 * @param x_msg_count standard parm - Message Count
221 * @param x_msg_data standard parm - Message Data
222 *
223 * @rep:displayname reset_permissions
224 *
225 */
226 PROCEDURE reset_permissions(
227 p_instance_object_id IN NUMBER
228 ,p_instance_pk1_value IN VARCHAR2
229 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
230 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
231 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
232 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
233 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
234 ,p_api_version IN NUMBER DEFAULT 1.0
235 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
236 ,x_return_status OUT NOCOPY VARCHAR2
237 ,x_msg_count OUT NOCOPY NUMBER
238 ,x_msg_data OUT NOCOPY VARCHAR2
239 );
240
241
242 /*#
243 * It breaks inheritance of an instance form its parent, and copies
244 * all permissions from container with the intention of "isolating"
245 * instance's permissions from any modification to its container's
246 * permissions. This procedure gets called from UI when User clicks
247 * on "Override", and it is useful so even though the user doesn't
248 * make any other modification, the inheritance is already broken
249 * and can be saved as such.
250 *
251 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
252 * for this particular instance
253 * @param p_instance_pk1_value value 1 for instance's primary key
254 * @param p_instance_pk2_value value 2 for instance's primary key
255 * @param p_instance_pk3_value value 3 for instance's primary key
256 * @param p_instance_pk4_value value 4 for instance's primary key
257 * @param p_instance_pk5_value value 5 for instance's primary key
258 * @param p_commit Indicates whether to commit or not at the end
259 * of procedure
260 * @param p_api_version standard parm - API Version
261 * @param p_init_msg_list standard parm - Initialize message list
262 * @param x_return_status standard parm - Return Status
263 * @param x_msg_count standard parm - Message Count
264 * @param x_msg_data standard parm - Message Data
265 *
266 * @rep:displayname override_permissions
267 *
268 */
269 PROCEDURE override_permissions(
270 p_instance_object_id IN NUMBER
271 ,p_instance_pk1_value IN VARCHAR2
272 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
273 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
274 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
275 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
276 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
277 ,p_api_version IN NUMBER DEFAULT 1.0
278 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
279 ,x_return_status OUT NOCOPY VARCHAR2
280 ,x_msg_count OUT NOCOPY NUMBER
281 ,x_msg_data OUT NOCOPY VARCHAR2
282 );
283
284 /*#
285 * Given the object name it returns corrsponding object id
286 * from FND_OBJECTS
287 *
288 * @param p_object_name Object Name in FND_OBJECTS
289 * @return Object Id
290 *
291 * @rep:displayname get_object_id
292 *
293 */
294 FUNCTION get_object_id(
295 p_object_name IN VARCHAR2
296 ) RETURN NUMBER;
297
298 /*#
299 * Given an object id it returns the lookup type used
300 * to validate especific permissions for the object
301 * instances corresponding to such object id.
302 *
303 * @param p_object_id Object Id
304 * @return permission's lookup type
305 *
306 * @rep:displayname get_perms_lookup_type
307 *
308 */
309 FUNCTION get_perms_lookup_type(
310 p_object_id IN NUMBER
311 ) RETURN VARCHAR2;
312
313
314 /*#
315 * Grants a permission on a particular object instance (or contained objects)
316 * to a user.
317 *
318 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
319 * for this particular instance
320 * @param p_instance_pk1_value value 1 for instance's primary key
321 * @param p_instance_pk2_value value 2 for instance's primary key
322 * @param p_instance_pk3_value value 3 for instance's primary key
323 * @param p_instance_pk4_value value 4 for instance's primary key
324 * @param p_instance_pk5_value value 5 for instance's primary key
325 * @param p_action either ALLOW(permissions) or
326 * RESTRICT (exclusions)
327 * @param p_permission_object_id Object ID of object which permission is
328 * being granted
329 * @param p_permission_code Permission being granted
330 * @param p_grantee_user_id User receiving permission, If not especified it
331 * means ANYBODY
332 * @param p_container_object_id ID for object definition id found in FND_OBJECTS
333 * for the container
334 * @param p_container_pk1_value value 1 for container's primary key
335 * @param p_container_pk2_value value 2 for container's primary key
336 * @param p_container_pk3_value value 3 for container's primary key
337 * @param p_container_pk4_value value 4 for container's primary key
338 * @param p_container_pk5_value value 5 for container's primary key
339 * @param p_cascade_flag Indicates if permission should be carried over
340 * to contained objects
341 * @param p_commit Indicates whether to commit or not at the end
342 * of procedure
343 * @param p_api_version standard parm - API Version
344 * @param p_init_msg_list standard parm - Initialize message list
345 * @param x_return_status standard parm - Return Status
346 * @param x_msg_count standard parm - Message Count
347 * @param x_msg_data standard parm - Message Data
348 *
349 * @rep:displayname grant_permission
350 *
351 */
352 PROCEDURE grant_permission(
353 p_instance_object_id IN NUMBER
354 ,p_instance_pk1_value IN VARCHAR2
355 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
356 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
357 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
358 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
359 ,p_action IN VARCHAR2
360 ,p_permission_object_id IN NUMBER
361 ,p_permission_code IN VARCHAR2
362 ,p_grantee_user_id IN NUMBER
363 ,p_container_object_id IN NUMBER DEFAULT NULL
364 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
365 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
366 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
367 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
368 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
369 ,p_cascade_flag IN VARCHAR2 DEFAULT FND_API.g_false
370 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
371 ,p_api_version IN NUMBER DEFAULT 1.0
372 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
373 ,x_return_status OUT NOCOPY VARCHAR2
374 ,x_msg_count OUT NOCOPY NUMBER
375 ,x_msg_data OUT NOCOPY VARCHAR2
376 );
377
378
379 /*#
380 * Grants a permission on a particular object instance
381 * (or contained objects) to ANYBODY (if p_grantee_resource_id and
382 * type are not passed) or a particular resource.
383 *
384 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
385 * for this particular instance
386 * @param p_instance_pk1_value value 1 for instance's primary key
387 * @param p_instance_pk2_value value 2 for instance's primary key
391 * @param p_action either ALLOW(permissions) or
388 * @param p_instance_pk3_value value 3 for instance's primary key
389 * @param p_instance_pk4_value value 4 for instance's primary key
390 * @param p_instance_pk5_value value 5 for instance's primary key
392 * RESTRICT (exclusions)
393 * @param p_permission_object_id Object ID of object which permission is
394 * being granted
395 * @param p_permission_code Permission being granted
396 * @param p_grantee_resource_id Resource Id
397 * @param p_grantee_resource_type Resource Type. Resource receiving permission
398 * if not especified it means ANYBODY
399 * @param p_container_object_id ID for object definition id found in FND_OBJECTS
400 * for the container
401 * @param p_container_pk1_value value 1 for container's primary key
402 * @param p_container_pk2_value value 2 for container's primary key
403 * @param p_container_pk3_value value 3 for container's primary key
404 * @param p_container_pk4_value value 4 for container's primary key
405 * @param p_container_pk5_value value 5 for container's primary key
406 * @param p_cascade_flag Indicates if permission should be carried over
407 * to contained objects
408 * @param p_commit Indicates whether to commit or not at the end
409 * of procedure
410 * @param p_api_version standard parm - API Version
411 * @param p_init_msg_list standard parm - Initialize message list
412 * @param x_return_status standard parm - Return Status
413 * @param x_msg_count standard parm - Message Count
414 * @param x_msg_data standard parm - Message Data
415 *
416 * @rep:displayname grant_permission
417 *
418 */
419 PROCEDURE grant_permission(
420 p_instance_object_id IN NUMBER
421 ,p_instance_pk1_value IN VARCHAR2
422 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
423 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
424 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
425 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
426 ,p_action IN VARCHAR2
427 ,p_permission_object_id IN NUMBER
428 ,p_permission_code IN VARCHAR2
429 ,p_grantee_resource_id IN NUMBER DEFAULT NULL
430 ,p_grantee_resource_type IN VARCHAR2 DEFAULT NULL
431 ,p_container_object_id IN NUMBER DEFAULT NULL
432 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
433 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
434 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
435 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
436 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
437 ,p_cascade_flag IN VARCHAR2 DEFAULT FND_API.g_false
438 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
439 ,p_api_version IN NUMBER DEFAULT 1.0
440 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
441 ,x_return_status OUT NOCOPY VARCHAR2
442 ,x_msg_count OUT NOCOPY NUMBER
443 ,x_msg_data OUT NOCOPY VARCHAR2
444 );
445
446
447 /*#
448 * Revokes a especific permission already given, do not confuse this
449 * with a grant to RESTRICT a permission.
450 *
451 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
452 * for this particular instance
453 * @param p_instance_pk1_value value 1 for instance's primary key
454 * @param p_instance_pk2_value value 2 for instance's primary key
455 * @param p_instance_pk3_value value 3 for instance's primary key
456 * @param p_instance_pk4_value value 4 for instance's primary key
457 * @param p_instance_pk5_value value 5 for instance's primary key
458 * @param p_action either ALLOW(permissions) or
459 * RESTRICT (exclusions)
460 * @param p_permission_object_id Object ID of object to which permission was granted
461 * @param p_permission_code Permission code
462 * @param p_grantee_user_id User to which permission was originally granted,
463 * if not especified it means ANYBODY
464 * @param p_commit Indicates whether to commit or not at the end
465 * of procedure
466 * @param p_api_version standard parm - API Version
467 * @param p_init_msg_list standard parm - Initialize message list
468 * @param x_return_status standard parm - Return Status
469 * @param x_msg_count standard parm - Message Count
470 * @param x_msg_data standard parm - Message Data
471 *
472 * @rep:displayname revoke_permission
473 *
474 */
475 PROCEDURE revoke_permission(
476 p_instance_object_id IN NUMBER
477 ,p_instance_pk1_value IN VARCHAR2
478 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
479 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
480 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
481 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
482 ,p_action IN VARCHAR2
483 ,p_permission_object_id IN NUMBER
484 ,p_permission_code IN VARCHAR2
485 ,p_grantee_user_id IN NUMBER
486 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
490 ,x_msg_count OUT NOCOPY NUMBER
487 ,p_api_version IN NUMBER DEFAULT 1.0
488 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
489 ,x_return_status OUT NOCOPY VARCHAR2
491 ,x_msg_data OUT NOCOPY VARCHAR2
492 );
493
494 /*#
495 * Revokes a especific permission already given, do not confuse this
496 * with a grant to RESTRICT a permission.
497 *
498 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
499 * for this particular instance
500 * @param p_instance_pk1_value value 1 for instance's primary key
501 * @param p_instance_pk2_value value 2 for instance's primary key
502 * @param p_instance_pk3_value value 3 for instance's primary key
503 * @param p_instance_pk4_value value 4 for instance's primary key
504 * @param p_instance_pk5_value value 5 for instance's primary key
505 * @param p_action either ALLOW(permissions) or
506 * RESTRICT (exclusions)
507 * @param p_permission_object_id Object ID of object to which permission was granted
508 * @param p_permission_code Permission code
509 * @param p_grantee_resource_id Resource to which permission was originally
510 * granted, if not especified it means ANYBODY
511 * @param p_grantee_resource_type Resource Type
512 * @param p_commit Indicates whether to commit or not at the end
513 * of procedure
514 * @param p_api_version standard parm - API Version
515 * @param p_init_msg_list standard parm - Initialize message list
516 * @param x_return_status standard parm - Return Status
517 * @param x_msg_count standard parm - Message Count
518 * @param x_msg_data standard parm - Message Data
519 *
520 * @rep:displayname revoke_permission
521 *
522 */
523 PROCEDURE revoke_permission(
524 p_instance_object_id IN NUMBER
525 ,p_instance_pk1_value IN VARCHAR2
526 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
527 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
528 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
529 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
530 ,p_action IN VARCHAR2
531 ,p_permission_object_id IN NUMBER
532 ,p_permission_code IN VARCHAR2
533 ,p_grantee_resource_id IN NUMBER DEFAULT NULL
534 ,p_grantee_resource_type IN VARCHAR2 DEFAULT NULL
535 ,p_commit IN VARCHAR2 DEFAULT FND_API.g_false
536 ,p_api_version IN NUMBER DEFAULT 1.0
537 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
538 ,x_return_status OUT NOCOPY VARCHAR2
539 ,x_msg_count OUT NOCOPY NUMBER
540 ,x_msg_data OUT NOCOPY VARCHAR2
541 );
542
543
544 /*#
545 * Checks whether an user has a particular permission on an
546 * object instance
547 *
548 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
549 * for this particular instance
550 * @param p_instance_pk1_value value 1 for instance's primary key
551 * @param p_instance_pk2_value value 2 for instance's primary key
552 * @param p_instance_pk3_value value 3 for instance's primary key
553 * @param p_instance_pk4_value value 4 for instance's primary key
554 * @param p_instance_pk5_value value 5 for instance's primary key
555 * @param p_permission_code Permission Code
556 * @param p_container_pk1_value value 1 for container's primary key
557 * @param p_container_pk2_value value 2 for container's primary key
558 * @param p_container_pk3_value value 3 for container's primary key
559 * @param p_container_pk4_value value 4 for container's primary key
560 * @param p_container_pk5_value value 5 for container's primary key
561 * @param p_current_user_id Current User Id
562 * @return Whether user has (FND_API.g_true) or not (FND_API.g_false) such
563 * permission
564 *
565 * @rep:displayname has_permission
566 *
567 */
568 FUNCTION has_permission(
569 p_instance_object_id IN NUMBER
570 ,p_instance_pk1_value IN VARCHAR2
571 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
572 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
573 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
574 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
575 ,p_permission_code IN VARCHAR2
576 ,p_container_object_id IN NUMBER DEFAULT NULL
577 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
578 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
579 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
580 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
581 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
582 ,p_current_user_id IN NUMBER DEFAULT NULL
583 ) RETURN VARCHAR2;
584
585 PRAGMA RESTRICT_REFERENCES(has_permission, WNDS, WNPS, TRUST);
586
587 /*#
588 * Returns the list of permissions a user has on an object instance
589 * as a string (comma separated and bracket delimited)
590 *
591 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
592 * for this particular instance
593 * @param p_instance_pk1_value value 1 for instance's primary key
594 * @param p_instance_pk2_value value 2 for instance's primary key
595 * @param p_instance_pk3_value value 3 for instance's primary key
596 * @param p_instance_pk4_value value 4 for instance's primary key
597 * @param p_instance_pk5_value value 5 for instance's primary key
598 * @param p_container_object_id ID for container. Found in FND_OBJECTS
599 * @param p_container_pk1_value value 1 for container's primary key
600 * @param p_container_pk2_value value 2 for container's primary key
601 * @param p_container_pk3_value value 3 for container's primary key
602 * @param p_container_pk4_value value 4 for container's primary key
603 * @param p_container_pk5_value value 5 for container's primary key
604 * @param p_current_user_id Current User Id
605 *
606 * @rep:displayname get_permissions_as_string
607 *
608 */
609 FUNCTION get_permissions_as_string(
610 p_instance_object_id IN NUMBER
611 ,p_instance_pk1_value IN VARCHAR2
612 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
613 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
614 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
615 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
616 ,p_container_object_id IN NUMBER DEFAULT NULL
617 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
618 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
619 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
620 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
621 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
622 ,p_current_user_id IN NUMBER DEFAULT NULL
623 ) RETURN VARCHAR2;
624
625 PRAGMA RESTRICT_REFERENCES(get_permissions_as_string, WNDS, WNPS, TRUST);
626
627 /*#
628 * Returns the list of permissions a user has on an object instance
629 *
630 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
631 * for this particular instance
632 * @param p_instance_pk1_value value 1 for instance's primary key
633 * @param p_instance_pk2_value value 2 for instance's primary key
634 * @param p_instance_pk3_value value 3 for instance's primary key
635 * @param p_instance_pk4_value value 4 for instance's primary key
636 * @param p_instance_pk5_value value 5 for instance's primary key
637 * @param p_container_object_id ID for container. Found in FND_OBJECTS
638 * @param p_container_pk1_value value 1 for container's primary key
639 * @param p_container_pk2_value value 2 for container's primary key
640 * @param p_container_pk3_value value 3 for container's primary key
641 * @param p_container_pk4_value value 4 for container's primary key
642 * @param p_container_pk5_value value 5 for container's primary key
643 * @param p_current_user_id Current User Id
644 * @param x_permission_tbl Output pl/sql table containing all
645 * different permission codes.
646 * @param p_api_version standard parm - API Version
647 * @param p_init_msg_list standard parm - Initialize message list
648 * @param x_return_status standard parm - Return Status
649 * @param x_msg_count standard parm - Message Count
650 * @param x_msg_data standard parm - Message Data
651 *
652 * @rep:displayname get_permissions
653 *
654 */
655 PROCEDURE get_permissions(
656 p_instance_object_id IN NUMBER
657 ,p_instance_pk1_value IN VARCHAR2
658 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
659 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
660 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
661 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
662 ,p_container_object_id IN NUMBER DEFAULT NULL
663 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
664 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
665 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
666 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
667 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
668 ,p_current_user_id IN NUMBER DEFAULT NULL
669 ,x_permission_tbl OUT NOCOPY jtf_varchar2_table_100
670 ,p_api_version IN NUMBER DEFAULT 1.0
671 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
672 ,x_return_status OUT NOCOPY VARCHAR2
673 ,x_msg_count OUT NOCOPY NUMBER
674 ,x_msg_data OUT NOCOPY VARCHAR2
675 );
676
677 /*#
678 * Procedure to obtain a list of users which has a particular
679 * permission on a object's instance. The result is returned comma
680 * separated.
681 *
682 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
683 * for this particular instance
684 * @param p_instance_pk1_value value 1 for instance's primary key
685 * @param p_instance_pk2_value value 2 for instance's primary key
686 * @param p_instance_pk3_value value 3 for instance's primary key
687 * @param p_instance_pk4_value value 4 for instance's primary key
688 * @param p_instance_pk5_value value 5 for instance's primary key
689 * @param p_permission_code Permission Code
690 * @param p_container_pk1_value value 1 for container's primary key
691 * @param p_container_pk2_value value 2 for container's primary key
692 * @param p_container_pk3_value value 3 for container's primary key
693 * @param p_container_pk4_value value 4 for container's primary key
694 * @param p_container_pk5_value value 5 for container's primary key
695 * @param p_include_global whether to include "global" user in the list
696 * @param p_global_value Value to be used as "global" user, by default
697 * it is 'All'.
698 * @param x_usernames Output string containing all users with
699 * permission on object's instance
700 * @param p_api_version standard parm - API Version
701 * @param p_init_msg_list standard parm - Initialize message list
702 * @param x_return_status standard parm - Return Status
703 * @param x_msg_count standard parm - Message Count
704 * @param x_msg_data standard parm - Message Data
705 *
706 * @rep:displayname get_grantee_usernames
707 *
708 */
709 PROCEDURE get_grantee_usernames(
710 p_instance_object_id IN NUMBER
714 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
711 ,p_instance_pk1_value IN VARCHAR2
712 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
713 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
715 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
716 ,p_permission_code IN VARCHAR2
717 ,p_container_object_id IN NUMBER DEFAULT NULL
718 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
719 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
720 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
721 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
722 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
723 ,p_include_global IN VARCHAR2 DEFAULT fnd_api.g_false
724 ,p_global_value IN VARCHAR2 DEFAULT 'All'
725 ,x_usernames OUT NOCOPY VARCHAR2
726 ,p_api_version IN NUMBER DEFAULT 1.0
727 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
728 ,x_return_status OUT NOCOPY VARCHAR2
729 ,x_msg_count OUT NOCOPY NUMBER
730 ,x_msg_data OUT NOCOPY VARCHAR2
731 );
732
733 /*#
734 * returns the list of grantee user ids who have a specific permission
735 * on a given object instance. This doesn't include permissions given
736 * to everybody (no grantee in particular) nor "RESTRICT" grants.
737 *
738 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
739 * for this particular instance
740 * @param p_instance_pk1_value value 1 for instance's primary key
741 * @param p_instance_pk2_value value 2 for instance's primary key
742 * @param p_instance_pk3_value value 3 for instance's primary key
743 * @param p_instance_pk4_value value 4 for instance's primary key
744 * @param p_instance_pk5_value value 5 for instance's primary key
745 * @param p_permission_code Permission Code
746 * @param p_container_pk1_value value 1 for container's primary key
747 * @param p_container_pk2_value value 2 for container's primary key
748 * @param p_container_pk3_value value 3 for container's primary key
749 * @param p_container_pk4_value value 4 for container's primary key
750 * @param p_container_pk5_value value 5 for container's primary key
751 * @param x_userids Output table containing all users with
752 * permission on object's instance
753 * @param p_api_version standard parm - API Version
754 * @param p_init_msg_list standard parm - Initialize message list
755 * @param x_return_status standard parm - Return Status
756 * @param x_msg_count standard parm - Message Count
757 * @param x_msg_data standard parm - Message Data
758 *
759 * @rep:displayname get_grantee_userids
760 *
761 */
762 PROCEDURE get_grantee_userids(
763 p_instance_object_id IN NUMBER
764 ,p_instance_pk1_value IN VARCHAR2
765 ,p_instance_pk2_value IN VARCHAR2 DEFAULT NULL
766 ,p_instance_pk3_value IN VARCHAR2 DEFAULT NULL
767 ,p_instance_pk4_value IN VARCHAR2 DEFAULT NULL
768 ,p_instance_pk5_value IN VARCHAR2 DEFAULT NULL
769 ,p_permission_code IN VARCHAR2
770 ,p_container_object_id IN NUMBER DEFAULT NULL
771 ,p_container_pk1_value IN VARCHAR2 DEFAULT NULL
775 ,p_container_pk5_value IN VARCHAR2 DEFAULT NULL
772 ,p_container_pk2_value IN VARCHAR2 DEFAULT NULL
773 ,p_container_pk3_value IN VARCHAR2 DEFAULT NULL
774 ,p_container_pk4_value IN VARCHAR2 DEFAULT NULL
776 ,x_userids OUT NOCOPY JTF_NUMBER_TABLE
777 ,p_api_version IN NUMBER DEFAULT 1.0
778 ,p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false
779 ,x_return_status OUT NOCOPY VARCHAR2
780 ,x_msg_count OUT NOCOPY NUMBER
781 ,x_msg_data OUT NOCOPY VARCHAR2
782 );
783
784 /*#
785 * Returns information about inheritance, particularly the type of
786 * inheritance, and if in fact this instance has its own permissions
787 * or is still inheriting from parent container.
788 *
789 * @param p_instance_object_id ID for object definition id found in FND_OBJECTS
790 * for this particular instance
791 * @param p_instance_pk1_value value 1 for instance's primary key
792 * @param p_instance_pk2_value value 2 for instance's primary key
793 * @param p_instance_pk3_value value 3 for instance's primary key
794 * @param p_instance_pk4_value value 4 for instance's primary key
795 * @param p_instance_pk5_value value 5 for instance's primary key
796 * @param p_container_object_id ID for container. Found in FND_OBJECTS
797 * @param p_container_pk1_value value 1 for container's primary key
798 * @param p_container_pk2_value value 2 for container's primary key
799 * @param p_container_pk3_value value 3 for container's primary key
800 * @param p_container_pk4_value value 4 for container's primary key
801 * @param p_container_pk5_value value 5 for container's primary key
802 * @param p_api_version standard parm - API Version
803 * @param p_init_msg_list standard parm - Initialize message list
804 * @param x_inherited_flag Whether instance is inheriting (T) or Not (F)
805 * @param x_inheritance_type Inheritance Type
806 * @param x_return_status standard parm - Return Status
807 * @param x_msg_count standard parm - Message Count
808 * @param x_msg_data standard parm - Message Data
809 *
810 * @rep:displayname get_inheritance_info
811 *
812 */
813 PROCEDURE get_inheritance_info (
814 p_instance_object_id IN NUMBER
815 ,p_instance_pk1_value IN VARCHAR2
816 ,p_instance_pk2_value IN VARCHAR2
817 ,p_instance_pk3_value IN VARCHAR2
818 ,p_instance_pk4_value IN VARCHAR2
819 ,p_instance_pk5_value IN VARCHAR2
820 ,p_container_object_id IN NUMBER
821 ,p_container_pk1_value IN VARCHAR2
822 ,p_container_pk2_value IN VARCHAR2
823 ,p_container_pk3_value IN VARCHAR2
824 ,p_container_pk4_value IN VARCHAR2
825 ,p_container_pk5_value IN VARCHAR2
826 ,p_api_version IN NUMBER
827 ,p_init_msg_list IN VARCHAR2
828 ,x_inherited_flag OUT NOCOPY VARCHAR2
829 ,x_inheritance_type OUT NOCOPY VARCHAR2
830 ,x_return_status OUT NOCOPY VARCHAR2
831 ,x_msg_count OUT NOCOPY NUMBER
832 ,x_msg_data OUT NOCOPY VARCHAR2
833 );
834
835 END;