The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID in OUT NOCOPY VARCHAR2,
X_PROC_NAME in VARCHAR2,
X_PROC_SPEC in VARCHAR2,
X_PROC_BODY in VARCHAR2,
X_PROC_TYPE in VARCHAR2,
X_DISPLAY_NAME in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_CREATION_DATE in DATE,
X_CREATED_BY in NUMBER,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_PROTECTED_FLAG in VARCHAR2 := 'N'
) is
cursor C is select ROWID from XDP_PROC_BODY
where PROC_NAME = X_PROC_NAME
;
insert into XDP_PROC_BODY (
proc_name,
proc_type,
protected_flag,
proc_spec,
proc_body,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login )
values
(X_PROC_NAME,
X_PROC_TYPE,
X_PROTECTED_FLAG,
X_PROC_SPEC,
empty_clob(),
sysdate,
X_CREATED_BY,
sysdate,
X_LAST_UPDATED_BY,
0)
returning proc_body into lv_lob_i;
insert into XDP_PROC_BODY_TL (
proc_name,
display_name,
description,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login,
language,
source_lang
) select
X_PROC_NAME,
X_DISPLAY_NAME,
X_DESCRIPTION,
X_CREATED_BY,
sysdate,
X_LAST_UPDATED_BY,
sysdate,
0,
L.LANGUAGE_CODE,
userenv('LANG')
from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and not exists
(select NULL
from XDP_PROC_BODY_TL T
where T.PROC_NAME = X_PROC_NAME
and T.LANGUAGE = L.LANGUAGE_CODE);
end INSERT_ROW;
cursor c is select
PROC_BODY,
PROC_SPEC,
PROC_TYPE,
PROTECTED_FLAG
from XDP_PROC_BODY
where PROC_NAME = X_PROC_NAME
for update of PROC_NAME nowait;
cursor c1 is select
DISPLAY_NAME,
DESCRIPTION,
decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
from XDP_PROC_BODY_TL
where PROC_NAME = X_PROC_NAME
and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
for update of PROC_NAME nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_PROC_NAME in VARCHAR2,
X_PROC_SPEC in VARCHAR2,
X_PROC_BODY in VARCHAR2,
X_PROC_TYPE in VARCHAR2,
X_DISPLAY_NAME in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_PROTECTED_FLAG in VARCHAR2 := 'N'
) is
lv_lob_u CLOB;
update XDP_PROC_BODY
set
proc_spec = X_PROC_SPEC,
proc_body = empty_clob(),
proc_type = X_PROC_TYPE,
protected_flag = X_PROTECTED_FLAG,
last_updated_by = X_LAST_UPDATED_BY,
last_update_date = sysdate,
last_update_login = 0
where
proc_name = X_PROC_NAME
returning proc_body into lv_lob_u;
update XDP_PROC_BODY_TL
set
display_name = X_DISPLAY_NAME,
description = X_DESCRIPTION,
last_updated_by = X_LAST_UPDATED_BY,
last_update_date = sysdate,
last_update_login = 0,
source_lang = userenv('LANG')
where proc_name = X_PROC_NAME
and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
end UPDATE_ROW;
procedure DELETE_ROW (
X_PROC_NAME in VARCHAR2
) is
begin
delete from XDP_PROC_BODY_TL
where PROC_NAME = X_PROC_NAME;
delete from XDP_PROC_BODY
where PROC_NAME = X_PROC_NAME;
end DELETE_ROW;
delete from XDP_PROC_BODY_TL T
where not exists
(select NULL
from XDP_PROC_BODY B
where B.PROC_NAME = T.PROC_NAME
);
update XDP_PROC_BODY_TL T set (
DISPLAY_NAME,
DESCRIPTION
) = (select
B.DISPLAY_NAME,
B.DESCRIPTION
from XDP_PROC_BODY_TL B
where B.PROC_NAME = T.PROC_NAME
and B.LANGUAGE = T.SOURCE_LANG)
where (
T.PROC_NAME,
T.LANGUAGE
) in (select
SUBT.PROC_NAME,
SUBT.LANGUAGE
from XDP_PROC_BODY_TL SUBB, XDP_PROC_BODY_TL SUBT
where SUBB.PROC_NAME = SUBT.PROC_NAME
and SUBB.LANGUAGE = SUBT.SOURCE_LANG
and (SUBB.DISPLAY_NAME <> SUBT.DISPLAY_NAME
or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
));
update XDP_PROC_BODY_TL T
set ( DISPLAY_NAME, DESCRIPTION) = (select B.DISPLAY_NAME, B.DESCRIPTION
from XDP_PROC_BODY_TL B
where B.PROC_NAME = T.PROC_NAME
and B.LANGUAGE = T.SOURCE_LANG)
where EXISTS (select SUBT.PROC_NAME, SUBT.LANGUAGE
from XDP_PROC_BODY_TL SUBB, XDP_PROC_BODY_TL SUBT
where SUBB.PROC_NAME = SUBT.PROC_NAME
and SUBB.LANGUAGE = SUBT.SOURCE_LANG
and (SUBB.DISPLAY_NAME <> SUBT.DISPLAY_NAME
or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null))
and SUBT.proc_name = T.PROC_NAME
and SUBT.language = T.LANGUAGE
);
insert into XDP_PROC_BODY_TL (
PROC_NAME,
DISPLAY_NAME,
DESCRIPTION,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
LANGUAGE,
SOURCE_LANG
) select
B.PROC_NAME,
B.DISPLAY_NAME,
B.DESCRIPTION,
B.CREATED_BY,
B.CREATION_DATE,
B.LAST_UPDATED_BY,
B.LAST_UPDATE_DATE,
B.LAST_UPDATE_LOGIN,
L.LANGUAGE_CODE,
B.SOURCE_LANG
from XDP_PROC_BODY_TL B, FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and B.LANGUAGE = userenv('LANG')
and not exists
(select NULL
from XDP_PROC_BODY_TL T
where T.PROC_NAME = B.PROC_NAME
and T.LANGUAGE = L.LANGUAGE_CODE);
XDP_PROC_BODY_PKG.UPDATE_ROW (
X_PROC_NAME => X_PROC_NAME,
X_PROC_SPEC => X_PROC_SPEC,
X_PROC_BODY => X_PROC_BODY,
X_PROC_TYPE => X_PROC_TYPE,
X_DISPLAY_NAME => X_DISPLAY_NAME,
X_DESCRIPTION => X_DESCRIPTION,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => user_id,
X_LAST_UPDATE_LOGIN => 0,
X_PROTECTED_FLAG => X_PROTECTED_FLAG);
XDP_PROC_BODY_PKG.INSERT_ROW (
X_ROWID => row_id,
X_PROC_NAME => X_PROC_NAME,
X_PROC_SPEC => X_PROC_SPEC,
X_PROC_BODY => X_PROC_BODY,
X_PROC_TYPE => X_PROC_TYPE,
X_DISPLAY_NAME => X_DISPLAY_NAME,
X_DESCRIPTION => X_DESCRIPTION,
X_CREATION_DATE => sysdate,
X_CREATED_BY => user_id,
X_LAST_UPDATE_DATE => sysdate,
X_LAST_UPDATED_BY => user_id,
X_LAST_UPDATE_LOGIN => 0 ,
X_PROTECTED_FLAG => X_PROTECTED_FLAG);
update XDP_PROC_BODY_TL
set description = X_DESCRIPTION,
display_name = X_DISPLAY_NAME,
source_lang = userenv('LANG'),
last_update_date = sysdate,
--last_updated_by = decode(X_OWNER, 'SEED', 1, 0), /*dputhiye 15-JUL-2005. DECODE replaced with FND API.*/
last_updated_by = fnd_load_util.owner_id(X_OWNER),
last_update_login = 0
where proc_name = X_PROC_NAME
and userenv('LANG') in (language, source_lang);