The following lines contain the word 'select', 'insert', 'update' or 'delete':
select WIAS.ACTIVITY_STATUS, WIAS.ACTIVITY_RESULT_CODE,
WIAS.ASSIGNED_USER,
WIAS.NOTIFICATION_ID,
WIAS.BEGIN_DATE, WIAS.END_DATE,
WIAS.DUE_DATE,
WIAS.ERROR_NAME, WIAS.ERROR_MESSAGE,
WIAS.ERROR_STACK
into wf_item_activity_status.c_status, wf_item_activity_status.c_result,
wf_item_activity_status.c_assigned_user,
wf_item_activity_status.c_notification_id,
wf_item_activity_status.c_begindate, wf_item_activity_status.c_enddate,
wf_item_activity_status.c_duedate,
wf_item_activity_status.c_errname, wf_item_activity_status.c_errmsg,
wf_item_activity_status.c_errstack
from WF_ITEM_ACTIVITY_STATUSES WIAS
where WIAS.ITEM_TYPE = itemtype
and WIAS.ITEM_KEY = itemkey
and WIAS.PROCESS_ACTIVITY = actid;
procedure Update_Notification(itemtype in varchar2,
itemkey in varchar2,
actid in number,
notid in number,
user in varchar2)
is
begin
update
WF_ITEM_ACTIVITY_STATUSES set
NOTIFICATION_ID = notid,
ASSIGNED_USER = user
where ITEM_TYPE = itemtype
and ITEM_KEY = itemkey
and PROCESS_ACTIVITY = actid;
Wf_Core.Context('Wf_Item_Activity_Status', 'Update_Notification', itemtype,
itemkey, to_char(actid), to_char(notid), user);
end Update_Notification;
select
error_name,error_message,error_stack
into l_errname,l_errmsg,l_errstack
from WF_ITEM_ACTIVITY_STATUSES
where ITEM_TYPE = itemtype
and ITEM_KEY = itemkey
and PROCESS_ACTIVITY = actid;
update
WF_ITEM_ACTIVITY_STATUSES set
ERROR_NAME=l_errname,
ERROR_MESSAGE = l_errmsg,
ERROR_STACK = l_errstack
where ITEM_TYPE = itemtype
and ITEM_KEY = itemkey
and PROCESS_ACTIVITY = actid;
update
WF_ITEM_ACTIVITY_STATUSES set
ACTIVITY_STATUS = wf_engine.eng_error,
ACTIVITY_RESULT_CODE = errcode,
ERROR_NAME = errname,
ERROR_MESSAGE = errmsg,
ERROR_STACK = errstack
where ITEM_TYPE = itemtype
and ITEM_KEY = itemkey
and PROCESS_ACTIVITY = actid;
select 1 into l_exist
from WF_ITEM_ACTIVITY_STATUSES_H
where ITEM_TYPE = itemtype
and ITEM_KEY= itemkey
and process_activity = actid
and rownum < 2;
procedure Delete_Status(itemtype in varchar2,
itemkey in varchar2,
actid in number)
is
begin
delete
from WF_ITEM_ACTIVITY_STATUSES
where ITEM_TYPE = itemtype
and ITEM_KEY = itemkey
and PROCESS_ACTIVITY = actid;
Wf_Core.Context('Wf_Item_Activity_Status', 'Delete_Status', itemtype,
itemkey, to_char(actid));
end Delete_Status;
update
WF_ITEM_ACTIVITY_STATUSES set
ACTIVITY_STATUS = create_status.status,
ACTIVITY_RESULT_CODE = nvl(create_status.result, ACTIVITY_RESULT_CODE),
BEGIN_DATE = nvl(create_status.beginning, BEGIN_DATE),
END_DATE = nvl(create_status.ending, END_DATE),
DUE_DATE = decode(create_status.beginning,
to_date(NULL), DUE_DATE,
create_status.duedate),
OUTBOUND_QUEUE_ID = msg_id,
EXECUTION_TIME =
decode(create_status.status,
wf_engine.eng_active, g_ExecCounter,
wf_engine.eng_completed, nvl(EXECUTION_TIME, g_ExecCounter),
wf_engine.eng_error, nvl(EXECUTION_TIME, g_ExecCounter),
EXECUTION_TIME)
where ITEM_TYPE = create_status.itemtype
and ITEM_KEY = create_status.itemkey
and PROCESS_ACTIVITY = create_status.actid;
insert
into WF_ITEM_ACTIVITY_STATUSES (
ITEM_TYPE,
ITEM_KEY,
PROCESS_ACTIVITY,
ACTIVITY_STATUS,
ACTIVITY_RESULT_CODE,
ASSIGNED_USER,
NOTIFICATION_ID,
BEGIN_DATE,
END_DATE,
DUE_DATE,
EXECUTION_TIME,
OUTBOUND_QUEUE_ID
) values (
create_status.itemtype,
create_status.itemkey,
create_status.actid,
create_status.status,
create_status.result,
null,
null,
create_status.beginning,
create_status.ending,
create_status.duedate,
decode(create_status.status,
wf_engine.eng_active, g_ExecCounter,
wf_engine.eng_completed, g_ExecCounter,
wf_engine.eng_error, g_ExecCounter,
null),
create_status.msg_id
);
update
WF_ITEM_ACTIVITY_STATUSES set
ACTIVITY_STATUS = create_status.status,
ACTIVITY_RESULT_CODE = nvl(create_status.result,
ACTIVITY_RESULT_CODE),
BEGIN_DATE = nvl(create_status.beginning, BEGIN_DATE),
END_DATE = nvl(create_status.ending, END_DATE),
DUE_DATE = decode(create_status.beginning,
to_date(NULL), DUE_DATE,
create_status.duedate),
OUTBOUND_QUEUE_ID = msg_id,
EXECUTION_TIME = decode(create_status.status,
wf_engine.eng_active, g_ExecCounter,
wf_engine.eng_completed, nvl(EXECUTION_TIME,
g_ExecCounter),
wf_engine.eng_error, nvl(EXECUTION_TIME,
g_ExecCounter),
EXECUTION_TIME)
where ITEM_TYPE = create_status.itemtype
and ITEM_KEY = create_status.itemkey
and PROCESS_ACTIVITY = create_status.actid;
UPDATE WF_ITEMS SET
END_DATE = to_date(NULL)
WHERE ITEM_TYPE = itemtype
AND ITEM_KEY = itemkey;
UPDATE wf_item_activity_statuses
SET action = Audit.action,
performed_by = l_username
WHERE item_type = Audit.itemtype
AND item_key = Audit.itemkey
AND process_activity = Audit.actid;