DBA Data[Home] [Help]

APPS.WF_ENGINE_UTIL dependencies on WF_ACTIVITY

Line 46: from WF_ACTIVITY_ATTR_VALUES WAAV

42: -- Optimizing the code using a single cursor with binds
43: cursor curs_activityattr (c_actid NUMBER, c_aname VARCHAR2) is
44: select WAAV.PROCESS_ACTIVITY_ID, WAAV.NAME, WAAV.VALUE_TYPE,
45: WAAV.TEXT_VALUE, WAAV.NUMBER_VALUE, WAAV.DATE_VALUE
46: from WF_ACTIVITY_ATTR_VALUES WAAV
47: where WAAV.PROCESS_ACTIVITY_ID = c_actid
48: and WAAV.NAME = c_aname;
49:
50: --

Line 293: FROM WF_ACTIVITY_TRANSITIONS WAT1

289: -- and result
290: cursor children (fromact pls_integer, fromact_result varchar2) is
291: SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
292: WAT1.TO_PROCESS_ACTIVITY
293: FROM WF_ACTIVITY_TRANSITIONS WAT1
294: WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
295: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
296: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
297: AND NOT EXISTS

Line 299: FROM WF_ACTIVITY_TRANSITIONS WAT2

295: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
296: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
297: AND NOT EXISTS
298: (SELECT NULL
299: FROM WF_ACTIVITY_TRANSITIONS WAT2
300: WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
301: AND WAT2.RESULT_CODE = fromact_result)
302: )
303: );

Line 339: acttype := Wf_Activity.Instance_Type(actid, actdate);

335: l_LinkCollision BOOLEAN;
336:
337: begin
338: actdate := Wf_Item.Active_Date(itemtype, itemkey);
339: acttype := Wf_Activity.Instance_Type(actid, actdate);
340:
341: if (runpntf and (acttype = wf_engine.eng_notification)) then
342: -- First execute possible post-notification function to see if activity
343: -- should really complete.

Line 434: if (Wf_Activity.Ending(actid, actdate)) then

430: -- need for this process to kill it's children. Instead, the
431: -- complete_activity is allowed to filter up to the top-level
432: -- ending process, which kills all the children in its tree in one shot.
433: -- 2. There are no transitions out of an ending process.
434: if (Wf_Activity.Ending(actid, actdate)) then
435:
436: -- SS: Get the result code to complete the parent process with.
437: -- The result for the parent process will always be the default_result
438: -- of the ending activity, regardless of the result of the activity

Line 612: FROM WF_ACTIVITY_TRANSITIONS WAT

608: AND WPA.PROCESS_VERSION = version
609: AND WPA.START_END = wf_engine.eng_start
610: AND NOT EXISTS (
611: SELECT NULL
612: FROM WF_ACTIVITY_TRANSITIONS WAT
613: WHERE WAT.TO_PROCESS_ACTIVITY = WPA.INSTANCE_ID);
614:
615: childarr InstanceArrayTyp; -- Place holder for all the instance id
616: -- selected from starter_children cursor

Line 679: Wf_Activity.Info(processid, actdate, rerun, acttype, cost, ftype);

675: --
676: --
677: -- SYNCHMODE: Synch processes cannot be deferred.
678: actdate := Wf_Item.Active_Date(itemtype, itemkey);
679: Wf_Activity.Info(processid, actdate, rerun, acttype, cost, ftype);
680: if ((itemkey <> wf_engine.eng_synch) and
681: (cost > wf_engine.threshold)) then
682: defer_mode := TRUE;
683: end if;

Line 927: FROM WF_ACTIVITY_TRANSITIONS WAT

923: AND actdate < NVL(A.END_DATE, actdate+1)
924: AND C.START_END = wf_engine.eng_start
925: AND NOT EXISTS (
926: SELECT NULL
927: FROM WF_ACTIVITY_TRANSITIONS WAT
928: WHERE WAT.TO_PROCESS_ACTIVITY = C.INSTANCE_ID);
929:
930: rerun varchar2(8); -- Activity rerun flag
931: cost number; -- Activity cost

