The following lines contain the word 'select', 'insert', 'update' or 'delete':
X_LAST_UPDATED_BY out nocopy NUMBER,
X_LAST_UPDATE_LOGIN out nocopy NUMBER
) is
begin
X_CREATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
X_LAST_UPDATED_BY := AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER);
X_LAST_UPDATE_LOGIN := 0;
X_CURRENT_LAST_UPDATE_DATE out nocopy VARCHAR2,
X_CURRENT_OVN out nocopy NUMBER
) is
cursor CSR_GET_APPROVER_TYPE_ID
(
X_ORIG_SYSTEM in VARCHAR2
) is
select APPROVER_TYPE_ID
from AME_APPROVER_TYPES
where ORIG_SYSTEM = X_ORIG_SYSTEM
and sysdate between START_DATE
and nvl(END_DATE - (1/86400), sysdate);
select ACTION_TYPE_ID
from AME_ACTION_TYPES
where NAME = X_ACTION_TYPE_NAME
and sysdate between START_DATE
and nvl(END_DATE - (1/86400), sysdate);
) is select ROWID,
LAST_UPDATED_BY,
to_char(LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
nvl(OBJECT_VERSION_NUMBER,1)
from AME_APPROVER_TYPE_USAGES
where APPROVER_TYPE_ID = X_APPROVER_TYPE_ID
and ACTION_TYPE_ID = X_ACTION_TYPE_ID
and sysdate between START_DATE
and nvl(END_DATE - (1/86400), sysdate);
X_CURRENT_LAST_UPDATE_DATE,
X_CURRENT_OVN;
function DO_UPDATE_INSERT(X_OWNER in NUMBER,
X_CURRENT_OWNER in NUMBER,
X_LAST_UPDATE_DATE in VARCHAR2,
X_CURRENT_LAST_UPDATE_DATE in VARCHAR2,
X_CUSTOM_MODE in VARCHAR2 default null)
return boolean as
begin
return AME_SEED_UTILITY.MERGE_ROW_TEST
(X_OWNER => X_OWNER
,X_CURRENT_OWNER => X_CURRENT_OWNER
,X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE
,X_CURRENT_LAST_UPDATE_DATE => X_CURRENT_LAST_UPDATE_DATE
,X_CUSTOM_MODE => X_CUSTOM_MODE
);
end DO_UPDATE_INSERT;
procedure INSERT_ROW (
X_APPROVER_TYPE_ID in NUMBER,
X_ACTION_TYPE_ID in NUMBER,
X_CREATED_BY in NUMBER,
X_CREATION_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATE_LOGIN in NUMBER,
X_START_DATE in DATE,
X_OBJECT_VERSION_NUMBER in NUMBER
)
is
begin
insert into AME_APPROVER_TYPE_USAGES
(
APPROVER_TYPE_ID,
ACTION_TYPE_ID,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
START_DATE,
END_DATE,
OBJECT_VERSION_NUMBER
) values (
X_APPROVER_TYPE_ID,
X_ACTION_TYPE_ID,
X_CREATED_BY,
X_CREATION_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATE_LOGIN,
X_START_DATE,
AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
X_OBJECT_VERSION_NUMBER);
end INSERT_ROW;
procedure UPDATE_ROW (
X_APPROVER_TYPE_USAGE_ROWID in VARCHAR2,
X_END_DATE in DATE)
is
begin
update AME_APPROVER_TYPE_USAGES set
END_DATE = X_END_DATE
where ROWID = X_APPROVER_TYPE_USAGE_ROWID;
end UPDATE_ROW;
procedure DELETE_ROW (
X_APPROVER_TYPE_ID in NUMBER,
X_ACTION_TYPE_ID in NUMBER
) is
begin
delete from AME_APPROVER_TYPE_USAGES
where APPROVER_TYPE_ID = X_APPROVER_TYPE_ID
and ACTION_TYPE_ID = X_ACTION_TYPE_ID;
end DELETE_ROW;
procedure FORCE_UPDATE_ROW (
X_ROWID in VARCHAR2,
X_CREATED_BY in NUMBER,
X_CREATION_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATE_LOGIN in NUMBER,
X_START_DATE in DATE,
X_END_DATE in DATE,
X_OBJECT_VERSION_NUMBER in NUMBER
) is
begin
update AME_APPROVER_TYPE_USAGES
set CREATED_BY = X_CREATED_BY,
CREATION_DATE = X_CREATION_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
START_DATE = X_START_DATE,
END_DATE = X_END_DATE,
OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
where ROWID = X_ROWID;
end FORCE_UPDATE_ROW;
X_LAST_UPDATE_DATE in VARCHAR2,
X_CUSTOM_MODE in VARCHAR2
)
is
X_ACTION_TYPE_ID NUMBER;
X_CURRENT_LAST_UPDATE_DATE VARCHAR2(19);
X_LAST_UPDATED_BY NUMBER;
X_LAST_UPDATE_LOGIN NUMBER;
X_CURRENT_LAST_UPDATE_DATE,
X_CURRENT_OVN
);
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN
);
INSERT_ROW (
X_APPROVER_TYPE_ID,
X_ACTION_TYPE_ID,
X_CREATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATE_LOGIN,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
1);
FORCE_UPDATE_ROW (
X_APPROVER_TYPE_USAGE_ROWID,
X_CREATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATE_LOGIN,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
AME_SEED_UTILITY.GET_DEFAULT_END_DATE,
X_CURRENT_OVN + 1);
if DO_UPDATE_INSERT
(AME_SEED_UTILITY.OWNER_AS_INTEGER(X_OWNER),
X_CURRENT_OWNER,
X_LAST_UPDATE_DATE,
X_CURRENT_LAST_UPDATE_DATE) then
UPDATE_ROW (
X_APPROVER_TYPE_USAGE_ROWID,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS')-(1/86400));
INSERT_ROW (
X_APPROVER_TYPE_ID,
X_ACTION_TYPE_ID,
X_CREATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATED_BY,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_LAST_UPDATE_LOGIN,
to_date(X_LAST_UPDATE_DATE,'YYYY/MM/DD HH24:MI:SS'),
X_CURRENT_OVN + 1);