1 PACKAGE wf_item_definition_util_pub AUTHID CURRENT_USER AS
2 /* $Header: wfdefs.pls 115.18 2002/12/03 01:12:21 dlam ship $ */
3
4 /*===========================================================================
5 PACKAGE NAME: wf_item_definition_util_pub
6
7 DESCRIPTION:
8
9 OWNER: GKELLNER
10
11 TABLES/RECORDS:
12
13 PROCEDURES/FUNCTIONS:
14
15 ============================================================================*/
16
17 /*===========================================================================
18 PROCEDURE NAME: draw_custom_protect_details
19
20 DESCRIPTION: Writes out the custom and protect prompts and values
21 for a detailed listing of a workflow object.
22
23 PARAMETERS:
24 p_customization_level IN
25 Customization Level value
26 p_protection_level IN
27 Protection Level value
28
29
30 ============================================================================*/
31 PROCEDURE draw_custom_protect_details
32 (p_customization_level IN VARCHAR2,
33 p_protection_level IN VARCHAR2);
34
35
36 /*===========================================================================
37 PROCEDURE NAME: draw_read_write_execute_details
38
39 DESCRIPTION: Writes out the read, write, execute role prompts
40 and values for a detailed listing of a workflow object.
41
42 PARAMETERS:
43 p_read_role IN Read role value
44
45 p_write_role IN
46 Write role value
47
48 p_execute_role IN
49 Execute role value
50
51 p_draw_execute_role IN
52 Not all activity objects (Notifications) have an
53 execute role. This parameters prevents that prompt
54 from being listed.
55
56
57 ============================================================================*/
58 PROCEDURE draw_read_write_exe_details
59 (p_read_role IN VARCHAR2,
60 p_write_role IN VARCHAR2,
61 p_execute_role IN VARCHAR2,
62 p_draw_execute_role IN BOOLEAN);
63
64 /*===========================================================================
65 PROCEDURE NAME: create_hotlink_to_details
66
67 DESCRIPTION:
68
69 The creation of the anchor from the summary frame to the detail
70 frame was very complex so I've extracted the function into its
71 own routine. I used the straight tabledata call rather than
72 the htf.anchor2 web server call because the anchor2 created an
73 HREF string that would never seem to create the proper syntax
74
75 How this call works is that the A HREF is preceeded by the indent
76 characters. This is so the indent characters are not part of the
77 anchor and therefore do not appear as underlined text. The second
78 component is the link to the url for the details frame. When using
79 frames and anchors you must provide the full url that was used to
80 create the frame including all the parameters. Since I don't store
81 this parameter in any of my pl*sql tables, I had to add this parameter
82 to all the procedures so I could pass it through.
83 The next component is the tag within the detail frame that you
84 are going to navigate to. The tag is composed of two parts.
85 The first part is the object_type_prefix
86 (ATTRIBUTE, PROCESS, NOTIFICATION, MESSAGE, MESSAGE_ATTR, etc.)
87 with a '#' in front of it to tell it that its a local
88 link in the existing frame. The second part is the internal name
89 of the object. This is followed by the frame target which is
90 DETAILS, and then the name that is displayed to the user
91 as the link name which is the display name for the object.
92 The alignment is always left and I prevented wrapping so you
93 don't get every line being double spaced if one attribute or
94 some other object is a bit longer than what fits in the summary
95 frame. This is especially effective if the user resizes the
96 summary frame down to something small.
97
98 PARAMETERS:
99 p_item_type IN Frame parameter for the item type
100
101 p_effective_date IN
102 Frame parameter for the effective date
103
104 p_object_type_prefix IN
105 Type of workflow object that you are going to create
106
107 p_internal_name IN
108 Internal name of that object
109
110 p_display_name IN
111 Display name of the object
112
113 p_detail_prompt IN
114 If this is a link between a detail object and other
115 detail object then what prompt would you like to
116 preceed the value with
117
118 p_indent_level IN
119 How many space would you like to indent this
120 listing from the left border of the screen.
121
122 ============================================================================*/
123 PROCEDURE create_hotlink_to_details (
124 p_item_type IN VARCHAR2,
125 p_effective_date IN DATE,
126 p_object_type_prefix IN VARCHAR2,
127 p_internal_name IN VARCHAR2,
128 p_display_name IN VARCHAR2,
129 p_detail_prompt IN VARCHAR2,
130 p_indent_level IN NUMBER);
131
132
133
134 /*===========================================================================
135 PROCEDURE NAME: create_details_hotlink_target
136
137 DESCRIPTION:
138 Creates the destination target in the detail frame for a hotlink.
139 The destination target name is based on the a name comprised of
140 two parts. The first part is the object_type_prefix
141 (ATTRIBUTE, PROCESS, NOTIFICATION, MESSAGE, MESSAGE_ATTR, etc.)
142 The second part is the internal name of the object.
143
144 PARAMETERS:
145
146 p_object_type_prefix IN
147 Type of workflow object that you are going to create
148
149 p_internal_name IN
150 Internal name of that object
151
152 p_display_name IN
153 Display name of the object
154
155 p_display_prompt IN
156 The prompt would you like to preceed the value with
157
158 p_indent_level IN
159 How many space would you like to indent this
160 listing from the left border of the screen.
161
162 ============================================================================*/
163 PROCEDURE create_details_hotlink_target (
164 p_object_type_prefix IN VARCHAR2,
165 p_internal_name IN VARCHAR2,
166 p_display_name IN VARCHAR2,
167 p_display_prompt IN VARCHAR2,
168 p_indent_level IN NUMBER);
169
170
171 /*===========================================================================
172 PROCEDURE NAME: draw_summary_section_title
173
174 DESCRIPTION:
175 Draws the bold section title for an object type
176 in the summary frame.
177
178 PARAMETERS:
179
180 p_section_title IN
181 Section title
182
183 p_indent_level IN
184 How many space would you like to indent this
185 listing from the left border of the screen.
186
187 ============================================================================*/
188 PROCEDURE draw_summary_section_title (
189 p_section_title IN VARCHAR2,
190 p_indent_level IN NUMBER);
191
192 /*===========================================================================
193 PROCEDURE NAME: draw_detail_section_title
194
195 DESCRIPTION:
196 Draws the bold section title and the thick line
197 for an object type in the detail frame.
198
199 PARAMETERS:
200
201 p_section_title IN
202 Section title
203
204 p_indent_level IN
205 How many space would you like to indent this
206 listing from the left border of the screen.
207
208 ============================================================================*/
209 PROCEDURE draw_detail_section_title (
210 p_section_title IN VARCHAR2,
211 p_indent_level IN NUMBER);
212
213 /*===========================================================================
214 PROCEDURE NAME: draw_detail_prompt_value_pair
215
216 DESCRIPTION:
217 Draws the bold detail section prompt and its
218 corresponding value in the detail frame
219
220 PARAMETERS:
221
222 p_prompt IN Prompt to be shown in bold
223
224 p_value IN Value corresponding to the prompt
225
226 ============================================================================*/
227 PROCEDURE draw_detail_prompt_value_pair
228 (p_prompt IN VARCHAR2,
229 p_value IN VARCHAR2);
230
231 /*===========================================================================
232 PROCEDURE NAME: draw_detail_prompt
233
234 DESCRIPTION:
235 Draws the bold detail section prompt
236
237 PARAMETERS:
238
239 p_prompt IN Prompt to be shown in bold
240
241 ============================================================================*/
242 PROCEDURE draw_detail_prompt
243 (p_prompt IN VARCHAR2);
244
245 /*===========================================================================
246 PROCEDURE NAME: draw_detail_value
247
248 DESCRIPTION:
249 Draws the value of an attribute
250
251 PARAMETERS:
252
253 p_value IN Value to be drawn
254
255 ============================================================================*/
256 PROCEDURE draw_detail_value
257 (p_value IN VARCHAR2);
258
259 /*===========================================================================
260 PROCEDURE NAME: activity_titles_list
261
262 DESCRIPTION:
263 Check how many activity types got printed. If the list didn't
264 to one of the activity types because there weren't any of that
265 then catch it here and print it.
266
267
268 PARAMETERS:
269 p_highest_level IN
270 What was the highest activity type reached
271
272 p_current_level IN
273 What is the current activity level
274
275 p_indent_level IN
276 How many space would you like to indent this
277 listing from the left border of the screen.
278
279 ============================================================================*/
280 PROCEDURE activity_titles_list (
281 p_highest_level IN NUMBER,
282 p_current_level IN NUMBER,
283 p_indent_level IN NUMBER);
284
285 /*===========================================================================
286 PROCEDURE NAME: activity_titles_details
287
288 DESCRIPTION:
289 Check how many activity types got printed. If the list didn't
290 to one of the activity types because there weren't any of that
291 then catch it here and print it.
292
293
294 PARAMETERS:
295 p_highest_level IN
296 What was the highest activity type reached
297
298 p_current_level IN
299 What is the current activity level
300
301 ============================================================================*/
302 PROCEDURE activity_titles_details (
303 p_highest_level IN NUMBER,
304 p_current_level IN NUMBER);
305
306 /*===========================================================================
307 PROCEDURE NAME: validate date
308
309 DESCRIPTION:
310 Validates and converts a char datatype date string
311 to a date datatype that the user has entered
312 is in a valid format based on teh NLS_DATE_FORMAT
313 parameter.
314
315 PARAMETERS:
316
317 p_char_date IN Char datatype date string
318 p_date_date OUT Return the date as a date datatype
319 p_valid_date OUT
320 Tells the caller whether the string could be
321 converted to a date or not.
322 p_expected_format OUT
323 Tells the caller what is the expected format is
324 for the date
325
326 ============================================================================*/
327 PROCEDURE validate_date (p_char_date IN VARCHAR2,
328 p_date_date OUT NOCOPY DATE,
329 p_valid_date OUT NOCOPY BOOLEAN,
330 p_expected_format OUT NOCOPY VARCHAR2);
331
332
333
334 /*===========================================================================
335 PROCEDURE NAME: create_checkbox
336
337 DESCRIPTION:
338 Create a checkbox entry in a table
339
340 PARAMETERS:
341 p_name IN Name of the checkbox
342
343 p_value IN Value that is returned as a parameter when
344 this checkbox is checked
345
346 p_checked IN
347 Is the default value checked or unchecked
348 (Values = 'Y' or 'N')
349
350 p_prompt IN Checkbox prompt show to user
351
352 p_image_name IN
353 Icon name for the checkbox
354
355 ============================================================================*/
356 PROCEDURE create_checkbox (
357 p_name IN VARCHAR2,
358 p_value IN VARCHAR2,
359 p_checked IN VARCHAR2,
360 p_prompt IN VARCHAR2,
361 p_image_name IN VARCHAR2 DEFAULT NULL,
362 p_new_row IN BOOLEAN DEFAULT FALSE
363 );
364
365 END wf_item_definition_util_pub;