DBA Data[Home] [Help]

PACKAGE: APPS.EGO_SECURITY_PUB

Source


1 PACKAGE EGO_SECURITY_PUB AUTHID CURRENT_USER AS
2 /* $Header: EGOPSECS.pls 115.3 2003/01/11 02:47:50 dphilip noship $ */
3 /*---------------------------------------------------------------------------+
4  | This package contains public API for Applications Security                |
5  +---------------------------------------------------------------------------*/
6 
7 
8  TYPE ID_TBL_TYPE IS TABLE OF VARCHAR2(30)
9  INDEX BY BINARY_INTEGER;
10 
11   --1. Grant Privilege
12   ------------------------------------
13   PROCEDURE grant_role
14   (
15    p_api_version           IN  NUMBER,
16    p_role_name             IN  VARCHAR2,
17    p_object_name           IN  VARCHAR2,
18    p_instance_type         IN  VARCHAR2,
19    p_instance_set_id       IN  NUMBER,
20    p_instance_pk1_value    IN  VARCHAR2,
21    p_instance_pk2_value    IN  VARCHAR2,
22    p_instance_pk3_value    IN  VARCHAR2,
23    p_instance_pk4_value    IN  VARCHAR2,
24    p_instance_pk5_value    IN  VARCHAR2,
25    p_party_id              IN  NUMBER,
26    p_start_date            IN  DATE,
27    p_end_date              IN  DATE,
28    x_return_status         OUT NOCOPY VARCHAR2,
29    x_errorcode             OUT NOCOPY NUMBER
30   );
31 
32     -- Start OF comments
33     -- API name  : Grant
34     -- TYPE      : Public
35     -- Pre-reqs  : None
36     -- FUNCTION  : Grant a Role on object instances to a Party.
37     --             If this operation fails then the grant is not
38     --             done and error code is returned.
39     --
40     -- Version: Current Version 0.1
41     -- Previous Version :  None
42     -- Notes  :
43     --
44     -- END OF comments
45 ----------------------------------------------------------------------------
46 
47   --1 a. Grant Privilege
48   ------------------------------------
49   PROCEDURE grant_role
50   (
51    p_api_version        IN  NUMBER,
52    p_role_name          IN  VARCHAR2,
53    p_object_name        IN  VARCHAR2,
54    p_instance_type      IN  VARCHAR2,
55    p_object_key         IN  NUMBER,
56    p_party_id           IN  NUMBER,
57    p_start_date         IN  DATE,
58    p_end_date           IN  DATE,
59    x_return_status      OUT NOCOPY VARCHAR2,
60    x_errorcode          OUT NOCOPY NUMBER
61   );
62 
63     -- Start OF comments
64     -- API name  : Grant
65     -- TYPE      : Public
66     -- Pre-reqs  : None
67     -- FUNCTION  : Grant a Role on object instances to a Party.
68     --             If this operation fails then the grant is not
69     --             done and error code is returned.
70     --
71     -- Version: Current Version 0.1
72     -- Previous Version :  None
73     -- Notes  :
74     --
75     -- END OF comments
76 
77 
78 ---------------------------------------------------------------------
79 
80   --11. Grant Privilege
81   ------------------------------------
82   PROCEDURE grant_role_guid
83   (
84    p_api_version           IN  NUMBER,
85    p_role_name             IN  VARCHAR2,
86    p_object_name           IN  VARCHAR2,
87    p_instance_type         IN  VARCHAR2,
88    p_instance_set_id       IN  NUMBER,
89    p_instance_pk1_value    IN  VARCHAR2,
90    p_instance_pk2_value    IN  VARCHAR2,
91    p_instance_pk3_value    IN  VARCHAR2,
92    p_instance_pk4_value    IN  VARCHAR2,
93    p_instance_pk5_value    IN  VARCHAR2,
94    p_party_id              IN  NUMBER,
95    p_start_date            IN  DATE,
96    p_end_date              IN  DATE,
97    x_return_status         OUT NOCOPY VARCHAR2,
98    x_errorcode             OUT NOCOPY NUMBER,
99    x_grant_guid            OUT NOCOPY RAW
100   );
101 
102     -- Start OF comments
103     -- API name  : Grant
104     -- TYPE      : Public
105     -- Pre-reqs  : None
106     -- FUNCTION  : Grant a Role on object instances to a Party.
107     --             If this operation fails then the grant is not
108     --             done and error code is returned.
109     --
110     -- Version: Current Version 0.1
111     -- Previous Version :  None
112     -- Notes  :
113     --
114     -- END OF comments
115 ----------------------------------------------------------------------------
116 
117   --11 a. Grant Privilege
118   ------------------------------------
119   PROCEDURE grant_role_guid
120   (
121    p_api_version        IN  NUMBER,
122    p_role_name          IN  VARCHAR2,
123    p_object_name        IN  VARCHAR2,
124    p_instance_type      IN  VARCHAR2,
125    p_object_key         IN  NUMBER,
126    p_party_id           IN  NUMBER,
127    p_start_date         IN  DATE,
128    p_end_date           IN  DATE,
129    x_return_status      OUT NOCOPY VARCHAR2,
130    x_errorcode          OUT NOCOPY NUMBER,
131    x_grant_guid         OUT NOCOPY RAW
132   );
133 
134     -- Start OF comments
135     -- API name  : Grant
136     -- TYPE      : Public
137     -- Pre-reqs  : None
138     -- FUNCTION  : Grant a Role on object instances to a Party.
139     --             If this operation fails then the grant is not
140     --             done and error code is returned.
141     --
142     -- Version: Current Version 0.1
143     -- Previous Version :  None
144     -- Notes  :
145     --
146     -- END OF comments
147 
148 
149 ---------------------------------------------------------------------
150 
151 
152  --2. Revoke Privilege
153   --------------------------
154   PROCEDURE revoke_grant
155   (
156    p_api_version    IN  NUMBER,
157    p_grant_guid     IN  VARCHAR2,
158    x_return_status  OUT NOCOPY VARCHAR2,
159    x_errorcode      OUT NOCOPY NUMBER
160   );
161 
162     -- Start OF comments
163     -- API name  : Revoke
164     -- TYPE      : Public
165     -- Pre-reqs  : None
166     -- FUNCTION  : Revoke a Party's role on object instances.
167     --             If this operation fails then the revoke is
168     --             done and error code is returned.
169     --
170     -- Version: Current Version 0.1
171     -- Previous Version :  None
172     -- Notes  :
173     --
174     -- END OF comments
175 
176   ----------------------------------------------------------------------------
177 
178 
179 
180   --3. Check User Privilege
181   ------------------------------------
182   FUNCTION check_user_privilege
183   (
184    p_api_version    IN  NUMBER,
185    p_privilege        IN  VARCHAR2,
186    p_object_name      IN  VARCHAR2,
187    p_object_key     IN  NUMBER,
188    p_user_id        IN  NUMBER
189  )
190  RETURN VARCHAR2;
191 
192     -- Start OF comments
193     -- API name  : check_user_privilege
194     -- TYPE      : Public
195     -- Pre-reqs  : None
196     -- FUNCTION  : check a user's privilege on  object instance(s)
197     --             If this operation fails then the check is not
198     --             done and error code is returned.
199     --
200     -- Parameters:
201     --     IN    : p_api_version      IN  NUMBER (required)
202     --             API Version of this procedure
203     --
204     --             p_privilege        IN  VARCHAR2 (required)
205     --             name of the privilege (function name)
206     --
207     --             p_object_name      IN  VARCHAR2 (required)
208     --             object on which the privilege should be checked
209     --
210     --             p_object_key       IN  NUMBER (required)
211     --             object key to an instance
212     --
213     --             p_user_id         IN  NUMBER (required)
214     --             user for whom the privilege is checked
215     --
216     --     OUT  :
217     --             RETURN
218     --                   FND_API.G_TRUE  privilege EXISTS
219     --                   FND_API.G_FALSE NO privilege
220     --                   FND_API.G_RET_STS_ERROR if error
221     --             FND_API.G_RET_STS_UNEXP_ERROR if unexpected error
222     --
223 
224     -- Version: Current Version 0.1
225     -- Previous Version :  None
226     -- Notes  :
227     --
228     -- END OF comments
229    ----------------------------------------------------------------------------
230 
231 
232   --3.b.1 Check Party Privilege
233   ------------------------------------
234   FUNCTION check_party_privilege
235   (
236    p_api_version    IN  NUMBER,
237    p_privilege      IN  VARCHAR2,
238    p_object_name    IN  VARCHAR2,
239    p_object_key     IN  NUMBER,
240    p_party_id       IN  NUMBER
241  ) RETURN VARCHAR2;
242 
243     -- Start OF comments
244     -- API name  : check_party_privilege
245     -- TYPE      : Public
246     -- Pre-reqs  : None
247     -- FUNCTION  : check a user's privilege on  object instance(s)
248     --             If this operation fails then the check is not
249     --             done and error code is returned.
250     --
251     -- Parameters:
252     --     IN    : p_api_version      IN  NUMBER (required)
253     --             API Version of this procedure
254     --
255     --             p_privilege        IN  VARCHAR2 (required)
256     --             name of the privilege (function name)
257     --
258     --             p_object_name      IN  VARCHAR2 (required)
259     --             object on which the privilege should be checked
260     --
261     --             p_object_key       IN  NUMBER (required)
262     --             object key to an instance
263     --
264     --             p_party_id         IN  NUMBER (required)
265     --             party_id of the privilege is checked
266     --
267     --     OUT  :
268     --             RETURN
269     --                   FND_API.G_TRUE  privilege EXISTS
270     --                   FND_API.G_FALSE NO privilege
271     --                   FND_API.G_RET_STS_ERROR if error
272     --             FND_API.G_RET_STS_UNEXP_ERROR if unexpected error
273     --
274 
275     -- Version: Current Version 0.1
276     -- Previous Version :  None
277     -- Notes  :
278     --
279     -- END OF comments
280 
281   ----------------------------------------------------------------------------
282 
283 
284   --3.b.2 Check Party Privilege
285   ------------------------------------
286   FUNCTION check_party_privilege
287   (
288    p_api_version        IN  NUMBER,
289    p_privilege          IN  VARCHAR2,
290    p_object_name        IN  VARCHAR2,
291    p_instance_pk1_value IN  VARCHAR2,
292    p_instance_pk2_value IN  VARCHAR2,
293    p_instance_pk3_value IN  VARCHAR2,
294    p_instance_pk4_value IN  VARCHAR2,
295    p_instance_pk5_value IN  VARCHAR2,
296    p_party_id           IN  NUMBER
297  )
298  RETURN VARCHAR2;
299   ----------------------------------------------------------------------------
300   --4. Get Privileges
301   ------------------------------------
302   PROCEDURE get_privileges
303   (
304    p_api_version    IN  NUMBER,
305    p_object_name      IN  VARCHAR2,
306    p_object_key     IN  NUMBER,
307    p_user_id        IN  NUMBER,
308    x_return_status  OUT NOCOPY VARCHAR2,
309    x_privilege_tbl  OUT NOCOPY EGO_DATA_SECURITY.EGO_PRIVILEGE_NAME_TABLE_TYPE
310    );
311 
312     -- Start OF comments
313     -- API name  : get_privileges
314     -- TYPE      : Public
315     -- Pre-reqs  : None
316     -- FUNCTION  : get the list of privileges user has on the object instance
317     --             If this operation fails then the get is not
318     --             done and error code is returned.
319     --
320     -- Version: Current Version 1.0
321     -- Previous Version :  None
322     -- Notes  :
323     --
324     -- END OF comments
325     ----------------------------------------------------------------------------
326 
327 
328 
329   --4 b.1 Get Privileges
330   ------------------------------------
331   PROCEDURE get_party_privileges
332   (
333    p_api_version    IN  NUMBER,
334    p_object_name    IN  VARCHAR2,
335    p_object_key     IN  NUMBER,
336    p_party_id       IN  NUMBER,
337    x_return_status  OUT NOCOPY VARCHAR2,
338    x_privilege_tbl  OUT NOCOPY EGO_DATA_SECURITY.EGO_PRIVILEGE_NAME_TABLE_TYPE
339    ) ;
340 
341 
342     -- Start OF comments
343     -- API name  : get_privileges
344     -- TYPE      : Public
345     -- Pre-reqs  : None
346     -- FUNCTION  : get the list of privileges user has on the object instance
347     --             If this operation fails then the get is not
348     --             done and error code is returned.
349     --
350     -- Version: Current Version 1.0
351     -- Previous Version :  None
352     -- Notes  :
353     --
354     -- END OF comments
355 
356   ----------------------------------------------------------------------------
357 
358   --4 b.2 Get Privileges
359   ------------------------------------
360   PROCEDURE get_party_privileges
361   (
362    p_api_version        IN  NUMBER,
363    p_object_name        IN  VARCHAR2,
364    p_instance_pk1_value IN  VARCHAR2,
365    p_instance_pk2_value IN  VARCHAR2,
366    p_instance_pk3_value IN  VARCHAR2,
367    p_instance_pk4_value IN  VARCHAR2,
368    p_instance_pk5_value IN  VARCHAR2,
369    p_party_id           IN  NUMBER,
370    x_return_status      OUT NOCOPY VARCHAR2,
371    x_privilege_tbl      OUT NOCOPY EGO_DATA_SECURITY.EGO_PRIVILEGE_NAME_TABLE_TYPE
372    );
373 -----------------------------------------------------
374 
375 --5. Get instances
376 -----------------------------------------------
377   PROCEDURE get_instances_with_privilege
378   (
379    p_api_version       IN  NUMBER,
380    p_privilege         IN  VARCHAR2,
381    p_object_name       IN  VARCHAR2,
382    p_party_id          IN  NUMBER,
383    x_return_status     OUT NOCOPY VARCHAR2,
384    x_object_key_tbl    OUT NOCOPY ID_TBL_TYPE
385   );
386 
387 -------------------------------------------
388 --6. get_instances_with_privilege_d
389 ------------------------------------------------
390  PROCEDURE get_instances_with_privilege_d
391   (
392    p_api_version      IN  NUMBER,
393    p_privilege        IN  VARCHAR2,
394    p_object_name      IN  VARCHAR2,
395    p_party_id         IN  NUMBER,
396    p_delimiter        IN  VARCHAR2 DEFAULT ',',
397    x_return_status    OUT NOCOPY VARCHAR2,
398    x_object_string    OUT NOCOPY VARCHAR2
399   );
400 ---------------------------------------------
401 
402 
403   --7.a. Get the list of predicates Strings on whcih user has privilege
404   --------------------------------------------------------
405   FUNCTION get_security_predicate
406   (
407    p_api_version          IN  NUMBER,
408    p_user_id              IN  NUMBER,
409    p_privilege            IN  VARCHAR2,
410    p_object_name            IN  VARCHAR2,
411    p_grant_type           IN  VARCHAR2 DEFAULT 'UNIVERSAL'
412   ) RETURN VARCHAR2;
413 
414 
415 ------------------------------------------------------------------------------------
416 
417   --7.b. Get the list of predicates Strings on which user has privilege
418   FUNCTION get_security_predicate
419   (
420    p_api_version          IN  NUMBER,
421    p_user_id              IN  NUMBER,
422    p_privilege            IN  VARCHAR2,
423    p_object_name            IN  VARCHAR2,
424    p_aliased_pk_column    IN  VARCHAR2,
425    p_grant_type           IN  VARCHAR2 DEFAULT 'UNIVERSAL'
426   ) RETURN VARCHAR2;
427 
428 ------------------------------------------------------------------------------------
429 
430  --7.c.1 Get the list of predicates Strings on whcih user has privilege
431 --------------------------------------
432   FUNCTION get_party_security_predicate
433   (
434    p_api_version          IN  NUMBER,
435    p_party_id             IN  NUMBER,
436    p_privilege            IN  VARCHAR2,
437    p_object_name          IN  VARCHAR2,
438    p_aliased_pk_column    IN  VARCHAR2,
439    p_grant_type           IN  VARCHAR2 DEFAULT 'UNIVERSAL'
440   ) RETURN VARCHAR2;
441 
442     -- Start OF comments
443     -- API name  : get_security_predicate
444     -- TYPE      : Public
445     -- Pre-reqs  : None
446     -- FUNCTION  : Returns  the predicates belong to a party with a given privilege.
447     --
448     -- Version: Current Version 1.0
449     -- Previous Version :  None
450     -- Notes  :
451     --
452     -- END OF comments
453 
454 
455 ------------------------------------------------------------------------------------
456 
457 --7.c.2 Get the list of predicates Strings on whcih user has privilege
458 --------------------------------------
459   FUNCTION get_party_security_predicate
460   (
461    p_api_version          IN  NUMBER,
462    p_party_id             IN  NUMBER,
463    p_privilege            IN  VARCHAR2,
464    p_object_name          IN  VARCHAR2,
465    p_aliased_pk_column    IN  VARCHAR2,
466    p_pk2_alias            IN  VARCHAR2,
467    p_pk3_alias            IN  VARCHAR2,
468    p_pk4_alias            IN  VARCHAR2,
469    p_pk5_alias            IN  VARCHAR2,
470    p_grant_type           IN  VARCHAR2 DEFAULT 'UNIVERSAL',
471    x_return_status        OUT NOCOPY VARCHAR2
472   ) RETURN VARCHAR2;
473   ------------------------------------------------------------------------------
474 
475   --8.a Get Privileges as comma delimited string
476 ------------------------------------
477   PROCEDURE get_privileges_d
478   (
479    p_api_version    IN  NUMBER,
480    p_object_name      IN  VARCHAR2,
481    p_object_key     IN  NUMBER,
482    p_user_id        IN  NUMBER,
483    p_delimiter      IN  VARCHAR2 DEFAULT ',',
484    x_return_status  OUT NOCOPY VARCHAR2,
485    x_privileges_string  OUT NOCOPY VARCHAR2
486   );
487 
488    -- Start OF comments
489    -- API name  : get_security_predicate
490    -- TYPE      : Public
491    -- Pre-reqs  : None
492    -- FUNCTION  : It returns all previleges as a string seperating the privileges with comma.
493 
494    -- Version: Current Version 1.0
495    -- Previous Version :  None
496    -- Notes  :
497    --
498    -- END OF comments
499 
500 ------------------------------------------------------------------------------------
501 
502  --8.b Get Privileges as comma delimited string
503 ------------------------------------
504 PROCEDURE get_party_privileges_d
505   (
506    p_api_version    IN  NUMBER,
507    p_object_name    IN  VARCHAR2,
508    p_object_key     IN  NUMBER,
509    p_party_id       IN  NUMBER,
510    p_delimiter      IN  VARCHAR2 DEFAULT ',',
511    x_return_status  OUT NOCOPY VARCHAR2,
512    x_privileges_string  OUT NOCOPY VARCHAR2
513   );
514 -----------------------------------------------------------------
515 PROCEDURE get_party_privileges_d
516   (
517    p_api_version    IN  NUMBER,
518    p_object_name    IN  VARCHAR2,
519    p_pk1_value      IN  VARCHAR2,
520    p_pk2_value      IN  VARCHAR2,
521    p_pk3_value      IN  VARCHAR2,
522    p_pk4_value      IN  VARCHAR2,
523    p_pk5_value      IN  VARCHAR2,
524    p_party_id       IN  NUMBER,
525    p_delimiter      IN  VARCHAR2 DEFAULT ',',
526    x_return_status  OUT NOCOPY VARCHAR2,
527    x_privileges_string  OUT NOCOPY VARCHAR2
528   );
529 --------------------------------------------------------
530 
531  --9. Set end date to a grant
532   ------------------------------------
533   PROCEDURE set_grant_date
534   (
535    p_api_version    IN  NUMBER,
536    p_grant_guid     IN  VARCHAR2,
537    p_start_date     IN  DATE,
538    p_end_date       IN  DATE,
539    x_return_status  OUT NOCOPY VARCHAR2
540   );
541 
542   ----------------------------------------------------------------------------
543 /*
544 --10. Check_Instance_In_Set
545 -----------------------------------------------
546 FUNCTION check_instance_in_set
547  (
548    p_api_version          IN  NUMBER,
549    p_instance_set_id      IN  NUMBER,
550    p_instance_pk1_value   IN VARCHAR2
551  ) return VARCHAR2 ;
552 --------------------------------------------
553 
554 */
555 /*
556 --10. Check_Instance_In_Set
557  ------------------------
558  FUNCTION check_instance_in_set
559  (
560    p_api_version    IN  NUMBER,
561    p_object_name      IN  VARCHAR2,
562    p_instance_set_id IN NUMBER,
563    p_instance_id    IN  NUMBER,
564    p_party_person_id  IN  NUMBER
565  )
566  RETURN VARCHAR2 ;
567  */
568 ---------------------------------------------------------
569 
570 --13. check_duplicate_grant
571  ------------------------
572  FUNCTION check_duplicate_grant
573   (
574    p_role_name            IN  VARCHAR2,
575    p_object_name      IN  VARCHAR2,
576    p_object_key_type      IN  VARCHAR2,
577    p_object_key           IN  NUMBER,
578    p_party_id             IN  NUMBER,
579    p_start_date           IN  DATE,
580    p_end_date             IN  DATE
581  ) RETURN VARCHAR2 ;
582  ------------------------
583 
584  --14. check_duplicate_item_grant
585  ------------------------
586  FUNCTION check_duplicate_item_grant
587   (
588    p_role_id              IN  NUMBER,
589    p_object_id        IN  NUMBER,
590    p_object_key_type      IN  VARCHAR2,
591    p_object_key           IN  NUMBER,
592    p_party_id             IN  NUMBER,
593    p_start_date           IN  DATE,
594    p_end_date             IN  DATE
595  ) RETURN VARCHAR2;
596 
597  --15. creat_instance_set
598  ------------------------
599  FUNCTION create_instance_set
600   (
601    p_instance_set_name      IN  VARCHAR2,
602    p_object_name        IN  VARCHAR2,
603    p_predicate              IN  VARCHAR2,
604    p_display_name           IN  VARCHAR2,
605    p_description            IN  VARCHAR2
606  ) RETURN NUMBER;
607 
608 
609 END EGO_SECURITY_PUB;