1: package body WF_ACTIVITY as
2: /* $Header: wfengb.pls 120.38.12020000.3 2012/11/13 19:42:45 alsosa ship $ */
3:
4:
5: c_actid pls_integer;
26: --
27: procedure ClearCache
28: is
29: begin
30: wf_activity.c_actid := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
27: procedure ClearCache
28: is
29: begin
30: wf_activity.c_actid := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
28: is
29: begin
30: wf_activity.c_actid := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
29: begin
30: wf_activity.c_actid := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
30: wf_activity.c_actid := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
31: wf_activity.c_actdate := to_date(NULL);
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
32: wf_activity.c_type := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
33: wf_activity.c_rerun := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
34: wf_activity.c_cost := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
35: wf_activity.c_error_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
36: wf_activity.c_error_process := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
37: wf_activity.c_message := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
38: wf_activity.c_msgtype := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
39: wf_activity.c_expand_role := '';
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
47: exception
40: wf_activity.c_function := '';
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
47: exception
48: when others then
41: wf_activity.c_function_type := '';
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
47: exception
48: when others then
49: Wf_Core.Context('Wf_Activity', 'ClearCache');
42: wf_activity.c_prole := '';
43: wf_activity.c_prole_type := '';
44: wf_activity.c_start_end := '';
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
47: exception
48: when others then
49: Wf_Core.Context('Wf_Activity', 'ClearCache');
50: raise;
45: wf_activity.c_event_name := '';
46: wf_activity.c_direction := '';
47: exception
48: when others then
49: Wf_Core.Context('Wf_Activity', 'ClearCache');
50: raise;
51: end ClearCache;
52:
53: --
66: status PLS_INTEGER;
67:
68: begin
69: -- Check for refresh
70: if ((actid = wf_activity.c_actid) and
71: (actdate = wf_activity.c_actdate)) then
72: return;
73: end if;
74:
67:
68: begin
69: -- Check for refresh
70: if ((actid = wf_activity.c_actid) and
71: (actdate = wf_activity.c_actdate)) then
72: return;
73: end if;
74:
75: -- Checking global cache.
129: WF_CACHE.Activities(waIND) := WF_CACHE.Activities(0);
130:
131: end if;
132:
133: wf_activity.c_type := WF_CACHE.Activities(waIND).TYPE;
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
130:
131: end if;
132:
133: wf_activity.c_type := WF_CACHE.Activities(waIND).TYPE;
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
131: end if;
132:
133: wf_activity.c_type := WF_CACHE.Activities(waIND).TYPE;
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
132:
133: wf_activity.c_type := WF_CACHE.Activities(waIND).TYPE;
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
133: wf_activity.c_type := WF_CACHE.Activities(waIND).TYPE;
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
134: wf_activity.c_rerun := WF_CACHE.Activities(waIND).RERUN;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
135: wf_activity.c_cost := WF_CACHE.Activities(waIND).COST;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
136: wf_activity.c_error_type := WF_CACHE.Activities(waIND).ERROR_ITEM_TYPE;
137: wf_activity.c_error_process := WF_CACHE.Activities(waIND).ERROR_PROCESS;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
138: wf_activity.c_expand_role := WF_CACHE.Activities(waIND).EXPAND_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
139: wf_activity.c_function := WF_CACHE.Activities(waIND).FUNCTION;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
140: wf_activity.c_function_type := nvl(WF_CACHE.Activities(waIND).FUNCTION_TYPE,
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
141: 'PL/SQL');
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
142: wf_activity.c_message := WF_CACHE.Activities(waIND).MESSAGE;
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
150: -- Save cache key values
143: wf_activity.c_msgtype := WF_CACHE.Activities(waIND).ITEM_TYPE;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
150: -- Save cache key values
151: wf_activity.c_actid := actid;
144: wf_activity.c_event_name := WF_CACHE.Activities(waIND).EVENT_NAME;
145: wf_activity.c_direction := WF_CACHE.Activities(waIND).DIRECTION;
146: wf_activity.c_prole := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
150: -- Save cache key values
151: wf_activity.c_actid := actid;
152: wf_activity.c_actdate := actdate;
147: wf_activity.c_prole_type := WF_CACHE.ProcessActivities(actid).PERFORM_ROLE_TYPE;
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
150: -- Save cache key values
151: wf_activity.c_actid := actid;
152: wf_activity.c_actdate := actdate;
153:
154: exception
155: when others then
148: wf_activity.c_start_end := WF_CACHE.ProcessActivities(actid).START_END;
149:
150: -- Save cache key values
151: wf_activity.c_actid := actid;
152: wf_activity.c_actdate := actdate;
153:
154: exception
155: when others then
156: Wf_Core.Context('Wf_Activity', 'InitCache', to_char(actid),
152: wf_activity.c_actdate := actdate;
153:
154: exception
155: when others then
156: Wf_Core.Context('Wf_Activity', 'InitCache', to_char(actid),
157: to_char(actdate));
158: raise;
159: end InitCache;
160:
172: return varchar2
173: is
174: begin
175:
176: Wf_Activity.InitCache(actid, actdate);
177: return(wf_activity.c_type);
178:
179: exception
180: when NO_DATA_FOUND then
173: is
174: begin
175:
176: Wf_Activity.InitCache(actid, actdate);
177: return(wf_activity.c_type);
178:
179: exception
180: when NO_DATA_FOUND then
181: Wf_Core.Context('Wf_Activity', 'Instance_Type', to_char(actid),
177: return(wf_activity.c_type);
178:
179: exception
180: when NO_DATA_FOUND then
181: Wf_Core.Context('Wf_Activity', 'Instance_Type', to_char(actid),
182: to_char(actdate));
183: Wf_Core.Token('ACTID', to_char(actid));
184: Wf_Core.Token('DATE', to_char(actdate));
185: Wf_Core.Raise('WFENG_ACTID');
183: Wf_Core.Token('ACTID', to_char(actid));
184: Wf_Core.Token('DATE', to_char(actdate));
185: Wf_Core.Raise('WFENG_ACTID');
186: when OTHERS then
187: Wf_Core.Context('Wf_Activity', 'Instance_Type', to_char(actid),
188: to_char(actdate));
189: raise;
190: end Instance_Type;
191:
246: exception
247: when NO_DATA_FOUND then
248: return '';
249: when OTHERS then
250: Wf_Core.Context('Wf_Activity', 'Type', itemtype, activity,
251: to_char(actdate));
252: raise;
253: end Type;
254:
273: function_type out NOCOPY varchar2)
274: is
275: begin
276:
277: Wf_Activity.InitCache(actid, actdate);
278: rerun := wf_activity.c_rerun;
279: type := wf_activity.c_type;
280: cost := wf_activity.c_cost;
281: function_type := wf_activity.c_function_type;
274: is
275: begin
276:
277: Wf_Activity.InitCache(actid, actdate);
278: rerun := wf_activity.c_rerun;
279: type := wf_activity.c_type;
280: cost := wf_activity.c_cost;
281: function_type := wf_activity.c_function_type;
282:
275: begin
276:
277: Wf_Activity.InitCache(actid, actdate);
278: rerun := wf_activity.c_rerun;
279: type := wf_activity.c_type;
280: cost := wf_activity.c_cost;
281: function_type := wf_activity.c_function_type;
282:
283:
276:
277: Wf_Activity.InitCache(actid, actdate);
278: rerun := wf_activity.c_rerun;
279: type := wf_activity.c_type;
280: cost := wf_activity.c_cost;
281: function_type := wf_activity.c_function_type;
282:
283:
284: exception
277: Wf_Activity.InitCache(actid, actdate);
278: rerun := wf_activity.c_rerun;
279: type := wf_activity.c_type;
280: cost := wf_activity.c_cost;
281: function_type := wf_activity.c_function_type;
282:
283:
284: exception
285: when NO_DATA_FOUND then
282:
283:
284: exception
285: when NO_DATA_FOUND then
286: Wf_Core.Context('Wf_Activity', 'Info', to_char(actid), to_char(actdate));
287: Wf_Core.Token('ACTID', to_char(actid));
288: Wf_Core.Token('DATE', to_char(actdate));
289: Wf_Core.Raise('WFENG_ACTID');
290: when OTHERS then
287: Wf_Core.Token('ACTID', to_char(actid));
288: Wf_Core.Token('DATE', to_char(actdate));
289: Wf_Core.Raise('WFENG_ACTID');
290: when OTHERS then
291: Wf_Core.Context('Wf_Activity', 'Info', to_char(actid), to_char(actdate));
292: raise;
293: end Info;
294:
295: --
304: return boolean
305: is
306: begin
307:
308: Wf_Activity.InitCache(actid, actdate);
309: if (wf_activity.c_start_end = wf_engine.eng_end) then
310: return(TRUE);
311: else
312: return(FALSE);
305: is
306: begin
307:
308: Wf_Activity.InitCache(actid, actdate);
309: if (wf_activity.c_start_end = wf_engine.eng_end) then
310: return(TRUE);
311: else
312: return(FALSE);
313: end if;
313: end if;
314:
315: exception
316: when NO_DATA_FOUND then
317: Wf_Core.Context('Wf_Activity', 'Ending', to_char(actid), to_char(actdate));
318: Wf_Core.Token('ACTID', to_char(actid));
319: Wf_Core.Token('DATE', to_char(actdate));
320: Wf_Core.Raise('WFENG_ACTID');
321: when OTHERS then
318: Wf_Core.Token('ACTID', to_char(actid));
319: Wf_Core.Token('DATE', to_char(actdate));
320: Wf_Core.Raise('WFENG_ACTID');
321: when OTHERS then
322: Wf_Core.Context('Wf_Activity', 'Ending', to_char(actid), to_char(actdate));
323: raise;
324: end Ending;
325:
326: --
341: errorprocess in out NOCOPY varchar2)
342: is
343: begin
344:
345: Wf_Activity.InitCache(actid, actdate);
346: errortype:=wf_activity.c_error_type;
347: errorprocess:=wf_activity.c_error_process;
348:
349: -- for backward compatability, ensure error type is set
342: is
343: begin
344:
345: Wf_Activity.InitCache(actid, actdate);
346: errortype:=wf_activity.c_error_type;
347: errorprocess:=wf_activity.c_error_process;
348:
349: -- for backward compatability, ensure error type is set
350: -- this is not necessary for 2.5 onwards.
343: begin
344:
345: Wf_Activity.InitCache(actid, actdate);
346: errortype:=wf_activity.c_error_type;
347: errorprocess:=wf_activity.c_error_process;
348:
349: -- for backward compatability, ensure error type is set
350: -- this is not necessary for 2.5 onwards.
351: if errorprocess is not null and errortype is null then
353: end if;
354:
355: exception
356: when NO_DATA_FOUND then
357: Wf_Core.Context('Wf_Activity', 'Error_Process', to_char(actid),
358: to_char(actdate));
359: Wf_Core.Token('ACTID', to_char(actid));
360: Wf_Core.Token('DATE', to_char(actdate));
361: Wf_Core.Raise('WFENG_ACTID');
359: Wf_Core.Token('ACTID', to_char(actid));
360: Wf_Core.Token('DATE', to_char(actdate));
361: Wf_Core.Raise('WFENG_ACTID');
362: when OTHERS then
363: Wf_Core.Context('Wf_Activity', 'Error_Process', to_char(actid),
364: to_char(actdate));
365: raise;
366: end Error_Process;
367:
380: is
381: actdate date;
382: begin
383: actdate := Wf_Item.Active_Date(itemtype, itemkey);
384: Wf_Activity.InitCache(actid, actdate);
385: return(wf_activity.c_function);
386: exception
387: when others then
388: Wf_Core.Context('Wf_Activity', 'Activity_Function', itemtype, itemkey,
381: actdate date;
382: begin
383: actdate := Wf_Item.Active_Date(itemtype, itemkey);
384: Wf_Activity.InitCache(actid, actdate);
385: return(wf_activity.c_function);
386: exception
387: when others then
388: Wf_Core.Context('Wf_Activity', 'Activity_Function', itemtype, itemkey,
389: to_char(actid));
384: Wf_Activity.InitCache(actid, actdate);
385: return(wf_activity.c_function);
386: exception
387: when others then
388: Wf_Core.Context('Wf_Activity', 'Activity_Function', itemtype, itemkey,
389: to_char(actid));
390: raise;
391: end Activity_Function;
392:
405: is
406: actdate date;
407: begin
408: actdate := Wf_Item.Active_Date(itemtype, itemkey);
409: Wf_Activity.InitCache(actid, actdate);
410: return(wf_activity.c_function_type);
411: exception
412: when others then
413: Wf_Core.Context('Wf_Activity', 'Activity_Function_Type', itemtype, itemkey,
406: actdate date;
407: begin
408: actdate := Wf_Item.Active_Date(itemtype, itemkey);
409: Wf_Activity.InitCache(actid, actdate);
410: return(wf_activity.c_function_type);
411: exception
412: when others then
413: Wf_Core.Context('Wf_Activity', 'Activity_Function_Type', itemtype, itemkey,
414: to_char(actid));
409: Wf_Activity.InitCache(actid, actdate);
410: return(wf_activity.c_function_type);
411: exception
412: when others then
413: Wf_Core.Context('Wf_Activity', 'Activity_Function_Type', itemtype, itemkey,
414: to_char(actid));
415: raise;
416: end Activity_Function_type;
417:
439: actdate date;
440: begin
441:
442: actdate := Wf_Item.Active_Date(itemtype, itemkey);
443: Wf_Activity.InitCache(actid, actdate);
444: message := wf_activity.c_message;
445: msgtype := wf_activity.c_msgtype;
446: expand_role := wf_activity.c_expand_role;
447:
440: begin
441:
442: actdate := Wf_Item.Active_Date(itemtype, itemkey);
443: Wf_Activity.InitCache(actid, actdate);
444: message := wf_activity.c_message;
445: msgtype := wf_activity.c_msgtype;
446: expand_role := wf_activity.c_expand_role;
447:
448: exception
441:
442: actdate := Wf_Item.Active_Date(itemtype, itemkey);
443: Wf_Activity.InitCache(actid, actdate);
444: message := wf_activity.c_message;
445: msgtype := wf_activity.c_msgtype;
446: expand_role := wf_activity.c_expand_role;
447:
448: exception
449: when no_data_found then
442: actdate := Wf_Item.Active_Date(itemtype, itemkey);
443: Wf_Activity.InitCache(actid, actdate);
444: message := wf_activity.c_message;
445: msgtype := wf_activity.c_msgtype;
446: expand_role := wf_activity.c_expand_role;
447:
448: exception
449: when no_data_found then
450: Wf_Core.Context('Wf_Activity', 'Notification_Info', itemtype, itemkey,
446: expand_role := wf_activity.c_expand_role;
447:
448: exception
449: when no_data_found then
450: Wf_Core.Context('Wf_Activity', 'Notification_Info', itemtype, itemkey,
451: to_char(actid));
452: Wf_Core.Token('TYPE', itemtype);
453: Wf_Core.Token('KEY', itemkey);
454: Wf_Core.Token('ACTID', to_char(actid));
453: Wf_Core.Token('KEY', itemkey);
454: Wf_Core.Token('ACTID', to_char(actid));
455: Wf_Core.Raise('WFENG_ITEM_ACTIVITY_STATUS');
456: when others then
457: Wf_Core.Context('Wf_Activity', 'Notification_Info', itemtype, itemkey,
458: to_char(actid));
459: raise;
460: end Notification_Info;
461:
480: actdate date;
481: begin
482:
483: actdate := Wf_Item.Active_Date(itemtype, itemkey);
484: Wf_Activity.InitCache(actid, actdate);
485: event_name := wf_activity.c_event_name;
486: direction := wf_activity.c_direction;
487:
488: exception
481: begin
482:
483: actdate := Wf_Item.Active_Date(itemtype, itemkey);
484: Wf_Activity.InitCache(actid, actdate);
485: event_name := wf_activity.c_event_name;
486: direction := wf_activity.c_direction;
487:
488: exception
489: when no_data_found then
482:
483: actdate := Wf_Item.Active_Date(itemtype, itemkey);
484: Wf_Activity.InitCache(actid, actdate);
485: event_name := wf_activity.c_event_name;
486: direction := wf_activity.c_direction;
487:
488: exception
489: when no_data_found then
490: Wf_Core.Context('Wf_Activity', 'Event_Info', itemtype, itemkey,
486: direction := wf_activity.c_direction;
487:
488: exception
489: when no_data_found then
490: Wf_Core.Context('Wf_Activity', 'Event_Info', itemtype, itemkey,
491: to_char(actid));
492: Wf_Core.Token('TYPE', itemtype);
493: Wf_Core.Token('KEY', itemkey);
494: Wf_Core.Token('ACTID', to_char(actid));
493: Wf_Core.Token('KEY', itemkey);
494: Wf_Core.Token('ACTID', to_char(actid));
495: Wf_Core.Raise('WFENG_ITEM_ACTIVITY_STATUS');
496: when others then
497: Wf_Core.Context('Wf_Activity', 'Event_Info', itemtype, itemkey,
498: to_char(actid));
499: raise;
500: end Event_Info;
501:
521: begin
522:
523: -- Initialize cache for design-time data
524: actdate := Wf_Item.Active_Date(itemtype, itemkey);
525: Wf_Activity.InitCache(actid, actdate);
526:
527: -- Query WIAS for any runtime assigned_user changes
528: select
529: WIAS.ASSIGNED_USER
539: -- 2. If WPA.proletype = 'CONSTANT', then use WPA.prole.
540: -- 3. If WPA.proletype = 'ITEMATTR', then WPA.prole is an item attr ref.
541: if (assuser is not null) then
542: performrole := assuser;
543: elsif (wf_activity.c_prole_type = 'CONSTANT') then
544: performrole := wf_activity.c_prole;
545: else -- (must be proletype = 'ITEMATTR')
546: -- Let the unknown_attribute exception propagate up if raised.
547: -- The substr is to prevent value errors if the attr value is too
540: -- 3. If WPA.proletype = 'ITEMATTR', then WPA.prole is an item attr ref.
541: if (assuser is not null) then
542: performrole := assuser;
543: elsif (wf_activity.c_prole_type = 'CONSTANT') then
544: performrole := wf_activity.c_prole;
545: else -- (must be proletype = 'ITEMATTR')
546: -- Let the unknown_attribute exception propagate up if raised.
547: -- The substr is to prevent value errors if the attr value is too
548: -- long.
546: -- Let the unknown_attribute exception propagate up if raised.
547: -- The substr is to prevent value errors if the attr value is too
548: -- long.
549: performrole := substrb(Wf_Engine.GetItemAttrText(itemtype, itemkey,
550: wf_activity.c_prole), 1, 320);
551: end if;
552:
553: return(performrole);
554: exception
552:
553: return(performrole);
554: exception
555: when no_data_found then
556: Wf_Core.Context('Wf_Activity', 'Perform_Role', itemtype, itemkey,
557: to_char(actid));
558: Wf_Core.Token('TYPE', itemtype);
559: Wf_Core.Token('KEY', itemkey);
560: Wf_Core.Token('ACTID', to_char(actid));
559: Wf_Core.Token('KEY', itemkey);
560: Wf_Core.Token('ACTID', to_char(actid));
561: Wf_Core.Raise('WFENG_ITEM_ACTIVITY_STATUS');
562: when others then
563: Wf_Core.Context('Wf_Activity', 'Perform_Role', itemtype, itemkey,
564: to_char(actid));
565: raise;
566: end Perform_Role;
567:
622: return (WF_CACHE.Activities(waIND).VERSION);
623:
624: exception
625: when NO_DATA_FOUND then
626: Wf_Core.Context('Wf_Activity', 'Version', itemtype, activity,
627: to_char(actdate));
628: Wf_Core.Token('TYPE', itemtype);
629: Wf_Core.Token('NAME', activity);
630: Wf_Core.Token('DATE', to_char(actdate));
629: Wf_Core.Token('NAME', activity);
630: Wf_Core.Token('DATE', to_char(actdate));
631: Wf_Core.Raise('WFENG_ACTIVITY');
632: when OTHERS then
633: Wf_Core.Context('Wf_Activity', 'Version', itemtype, activity,
634: to_char(actdate));
635: raise;
636: end Version;
637:
634: to_char(actdate));
635: raise;
636: end Version;
637:
638: end WF_ACTIVITY;