The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID IN OUT NOCOPY VARCHAR2,
X_ACTION_ID in NUMBER,
X_ACTION_CODE in VARCHAR2,
X_EXECUTABLE_NAME in VARCHAR2,
X_SERVER_URL in VARCHAR2,
X_PROFILE_FOR_SERVER_URL in VARCHAR2,
X_DEPENDS_ON_APP in VARCHAR2,
X_APPLICATION_ID in NUMBER,
X_APPLICABLE_FOR in VARCHAR2,
X_TRACK_FLAG in VARCHAR2,
X_ENABLED_FLAG in VARCHAR2,
X_DYNAMIC_PARAMS_FLAG in VARCHAR2,
X_ADHOC_PARAMS_FLAG in VARCHAR2,
X_JAVA_CLASS_NAME in VARCHAR2,
X_NEW_JAVA_CLASS_NAME in VARCHAR2,
X_ACTION_CODE_MEANING in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_CREATION_DATE in DATE,
X_CREATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_OBJECT_VERSION_NUMBER in NUMBER
) is
cursor c is select ROWID from AMS_CLIK_THRU_ACTIONS_B
where ACTION_ID = X_ACTION_ID
;
cursor ctl is select ROWID from AMS_CLIK_THRU_ACTIONS_TL
where ACTION_ID = X_ACTION_ID
;
insert into AMS_CLIK_THRU_ACTIONS_B (
ACTION_ID
,ACTION_CODE
,EXECUTABLE_NAME
,SERVER_URL
,PROFILE_FOR_SERVER_URL
,DEPENDS_ON_APP
,APPLICATION_ID
,APPLICABLE_FOR
,TRACK_FLAG
,ENABLED_FLAG
,DYNAMIC_PARAMS_FLAG
,ADHOC_PARAMS_FLAG
,JAVA_CLASS_NAME
,NEW_JAVA_CLASS_NAME
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,LAST_UPDATE_LOGIN
,OBJECT_VERSION_NUMBER
) values (
X_ACTION_ID
,X_ACTION_CODE
,X_EXECUTABLE_NAME
,X_SERVER_URL
,X_PROFILE_FOR_SERVER_URL
,X_DEPENDS_ON_APP
,X_APPLICATION_ID
,X_APPLICABLE_FOR
,X_TRACK_FLAG
,X_ENABLED_FLAG
,X_DYNAMIC_PARAMS_FLAG
,X_ADHOC_PARAMS_FLAG
,X_JAVA_CLASS_NAME
,X_NEW_JAVA_CLASS_NAME
,DECODE(X_LAST_UPDATE_DATE,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,X_LAST_UPDATE_DATE)
,DECODE(X_LAST_UPDATED_BY,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,X_LAST_UPDATED_BY)
,DECODE(X_CREATION_DATE,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,X_CREATION_DATE)
,DECODE(X_CREATED_BY,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,X_CREATED_BY)
,DECODE(X_LAST_UPDATE_LOGIN,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,X_LAST_UPDATE_LOGIN)
,X_OBJECT_VERSION_NUMBER
);
insert into AMS_CLIK_THRU_ACTIONS_TL (
ACTION_ID
,ACTION_CODE_MEANING
,DESCRIPTION
,LANGUAGE
,SOURCE_LANG
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,LAST_UPDATE_LOGIN
)
SELECT
X_ACTION_ID
,X_ACTION_CODE_MEANING
,DECODE(X_DESCRIPTION,FND_API.G_MISS_CHAR,NULL,X_DESCRIPTION)
,l.language_code
,USERENV('lang')
,DECODE(X_LAST_UPDATE_DATE,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,X_LAST_UPDATE_DATE)
,DECODE(X_LAST_UPDATED_BY,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,X_LAST_UPDATED_BY)
,DECODE(X_CREATION_DATE,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,X_CREATION_DATE)
,DECODE(X_CREATED_BY,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,X_CREATED_BY)
,DECODE(X_LAST_UPDATE_LOGIN,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,X_LAST_UPDATE_LOGIN)
FROM fnd_languages l
WHERE l.installed_flag IN ('I', 'B')
AND NOT EXISTS
(SELECT NULL
FROM AMS_CLIK_THRU_ACTIONS_TL T
WHERE T.ACTION_ID = X_ACTION_ID
AND T.LANGUAGE = l.language_code);
end INSERT_ROW;
cursor c is select
OBJECT_VERSION_NUMBER
,ACTION_CODE
,EXECUTABLE_NAME
,SERVER_URL
,PROFILE_FOR_SERVER_URL
,DEPENDS_ON_APP
,APPLICATION_ID
,APPLICABLE_FOR
,TRACK_FLAG
,ENABLED_FLAG
,DYNAMIC_PARAMS_FLAG
,ADHOC_PARAMS_FLAG
,JAVA_CLASS_NAME
,NEW_JAVA_CLASS_NAME
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,LAST_UPDATE_LOGIN
from AMS_CLIK_THRU_ACTIONS_B
where ACTION_ID = X_ACTION_ID
for update of ACTION_ID nowait;
cursor ctl is select
ACTION_ID
,ACTION_CODE_MEANING
,DESCRIPTION
,LANGUAGE
,SOURCE_LANG
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,LAST_UPDATE_LOGIN
from AMS_CLIK_THRU_ACTIONS_TL
where ACTION_ID = X_ACTION_ID
for update of ACTION_ID nowait;
CURSOR ctl IS SELECT
ACTION_CODE_MEANING,
DESCRIPTION,
DECODE(LANGUAGE, USERENV('lang'), 'y', 'n') baselang
FROM AMS_CLIK_THRU_ACTIONS_TL
WHERE ACTION_ID = X_ACTION_ID
AND USERENV('lang') IN (LANGUAGE, source_lang)
FOR UPDATE OF ACTION_ID NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ACTION_ID in NUMBER,
X_OBJECT_VERSION_NUMBER in NUMBER,
X_ACTION_CODE in VARCHAR2,
X_EXECUTABLE_NAME in VARCHAR2,
X_SERVER_URL in VARCHAR2,
X_PROFILE_FOR_SERVER_URL in VARCHAR2,
X_DEPENDS_ON_APP in VARCHAR2,
X_APPLICATION_ID in NUMBER,
X_APPLICABLE_FOR in VARCHAR2,
X_TRACK_FLAG in VARCHAR2,
X_ENABLED_FLAG in VARCHAR2,
X_DYNAMIC_PARAMS_FLAG in VARCHAR2,
X_ADHOC_PARAMS_FLAG in VARCHAR2,
X_JAVA_CLASS_NAME in VARCHAR2,
X_NEW_JAVA_CLASS_NAME in VARCHAR2,
X_ACTION_CODE_MEANING in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER
) is
begin
update AMS_CLIK_THRU_ACTIONS_B set
OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
,ACTION_CODE = X_ACTION_CODE
,EXECUTABLE_NAME = X_EXECUTABLE_NAME
,SERVER_URL = X_SERVER_URL
,PROFILE_FOR_SERVER_URL = X_PROFILE_FOR_SERVER_URL
,DEPENDS_ON_APP = X_DEPENDS_ON_APP
,APPLICATION_ID = X_APPLICATION_ID
,APPLICABLE_FOR = X_APPLICABLE_FOR
,TRACK_FLAG = X_TRACK_FLAG
,ENABLED_FLAG = X_ENABLED_FLAG
,DYNAMIC_PARAMS_FLAG = X_DYNAMIC_PARAMS_FLAG
,ADHOC_PARAMS_FLAG = X_ADHOC_PARAMS_FLAG
,JAVA_CLASS_NAME = X_JAVA_CLASS_NAME
,NEW_JAVA_CLASS_NAME = X_NEW_JAVA_CLASS_NAME
,LAST_UPDATE_DATE = X_LAST_UPDATE_DATE
,LAST_UPDATED_BY = X_LAST_UPDATED_BY
,LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
where ACTION_ID = X_ACTION_ID;
update AMS_CLIK_THRU_ACTIONS_TL set
ACTION_CODE_MEANING = X_ACTION_CODE_MEANING,
DESCRIPTION = X_DESCRIPTION,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
SOURCE_LANG = USERENV('LANG')
where ACTION_ID = X_ACTION_ID
and USERENV('LANG') IN (LANGUAGE, SOURCE_LANG);
end UPDATE_ROW;
procedure DELETE_ROW (
X_ACTION_ID in NUMBER
) is
begin
delete from AMS_CLIK_THRU_ACTIONS_TL
where ACTION_ID = X_ACTION_ID;
delete from AMS_CLIK_THRU_ACTIONS_B
where ACTION_ID = X_ACTION_ID;
end DELETE_ROW;
l_last_updated_by number;
select OBJECT_VERSION_NUMBER,
last_updated_by
from AMS_CLIK_THRU_ACTIONS_B
where ACTION_ID = X_ACTION_ID;
select 'x'
from AMS_CLIK_THRU_ACTIONS_B
where ACTION_ID = X_ACTION_ID;
select 'x'
from AMS_CLIK_THRU_ACTIONS_TL
where ACTION_ID = X_ACTION_ID;
AMS_CLIK_THRU_ACT_PKG.INSERT_ROW(
X_ROWID => l_row_id
,X_ACTION_ID => X_ACTION_ID
,X_ACTION_CODE => X_ACTION_CODE
,X_EXECUTABLE_NAME => X_EXECUTABLE_NAME
,X_SERVER_URL => X_SERVER_URL
,X_PROFILE_FOR_SERVER_URL => X_PROFILE_FOR_SERVER_URL
,X_DEPENDS_ON_APP => X_DEPENDS_ON_APP
,X_APPLICATION_ID => X_APPLICATION_ID
,X_APPLICABLE_FOR => X_APPLICABLE_FOR
,X_TRACK_FLAG => X_TRACK_FLAG
,X_ENABLED_FLAG => X_ENABLED_FLAG
,X_DYNAMIC_PARAMS_FLAG => X_DYNAMIC_PARAMS_FLAG
,X_ADHOC_PARAMS_FLAG => X_ADHOC_PARAMS_FLAG
,X_JAVA_CLASS_NAME => X_JAVA_CLASS_NAME
,X_NEW_JAVA_CLASS_NAME => X_NEW_JAVA_CLASS_NAME
,X_ACTION_CODE_MEANING => X_ACTION_CODE_MEANING
,X_DESCRIPTION => X_DESCRIPTION
,X_LAST_UPDATE_DATE => SYSDATE
,X_LAST_UPDATED_BY => l_user_id
,X_CREATION_DATE => SYSDATE
,X_CREATED_BY => l_user_id
,X_LAST_UPDATE_LOGIN => 0
,X_OBJECT_VERSION_NUMBER => l_obj_verno
);
fetch c_obj_verno into l_obj_verno,l_last_updated_by;
if (l_last_updated_by in (1,2,0) OR
NVL(x_custom_mode,'PRESERVE')='FORCE') THEN
AMS_CLIK_THRU_ACT_PKG.UPDATE_ROW(
X_ACTION_ID => X_ACTION_ID,
X_ACTION_CODE => X_ACTION_CODE,
X_EXECUTABLE_NAME => X_EXECUTABLE_NAME,
X_SERVER_URL => X_SERVER_URL,
X_PROFILE_FOR_SERVER_URL => X_PROFILE_FOR_SERVER_URL,
X_DEPENDS_ON_APP => X_DEPENDS_ON_APP,
X_APPLICATION_ID => X_APPLICATION_ID,
X_APPLICABLE_FOR => X_APPLICABLE_FOR,
X_TRACK_FLAG => X_TRACK_FLAG,
X_ENABLED_FLAG => X_ENABLED_FLAG,
X_DYNAMIC_PARAMS_FLAG => X_DYNAMIC_PARAMS_FLAG,
X_ADHOC_PARAMS_FLAG => X_ADHOC_PARAMS_FLAG,
X_JAVA_CLASS_NAME => X_JAVA_CLASS_NAME,
X_NEW_JAVA_CLASS_NAME => X_NEW_JAVA_CLASS_NAME,
X_ACTION_CODE_MEANING => X_ACTION_CODE_MEANING,
X_DESCRIPTION => X_DESCRIPTION,
X_LAST_UPDATE_DATE => SYSDATE,
X_LAST_UPDATED_BY => l_user_id,
X_LAST_UPDATE_LOGIN => 0,
X_OBJECT_VERSION_NUMBER => l_obj_verno + 1
);
cursor c_last_updated_by is
select last_updated_by
from AMS_CLIK_THRU_ACTIONS_TL
where ACTION_ID = X_ACTION_ID
and USERENV('LANG') = LANGUAGE;
l_last_updated_by number;
open c_last_updated_by;
fetch c_last_updated_by into l_last_updated_by;
close c_last_updated_by;
if (l_last_updated_by in (1,2,0) OR
NVL(x_custom_mode,'PRESERVE')='FORCE') THEN
-- Only update rows which have not been altered by user
UPDATE AMS_CLIK_THRU_ACTIONS_TL
SET description = X_DESCRIPTION,
action_code_meaning = X_ACTION_CODE_MEANING,
source_lang = USERENV('LANG'),
last_update_date = SYSDATE,
last_updated_by = DECODE(X_OWNER, 'SEED', 1,
'ORACLE',2,
'SYSADMIN',0 , -1),
last_update_login = 0
WHERE ACTION_ID = X_ACTION_ID
AND USERENV('LANG') IN (LANGUAGE, source_lang);
DELETE FROM AMS_CLIK_THRU_ACTIONS_TL T
WHERE NOT EXISTS
(SELECT NULL
FROM AMS_CLIK_THRU_ACTIONS_B B
WHERE B.ACTION_ID = T.ACTION_ID
);
UPDATE AMS_CLIK_THRU_ACTIONS_TL T SET (
ACTION_CODE_MEANING,
DESCRIPTION
) =
(SELECT
T1.ACTION_CODE_MEANING,
T1.DESCRIPTION
FROM AMS_CLIK_THRU_ACTIONS_TL T1
WHERE T1.ACTION_ID = T.ACTION_ID
AND T1.LANGUAGE = T.SOURCE_LANG)
WHERE (
T.ACTION_ID,
T.LANGUAGE
) IN
(SELECT
subt.ACTION_ID,
subt.LANGUAGE
FROM AMS_CLIK_THRU_ACTIONS_TL subb, AMS_CLIK_THRU_ACTIONS_TL subt
WHERE subb.ACTION_ID = subt.ACTION_ID
AND subb.LANGUAGE = subt.SOURCE_LANG
AND (subb.ACTION_CODE_MEANING <> subt.ACTION_CODE_MEANING
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)
));
INSERT INTO AMS_CLIK_THRU_ACTIONS_TL (
action_id,
action_code_meaning,
description,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login,
LANGUAGE,
source_lang
) SELECT /*+ ordered */
b.action_id,
b.action_code_meaning,
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 ams_clik_thru_actions_tl b, fnd_languages l
WHERE l.installed_flag IN ('I', 'B')
AND b.LANGUAGE = USERENV('lang')
AND NOT EXISTS
(SELECT NULL
FROM ams_clik_thru_actions_tl T
WHERE T.action_id = b.action_id
AND T.LANGUAGE = l.language_code);