The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 'X'
FROM okc_xprt_questions_b b, okc_xprt_questions_tl t
WHERE b.question_id = t.question_id
AND b.question_type = t.question_type
-- AND b.question_intent = p_question_intent
AND t.question_type = p_question_type
AND Upper(t.question_name) = Upper(p_question_name)
AND t.question_id <> Nvl(p_question_id,-1)
AND t.LANGUAGE = p_lang;
SELECT 'X'
FROM okc_xprt_questions_b b, okc_xprt_questions_tl t
WHERE b.question_id = t.question_id
AND b.question_type = t.question_type
AND b.question_intent = p_question_intent
AND t.question_type = 'Q'
AND Upper(t.prompt) = Upper(p_question_prompt)
AND t.question_id <> Nvl(p_question_id,-1)
AND t.LANGUAGE = p_lang;
p_xprt_question_rec.last_update_date := SYSDATE;
p_xprt_question_rec.last_updated_by := fnd_global.user_id;
p_xprt_question_rec.last_update_login := fnd_global.login_id;
p_xprt_question_rec.program_update_date := NULL;
p_xprt_question_rec.program_update_date := SYSDATE;
SELECT 'X'
FROM fnd_lookup_values
WHERE lookup_type = p_lookup_type
--AND langauge = UserEnv('Lang') P_lang
AND lookup_code = p_lookup_code
AND enabled_flag = 'Y'
AND SYSDATE >= start_date_active
AND (end_date_active IS NULL OR SYSDATE <= end_date_active);
SELECT 'X'
FROM fnd_flex_value_sets
WHERE flex_value_set_name = p_value_set_name;
PROCEDURE insert_row (
p_question_id IN OUT NOCOPY NUMBER,
p_question_type IN VARCHAR2,
p_question_intent IN VARCHAR2,
p_disabled_flag IN VARCHAR2,
p_question_datatype IN VARCHAR2,
p_value_set_name IN VARCHAR2,
p_default_value IN NUMBER,
p_minimum_value IN NUMBER,
p_maximum_value IN NUMBER,
p_question_sync_flag IN VARCHAR2,
p_object_version_number IN NUMBER,
p_created_by IN NUMBER,
p_creation_date IN DATE,
p_last_updated_by IN NUMBER,
p_last_update_date IN DATE,
p_last_update_login IN NUMBER,
p_program_id IN NUMBER,
p_request_id IN NUMBER,
p_program_application_id IN NUMBER,
p_program_update_date IN DATE,
p_tl_question_type IN VARCHAR2,
p_source_lang IN VARCHAR2,
p_question_name IN VARCHAR2,
p_description IN VARCHAR2,
p_prompt IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2
)
IS
BEGIN
x_return_status := g_ret_sts_success;
SELECT OKC_XPRT_QUESTIONS_B_S.NEXTVAL
INTO p_question_id
FROM DUAL;
INSERT INTO okc_xprt_questions_b
(question_id, question_type, question_intent,
disabled_flag, question_datatype, value_set_name,
DEFAULT_VALUE, minimum_value, maximum_value,
question_sync_flag, object_version_number,
created_by, creation_date, last_updated_by,
last_update_date, last_update_login, program_id,
request_id, program_application_id,
program_update_date
)
VALUES (p_question_id, p_question_type, p_question_intent,
p_disabled_flag, p_question_datatype, p_value_set_name,
p_default_value, p_minimum_value, p_maximum_value,
p_question_sync_flag, p_object_version_number,
p_created_by, p_creation_date, p_last_updated_by,
p_last_update_date, p_last_update_login, p_program_id,
p_request_id, p_program_application_id,
p_program_update_date
)
-- returning question_id into p_question_id
;
INSERT INTO okc_xprt_questions_tl
(question_id, question_name, question_type, LANGUAGE,
source_lang, description, prompt, created_by,
creation_date, last_updated_by, last_update_date,
last_update_login)
SELECT p_question_id, p_question_name, p_question_type,
l.language_code, p_source_lang, p_description, p_prompt,
p_created_by, p_creation_date, p_last_updated_by,
p_last_update_date, p_last_update_login
FROM fnd_languages l
WHERE l.installed_flag IN ('I', 'B')
AND NOT EXISTS (
SELECT NULL
FROM okc_xprt_questions_tl t
WHERE t.question_id = p_question_id
AND t.LANGUAGE = l.language_code);
END insert_row;
ELSIF p_action ='UPDATE' THEN
okc_api.set_message(p_app_name => g_app_name,
p_msg_name => 'OKC_I_UPDATE_ENTITY_FAIL',
p_token1 => 'ENTITY',
p_token1_value => l_entity
);
* Insert Row
**/
SAVEPOINT create_question_sp;
insert_row
(p_question_id => p_xprt_question_rec.QN_CONST_id,
p_question_type => p_xprt_question_rec.QN_CONST_type,
p_question_intent => p_xprt_question_rec.QN_CONST_intent,
p_disabled_flag => p_xprt_question_rec.disabled_flag,
p_question_datatype => p_xprt_question_rec.question_datatype,
p_value_set_name => p_xprt_question_rec.value_set_name,
p_default_value => p_xprt_question_rec.DEFAULT_VALUE,
p_minimum_value => p_xprt_question_rec.minimum_value,
p_maximum_value => p_xprt_question_rec.maximum_value,
p_question_sync_flag => p_xprt_question_rec.question_sync_flag,
p_object_version_number => p_xprt_question_rec.object_version_number,
p_created_by => p_xprt_question_rec.created_by,
p_creation_date => p_xprt_question_rec.creation_date,
p_last_updated_by => p_xprt_question_rec.last_updated_by,
p_last_update_date => p_xprt_question_rec.last_update_date,
p_last_update_login => p_xprt_question_rec.last_update_login,
p_program_id => p_xprt_question_rec.program_id,
p_request_id => p_xprt_question_rec.request_id,
p_program_application_id => p_xprt_question_rec.program_application_id,
p_program_update_date => p_xprt_question_rec.program_update_date,
p_tl_question_type => p_xprt_question_rec.qn_const_type,
p_source_lang => p_xprt_question_rec.source_lang,
p_question_name => p_xprt_question_rec.QN_CONST_name,
p_description => p_xprt_question_rec.description,
p_prompt => p_xprt_question_rec.prompt,
x_return_status => l_return_status
);
read_message (p_xprt_question_rec.qn_const_type, 'INSERT_ROW', 'CREATE', x_msg_data);
PROCEDURE update_question(p_xprt_update_question_rec IN OUT NOCOPY xprt_qn_const_rec_type,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_data OUT NOCOPY VARCHAR2) IS
l_update_flag VARCHAR2(1);
SELECT question_type,
question_intent,
disabled_flag,
question_datatype,
value_set_name,
default_value,
object_version_number
INTO l_question_type,
l_question_intent,
l_disabled_flag,
l_question_datatype,
l_value_set_name,
l_default_value,
l_object_version_number
FROM okc_xprt_questions_b
WHERE question_id = p_xprt_update_question_rec.QN_CONST_id
AND question_type = p_xprt_update_question_rec.QN_CONST_type;
SELECT question_name, language, source_lang, description, prompt
INTO l_question_name, l_lang, l_source_lang, l_description, l_prompt
FROM okc_xprt_questions_tl
WHERE question_id = p_xprt_update_question_rec.qn_const_id
AND language =
Decode(p_xprt_update_question_rec.lang,OKC_API.G_MISS_CHAR, UserEnv('lang'),
NULL,UserEnv('lang')
,p_xprt_update_question_rec.lang)
AND question_type = p_xprt_update_question_rec.qn_const_type
;
( p_xprt_update_question_rec.qn_const_type <> OKC_API.G_MISS_CHAR
AND p_xprt_update_question_rec.qn_const_type <> l_question_type)
OR p_xprt_update_question_rec.qn_const_type IS NULL
THEN
x_return_status := G_RET_STS_ERROR;
SAVEPOINT update_question_sp;
l_update_flag := okc_xprt_util_pvt.Ok_To_Delete_Question(p_question_id => p_xprt_update_question_rec.qn_const_id);
IF Nvl(l_update_flag,'Y') = 'N' THEN
-- Question/Constant Used in a Rule
IF p_xprt_update_question_rec.qn_const_intent IS NULL
OR
(p_xprt_update_question_rec.qn_const_intent <> OKC_API.G_MISS_CHAR
AND
p_xprt_update_question_rec.qn_const_intent <> l_question_intent
)
THEN
l_return_status := G_RET_STS_ERROR;
IF p_xprt_update_question_rec.qn_const_name IS NULL
OR
(p_xprt_update_question_rec.qn_const_name <> OKC_API.G_MISS_CHAR AND
p_xprt_update_question_rec.qn_const_name <> l_question_name) THEN
l_return_status := G_RET_STS_ERROR;
IF p_xprt_update_question_rec.question_datatype IS NULL
OR
(p_xprt_update_question_rec.question_datatype <>
OKC_API.G_MISS_CHAR AND p_xprt_update_question_rec.question_datatype <>
l_question_datatype)
THEN
l_return_status := G_RET_STS_ERROR;
IF p_xprt_update_question_rec.value_set_name IS NULL OR
(p_xprt_update_question_rec.value_set_name <>
OKC_API.G_MISS_CHAR AND
p_xprt_update_question_rec.value_set_name <> l_value_set_name) THEN
l_return_status := G_RET_STS_ERROR;
read_message(p_xprt_update_question_rec.qn_const_type,'UPDATE_QUESTION', 'UPDATE', x_msg_data);
ROLLBACK TO update_question_sp;
IF p_xprt_update_question_rec.qn_const_name IS NULL
OR
(p_xprt_update_question_rec.qn_const_name <> OKC_API.G_MISS_CHAR
AND
p_xprt_update_question_rec.qn_const_name <> l_question_name) THEN
l_val_question_name_flag := 'Y';
p_xprt_update_question_rec.last_updated_by := fnd_global.user_id;
p_xprt_update_question_rec.last_update_date := SYSDATE;
p_xprt_update_question_rec.last_update_login := fnd_global.login_id;
IF p_xprt_update_question_rec.qn_const_type = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.qn_const_type := l_question_type;
IF p_xprt_update_question_rec.qn_const_type = 'Q' THEN
p_xprt_update_question_rec.question_sync_flag := 'Y';
p_xprt_update_question_rec.question_sync_flag := 'N';
IF p_xprt_update_question_rec.qn_const_intent = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.qn_const_intent := l_question_intent;
IF p_xprt_update_question_rec.disabled_flag = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.disabled_flag := l_disabled_flag;
IF p_xprt_update_question_rec.qn_const_type = 'C' THEN
p_xprt_update_question_rec.question_datatype := 'N';
IF p_xprt_update_question_rec.question_datatype = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.question_datatype := l_question_datatype;
IF p_xprt_update_question_rec.question_datatype = 'B' THEN
p_xprt_update_question_rec.value_set_name := 'OKC_XPRT_YES_NO';
ELSIF p_xprt_update_question_rec.question_datatype = 'N' THEN
p_xprt_update_question_rec.value_set_name := NULL;
IF p_xprt_update_question_rec.value_set_name = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.value_set_name := l_value_set_name;
IF p_xprt_update_question_rec.default_value = OKC_API.G_MISS_NUM THEN
p_xprt_update_question_rec.default_value := l_default_value;
IF p_xprt_update_question_rec.qn_const_name = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.qn_const_name := l_question_name;
IF p_xprt_update_question_rec.lang = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.lang := l_lang;
IF p_xprt_update_question_rec.source_lang = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.source_lang := l_source_lang;
IF p_xprt_update_question_rec.description = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.description := l_description;
IF p_xprt_update_question_rec.prompt = OKC_API.G_MISS_CHAR THEN
p_xprt_update_question_rec.prompt := l_prompt;
validate_row(p_xprt_question_rec => p_xprt_update_question_rec,
p_val_qn_name => l_val_question_name_flag,
x_return_status => l_ret_status);
read_message(p_xprt_update_question_rec.qn_const_type,'VALIDATE_ROW','UPDATE', x_msg_data);
ROLLBACK TO update_question_sp;
UPDATE okc_xprt_questions_b
SET question_intent = p_xprt_update_question_rec.qn_const_intent,
disabled_flag = p_xprt_update_question_rec.disabled_flag,
question_datatype = p_xprt_update_question_rec.question_datatype,
value_set_name = p_xprt_update_question_rec.value_set_name,
default_value = p_xprt_update_question_rec.default_value,
question_sync_flag = p_xprt_update_question_rec.question_sync_flag,
object_version_number = l_object_version_number + 1,
last_updated_by = p_xprt_update_question_rec.last_updated_by,
last_update_date = p_xprt_update_question_rec.last_update_date,
last_update_login = p_xprt_update_question_rec.last_update_login
WHERE question_id = p_xprt_update_question_rec.qn_const_id;
UPDATE okc_xprt_questions_tl
SET question_name = p_xprt_update_question_rec.qn_const_name,
description = p_xprt_update_question_rec.description,
prompt = p_xprt_update_question_rec.prompt,
last_updated_by = p_xprt_update_question_rec.last_updated_by,
last_update_date = p_xprt_update_question_rec.last_update_date,
last_update_login = p_xprt_update_question_rec.last_update_login
WHERE question_id = p_xprt_update_question_rec.qn_const_id
AND LANGUAGE = p_xprt_update_question_rec.lang;
ROLLBACK TO update_question_sp;
END update_question;