The following lines contain the word 'select', 'insert', 'update' or 'delete':
X_LAST_UPDATE_DATE out nocopy DATE,
X_LAST_UPDATED_BY out nocopy NUMBER,
X_LAST_UPDATE_LOGIN out nocopy NUMBER
) is
begin
if X_OWNER = 'SEED' then
X_CREATED_BY := 1;
X_LAST_UPDATED_BY := 1;
X_LAST_UPDATED_BY := 0;
X_LAST_UPDATE_DATE := sysdate;
X_LAST_UPDATE_LOGIN := 0;
procedure INSERT_ROW (
X_ROWID in out nocopy VARCHAR2,
X_NAV_PATH_ID in NUMBER,
X_FROM_NAV_NODE_USAGE_ID in NUMBER,
X_TO_NAV_NODE_USAGE_ID in NUMBER,
X_NAV_BUTTON_REQUIRED in VARCHAR2,
X_SEQUENCE in NUMBER,
X_OVERRIDE_LABEL in VARCHAR2,
X_LANGUAGE_CODE in varchar2 default hr_api.userenv_lang
) is
l_language_code varchar2(3);
cursor C is select ROWID from HR_NAVIGATION_PATHS
where NAV_PATH_ID = X_NAV_PATH_ID
;
insert into HR_NAVIGATION_PATHS (
NAV_PATH_ID,
FROM_NAV_NODE_USAGE_ID,
TO_NAV_NODE_USAGE_ID,
NAV_BUTTON_REQUIRED,
SEQUENCE,
OVERRIDE_LABEL
) values (
X_NAV_PATH_ID,
X_FROM_NAV_NODE_USAGE_ID,
X_TO_NAV_NODE_USAGE_ID,
X_NAV_BUTTON_REQUIRED,
X_SEQUENCE,
X_OVERRIDE_LABEL
);
INSERT INTO HR_NAVIGATION_PATHS_TL(
nav_path_id,
override_label,
language,
source_lang)
select
X_Nav_Path_Id,
x_override_label,
l.language_code,
userenv('LANG')
from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and not exists
(select NULL
from HR_NAVIGATION_PATHS_TL T
where T.NAV_PATH_ID = X_NAV_PATH_ID
and T.LANGUAGE = L.LANGUAGE_CODE);
end INSERT_ROW;
cursor c1 is select
FROM_NAV_NODE_USAGE_ID,
TO_NAV_NODE_USAGE_ID,
NAV_BUTTON_REQUIRED,
SEQUENCE,
OVERRIDE_LABEL
from HR_NAVIGATION_PATHS
where NAV_PATH_ID = X_NAV_PATH_ID
for update of NAV_PATH_ID nowait;
select OVERRIDE_LABEL,
decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
from HR_NAVIGATION_PATHS_TL TL
where nav_path_id = x_nav_path_id
and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
for update of nav_path_id nowait;
procedure UPDATE_ROW (
X_NAV_PATH_ID in NUMBER,
X_FROM_NAV_NODE_USAGE_ID in NUMBER,
X_TO_NAV_NODE_USAGE_ID in NUMBER,
X_NAV_BUTTON_REQUIRED in VARCHAR2,
X_SEQUENCE in NUMBER,
X_OVERRIDE_LABEL in VARCHAR2,
X_LANGUAGE_CODE in varchar2 default hr_api.userenv_lang
) is
l_language_code varchar2(3);
update HR_NAVIGATION_PATHS set
FROM_NAV_NODE_USAGE_ID = X_FROM_NAV_NODE_USAGE_ID,
TO_NAV_NODE_USAGE_ID = X_TO_NAV_NODE_USAGE_ID,
NAV_BUTTON_REQUIRED = X_NAV_BUTTON_REQUIRED,
SEQUENCE = X_SEQUENCE,
OVERRIDE_LABEL = X_OVERRIDE_LABEL
where NAV_PATH_ID = X_NAV_PATH_ID;
update HR_NAVIGATION_PATHS_TL
set
OVERRIDE_LABEL = X_OVERRIDE_LABEL,
SOURCE_LANG = userenv('LANG')
where NAV_PATH_ID = X_NAV_PATH_ID
and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
end UPDATE_ROW;
procedure DELETE_ROW (
X_NAV_PATH_ID in NUMBER
) is
begin
delete from HR_NAVIGATION_PATHS_TL
where NAV_PATH_ID = X_NAV_PATH_ID;
delete from HR_NAVIGATION_PATHS
where NAV_PATH_ID = X_NAV_PATH_ID;
end DELETE_ROW;
delete from HR_NAVIGATION_PATHS_TL T
where not exists
(select NULL
from HR_NAVIGATION_PATHS B
where B.NAV_PATH_ID = T.NAV_PATH_ID
);
update HR_NAVIGATION_PATHS_TL T set (
OVERRIDE_LABEL
) = (select
B.OVERRIDE_LABEL
from HR_NAVIGATION_PATHS_TL B
where B.NAV_PATH_ID = T.NAV_PATH_ID
and B.LANGUAGE = T.SOURCE_LANG)
where (
T.NAV_PATH_ID,
T.LANGUAGE
) in (select
SUBT.NAV_PATH_ID,
SUBT.LANGUAGE
from HR_NAVIGATION_PATHS_TL SUBB, HR_NAVIGATION_PATHS_TL SUBT
where SUBB.NAV_PATH_ID = SUBT.NAV_PATH_ID
and SUBB.LANGUAGE = SUBT.SOURCE_LANG
and (SUBB.OVERRIDE_LABEL <> SUBT.OVERRIDE_LABEL
or (SUBB.OVERRIDE_LABEL is null and SUBT.OVERRIDE_LABEL is not null)
or (SUBB.OVERRIDE_LABEL is not null and SUBT.OVERRIDE_LABEL is null)
));
insert into HR_NAVIGATION_PATHS_TL (
NAV_PATH_ID,
OVERRIDE_LABEL,
LANGUAGE,
SOURCE_LANG
) select
B.NAV_PATH_ID,
B.OVERRIDE_LABEL,
L.LANGUAGE_CODE,
B.SOURCE_LANG
from HR_NAVIGATION_PATHS_TL B, FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and B.LANGUAGE = userenv('LANG')
and not exists
(select NULL
from HR_NAVIGATION_PATHS_TL T
where T.NAV_PATH_ID = B.NAV_PATH_ID
and T.LANGUAGE = L.LANGUAGE_CODE);
select WORKFLOW_ID
into X_WORKFLOW_ID
from HR_WORKFLOWS
where WORKFLOW_NAME = X_WORKFLOW_NAME;
select NAV_NODE_ID
into X_FROM_NAV_NODE_ID
from HR_NAVIGATION_NODES
where NAME = X_NODE_NAME_FROM;
select NAV_NODE_USAGE_ID
into X_FROM_NAV_NODE_USAGE_ID
from HR_NAVIGATION_NODE_USAGES
where WORKFLOW_ID = X_WORKFLOW_ID
and NAV_NODE_ID = X_FROM_NAV_NODE_ID;
select NAV_NODE_ID
into X_TO_NAV_NODE_ID
from HR_NAVIGATION_NODES
where NAME = X_NODE_NAME_TO;
select NAV_NODE_USAGE_ID
into X_TO_NAV_NODE_USAGE_ID
from HR_NAVIGATION_NODE_USAGES
where WORKFLOW_ID = X_WORKFLOW_ID
and NAV_NODE_ID = X_TO_NAV_NODE_ID;
select NAV_PATH_ID
into X_NAV_PATH_ID
from HR_NAVIGATION_PATHS
where FROM_NAV_NODE_USAGE_ID = X_FROM_NAV_NODE_USAGE_ID
and TO_NAV_NODE_USAGE_ID = X_TO_NAV_NODE_USAGE_ID;
select HR_NAVIGATION_PATHS_S.NEXTVAL
into X_NAV_PATH_ID
from dual;
UPDATE_ROW(
X_NAV_PATH_ID,
X_FROM_NAV_NODE_USAGE_ID,
X_TO_NAV_NODE_USAGE_ID,
X_NAV_BUTTON_REQUIRED,
X_SEQUENCE,
X_OVERRIDE_LABEL
);
INSERT_ROW(
X_ROWID,
X_NAV_PATH_ID,
X_FROM_NAV_NODE_USAGE_ID,
X_TO_NAV_NODE_USAGE_ID,
X_NAV_BUTTON_REQUIRED,
X_SEQUENCE,
X_OVERRIDE_LABEL
);
select WORKFLOW_ID
into X_WORKFLOW_ID
from HR_WORKFLOWS
where WORKFLOW_NAME = X_WORKFLOW_NAME;
select NAV_NODE_ID
into X_FROM_NAV_NODE_ID
from HR_NAVIGATION_NODES
where NAME = X_NODE_NAME_FROM;
select NAV_NODE_USAGE_ID
into X_FROM_NAV_NODE_USAGE_ID
from HR_NAVIGATION_NODE_USAGES
where WORKFLOW_ID = X_WORKFLOW_ID
and NAV_NODE_ID = X_FROM_NAV_NODE_ID;
select NAV_NODE_ID
into X_TO_NAV_NODE_ID
from HR_NAVIGATION_NODES
where NAME = X_NODE_NAME_TO;
select NAV_NODE_USAGE_ID
into X_TO_NAV_NODE_USAGE_ID
from HR_NAVIGATION_NODE_USAGES
where WORKFLOW_ID = X_WORKFLOW_ID
and NAV_NODE_ID = X_TO_NAV_NODE_ID;
select NAV_PATH_ID
into X_NAV_PATH_ID
from HR_NAVIGATION_PATHS
where FROM_NAV_NODE_USAGE_ID = X_FROM_NAV_NODE_USAGE_ID
and TO_NAV_NODE_USAGE_ID = X_TO_NAV_NODE_USAGE_ID;
select HR_NAVIGATION_PATHS_S.NEXTVAL
into X_NAV_PATH_ID
from dual;
update HR_NAVIGATION_PATHS_TL
set OVERRIDE_LABEL = X_OVERRIDE_LABEL,
SOURCE_LANG = userenv('LANG')
where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
and nav_path_id = x_nav_path_id;