DBA Data[Home] [Help]

PACKAGE: APPS.WF_ROLE_HIERARCHY

Source


1 PACKAGE WF_ROLE_HIERARCHY as
2  /*$Header: WFRHIERS.pls 120.2.12010000.2 2008/08/26 20:41:02 alepe ship $*/
3    -- Type definitions
4    --
5    TYPE relationship_REC is RECORD (RELATIONSHIP_ID  NUMBER,
6                                     SUB_NAME         VARCHAR2(320),
7                                     SUPER_NAME       VARCHAR2(320),
8                                     ENABLED_FLAG     VARCHAR2(1));
9 
10 
11    TYPE relTAB is TABLE of relationship_REC index by binary_integer;
12 
13    -- Package Globals
14    --
15    g_modulePkg varchar2(100) := 'wf.plsql.WF_ROLE_HIERARCHY';
16    g_maxRows   PLS_INTEGER := 10000;
17 
18    --
19    -- HierarchyEnabled (PRIVATE)
20    --
21    -- IN
22    --   p_origSystem  (VARCHAR2)
23    --
24    -- RETURNS
25    --   BOOLEAN
26    --
27    -- NOTES
28    --  Checks to see if p_origSystem does NOT participate in bulk synch
29    --  therefore is able to be hierarchy enabled.
30    --
31      function HierarchyEnabled (p_origSystem in VARCHAR2) return boolean;
32 
33  -- Calculate_Effective_Dates(PRIVATE)
34    --
35    -- IN
36    -- p_startDate	 DATE,
37    -- p_endDate		 DATE,
38    -- p_userStartDate    DATE,
39    -- p_userEndDate      DATE,
40    -- p_roleStartDate    DATE,
41    -- p_roleEndDate      DATE,
42    -- p_assignRoleStart  DATE,
43    -- p_assignRoleEnd    DATE,
44    --
45    -- IN OUT
46    --   p_effStartDate    DATE
47    --   p_effEndDate	  DATE
48    --
49    -- NOTES
50    --  Calculates the effective start and end dates in WF_USER_ROLE_ASSIGNMENTS
51    -- from the user/role and asigning_Role start and end dates respectively
52 
53      procedure Calculate_Effective_Dates(
54 			   p_startDate	     in DATE ,
55 			   p_endDate	     in DATE ,
56 			   p_userStartDate   in DATE ,
57 		           p_userEndDate     in DATE ,
58 			   p_roleStartDate   in DATE ,
59 			   p_roleEndDate     in DATE ,
60 			   p_assignRoleStart in DATE ,
61 			   p_assignRoleEnd   in DATE ,
62 			   p_effStartDate in out NOCOPY DATE,
63 			   p_effEndDate   in out NOCOPY DATE
64 			 );
65 
66    -- AddRelationship (PUBLIC)
67    --   Creates a super/sub role hierarchy relationship in WF_ROLE_HIERARCHIES.
68    -- IN
69    --   p_sub_name	(VARCHAR2)
70    --   p_super_name	(VARCHAR2)
71    --   p_deferMode     (BOOLEAN)
72    --
73    -- RETURNS
74    --   NUMBER
75    --
76    -- NOTES
77    --   Creates a hierarchy relationship between two roles and returns the
78    --   relationship id.
79    function AddRelationship (p_sub_name    in VARCHAR2,
80                              p_super_name  in VARCHAR2,
81                              p_deferMode   in BOOLEAN default FALSE,
82 			     p_enabled     in varchar2 default 'Y')
83     return NUMBER;
84 
85    --
86    -- ExpireRelationship(PUBLIC)
87    --   Expires a super/sub role hierarchy relationship
88    -- IN
89    --   p_sub_name	(VARCHAR2)
90    --   p_super_name	(VARCHAR2)
91    --   p_deferMode     (BOOLEAN)
92    --
93    -- RETURNS
94    --   NUMBER
95    --
96    -- NOTES
97    --   Expires a hierarchy relationship between two roles and returns the
98    --   relationship id.
99 
100    function ExpireRelationship (p_sub_name    in VARCHAR2,
101                                 p_super_name  in VARCHAR2,
102                                 p_defer_mode  in BOOLEAN default FALSE)
103      return NUMBER;
104 
105 
106    --
107    -- Cascade_RF
108    -- IN
109    --   p_sub_guid  (RAW)
110    --   p_event     ([WF_EVENT_T])
111    -- RETURNS
112    --   VARCHAR2
113 
114    function Cascade_RF ( p_sub_guid  in            RAW,
115                          p_event     in out NOCOPY WF_EVENT_T ) return VARCHAR2;
116 
117    --
118    --
119    -- Propagate_RF
120    --   Rule function to handle events when a relationship is created or expired
121    -- IN
122    --   p_sub_guid  (RAW)
123    --   p_event     ([WF_EVENT_T])
124    -- RETURNS
125    --   VARCHAR2
126 
127    function Propagate_RF ( p_sub_guid  in            RAW,
128                            p_event     in out NOCOPY WF_EVENT_T )
129                            return VARCHAR2;
130 
131    --
132    -- Propagate (PRIVATE)
133    --   Updates all existing assignments when a change occurs in a hierarchy.
134    -- IN
135    --   p_relationship_id (NUMBER)
136    --   p_propagateDate   (DATE)
137 
138 
139    procedure Propagate (p_relationship_id in NUMBER,
140                         p_propagateDate   in DATE default sysdate);
141 
142 
143    --
144    -- Propagate_CP (PRIVATE)
145    --   Concurrent program wrapper to call Propagate().
146    -- IN
147    --   p_relationship_id (VARCHAR2)
148    --   retcode           [VARCHAR2]
149    --   errbuf            [VARCHAR2]
150 
151    procedure Propagate_CP (retcode           out NOCOPY VARCHAR2,
152                            errbuf            out NOCOPY VARCHAR2,
153                            p_relationship_id in         VARCHAR2);
154 
155 
156    -- Aggregate_User_Roles_RF(PRIVATE)
157    --  Rule Function to update WF_LOCAL_USER_ROLES as summary table of
158    --  WF_USER_ROLE_ASSIGNMENTS
159    -- IN
160    --   p_sub_guid  (RAW)
161    --   p_event     ([WF_EVENT_T])
162    -- RETURNS
163    --   VARCHAR2
164    function Aggregate_User_Roles_RF ( p_sub_guid  in            RAW,
165                                       p_event     in out NOCOPY WF_EVENT_T)
166                                       return VARCHAR2;
167 
168    --
169    -- GetRelationships (PUBLIC)
170    --   Retrieves the hierarchies for a given role.
171    -- IN
172    --   p_name		 (VARCHAR2)
173    --   p_superiors      (WF_ROLE_HIERARCHY.relTAB)
174    --   p_subordinates   (WF_ROLE_HIERARCHY.relTAB)
175 
176    procedure GetRelationships (p_name     in         VARCHAR2,
177                          p_superiors      out NOCOPY WF_ROLE_HIERARCHY.relTAB,
178                          p_subordinates   out NOCOPY WF_ROLE_HIERARCHY.relTAB,
179                          p_direction      in         VARCHAR2 default 'BOTH');
180 
181    --
182    -- GetAllRelationships (PUBLIC)
183    --   Retrieves the hierarchies for a given role.
184    -- IN
185    --   p_name	       (VARCHAR2)
186    --   p_superiors    (WF_ROLE_HIERARCHY.relTAB)
187    --   p_subordinates (WF_ROLE_HIERARCHY.relTAB)
188 
189    procedure GetAllRelationships (p_name     in         VARCHAR2,
190                          p_superiors      out NOCOPY WF_ROLE_HIERARCHY.relTAB,
191                          p_subordinates   out NOCOPY WF_ROLE_HIERARCHY.relTAB,
192                          p_direction      in         VARCHAR2 default 'BOTH');
193 
194    -- Denormalize_UserRole_RF (PRIVATE)
195    --  Rule function to update the user and role dates of user/role
196    --  relationships as well as assignments.
197    -- IN
198    --   p_sub_guid  (RAW)
199    --   p_event     ([WF_EVENT_T])
200    -- RETURNS
201    --   VARCHAR2
202 
203    function Denormalize_User_Role_RF ( p_sub_guid  in            RAW,
204                                       p_event     in out NOCOPY WF_EVENT_T )
205                          return VARCHAR2;
206 
207 ----
208 ----
209 -- validateSession() --Checks to see if the hierarchy was updated.
210 --  IN
211 --    p_timeStamp DATE
212 --  RETURNS
213 --    BOOLEAN
214   function validateSession (p_timeStamp in DATE) return boolean;
215 
216 
217 ----
218 ----
219 -- createSession() --Creates a new session to notify other processes of change
220 --  RETURNS
221 --    DATE
222   function createSession return DATE;
223 
224 ----
225 ----
226 -- removeRelationship()-- removes a relationship from the hierarchy
227 -- IN
228 --  p_relationshipID NUMBER
229 
230   procedure removeRelationship(p_relationshipID in NUMBER,
231                                p_forceRemove in BOOLEAN default null);
232 
233 end WF_ROLE_HIERARCHY;