Line 991: Wf_Activity.Info(actid, actdate, rerun, acttype,

987:
988: -- Get the information of this activity
989: -- Out of these three return variables, cost is the only one could be null
990: actdate := Wf_Item.Active_Date(itemtype, itemkey);
991: Wf_Activity.Info(actid, actdate, rerun, acttype,
992: cost, act_functype);
993:
994: -- If this activity is currently active, do nothing
995: -- If this activity has already been completed, check the rerun flag

Line 1164: FROM WF_ACTIVITY_TRANSITIONS WAT1

1160: -- Select the to activity(ies) by given the from activity and result
1161: cursor to_activities(fromact in pls_integer, fromact_result varchar2) is
1162: SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
1163: WAT1.TO_PROCESS_ACTIVITY
1164: FROM WF_ACTIVITY_TRANSITIONS WAT1
1165: WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
1166: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
1167: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
1168: AND NOT EXISTS

Line 1170: FROM WF_ACTIVITY_TRANSITIONS WAT2

1166: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
1167: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
1168: AND NOT EXISTS
1169: (SELECT NULL
1170: FROM WF_ACTIVITY_TRANSITIONS WAT2
1171: WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
1172: AND WAT2.RESULT_CODE = fromact_result)
1173: )
1174: );

Line 1204: typ := Wf_Activity.Instance_Type(actid, actdate);

1200: end if;
1201:
1202: -- Undo the current activity, depending on type
1203: actdate := Wf_Item.Active_Date(itemtype, itemkey);
1204: typ := Wf_Activity.Instance_Type(actid, actdate);
1205: if (typ = wf_engine.eng_process) then
1206: -- For loop to get the starting activities of this process
1207: i := 0;
1208: for child in starter_children(actid) loop

Line 1402: FROM WF_ACTIVITY_TRANSITIONS WAT1

1398: -- Cursor to select following activities
1399: cursor to_activities(fromact in pls_integer, fromact_result in varchar2) is
1400: SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
1401: WAT1.TO_PROCESS_ACTIVITY
1402: FROM WF_ACTIVITY_TRANSITIONS WAT1
1403: WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
1404: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
1405: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
1406: AND NOT EXISTS

Line 1408: FROM WF_ACTIVITY_TRANSITIONS WAT2

1404: AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
1405: OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
1406: AND NOT EXISTS
1407: (SELECT NULL
1408: FROM WF_ACTIVITY_TRANSITIONS WAT2
1409: WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
1410: AND WAT2.RESULT_CODE = fromact_result)
1411: )
1412: );

Line 1728: acttype := Wf_Activity.Instance_Type(actid, actdate);

1724: acttype varchar2(8);
1725: resume_date date;
1726: begin
1727: actdate := Wf_Item.Active_Date(itemtype, itemkey);
1728: acttype := Wf_Activity.Instance_Type(actid, actdate);
1729:
1730: if (acttype = wf_engine.eng_function) then
1731: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);
1732: if (funcname is null) then

Line 1731: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);

1727: actdate := Wf_Item.Active_Date(itemtype, itemkey);
1728: acttype := Wf_Activity.Instance_Type(actid, actdate);
1729:
1730: if (acttype = wf_engine.eng_function) then
1731: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);
1732: if (funcname is null) then
1733: Wf_Core.Token('TYPE', itemtype);
1734: Wf_Core.Token('NAME', to_char(actid));
1735: Wf_Core.Raise('WFENG_ACTIVITY_FUNCTION');

Line 2016: -- acttype := Wf_Activity.Instance_Type(actid, actdate);

2012: /* Bug 1341139
2013: Check the activity type and incase of a post-notification function
2014: make Resultout optional */
2015: -- actdate := Wf_Item.Active_Date(itemtype, itemkey);
2016: -- acttype := Wf_Activity.Instance_Type(actid, actdate);
2017:
2018: -- if (acttype = wf_engine.eng_notification) then
2019: if (Wf_Engine.context_nid is not null) then
2020: temp := null;

