The following lines contain the word 'select', 'insert', 'update' or 'delete':
select WAAV.PROCESS_ACTIVITY_ID, WAAV.NAME, WAAV.VALUE_TYPE,
WAAV.TEXT_VALUE, WAAV.NUMBER_VALUE, WAAV.DATE_VALUE
from WF_ACTIVITY_ATTR_VALUES WAAV
where WAAV.PROCESS_ACTIVITY_ID = c_actid
and WAAV.NAME = c_aname;
select WPA.PROCESS_ITEM_TYPE, WPA.PROCESS_NAME, WPA.PROCESS_VERSION,
WPA.ACTIVITY_ITEM_TYPE, WPA.ACTIVITY_NAME, WPA.INSTANCE_ID,
WPA.INSTANCE_LABEL, WPA.PERFORM_ROLE, WPA.PERFORM_ROLE_TYPE,
WPA.START_END, WPA.DEFAULT_RESULT
into WF_CACHE.ProcessActivities(activity_parent_process.actid)
from WF_PROCESS_ACTIVITIES WPA
where WPA.INSTANCE_ID = activity_parent_process.actid;
SELECT /*+ leading(wias) index(wias,WF_ITEM_ACTIVITY_STATUSES_PK) */
WPA.INSTANCE_ID
INTO parentid
FROM WF_ITEM_ACTIVITY_STATUSES WIAS,
WF_PROCESS_ACTIVITIES WPA
WHERE WPA.ACTIVITY_ITEM_TYPE =
WF_CACHE.ProcessActivities(actid).PROCESS_ITEM_TYPE
AND WPA.ACTIVITY_NAME = WF_CACHE.ProcessActivities(actid).PROCESS_NAME
AND WPA.INSTANCE_ID = WIAS.PROCESS_ACTIVITY
AND WIAS.ITEM_TYPE = activity_parent_process.itemtype
AND WIAS.ITEM_KEY = activity_parent_process.itemkey;
SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
WAT1.TO_PROCESS_ACTIVITY
FROM WF_ACTIVITY_TRANSITIONS WAT1
WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
AND NOT EXISTS
(SELECT NULL
FROM WF_ACTIVITY_TRANSITIONS WAT2
WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
AND WAT2.RESULT_CODE = fromact_result)
)
);
select WPA.PROCESS_ITEM_TYPE, WPA.PROCESS_NAME, WPA.PROCESS_VERSION,
WPA.ACTIVITY_ITEM_TYPE, WPA.ACTIVITY_NAME, WPA.INSTANCE_ID,
WPA.INSTANCE_LABEL, WPA.PERFORM_ROLE, WPA.PERFORM_ROLE_TYPE,
WPA.START_END, WPA.DEFAULT_RESULT
into WF_CACHE.ProcessActivities(complete_activity.actid)
from WF_PROCESS_ACTIVITIES WPA
where WPA.INSTANCE_ID = complete_activity.actid;
WF_CACHE.ActivityTransitions.DELETE;
SELECT PROCESS_ITEM_TYPE, PROCESS_NAME, PROCESS_VERSION,
ACTIVITY_ITEM_TYPE, ACTIVITY_NAME, INSTANCE_ID,
INSTANCE_LABEL, PERFORM_ROLE, PERFORM_ROLE_TYPE,
START_END, DEFAULT_RESULT
FROM WF_PROCESS_ACTIVITIES WPA
WHERE WPA.PROCESS_ITEM_TYPE = itemtype
AND WPA.PROCESS_NAME = process
AND WPA.PROCESS_VERSION = version
AND WPA.START_END = wf_engine.eng_start
AND NOT EXISTS (
SELECT NULL
FROM WF_ACTIVITY_TRANSITIONS WAT
WHERE WAT.TO_PROCESS_ACTIVITY = WPA.INSTANCE_ID);
WF_CACHE.ProcessStartActivities.DELETE;
SELECT C.INSTANCE_ID
FROM WF_PROCESS_ACTIVITIES P, WF_PROCESS_ACTIVITIES C,
WF_ACTIVITIES A
WHERE P.INSTANCE_ID = parent
AND P.ACTIVITY_ITEM_TYPE = C.PROCESS_ITEM_TYPE
AND P.ACTIVITY_NAME = C.PROCESS_NAME
AND C.PROCESS_VERSION = A.VERSION
AND A.NAME = C.PROCESS_NAME
AND A.ITEM_TYPE = C.PROCESS_ITEM_TYPE
AND actdate >= A.BEGIN_DATE
AND actdate < NVL(A.END_DATE, actdate+1)
AND C.START_END = wf_engine.eng_start
AND NOT EXISTS (
SELECT NULL
FROM WF_ACTIVITY_TRANSITIONS WAT
WHERE WAT.TO_PROCESS_ACTIVITY = C.INSTANCE_ID);
SELECT C.INSTANCE_ID
FROM WF_PROCESS_ACTIVITIES P, WF_PROCESS_ACTIVITIES C,
WF_ACTIVITIES A
WHERE P.INSTANCE_ID = parent
AND P.ACTIVITY_ITEM_TYPE = C.PROCESS_ITEM_TYPE
AND P.ACTIVITY_NAME = C.PROCESS_NAME
AND C.PROCESS_VERSION = A.VERSION
AND A.NAME = C.PROCESS_NAME
AND A.ITEM_TYPE = C.PROCESS_ITEM_TYPE
AND actdate >= A.BEGIN_DATE
AND actdate < NVL(A.END_DATE, actdate+1)
AND C.START_END = wf_engine.eng_start;
SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
WAT1.TO_PROCESS_ACTIVITY
FROM WF_ACTIVITY_TRANSITIONS WAT1
WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
AND NOT EXISTS
(SELECT NULL
FROM WF_ACTIVITY_TRANSITIONS WAT2
WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
AND WAT2.RESULT_CODE = fromact_result)
)
);
WF_CACHE.ActivityTransitions.DELETE;
select WPA2.INSTANCE_ID
from WF_PROCESS_ACTIVITIES WPA1,
WF_ACTIVITIES WA,
WF_PROCESS_ACTIVITIES WPA2
where WPA1.INSTANCE_ID = parentid
and WPA2.PROCESS_ITEM_TYPE = WA.ITEM_TYPE
and WPA2.PROCESS_NAME = WA.NAME
and WA.ITEM_TYPE = WPA1.ACTIVITY_ITEM_TYPE
and WA.NAME = WPA1.ACTIVITY_NAME
and actdate >= WA.BEGIN_DATE
and actdate < NVL(WA.END_DATE, actdate+1)
and WPA2.PROCESS_VERSION = WA.VERSION;
SELECT WAT1.FROM_PROCESS_ACTIVITY, WAT1.RESULT_CODE,
WAT1.TO_PROCESS_ACTIVITY
FROM WF_ACTIVITY_TRANSITIONS WAT1
WHERE WAT1.FROM_PROCESS_ACTIVITY = fromact
AND (WAT1.RESULT_CODE in (fromact_result, wf_engine.eng_trans_any)
OR (WAT1.RESULT_CODE = wf_engine.eng_trans_default
AND NOT EXISTS
(SELECT NULL
FROM WF_ACTIVITY_TRANSITIONS WAT2
WHERE WAT2.FROM_PROCESS_ACTIVITY = fromact
AND WAT2.RESULT_CODE = fromact_result)
)
);
WF_CACHE.ActivityTransitions.DELETE;
INSERT INTO WF_ITEM_ACTIVITY_STATUSES_H (
ITEM_TYPE,
ITEM_KEY,
PROCESS_ACTIVITY,
ACTIVITY_STATUS,
ACTIVITY_RESULT_CODE,
ASSIGNED_USER,
NOTIFICATION_ID,
OUTBOUND_QUEUE_ID,
BEGIN_DATE,
END_DATE,
DUE_DATE,
EXECUTION_TIME,
ERROR_NAME,
ERROR_MESSAGE,
ERROR_STACK,
ACTION,
PERFORMED_BY
) SELECT
ITEM_TYPE,
ITEM_KEY,
PROCESS_ACTIVITY,
wf_engine.eng_completed,
decode(ACTIVITY_STATUS,
wf_engine.eng_completed, ACTIVITY_RESULT_CODE,
wf_engine.eng_force),
ASSIGNED_USER,
NOTIFICATION_ID,
OUTBOUND_QUEUE_ID,
nvl(BEGIN_DATE, sysdate),
nvl(END_DATE, sysdate),
DUE_DATE,
EXECUTION_TIME,
ERROR_NAME,
ERROR_MESSAGE,
ERROR_STACK,
ACTION,
PERFORMED_BY
FROM WF_ITEM_ACTIVITY_STATUSES
WHERE ITEM_TYPE = itemtype
AND ITEM_KEY = itemkey
AND PROCESS_ACTIVITY = actid;
Wf_Item_Activity_Status.Delete_Status(itemtype, itemkey, actid);
Wf_Item_Activity_Status.Update_Notification(itemtype, itemkey, actid,
to_number(id), notuser);
temp := Wf_Engine_Util.Execute_Selector_Function(itemtype, itemkey,
wf_engine.eng_testctx);
temp := Wf_Engine_Util.Execute_Selector_Function(itemtype, itemkey,
wf_engine.eng_setctx);
function Execute_Selector_Function(
itemtype in varchar2,
itemkey in varchar2,
runmode in varchar2)
return varchar2
is
result varchar2(30);
SELECT NAME, WF_SELECTOR
INTO WF_CACHE.ItemTypes(witIND)
FROM WF_ITEM_TYPES
WHERE NAME = itemtype;
if (WF_CACHE.ItemTypes(witIND).WF_SELECTOR is null) then
return(null);
Wf_Engine_Util.Function_Call(WF_CACHE.ItemTypes(witIND).WF_SELECTOR,
itemtype, itemkey, null, runmode, result);
Wf_Core.Context('Wf_Engine_Util', 'Execute_Selector_Function',
itemtype, itemkey, runmode);
end Execute_Selector_Function;
selector varchar2(240);
root := Wf_Engine_Util.Execute_Selector_Function(itemtype, itemkey,
wf_engine.eng_run);
select WPAP.ACTIVITY_NAME
into root
from WF_PROCESS_ACTIVITIES WPAP, WF_ACTIVITIES WAP,
WF_PROCESS_ACTIVITIES WPAC, WF_ACTIVITIES WAC
where WAP.ITEM_TYPE = get_root_process.itemtype
and WAP.NAME = 'ROOT'
and actdate >= WAP.BEGIN_DATE
and actdate < nvl(WAP.END_DATE, get_root_process.actdate+1)
and WPAP.PROCESS_ITEM_TYPE = WAP.ITEM_TYPE
and WPAP.PROCESS_NAME = WAP.NAME
and WPAP.PROCESS_VERSION = WAP.VERSION
and WAC.ITEM_TYPE = WPAP.ACTIVITY_ITEM_TYPE
and WAC.NAME = WPAP.ACTIVITY_NAME
and get_root_process.actdate >= WAC.BEGIN_DATE
and get_root_process.actdate <
nvl(WAC.END_DATE, get_root_process.actdate+1)
and WPAC.PROCESS_ITEM_TYPE = WAC.ITEM_TYPE
and WPAC.PROCESS_NAME = WAC.NAME
and WPAC.PROCESS_VERSION = WAC.VERSION
and WPAC.PROCESS_NAME = nvl(get_root_process.process, WPAC.PROCESS_NAME)
and WPAC.INSTANCE_LABEL = get_root_process.label
and WPAC.START_END = wf_engine.eng_start;
SELECT wi.item_type, wi.item_key
FROM WF_ITEMS WI
WHERE END_DATE IS NULL
AND (WI.ITEM_TYPE <> p_itemtype
or WI.ITEM_KEY <> p_itemkey)
START WITH WI.ITEM_TYPE = p_itemtype
AND WI.ITEM_KEY = p_itemkey
CONNECT BY PRIOR WI.ITEM_TYPE = WI.PARENT_ITEM_TYPE
AND PRIOR WI.ITEM_KEY = WI.PARENT_ITEM_KEY;
SELECT wi.item_type, wi.item_key
FROM WF_ITEMS WI
WHERE END_DATE IS NULL
AND WI.ITEM_TYPE <> p_itemtype
AND WI.ITEM_KEY <> p_itemkey
START WITH WI.ITEM_TYPE = p_itemtype
AND WI.ITEM_KEY = p_itemkey
CONNECT BY PRIOR WI.PARENT_ITEM_TYPE = WI.ITEM_TYPE
AND PRIOR WI.PARENT_ITEM_KEY = WI.ITEM_KEY;
SELECT
WIAS.PROCESS_ACTIVITY, WIAS.ACTIVITY_STATUS
FROM WF_PROCESS_ACTIVITIES PA, WF_PROCESS_ACTIVITIES PA1,
WF_ACTIVITIES A1, WF_ITEM_ACTIVITY_STATUSES WIAS
WHERE PA.INSTANCE_ID = pid
AND PA.ACTIVITY_ITEM_TYPE = PA1.PROCESS_ITEM_TYPE
AND PA.ACTIVITY_NAME = PA1.PROCESS_NAME
AND PA1.PROCESS_VERSION = A1.VERSION
AND PA1.PROCESS_ITEM_TYPE = A1.ITEM_TYPE
AND PA1.PROCESS_NAME = A1.NAME
AND actdate >= A1.BEGIN_DATE
AND actdate < NVL(A1.END_DATE, actdate+1)
AND PA1.INSTANCE_ID = WIAS.PROCESS_ACTIVITY
AND WIAS.ITEM_TYPE = itemtype
AND WIAS.ITEM_KEY = itemkey
AND WIAS.ACTIVITY_STATUS <> 'COMPLETE';
SELECT
WIAS.PROCESS_ACTIVITY
FROM WF_ITEM_ACTIVITY_STATUSES WIAS, WF_PROCESS_ACTIVITIES WPA1,
WF_ACTIVITIES WA1, WF_PROCESS_ACTIVITIES WPA2, WF_ACTIVITIES WA2
WHERE WPA1.INSTANCE_ID = processid
AND WPA1.ACTIVITY_ITEM_TYPE = WA1.ITEM_TYPE
AND WPA1.ACTIVITY_NAME = WA1.NAME
AND actdate >= WA1.BEGIN_DATE
AND actdate < NVL(WA1.END_DATE, actdate+1)
AND WA1.ITEM_TYPE = WPA2.PROCESS_ITEM_TYPE
AND WA1.NAME = WPA2.PROCESS_NAME
AND WA1.VERSION = WPA2.PROCESS_VERSION
AND WPA2.ACTIVITY_ITEM_TYPE = WA2.ITEM_TYPE
AND WPA2.ACTIVITY_NAME = WA2.NAME
AND actdate >= WA2.BEGIN_DATE
AND actdate < NVL(WA2.END_DATE, actdate+1)
AND WA2.TYPE = wf_engine.eng_process
AND WPA2.INSTANCE_ID = WIAS.PROCESS_ACTIVITY
AND WIAS.ITEM_TYPE = itemtype
AND WIAS.ITEM_KEY = itemkey
AND WIAS.ACTIVITY_STATUS = 'ACTIVE'; --use literal to force index
SELECT
WIAS.PROCESS_ACTIVITY
FROM WF_ITEM_ACTIVITY_STATUSES WIAS, WF_PROCESS_ACTIVITIES WPA1,
WF_PROCESS_ACTIVITIES WPA2, WF_ACTIVITIES WA
WHERE WPA1.INSTANCE_ID = processid
AND WPA1.ACTIVITY_ITEM_TYPE = WA.ITEM_TYPE
AND WPA1.ACTIVITY_NAME = WA.NAME
AND actdate >= WA.BEGIN_DATE
AND actdate < NVL(WA.END_DATE, actdate+1)
AND WA.ITEM_TYPE = WPA2.PROCESS_ITEM_TYPE
AND WA.NAME = WPA2.PROCESS_NAME
AND WA.VERSION = WPA2.PROCESS_VERSION
AND WPA2.INSTANCE_ID = WIAS.PROCESS_ACTIVITY
AND WIAS.ITEM_TYPE = itemtype
AND WIAS.ITEM_KEY = itemkey
AND WIAS.ACTIVITY_STATUS = 'SUSPEND'; -- use literal to force index
select 1 into dummy from sys.dual where exists
(select null
from WF_MESSAGE_ATTRIBUTES
where MESSAGE_TYPE = msgtype
and MESSAGE_NAME = msg
AND SUBTYPE = 'RESPOND');
Wf_Item_Activity_Status.Update_Notification(itemtype, itemkey, actid,
notid, performer);
select
notification_id,
group_id,
MESSAGE_TYPE, MESSAGE_NAME,
RECIPIENT_ROLE, ORIGINAL_RECIPIENT,
STATUS,
wf_core.random,
MAIL_STATUS, PRIORITY,
BEGIN_DATE, END_DATE, DUE_DATE,
USER_COMMENT,CALLBACK,
CONTEXT
from wf_notifications
where group_id = copy_nid;
select WF_NOTIFICATIONS_S.NEXTVAL
into nid
from SYS.DUAL;
insert into WF_NOTIFICATIONS (
NOTIFICATION_ID, GROUP_ID,
MESSAGE_TYPE, MESSAGE_NAME,
RECIPIENT_ROLE, ORIGINAL_RECIPIENT,
STATUS,
ACCESS_KEY,
MAIL_STATUS, PRIORITY,
BEGIN_DATE, END_DATE, DUE_DATE,
USER_COMMENT,CALLBACK,
CONTEXT)
values (
nid, gid,
ntf_row.MESSAGE_TYPE, ntf_row.MESSAGE_NAME,
ntf_row.RECIPIENT_ROLE, ntf_row.ORIGINAL_RECIPIENT,
ntf_row.STATUS,
wf_core.random,
ntf_row.MAIL_STATUS, ntf_row.PRIORITY,
ntf_row.BEGIN_DATE, ntf_row.END_DATE, ntf_row.DUE_DATE,
ntf_row.USER_COMMENT,ntf_row.CALLBACK,
replace(ntf_row.CONTEXT,':'||old_itemkey||':',':'||new_itemkey||':'));
insert into WF_NOTIFICATION_ATTRIBUTES (
NOTIFICATION_ID,
NAME,
TEXT_VALUE,
NUMBER_VALUE,
DATE_VALUE)
select
nid,
NAME,
TEXT_VALUE,
NUMBER_VALUE,
DATE_VALUE
from WF_NOTIFICATION_ATTRIBUTES
where notification_id = ntf_row.notification_id
union all
select nid,
NAME,
TEXT_DEFAULT,
NUMBER_DEFAULT,
DATE_DEFAULT
from WF_MESSAGE_ATTRIBUTES
where MESSAGE_TYPE = ntf_row.MESSAGE_TYPE
and MESSAGE_NAME = ntf_row.MESSAGE_NAME
and name not in
(select name
from WF_NOTIFICATION_ATTRIBUTES
where notification_id = ntf_row.notification_id);
INSERT INTO wf_comments
(notification_id,
from_role,
from_user,
to_role,
to_user,
comment_date,
action,
action_type,
user_comment,
proxy_role)
SELECT nid,
from_role,
from_user,
to_role,
to_user,
comment_date,
action,
action_type,
user_comment,
proxy_role
FROM wf_comments
WHERE notification_id = ntf_row.notification_id;
select ma.NAME, ma.TYPE, ma.SUBTYPE,
ma.TEXT_DEFAULT, ma.NUMBER_DEFAULT, ma.DATE_DEFAULT,
n.notification_id
from wf_item_activity_statuses_h ias,
wf_notifications n,
wf_message_attributes ma
where ias.item_type = itemtype
and ias.item_key = itemkey
and ias.notification_id = n.notification_id
and ma.message_type = n.message_type
and ma.message_name = n.message_name
and ma.value_type = 'ITEMATTR';
update WF_NOTIFICATION_ATTRIBUTES
set TEXT_VALUE = attr_tvalue,
NUMBER_VALUE = attr_nvalue,
DATE_VALUE = attr_dvalue
where notification_id = message_attr_row.notification_id
and name = message_attr_row.name;
select 'WF'||to_char(WF_ERROR_PROCESSES_S.NEXTVAL)
into errkey
from SYS.DUAL;
SELECT NAME, VALUE_TYPE, TEXT_VALUE
FROM WF_ACTIVITY_ATTR_VALUES
WHERE PROCESS_ACTIVITY_ID = EVENT_ACTIVITY.ACTID
AND substrb(NAME,1,1) <> '#';