[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;