Line 2373: if (Wf_Activity.Instance_Type(childid, actdate) =

2369: i := 0;
2370: while (childarr(i) is not null) loop
2371: childid := childarr(i);
2372:
2373: if (Wf_Activity.Instance_Type(childid, actdate) =
2374: wf_engine.eng_process) then
2375: -- If child is a process then recursively kill its children
2376: Wf_Engine_Util.Process_Kill_Children(itemtype, itemkey, childid);
2377: else

Line 2581: Wf_Activity.Notification_Info(itemtype, itemkey, actid, msg, msgtype,

2577: end if;
2578:
2579: -- Get the message, perform role, and timeout
2580: -- msg and prole could came back as null since they are nullable columns
2581: Wf_Activity.Notification_Info(itemtype, itemkey, actid, msg, msgtype,
2582: expand_role);
2583: prole := Wf_Activity.Perform_Role(itemtype, itemkey, actid);
2584:
2585: Wf_Engine_Util.Notification_Send(itemtype, itemkey, actid, msg, msgtype,

Line 2583: prole := Wf_Activity.Perform_Role(itemtype, itemkey, actid);

2579: -- Get the message, perform role, and timeout
2580: -- msg and prole could came back as null since they are nullable columns
2581: Wf_Activity.Notification_Info(itemtype, itemkey, actid, msg, msgtype,
2582: expand_role);
2583: prole := Wf_Activity.Perform_Role(itemtype, itemkey, actid);
2584:
2585: Wf_Engine_Util.Notification_Send(itemtype, itemkey, actid, msg, msgtype,
2586: prole, expand_role, result);
2587:

Line 2679: performer := nvl(Wf_Activity.Perform_Role(itemtype, itemkey, actid),

2675: -- Check for a change in the performer. If the notification
2676: -- was automatically routed by Send, the assigned_user might have
2677: -- been updated. If so, reset the performer to the new role to
2678: -- avoid over-writing with the old value.
2679: performer := nvl(Wf_Activity.Perform_Role(itemtype, itemkey, actid),
2680: prole);
2681:
2682: -- If there are no respond-type attributes to this message,
2683: -- then no response is expected. Instead of returning a 'NOTIFIED'

Line 2981: Wf_Activity.Error_Process(erractid, actdate, errortype, errorprocess);

2977: end if;
2978:
2979: erractid := actid;
2980:
2981: Wf_Activity.Error_Process(erractid, actdate, errortype, errorprocess);
2982:
2983: while ((errorprocess is null) and (erractid <> rootid)) loop
2984: erractid := Wf_Engine_Util.Activity_Parent_Process(itemtype, itemkey,
2985: erractid);

Line 2986: Wf_Activity.Error_Process(erractid, actdate, errortype, errorprocess);

2982:
2983: while ((errorprocess is null) and (erractid <> rootid)) loop
2984: erractid := Wf_Engine_Util.Activity_Parent_Process(itemtype, itemkey,
2985: erractid);
2986: Wf_Activity.Error_Process(erractid, actdate, errortype, errorprocess);
2987: end loop;
2988:
2989: -- If no error process, then nothing to do.
2990: -- Provided WF_HANDLEERRORS is set to 'N'

Line 3152: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);

3148: l_responder varchar2(320);
3149:
3150: begin
3151: -- See if a post-notification function was attached
3152: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);
3153:
3154: -- If there is no post-notification function,
3155: -- then no action is required so exit immediately.
3156: if (funcname is null) then

Line 3270: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);

3266: result varchar2(2000);
3267: errcode varchar2(2000);
3268:
3269: begin
3270: funcname := Wf_Activity.Activity_Function(itemtype, itemkey, actid);
3271:
3272: -- No callback function, nothing to do.
3273: if (funcname is null) then
3274: return;

Line 3460: FROM WF_ACTIVITY_ATTR_VALUES

3456: -- activity attribute
3457:
3458: CURSOR CURS_ACTATTRS IS
3459: SELECT NAME, VALUE_TYPE, TEXT_VALUE
3460: FROM WF_ACTIVITY_ATTR_VALUES
3461: WHERE PROCESS_ACTIVITY_ID = EVENT_ACTIVITY.ACTID
3462: AND substrb(NAME,1,1) <> '#';
3463:
3464: --Bug 2761887

Line 3478: Wf_Activity.Event_Info(itemtype, itemkey, actid, event_name,

3474: return;
3475: end if;
3476:
3477: -- Get event name and direction
3478: Wf_Activity.Event_Info(itemtype, itemkey, actid, event_name,
3479: direction);
3480:
3481: if (direction = wf_engine.eng_receive) then
3482: -- RECEIVE event