[Home] [Help]
PACKAGE BODY: APPS.CS_TP_QUESTIONS_PKG
Source
1 package body CS_TP_QUESTIONS_PKG as
2 /* $Header: cstpqueb.pls 115.8 2002/12/04 18:15:32 wzli noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_QUESTION_ID in NUMBER,
6 X_LOOKUP_ID in NUMBER,
7 X_MANDTORY_FLAG in VARCHAR2,
8 X_SCORING_FLAG in VARCHAR2,
9 X_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
10 X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
11 X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
12 X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
13 X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
14 X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
15 X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
16 X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
17 X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
18 X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
19 X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
20 X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
21 X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
22 X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
23 X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
24 X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
25
26 X_NOTE_TYPE in VARCHAR2 DEFAULT NULL,
27 X_SHOW_ON_CREATION_FLAG in VARCHAR2 DEFAULT NULL,
28
29 X_START_DATE_ACTIVE in DATE,
30 X_END_DATE_ACTIVE in DATE,
31 X_NAME in VARCHAR2,
32 X_TEXT in VARCHAR2,
33 X_DESCRIPTION in VARCHAR2,
34 X_CREATION_DATE in DATE,
35 X_CREATED_BY in NUMBER,
36 X_LAST_UPDATE_DATE in DATE,
37 X_LAST_UPDATED_BY in NUMBER,
38 X_LAST_UPDATE_LOGIN in NUMBER
39 ) is
40 cursor C is select ROWID from CS_TP_QUESTIONS_B
41 where QUESTION_ID = X_QUESTION_ID
42 ;
43 begin
44 insert into CS_TP_QUESTIONS_B (
45 QUESTION_ID,
46 LOOKUP_ID,
47 MANDTORY_FLAG,
48 SCORING_FLAG,
49 ATTRIBUTE_CATEGORY,
50 ATTRIBUTE1,
51 ATTRIBUTE2,
52 ATTRIBUTE3,
53 ATTRIBUTE4,
54 ATTRIBUTE5,
55 ATTRIBUTE6,
56 ATTRIBUTE7,
57 ATTRIBUTE8,
58 ATTRIBUTE9,
59 ATTRIBUTE10,
60 ATTRIBUTE11,
61 ATTRIBUTE12,
62 ATTRIBUTE13,
63 ATTRIBUTE14,
64 ATTRIBUTE15,
65 START_DATE_ACTIVE,
66 END_DATE_ACTIVE,
67 CREATION_DATE,
68 CREATED_BY,
69 LAST_UPDATE_DATE,
70 LAST_UPDATED_BY,
71 LAST_UPDATE_LOGIN,
72
73 NOTE_TYPE ,
74 SHOW_ON_CREATION_FLAG
75
76 ) values (
77 X_QUESTION_ID,
78 X_LOOKUP_ID,
79 X_MANDTORY_FLAG,
80 X_SCORING_FLAG,
81 X_ATTRIBUTE_CATEGORY,
82 X_ATTRIBUTE1,
83 X_ATTRIBUTE2,
84 X_ATTRIBUTE3,
85 X_ATTRIBUTE4,
86 X_ATTRIBUTE5,
87 X_ATTRIBUTE6,
88 X_ATTRIBUTE7,
89 X_ATTRIBUTE8,
90 X_ATTRIBUTE9,
91 X_ATTRIBUTE10,
92 X_ATTRIBUTE11,
93 X_ATTRIBUTE12,
94 X_ATTRIBUTE13,
95 X_ATTRIBUTE14,
96 X_ATTRIBUTE15,
97 X_START_DATE_ACTIVE,
98 X_END_DATE_ACTIVE,
99 X_CREATION_DATE,
100 X_CREATED_BY,
101 X_LAST_UPDATE_DATE,
102 X_LAST_UPDATED_BY,
103 X_LAST_UPDATE_LOGIN,
104
105 X_NOTE_TYPE ,
106 X_SHOW_ON_CREATION_FLAG
107 );
108
109 insert into CS_TP_QUESTIONS_TL (
110 QUESTION_ID,
111 NAME,
112 TEXT,
113 DESCRIPTION,
114 CREATION_DATE,
115 CREATED_BY,
116 LAST_UPDATE_DATE,
117 LAST_UPDATED_BY,
118 LAST_UPDATE_LOGIN,
119 LANGUAGE,
120 SOURCE_LANG
121 ) select
122 X_QUESTION_ID,
123 X_NAME,
124 X_TEXT,
125 X_DESCRIPTION,
126 X_CREATION_DATE,
127 X_CREATED_BY,
128 X_LAST_UPDATE_DATE,
129 X_LAST_UPDATED_BY,
130 X_LAST_UPDATE_LOGIN,
131 L.LANGUAGE_CODE,
132 userenv('LANG')
133 from FND_LANGUAGES L
134 where L.INSTALLED_FLAG in ('I', 'B')
135 and not exists
136 (select NULL
137 from CS_TP_QUESTIONS_TL T
138 where T.QUESTION_ID = X_QUESTION_ID
139 and T.LANGUAGE = L.LANGUAGE_CODE);
140
141 open c;
142 fetch c into X_ROWID;
143 if (c%notfound) then
144 close c;
145 raise no_data_found;
146 end if;
147 close c;
148
149 end INSERT_ROW;
150
151 procedure LOCK_ROW (
152 X_QUESTION_ID in NUMBER,
153 X_LOOKUP_ID in NUMBER,
154 X_MANDTORY_FLAG in VARCHAR2,
155 X_SCORING_FLAG in VARCHAR2,
156 X_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
157 X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
158 X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
159 X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
160 X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
161 X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
162 X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
163 X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
164 X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
165 X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
166 X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
167 X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
168 X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
169 X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
170 X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
171 X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
172
173 X_NOTE_TYPE in VARCHAR2 DEFAULT NULL,
174 X_SHOW_ON_CREATION_FLAG in VARCHAR2 DEFAULT NULL,
175
176 X_START_DATE_ACTIVE in DATE,
177 X_END_DATE_ACTIVE in DATE,
178 X_NAME in VARCHAR2,
179 X_TEXT in VARCHAR2,
180 X_DESCRIPTION in VARCHAR2
181 ) is
182 cursor c is select
183 LOOKUP_ID,
184 MANDTORY_FLAG,
185 SCORING_FLAG,
186 ATTRIBUTE_CATEGORY,
187 ATTRIBUTE1,
188 ATTRIBUTE2,
189 ATTRIBUTE3,
190 ATTRIBUTE4,
191 ATTRIBUTE5,
192 ATTRIBUTE6,
193 ATTRIBUTE7,
194 ATTRIBUTE8,
195 ATTRIBUTE9,
196 ATTRIBUTE10,
197 ATTRIBUTE11,
198 ATTRIBUTE12,
199 ATTRIBUTE13,
200 ATTRIBUTE14,
201 ATTRIBUTE15,
202
203 NOTE_TYPE,
204 SHOW_ON_CREATION_FLAG,
205
206 START_DATE_ACTIVE,
207 END_DATE_ACTIVE
208 from CS_TP_QUESTIONS_B
209 where QUESTION_ID = X_QUESTION_ID
210 for update of QUESTION_ID nowait;
211 recinfo c%rowtype;
212
213 cursor c1 is select
214 NAME,
215 TEXT,
216 DESCRIPTION,
217 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
218 from CS_TP_QUESTIONS_TL
219 where QUESTION_ID = X_QUESTION_ID
220 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
221 for update of QUESTION_ID nowait;
222 begin
223 open c;
224 fetch c into recinfo;
225 if (c%notfound) then
226 close c;
227 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
228 app_exception.raise_exception;
229 end if;
230 close c;
231 if ( (recinfo.LOOKUP_ID = X_LOOKUP_ID)
232 AND ((recinfo.MANDTORY_FLAG = X_MANDTORY_FLAG)
233 OR ((recinfo.MANDTORY_FLAG is null) AND (X_MANDTORY_FLAG is null)))
234 AND ((recinfo.SCORING_FLAG = X_SCORING_FLAG)
235 OR ((recinfo.SCORING_FLAG is null) AND (X_SCORING_FLAG is null)))
236 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
237 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
238 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
239 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
240 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
241 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
242 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
243 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
244 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
245 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
246 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
247 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
248 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
249 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
250 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
251 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
252 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
253 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
254 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
255 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
256 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
257 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
258 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
259 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
260 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
261 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
262 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
263 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
264 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
265 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
266 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
267 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
268 AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
269 OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
270 AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
271 OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
272
273 AND ((recinfo.NOTE_TYPE = X_NOTE_TYPE)
274 OR ((recinfo.NOTE_TYPE is null) AND (X_NOTE_TYPE is null)))
275 AND ((recinfo.SHOW_ON_CREATION_FLAG = X_SHOW_ON_CREATION_FLAG)
276 OR ((recinfo.SHOW_ON_CREATION_FLAG is null) AND (X_SHOW_ON_CREATION_FLAG is null)))
277
278 ) then
279 null;
280 else
281 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
282 app_exception.raise_exception;
283 end if;
284
285 for tlinfo in c1 loop
286 if (tlinfo.BASELANG = 'Y') then
287 if ( ((tlinfo.NAME = X_NAME)
288 OR ((tlinfo.NAME is null) AND (X_NAME is null)))
289 AND (tlinfo.TEXT = X_TEXT)
290 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
291 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
292 ) then
293 null;
294 else
295 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
296 app_exception.raise_exception;
297 end if;
298 end if;
299 end loop;
300 return;
301 end LOCK_ROW;
302
303 procedure UPDATE_ROW (
304 X_QUESTION_ID in NUMBER,
305 X_LOOKUP_ID in NUMBER,
306 X_MANDTORY_FLAG in VARCHAR2,
307 X_SCORING_FLAG in VARCHAR2,
308 X_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
309 X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
310 X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
311 X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
312 X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
313 X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
314 X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
315 X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
316 X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
317 X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
318 X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
319 X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
320 X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
321 X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
322 X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
323 X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
324
325 X_NOTE_TYPE in VARCHAR2 DEFAULT NULL,
326 X_SHOW_ON_CREATION_FLAG in VARCHAR2 DEFAULT NULL,
327
328 X_START_DATE_ACTIVE in DATE,
329 X_END_DATE_ACTIVE in DATE,
330 X_NAME in VARCHAR2,
331 X_TEXT in VARCHAR2,
332 X_DESCRIPTION in VARCHAR2,
333 X_LAST_UPDATE_DATE in DATE,
334 X_LAST_UPDATED_BY in NUMBER,
335 X_LAST_UPDATE_LOGIN in NUMBER
336 ) is
337 begin
338 update CS_TP_QUESTIONS_B set
339 lookup_id = decode(nvl(x_lookup_id,fnd_api.g_miss_num), fnd_api.g_miss_num, lookup_id, x_lookup_id),
340 mandtory_flag = decode(nvl(x_mandtory_flag, fnd_api.g_miss_char), fnd_api.g_miss_char , mandtory_flag, x_mandtory_flag),
344 attribute1 = decode(nvl(x_attribute1, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute1 , x_attribute1 ),
341 scoring_flag = decode(nvl(x_scoring_flag,fnd_api.g_miss_char), fnd_api.g_miss_char , scoring_flag, x_scoring_flag),
342 attribute_category = decode(nvl(x_attribute_category,fnd_api.g_miss_char),
343 fnd_api.g_miss_char, attribute_category, x_attribute_category),
345 attribute2 = decode(nvl(x_attribute2, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute2 , x_attribute2 ),
346 attribute3 = decode(nvl(x_attribute3, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute3 , x_attribute3 ),
347 attribute4 = decode(nvl(x_attribute4, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute4 , x_attribute4 ),
348 attribute5 = decode(nvl(x_attribute5, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute5 , x_attribute5 ),
349 attribute6 = decode(nvl(x_attribute6, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute6 , x_attribute6 ),
350 attribute7 = decode(nvl(x_attribute7, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute7 , x_attribute7 ),
351 attribute8 = decode(nvl(x_attribute8, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute8 , x_attribute8 ),
352 attribute9 = decode(nvl(x_attribute9, fnd_api.g_miss_char), fnd_api.g_miss_char, attribute9 , x_attribute9 ),
353 attribute10 = decode(nvl(x_attribute10,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute10, x_attribute10),
357 attribute14 = decode(nvl(x_attribute14,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute14, x_attribute14),
354 attribute11 = decode(nvl(x_attribute11,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute11, x_attribute11),
355 attribute12 = decode(nvl(x_attribute12,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute12, x_attribute12),
356 attribute13 = decode(nvl(x_attribute13,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute13, x_attribute13),
358 attribute15 = decode(nvl(x_attribute15,fnd_api.g_miss_char), fnd_api.g_miss_char, attribute15, x_attribute15),
359 note_type = decode(nvl(x_note_type, fnd_api.g_miss_char), fnd_api.g_miss_char, note_type, x_note_type),
360 show_on_creation_flag = decode(nvl(x_show_on_creation_flag, fnd_api.g_miss_char), fnd_api.g_miss_char,
361 show_on_creation_flag, x_show_on_creation_flag),
362 start_date_active = decode(nvl(x_start_date_active, fnd_api.g_miss_date), fnd_api.g_miss_date,
363 start_date_active, x_start_date_active),
364 end_date_active = decode(nvl(x_end_date_active, fnd_api.g_miss_date), fnd_api.g_miss_date,
365 end_date_active, x_end_date_active),
366 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
367 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
368 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
369 where QUESTION_ID = X_QUESTION_ID;
370
371 if (sql%notfound) then
372 raise no_data_found;
373 end if;
374
375 update CS_TP_QUESTIONS_TL set
376 name = decode(nvl(x_name, fnd_api.g_miss_char), fnd_api.g_miss_char, name,x_name),
377 text = decode(nvl(x_text, fnd_api.g_miss_char), fnd_api.g_miss_char, text,x_text),
378 description = decode(nvl(x_description, fnd_api.g_miss_char), fnd_api.g_miss_char,description, x_description),
379 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
380 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
381 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
382 SOURCE_LANG = userenv('LANG')
383 where QUESTION_ID = X_QUESTION_ID
384 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
385
386 if (sql%notfound) then
387 raise no_data_found;
388 end if;
389 end UPDATE_ROW;
390
391 procedure DELETE_ROW (
392 X_QUESTION_ID in NUMBER
393 ) is
394 begin
395 delete from CS_TP_QUESTIONS_TL
396 where QUESTION_ID = X_QUESTION_ID;
397
398 if (sql%notfound) then
399 raise no_data_found;
400 end if;
401
402 delete from CS_TP_QUESTIONS_B
403 where QUESTION_ID = X_QUESTION_ID;
404
405 if (sql%notfound) then
406 raise no_data_found;
407 end if;
408 end DELETE_ROW;
409
410 procedure ADD_LANGUAGE
411 is
412 begin
413 delete from CS_TP_QUESTIONS_TL T
414 where not exists
415 (select NULL
416 from CS_TP_QUESTIONS_B B
417 where B.QUESTION_ID = T.QUESTION_ID
418 );
419
420 update CS_TP_QUESTIONS_TL T set (
421 NAME,
422 TEXT,
423 DESCRIPTION
424 ) = (select
425 B.NAME,
426 B.TEXT,
427 B.DESCRIPTION
428 from CS_TP_QUESTIONS_TL B
429 where B.QUESTION_ID = T.QUESTION_ID
430 and B.LANGUAGE = T.SOURCE_LANG)
431 where (
432 T.QUESTION_ID,
433 T.LANGUAGE
434 ) in (select
435 SUBT.QUESTION_ID,
436 SUBT.LANGUAGE
437 from CS_TP_QUESTIONS_TL SUBB, CS_TP_QUESTIONS_TL SUBT
438 where SUBB.QUESTION_ID = SUBT.QUESTION_ID
439 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
440 and (SUBB.NAME <> SUBT.NAME
444 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
441 or (SUBB.NAME is null and SUBT.NAME is not null)
442 or (SUBB.NAME is not null and SUBT.NAME is null)
443 or SUBB.TEXT <> SUBT.TEXT
445 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
446 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
447 ));
448
449 insert into CS_TP_QUESTIONS_TL (
450 QUESTION_ID,
451 NAME,
452 TEXT,
453 DESCRIPTION,
454 CREATION_DATE,
455 CREATED_BY,
456 LAST_UPDATE_DATE,
457 LAST_UPDATED_BY,
458 LAST_UPDATE_LOGIN,
459 LANGUAGE,
460 SOURCE_LANG
461 ) select
462 B.QUESTION_ID,
463 B.NAME,
464 B.TEXT,
465 B.DESCRIPTION,
466 B.CREATION_DATE,
467 B.CREATED_BY,
468 B.LAST_UPDATE_DATE,
469 B.LAST_UPDATED_BY,
470 B.LAST_UPDATE_LOGIN,
471 L.LANGUAGE_CODE,
472 B.SOURCE_LANG
473 from CS_TP_QUESTIONS_TL B, FND_LANGUAGES L
474 where L.INSTALLED_FLAG in ('I', 'B')
475 and B.LANGUAGE = userenv('LANG')
476 and not exists
477 (select NULL
478 from CS_TP_QUESTIONS_TL T
479 where T.QUESTION_ID = B.QUESTION_ID
480 and T.LANGUAGE = L.LANGUAGE_CODE);
481 end ADD_LANGUAGE;
482
483 PROCEDURE LOAD_ROW(
484 x_question_id in number,
485 x_owner in varchar2,
486 x_name in varchar2,
487 x_text in varchar2,
488 x_description in varchar2,
489 x_mandatory_flag in varchar2,
490 x_scoring_flag in varchar2,
491 x_lookup_id in number,
492 x_start_date_active in date,
493 x_end_date_active in date,
494 X_NOTE_TYPE in VARCHAR2,
495 X_SHOW_ON_CREATION_FLAG in VARCHAR2 ) is
496
497 l_mandatory_flag varchar2(1);
498 l_scoring_flag varchar2(1);
499 l_user_id number;
500 l_rowid varchar(30);
501 begin
502
503 if (x_owner = 'SEED') then
504 l_user_id := 1;
505 else
506 l_user_id := 0;
507 end if;
508
509 l_mandatory_flag := x_mandatory_flag;
510 l_scoring_flag := x_mandatory_flag;
511
512 CS_TP_QUESTIONS_PKG.Update_Row(
513 X_QUESTION_ID => x_question_id,
514 X_LOOKUP_ID => x_lookup_id,
515 X_MANDTORY_FLAG => l_mandatory_flag,
516 X_SCORING_FLAG => l_scoring_flag,
517 X_Name => x_name,
518 X_Text => x_text,
519 X_Description => x_description,
520 x_start_date_active => x_start_date_active,
521 x_end_date_active => x_end_date_active,
522 X_Last_Update_Date => sysdate,
523 X_Last_Updated_By => l_user_id,
524 X_Last_Update_Login => 0,
525 X_NOTE_TYPE => x_note_type,
526 X_SHOW_ON_CREATION_FLAG => X_SHOW_ON_CREATION_FLAG );
527
528 exception
529 when no_data_found then
530 CS_TP_QUESTIONS_PKG.Insert_Row(
531 X_Rowid => l_rowid,
532 X_QUESTION_ID => x_question_id,
533 X_LOOKUP_ID => x_lookup_id,
534 X_MANDTORY_FLAG => l_mandatory_flag,
535 X_SCORING_FLAG => l_scoring_flag,
539 X_Text => x_text,
536 X_START_DATE_ACTIVE => x_start_date_active,
537 X_END_DATE_ACTIVE => x_end_date_active,
538 X_NAME => x_name,
540 X_DESCRIPTION => x_description,
541 X_CREATION_DATE => sysdate,
542 X_CREATED_BY => l_user_id,
543 X_LAST_UPDATE_DATE => sysdate,
544 X_LAST_UPDATED_BY => l_user_id,
545 X_LAST_UPDATE_LOGIN => 0,
546 X_NOTE_TYPE => x_note_type,
547 X_SHOW_ON_CREATION_FLAG => X_SHOW_ON_CREATION_FLAG
548 );
549
550 end;
551
552
553 PROCEDURE TRANSLATE_ROW(
554 x_question_id in number,
555 x_owner in varchar2,
556 x_name in varchar2,
557 x_text in varchar2,
558 x_description in varchar2) is
559
560 l_user_id number;
561 l_offset number;
562 l_amt number;
563 begin
564
565 -- Update translated non-clob portions for specified language
566 update CS_TP_QUESTIONS_TL set
567 name = x_name,
568 text = x_text,
569 description = x_description,
570 last_update_date = sysdate,
571 last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
572 last_update_login = 0,
573 source_lang = userenv('LANG')
574 where QUESTION_ID = to_number(X_QUESTION_ID)
575 and userenv('LANG') in (language, source_lang);
576
577 exception
578 when no_data_found then null;
579
583 end CS_TP_QUESTIONS_PKG;
580 end;
581
582