1 package FND_FUNCTION_SECURITY AUTHID CURRENT_USER as
2 /* $Header: AFSCFUNS.pls 115.6 2003/12/04 19:10:41 pdeluna ship $ */
3
4
5 --
6 -- RESPONSIBILITY_EXISTS
7 -- Check if responsibility exists.
8 -- IN
9 -- responsibility_key (REQUIRED, KEY) - responsibility key
10 -- RETURNS
11 -- TRUE if responsibility exists
12 -- NOTES:
13 -- 1. The responsibility_id in the script must match the id in the tape
14 -- database. To get the id, first create the responsibility in tape,
15 -- then query the id using either examine in the form or sqlplus.
16 --
17 function RESPONSIBILITY_EXISTS(
18 responsibility_key in varchar2)
19 return boolean;
20
21 --
22 -- FORM_FUNCTION_EXISTS
23 -- Check if function exists.
24 -- IN
25 -- function_name (KEY, REQUIRED) - Function developer key name
26 -- RETURNS
27 -- TRUE if function exists
28 --
29 function FORM_FUNCTION_EXISTS(
30 function_name in varchar2)
31 return boolean;
32
33 --
34 -- MENU_EXISTS
35 -- Check if menu exists.
36 -- IN
37 -- menu_name (KEY, REQUIRED) - Menu developer key name
38 -- RETURNS
39 -- TRUE if menu exists
40 --
41 function MENU_EXISTS(
42 menu_name in varchar2)
43 return boolean;
44
45 --
46 -- MENU_ENTRY_EXISTS
47 -- Check if menu entry exists.
48 -- IN
49 -- menu_name (KEY, REQUIRED) - Menu developer key name
50 -- sub_menu_name (KEY) - Developer key name of submenu
51 -- function_name (KEY) - Developer key name of function
52 -- RETURNS
53 -- TRUE if menu entry exists
54 --
55 function MENU_ENTRY_EXISTS(
56 menu_name in varchar2,
57 sub_menu_name in varchar2,
58 function_name in varchar2)
59 return boolean;
60
61 --
62 -- SECURITY_RULE_EXISTS
63 -- Check if security rule exists.
64 -- IN
65 -- responsibility_key (KEY, REQUIRED) - Key of responsibility owning rule
66 -- rule_type (KEY, REQUIRED) - Rule type
67 -- 'F' = Function exclusion
68 -- 'M' = Menu exclusion
69 -- rule_name (KEY, REQUIRED) - Rule name
70 -- Function developer key name (if rule_type = 'F')
71 -- Menu developer key name (if rule_type = 'M')
72 -- RETURNS
73 -- TRUE if security rule exists
74 --
75 function SECURITY_RULE_EXISTS(
76 responsibility_key in varchar2,
77 rule_type in varchar2 default 'F', -- F = Function, M = Menu
78 rule_name in varchar2) -- Function_name or menu_name
79 return boolean;
80
81 --
82 -- RESPONSIBILITY
83 -- Insert/update/delete a GUI responsibility (not 2.3 responsibilities).
84 --
85 -- IN:
86 -- responsibility_id (REQUIRED, KEY) - Responsibility id (see note 1)
87 -- responsibility_key (REQUIRED, KEY) - Responsibility key
88 -- responsibility_name (REQUIRED) - Responsibility name
89 -- application_name (REQUIRED) - Application short name
90 -- description - Description
91 -- start_date (REQUIRED) - Effective Date From
92 -- end_date - Effective Date To
93 -- data_group_name (REQUIRED) - Data Group Name
94 -- data_group_application (REQUIRED) - Data group application short name
95 -- menu_name (REQUIRED) - Menu developer key name
96 -- request_group_name - Request group name
97 -- request_group_application - Request group application short name
98 -- version - '4' for Forms Resp, 'W' for Web Resp
99 -- web_host_name - Web Host Name (for Web Resp)
100 -- web_agent_name - Web Agent Name (for Web Resp)
101 -- delete_flag (REQUIRED) - Delete mode (see package comments)
102 --
103 -- CHILD REFERENCES: (Delete is cascaded to ...)
104 -- (none - see note 2)
105 -- FOREIGN REFERENCES: (Delete prevented if referenced in ...)
106 -- (none - see note 2)
107 --
108 -- NOTES:
109 -- 1. The responsibility_id in the script must match the id in the tape
110 -- database. To get the id, first create the responsibility in tape,
111 -- then query the id using either examine in the form or sqlplus.
112 -- 2. Responsibilities are never deleted. If this procedure is called
113 -- with delete_flag = 'Y' or 'F', the end_date will be set to sysdate
114 -- to effectively disable the responsibility.
115 --
116 procedure RESPONSIBILITY (
117 responsibility_id in number,
118 responsibility_key in varchar2,
119 responsibility_name in varchar2,
120 application in varchar2,
121 description in varchar2 default '',
122 start_date in date,
123 end_date in date default '',
124 data_group_name in varchar2,
125 data_group_application in varchar2,
126 menu_name in varchar2,
127 request_group_name in varchar2 default '',
128 request_group_application in varchar2 default '',
129 version in varchar2 default '4',
130 web_host_name in varchar2 default null,
131 web_agent_name in varchar2 default null,
132 delete_flag in varchar2 default 'N'
133 );
134
135 --
136 -- FORM_FUNCTION
137 -- Insert/update/delete a function.
138 --
139 -- IN:
140 -- function_name (KEY, REQUIRED) - Function developer key name
141 -- form_name - Name of form attached to function
142 -- (Use the actual form name, not the user name or title.)
143 -- parameters - Parameter string for the form
144 -- type - Type flag of the function
145 -- user_function_name (REQUIRED) - User name of function
146 -- (in current language)
147 -- description - Description of function
148 -- delete_flag (REQUIRED) - Delete mode (see package comments)
149 --
150 -- CHILD REFERENCES: (Delete is cascaded to ...)
151 -- Function Security Exclusion Rules
152 --
153 -- FOREIGN REFERENCES: (Delete prevented if referenced in ...)
154 -- GUI Menu Entry
155 -- Attachments
156 -- 2.3 Menu Entry
157 --
158 procedure FORM_FUNCTION (
159 function_name in varchar2,
160 form_name in varchar2 default '',
161 parameters in varchar2 default '',
162 type in varchar2 default '',
163 user_function_name in varchar2 default '',
164 description in varchar2 default '',
165 delete_flag in varchar2 default 'N');
166
167 --
168 -- MENU
169 -- Insert/update/delete a menu.
170 --
171 -- IN:
172 -- menu_name (KEY, REQUIRED) - Menu developer key
173 -- user_menu_name (REQUIRED) - Menu user name (in current language)
174 -- description - Menu description (in current language)
175 -- delete_flag (REQUIRED) - Delete mode (see package comments)
176 --
177 -- CHILD REFERENCES: (Delete is cascaded to ...)
178 -- Menu Entry (entries of this menu)
179 -- Function Security Exclusion Rules
180 --
181 -- FOREIGN REFERENCES: (Delete prevented if referenced in ...)
182 -- Menu Entry (as a submenu of another menu) (see note)
183 -- Responsibility (as the main menu of a responsibility)
184 --
185 -- NOTE:
186 -- To delete an entire menu tree, delete the top level menu of the tree
187 -- first, then work down to the leaves one level at a time to avoid
188 -- invalidating foreign references along the way.
189 --
190 procedure MENU(
191 menu_name in varchar2,
192 user_menu_name in varchar2 default '',
193 description in varchar2 default '',
194 delete_flag in varchar2 default 'N');
195
196 --
197 -- MENU_ENTRY
198 -- Insert/update/delete an individual menu entry.
199 --
200 -- IN:
201 -- menu_name (KEY, REQUIRED) - Menu developer key
202 -- entry_sequence - Sequence number (see note below)
203 -- prompt - Entry prompt (in current language)
204 -- sub_menu_name (KEY) - Developer key name of submenu
205 -- function_name (KEY) - Developer key name of function
206 -- description - Entry description (in current language)
207 -- delete_flag (REQUIRED) - Delete mode (see package comments)
208 --
209 -- CHILD REFERENCES: (Delete is cascaded to ...)
210 -- (none)
211 -- FOREIGN REFERENCES: (Delete prevented if referenced in ...)
212 -- (none)
213 --
214 -- NOTE:
215 -- Menu entries are identified by the triple of menu_name, sub_menu_name,
216 -- and function_name, not by entry_sequence. The entry_sequence argument is
217 -- used only when inserting a new entry.
218 --
219 procedure MENU_ENTRY (
220 menu_name in varchar2,
221 entry_sequence in number,
222 prompt in varchar2 default '',
223 sub_menu_name in varchar2 default '',
224 function_name in varchar2 default '',
225 description in varchar2 default '',
226 delete_flag in varchar2 default 'N');
227
228 --
229 -- SECURITY_RULE
230 -- Insert/update/delete a function security exclusion rule.
231 --
232 -- IN:
233 -- responsibility_key (KEY, REQUIRED) - Key of responsibility owning rule
234 -- rule_type (KEY, REQUIRED) - Rule type
235 -- 'F' = Function exclusion
236 -- 'M' = Menu exclusion
237 -- rule_name (KEY, REQUIRED) - Rule name
238 -- Function developer key name (if rule_type = 'F')
239 -- Menu developer key name (if rule_type = 'M')
240 -- delete_flag (REQUIRED) - Delete mode (see package comments)
241 --
242 -- CHILD REFERENCES: (Delete is cascaded to ...)
243 -- (none)
244 -- FOREIGN REFERENCES: (Delete prevented if referenced in ...)
245 -- (none)
246 --
247 procedure SECURITY_RULE (
248 responsibility_key in varchar2,
249 rule_type in varchar2 default 'F',
250 rule_name in varchar2,
251 delete_flag in varchar2 default 'N');
252
253 --
254 -- UPDATE_FUNCTION_NAME
255 -- This procedure updates the developer key of an existing function.
256 -- The function with name oldname is located, and the name updated to newname.
257 -- If a function already exists with name newname, it is deleted in favor of
258 -- the updated row with oldname.
259 --
260 -- IN:
261 -- oldname (REQUIRED) - old function developer name
262 -- newname (REQUIRED) - new function developer name
263 --
264 -- NOTES:
265 -- The user is responsible for making sure all references to the
266 -- function in forms, code, etc, are updated to the new name.
267 -- Under normal circumstances developer keys should never be changed. This
268 -- procedure should only be used for new functions not in general use, or to
269 -- fix bugs caused by inconsistent data created in previous patches.
270 --
271 procedure UPDATE_FUNCTION_NAME(
272 oldname in varchar2,
273 newname in varchar2);
274
275 --
276 -- UPDATE_MENU_NAME
277 -- This procedure updates the developer key of an existing menu.
278 -- The menu with name oldname is located, and the name updated to newname.
279 -- If a menu already exists with name newname, it is deleted in favor of
280 -- the updated row with oldname.
281 --
282 -- IN:
283 -- oldname (REQUIRED) - old menu developer name
284 -- newname (REQUIRED) - new menu developer name
285 --
286 -- NOTES:
287 -- The user is responsible for making sure all references to the
288 -- menu in forms, code, etc, are updated to the new name.
289 -- Under normal circumstances developer keys should never be changed. This
290 -- procedure should only be used for new menus not in general use, or to
291 -- fix bugs caused by inconsistent data created in previous patches.
292 --
293 procedure UPDATE_MENU_NAME(
294 oldname in varchar2,
295 newname in varchar2);
296
297 end FND_FUNCTION_SECURITY;