1 PACKAGE body CSD_RECALL_HEADERS_PKG AS
2 /* $Header: csdtrclb.pls 120.1 2010/07/14 12:10:37 subhat noship $ */
3 PROCEDURE INSERT_ROW
4 (
5 X_ROWID IN OUT nocopy VARCHAR2,
6 X_RECALL_ID IN NUMBER,
7 X_RECALL_NUMBER IN VARCHAR2,
8 X_REPORTED_DATE IN DATE,
9 X_INIT_DATE IN DATE,
10 X_COMP_DATE IN DATE,
11 X_MANDAT_COMP_DATE IN DATE,
12 X_ACT_COMP_DATE IN DATE,
13 X_SERVICE_CODES IN VARCHAR2,
14 X_REG_AGENCY_ID IN VARCHAR2,
15 X_REG_AGENCY_REF_NO IN VARCHAR2,
16 X_OBJECT_VERSION_NUMBER IN NUMBER,
17 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
18 X_ATTRIBUTE1 IN VARCHAR2,
19 X_ATTRIBUTE2 IN VARCHAR2,
20 X_ATTRIBUTE3 IN VARCHAR2,
21 X_ATTRIBUTE4 IN VARCHAR2,
22 X_ATTRIBUTE5 IN VARCHAR2,
23 X_ATTRIBUTE6 IN VARCHAR2,
24 X_ATTRIBUTE7 IN VARCHAR2,
25 X_ATTRIBUTE8 IN VARCHAR2,
26 X_ATTRIBUTE9 IN VARCHAR2,
27 X_ATTRIBUTE10 IN VARCHAR2,
28 X_ATTRIBUTE11 IN VARCHAR2,
29 X_ATTRIBUTE12 IN VARCHAR2,
30 X_ATTRIBUTE13 IN VARCHAR2,
31 X_ATTRIBUTE14 IN VARCHAR2,
32 X_ATTRIBUTE15 IN VARCHAR2,
33 X_SEVERITY_ID IN NUMBER,
34 X_STATUS_ID IN NUMBER,
35 X_RECALL_FLOW_STATUS_ID IN NUMBER,
36 X_WIP_ACCOUNTING_CLASS IN VARCHAR2,
37 X_HOTLINE_NUMBER IN VARCHAR2,
38 X_RECALL_WEBSITE IN VARCHAR2,
39 X_RECALL_REVISION IN NUMBER,
40 X_ESTIMATED_NO_OF_UNITS IN NUMBER,
41 X_CONSUMER_CONTACT IN VARCHAR2,
42 X_DISCOVERY_DATE IN DATE,
43 X_DESCRIPTION IN VARCHAR2,
44 X_DISCOVERY_METHOD IN VARCHAR2,
45 X_INCIDENTS_AND_ISSUES IN VARCHAR2,
46 X_CONSEQUENCE IN VARCHAR2,
47 X_STRATEGY_DESCR IN VARCHAR2,
48 X_REMEDY_ACTIONS IN VARCHAR2,
49 X_REG_AGENCY_COMMENTS IN VARCHAR2,
50 X_RECALL_NAME IN VARCHAR2,
51 X_RECALL_REASON IN VARCHAR2,
52 X_RECALL_RISK IN VARCHAR2,
53 X_CREATION_DATE IN DATE,
54 X_CREATED_BY IN NUMBER,
55 X_LAST_UPDATE_DATE IN DATE,
56 X_LAST_UPDATED_BY IN NUMBER,
57 X_LAST_UPDATE_LOGIN IN NUMBER )
58 IS
59 CURSOR C
60 IS
61 SELECT ROWID FROM CSD_RECALL_HEADERS_B WHERE RECALL_ID = X_RECALL_ID ;
62 BEGIN
63 INSERT
64 INTO CSD_RECALL_HEADERS_B
65 (
66 RECALL_ID,
67 RECALL_NUMBER,
68 REPORTED_DATE,
69 INIT_DATE,
70 COMP_DATE,
71 MANDAT_COMP_DATE,
72 ACT_COMP_DATE,
73 SERVICE_CODES,
74 REG_AGENCY_ID,
75 REG_AGENCY_REF_NO,
76 OBJECT_VERSION_NUMBER,
77 ATTRIBUTE_CATEGORY,
78 ATTRIBUTE1,
79 ATTRIBUTE2,
80 ATTRIBUTE3,
81 ATTRIBUTE4,
82 ATTRIBUTE5,
83 ATTRIBUTE6,
84 ATTRIBUTE7,
85 ATTRIBUTE8,
86 ATTRIBUTE9,
87 ATTRIBUTE10,
88 ATTRIBUTE11,
89 ATTRIBUTE12,
90 ATTRIBUTE13,
91 ATTRIBUTE14,
92 ATTRIBUTE15,
93 SEVERITY_ID,
94 STATUS_ID,
95 RECALL_FLOW_STATUS_ID,
96 WIP_ACCOUNTING_CLASS,
97 HOTLINE_NUMBER,
98 RECALL_WEBSITE,
99 RECALL_REVISION,
100 ESTIMATED_NO_OF_UNITS,
101 CONSUMER_CONTACT,
102 DISCOVERY_DATE,
103 CREATION_DATE,
104 CREATED_BY,
105 LAST_UPDATE_DATE,
106 LAST_UPDATED_BY,
107 LAST_UPDATE_LOGIN
108 )
109 VALUES
110 (
111 X_RECALL_ID,
112 X_RECALL_NUMBER,
113 X_REPORTED_DATE,
114 X_INIT_DATE,
115 X_COMP_DATE,
116 X_MANDAT_COMP_DATE,
117 X_ACT_COMP_DATE,
118 X_SERVICE_CODES,
119 X_REG_AGENCY_ID,
120 X_REG_AGENCY_REF_NO,
121 X_OBJECT_VERSION_NUMBER,
122 X_ATTRIBUTE_CATEGORY,
123 X_ATTRIBUTE1,
124 X_ATTRIBUTE2,
125 X_ATTRIBUTE3,
126 X_ATTRIBUTE4,
127 X_ATTRIBUTE5,
128 X_ATTRIBUTE6,
129 X_ATTRIBUTE7,
130 X_ATTRIBUTE8,
131 X_ATTRIBUTE9,
132 X_ATTRIBUTE10,
133 X_ATTRIBUTE11,
134 X_ATTRIBUTE12,
135 X_ATTRIBUTE13,
136 X_ATTRIBUTE14,
137 X_ATTRIBUTE15,
138 X_SEVERITY_ID,
139 X_STATUS_ID,
140 X_RECALL_FLOW_STATUS_ID,
141 X_WIP_ACCOUNTING_CLASS,
142 X_HOTLINE_NUMBER,
143 X_RECALL_WEBSITE,
144 X_RECALL_REVISION,
145 X_ESTIMATED_NO_OF_UNITS,
146 X_CONSUMER_CONTACT,
147 X_DISCOVERY_DATE,
148 X_CREATION_DATE,
149 X_CREATED_BY,
150 X_LAST_UPDATE_DATE,
151 X_LAST_UPDATED_BY,
152 X_LAST_UPDATE_LOGIN
153 );
154 INSERT
155 INTO CSD_RECALL_HEADERS_TL
156 (
157 RECALL_ID,
158 DESCRIPTION,
159 DISCOVERY_METHOD,
160 INCIDENTS_AND_ISSUES,
161 CONSEQUENCE,
162 STRATEGY_DESCR,
163 REMEDY_ACTIONS,
164 REG_AGENCY_COMMENTS,
165 RECALL_NAME,
166 RECALL_REASON,
167 RECALL_RISK,
168 OBJECT_VERSION_NUMBER,
169 CREATED_BY,
170 CREATION_DATE,
171 LAST_UPDATED_BY,
172 LAST_UPDATE_DATE,
173 LAST_UPDATE_LOGIN,
174 LANGUAGE,
175 SOURCE_LANG
176 )
177 SELECT X_RECALL_ID,
178 X_DESCRIPTION,
179 X_DISCOVERY_METHOD,
180 X_INCIDENTS_AND_ISSUES,
181 X_CONSEQUENCE,
182 X_STRATEGY_DESCR,
183 X_REMEDY_ACTIONS,
184 X_REG_AGENCY_COMMENTS,
185 X_RECALL_NAME,
186 X_RECALL_REASON,
187 X_RECALL_RISK,
188 X_OBJECT_VERSION_NUMBER,
189 X_CREATED_BY,
190 X_CREATION_DATE,
191 X_LAST_UPDATED_BY,
192 X_LAST_UPDATE_DATE,
193 X_LAST_UPDATE_LOGIN,
194 L.LANGUAGE_CODE,
195 userenv('LANG')
196 FROM FND_LANGUAGES L
197 WHERE L.INSTALLED_FLAG IN ('I', 'B')
198 AND NOT EXISTS
199 (SELECT NULL
200 FROM CSD_RECALL_HEADERS_TL T
201 WHERE T.RECALL_ID = X_RECALL_ID
202 AND T.LANGUAGE = L.LANGUAGE_CODE
203 );
204
205 OPEN c;
206 FETCH c INTO X_ROWID;
207 IF (c%notfound) THEN
208 CLOSE c;
209 raise no_data_found;
210 END IF;
211 CLOSE c;
212 END INSERT_ROW;
213
214 PROCEDURE LOCK_ROW
215 (
216 X_RECALL_ID IN NUMBER,
217 X_RECALL_NUMBER IN VARCHAR2,
218 X_REPORTED_DATE IN DATE,
219 X_INIT_DATE IN DATE,
220 X_COMP_DATE IN DATE,
221 X_MANDAT_COMP_DATE IN DATE,
222 X_ACT_COMP_DATE IN DATE,
223 X_SERVICE_CODES IN VARCHAR2,
224 X_REG_AGENCY_ID IN VARCHAR2,
225 X_REG_AGENCY_REF_NO IN VARCHAR2,
226 X_OBJECT_VERSION_NUMBER IN NUMBER,
227 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
228 X_ATTRIBUTE1 IN VARCHAR2,
229 X_ATTRIBUTE2 IN VARCHAR2,
230 X_ATTRIBUTE3 IN VARCHAR2,
231 X_ATTRIBUTE4 IN VARCHAR2,
232 X_ATTRIBUTE5 IN VARCHAR2,
233 X_ATTRIBUTE6 IN VARCHAR2,
234 X_ATTRIBUTE7 IN VARCHAR2,
235 X_ATTRIBUTE8 IN VARCHAR2,
236 X_ATTRIBUTE9 IN VARCHAR2,
237 X_ATTRIBUTE10 IN VARCHAR2,
238 X_ATTRIBUTE11 IN VARCHAR2,
239 X_ATTRIBUTE12 IN VARCHAR2,
240 X_ATTRIBUTE13 IN VARCHAR2,
241 X_ATTRIBUTE14 IN VARCHAR2,
242 X_ATTRIBUTE15 IN VARCHAR2,
243 X_SEVERITY_ID IN NUMBER,
244 X_STATUS_ID IN NUMBER,
245 X_RECALL_FLOW_STATUS_ID IN NUMBER,
246 X_WIP_ACCOUNTING_CLASS IN VARCHAR2,
247 X_HOTLINE_NUMBER IN VARCHAR2,
248 X_RECALL_WEBSITE IN VARCHAR2,
249 X_RECALL_REVISION IN NUMBER,
250 X_ESTIMATED_NO_OF_UNITS IN NUMBER,
251 X_CONSUMER_CONTACT IN VARCHAR2,
252 X_DISCOVERY_DATE IN DATE,
253 X_DESCRIPTION IN VARCHAR2,
254 X_DISCOVERY_METHOD IN VARCHAR2,
255 X_INCIDENTS_AND_ISSUES IN VARCHAR2,
256 X_CONSEQUENCE IN VARCHAR2,
257 X_STRATEGY_DESCR IN VARCHAR2,
258 X_REMEDY_ACTIONS IN VARCHAR2,
259 X_REG_AGENCY_COMMENTS IN VARCHAR2,
260 X_RECALL_NAME IN VARCHAR2,
261 X_RECALL_REASON IN VARCHAR2,
262 X_RECALL_RISK IN VARCHAR2 )
263 IS
264 CURSOR c
265 IS
266 SELECT RECALL_NUMBER,
267 REPORTED_DATE,
268 INIT_DATE,
269 COMP_DATE,
270 MANDAT_COMP_DATE,
271 ACT_COMP_DATE,
272 SERVICE_CODES,
273 REG_AGENCY_ID,
274 REG_AGENCY_REF_NO,
275 OBJECT_VERSION_NUMBER,
276 ATTRIBUTE_CATEGORY,
277 ATTRIBUTE1,
278 ATTRIBUTE2,
279 ATTRIBUTE3,
280 ATTRIBUTE4,
281 ATTRIBUTE5,
282 ATTRIBUTE6,
283 ATTRIBUTE7,
284 ATTRIBUTE8,
285 ATTRIBUTE9,
286 ATTRIBUTE10,
287 ATTRIBUTE11,
288 ATTRIBUTE12,
289 ATTRIBUTE13,
290 ATTRIBUTE14,
291 ATTRIBUTE15,
292 SEVERITY_ID,
293 STATUS_ID,
294 RECALL_FLOW_STATUS_ID,
295 WIP_ACCOUNTING_CLASS,
296 HOTLINE_NUMBER,
297 RECALL_WEBSITE,
298 RECALL_REVISION,
299 ESTIMATED_NO_OF_UNITS,
300 CONSUMER_CONTACT,
301 DISCOVERY_DATE
302 FROM CSD_RECALL_HEADERS_B
303 WHERE RECALL_ID = X_RECALL_ID FOR UPDATE OF RECALL_ID nowait;
304
305 recinfo c%rowtype;
306 CURSOR c1
307 IS
308 SELECT DESCRIPTION,
309 DISCOVERY_METHOD,
310 INCIDENTS_AND_ISSUES,
311 CONSEQUENCE,
312 STRATEGY_DESCR,
313 REMEDY_ACTIONS,
314 REG_AGENCY_COMMENTS,
315 RECALL_NAME,
316 RECALL_REASON,
317 RECALL_RISK,
318 DECODE(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
319 FROM CSD_RECALL_HEADERS_TL
320 WHERE RECALL_ID = X_RECALL_ID
321 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG) FOR UPDATE OF RECALL_ID nowait;
322 BEGIN
323 OPEN c;
324 FETCH c INTO recinfo;
325 IF (c%notfound) THEN
326 CLOSE c;
327 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
328 app_exception.raise_exception;
329 END IF;
330 CLOSE c;
331 IF ( ((recinfo.RECALL_NUMBER = X_RECALL_NUMBER) OR ((recinfo.RECALL_NUMBER IS NULL) AND (X_RECALL_NUMBER IS NULL)))
332 AND ((recinfo.REPORTED_DATE = X_REPORTED_DATE) OR ((recinfo.REPORTED_DATE IS NULL) AND (X_REPORTED_DATE IS NULL))) AND
333 ((recinfo.INIT_DATE = X_INIT_DATE) OR ((recinfo.INIT_DATE IS NULL) AND (X_INIT_DATE IS NULL))) AND ((recinfo.COMP_DATE = X_COMP_DATE)
334 OR ((recinfo.COMP_DATE IS NULL) AND (X_COMP_DATE IS NULL))) AND ((recinfo.MANDAT_COMP_DATE = X_MANDAT_COMP_DATE)
335 OR ((recinfo.MANDAT_COMP_DATE IS NULL) AND (X_MANDAT_COMP_DATE IS NULL))) AND ((recinfo.ACT_COMP_DATE = X_ACT_COMP_DATE)
336 OR ((recinfo.ACT_COMP_DATE IS NULL) AND (X_ACT_COMP_DATE IS NULL))) AND ((recinfo.SERVICE_CODES = X_SERVICE_CODES)
337 OR ((recinfo.SERVICE_CODES IS NULL) AND (X_SERVICE_CODES IS NULL))) AND ((recinfo.REG_AGENCY_ID = X_REG_AGENCY_ID)
338 OR ((recinfo.REG_AGENCY_ID IS NULL) AND (X_REG_AGENCY_ID IS NULL))) AND ((recinfo.REG_AGENCY_REF_NO = X_REG_AGENCY_REF_NO)
339 OR ((recinfo.REG_AGENCY_REF_NO IS NULL)
340 AND (X_REG_AGENCY_REF_NO IS NULL))) AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
341 OR ((recinfo.OBJECT_VERSION_NUMBER IS NULL) AND (X_OBJECT_VERSION_NUMBER IS NULL))) AND
342 ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY) OR ((recinfo.ATTRIBUTE_CATEGORY IS NULL) AND
343 (X_ATTRIBUTE_CATEGORY IS NULL))) AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1) OR ((recinfo.ATTRIBUTE1 IS NULL) AND
344 (X_ATTRIBUTE1 IS NULL))) AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2) OR ((recinfo.ATTRIBUTE2 IS NULL) AND
345 (X_ATTRIBUTE2 IS NULL))) AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3) OR ((recinfo.ATTRIBUTE3 IS NULL) AND
346 (X_ATTRIBUTE3 IS NULL))) AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4) OR ((recinfo.ATTRIBUTE4 IS NULL) AND
347 (X_ATTRIBUTE4 IS NULL))) AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5) OR ((recinfo.ATTRIBUTE5 IS NULL) AND
348 (X_ATTRIBUTE5 IS NULL))) AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6) OR ((recinfo.ATTRIBUTE6 IS NULL) AND
352 OR ((recinfo.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL))) AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
349 (X_ATTRIBUTE6 IS NULL))) AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7) OR ((
350 recinfo.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL))) AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
351 OR ((recinfo.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL))) AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
353 OR ((recinfo.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL))) AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
354 OR ((recinfo.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL))) AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
355 OR ((recinfo.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL))) AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
356 OR ((recinfo.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL))) AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
357 OR ((recinfo.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL))) AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
358 OR ((recinfo.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL))) AND ((recinfo.SEVERITY_ID = X_SEVERITY_ID)
359 OR ((recinfo.SEVERITY_ID IS NULL)
360 AND (X_SEVERITY_ID IS NULL))) AND ((recinfo.STATUS_ID = X_STATUS_ID) OR ((recinfo.STATUS_ID IS NULL)
361 AND (X_STATUS_ID IS NULL))) AND ((recinfo.RECALL_FLOW_STATUS_ID = X_RECALL_FLOW_STATUS_ID) OR ((recinfo.RECALL_FLOW_STATUS_ID IS NULL)
362 AND (X_RECALL_FLOW_STATUS_ID IS NULL))) AND ((recinfo.WIP_ACCOUNTING_CLASS = X_WIP_ACCOUNTING_CLASS)
363 OR ((recinfo.WIP_ACCOUNTING_CLASS IS NULL) AND (X_WIP_ACCOUNTING_CLASS IS NULL))) AND
364 ((recinfo.HOTLINE_NUMBER = X_HOTLINE_NUMBER) OR ((recinfo.HOTLINE_NUMBER IS NULL) AND
365 (X_HOTLINE_NUMBER IS NULL))) AND ((recinfo.RECALL_WEBSITE = X_RECALL_WEBSITE) OR
366 ((recinfo.RECALL_WEBSITE IS NULL) AND (X_RECALL_WEBSITE IS NULL))) AND
367 ((recinfo.RECALL_REVISION = X_RECALL_REVISION) OR ((recinfo.RECALL_REVISION IS NULL) AND
368 (X_RECALL_REVISION IS NULL))) AND ((recinfo.ESTIMATED_NO_OF_UNITS = X_ESTIMATED_NO_OF_UNITS) OR
369 ((recinfo.ESTIMATED_NO_OF_UNITS IS NULL) AND (X_ESTIMATED_NO_OF_UNITS IS NULL))) AND
370 ((recinfo.CONSUMER_CONTACT = X_CONSUMER_CONTACT) OR (
371 (recinfo.CONSUMER_CONTACT IS NULL) AND (X_CONSUMER_CONTACT IS NULL))) AND
372 ((recinfo.DISCOVERY_DATE = X_DISCOVERY_DATE) OR ((recinfo.DISCOVERY_DATE IS NULL) AND (X_DISCOVERY_DATE IS NULL))) ) THEN
373 NULL;
374 ELSE
375 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
376 app_exception.raise_exception;
377 END IF;
378 FOR tlinfo IN c1
379 LOOP
380 IF (tlinfo.BASELANG = 'Y') THEN
381 IF ( ((tlinfo.DESCRIPTION = X_DESCRIPTION) OR ((tlinfo.DESCRIPTION IS NULL) AND (X_DESCRIPTION IS NULL)))
382 AND ((tlinfo.DISCOVERY_METHOD = X_DISCOVERY_METHOD) OR ((tlinfo.DISCOVERY_METHOD IS NULL) AND (X_DISCOVERY_METHOD IS NULL)))
383 AND ((tlinfo.INCIDENTS_AND_ISSUES = X_INCIDENTS_AND_ISSUES) OR ((tlinfo.INCIDENTS_AND_ISSUES IS NULL) AND (X_INCIDENTS_AND_ISSUES IS NULL)))
384 AND ((tlinfo.CONSEQUENCE = X_CONSEQUENCE) OR ((tlinfo.CONSEQUENCE IS NULL) AND (X_CONSEQUENCE IS NULL)))
385 AND ((tlinfo.STRATEGY_DESCR = X_STRATEGY_DESCR) OR ((tlinfo.STRATEGY_DESCR IS NULL) AND (X_STRATEGY_DESCR IS NULL)))
386 AND ((tlinfo.REMEDY_ACTIONS = X_REMEDY_ACTIONS) OR ((tlinfo.REMEDY_ACTIONS IS NULL) AND (X_REMEDY_ACTIONS IS NULL)))
387 AND ((tlinfo.REG_AGENCY_COMMENTS = X_REG_AGENCY_COMMENTS) OR ((tlinfo.REG_AGENCY_COMMENTS IS NULL) AND (X_REG_AGENCY_COMMENTS IS NULL)))
388 AND ((tlinfo.RECALL_NAME = X_RECALL_NAME) OR ((tlinfo.RECALL_NAME IS NULL) AND (X_RECALL_NAME IS NULL))) AND ((tlinfo.RECALL_REASON =
389 X_RECALL_REASON) OR ((tlinfo.RECALL_REASON IS NULL) AND (X_RECALL_REASON IS NULL))) AND ((tlinfo.RECALL_RISK = X_RECALL_RISK)
390 OR ((tlinfo.RECALL_RISK IS NULL) AND (X_RECALL_RISK IS NULL))) ) THEN
391 NULL;
392 ELSE
393 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
394 app_exception.raise_exception;
395 END IF;
396 END IF;
397 END LOOP;
398 RETURN;
399 END LOCK_ROW;
400
401 PROCEDURE UPDATE_ROW
402 (
403 X_RECALL_ID IN NUMBER,
404 X_RECALL_NUMBER IN VARCHAR2,
405 X_REPORTED_DATE IN DATE,
406 X_INIT_DATE IN DATE,
407 X_COMP_DATE IN DATE,
408 X_MANDAT_COMP_DATE IN DATE,
409 X_ACT_COMP_DATE IN DATE,
410 X_SERVICE_CODES IN VARCHAR2,
411 X_REG_AGENCY_ID IN VARCHAR2,
412 X_REG_AGENCY_REF_NO IN VARCHAR2,
413 X_OBJECT_VERSION_NUMBER IN NUMBER,
414 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
415 X_ATTRIBUTE1 IN VARCHAR2,
416 X_ATTRIBUTE2 IN VARCHAR2,
417 X_ATTRIBUTE3 IN VARCHAR2,
418 X_ATTRIBUTE4 IN VARCHAR2,
419 X_ATTRIBUTE5 IN VARCHAR2,
420 X_ATTRIBUTE6 IN VARCHAR2,
421 X_ATTRIBUTE7 IN VARCHAR2,
422 X_ATTRIBUTE8 IN VARCHAR2,
423 X_ATTRIBUTE9 IN VARCHAR2,
424 X_ATTRIBUTE10 IN VARCHAR2,
425 X_ATTRIBUTE11 IN VARCHAR2,
426 X_ATTRIBUTE12 IN VARCHAR2,
427 X_ATTRIBUTE13 IN VARCHAR2,
428 X_ATTRIBUTE14 IN VARCHAR2,
429 X_ATTRIBUTE15 IN VARCHAR2,
430 X_SEVERITY_ID IN NUMBER,
431 X_STATUS_ID IN NUMBER,
432 X_RECALL_FLOW_STATUS_ID IN NUMBER,
433 X_WIP_ACCOUNTING_CLASS IN VARCHAR2,
434 X_HOTLINE_NUMBER IN VARCHAR2,
435 X_RECALL_WEBSITE IN VARCHAR2,
436 X_RECALL_REVISION IN NUMBER,
437 X_ESTIMATED_NO_OF_UNITS IN NUMBER,
438 X_CONSUMER_CONTACT IN VARCHAR2,
439 X_DISCOVERY_DATE IN DATE,
440 X_DESCRIPTION IN VARCHAR2,
441 X_DISCOVERY_METHOD IN VARCHAR2,
442 X_INCIDENTS_AND_ISSUES IN VARCHAR2,
443 X_CONSEQUENCE IN VARCHAR2,
444 X_STRATEGY_DESCR IN VARCHAR2,
448 X_RECALL_REASON IN VARCHAR2,
445 X_REMEDY_ACTIONS IN VARCHAR2,
446 X_REG_AGENCY_COMMENTS IN VARCHAR2,
447 X_RECALL_NAME IN VARCHAR2,
449 X_RECALL_RISK IN VARCHAR2,
450 X_LAST_UPDATE_DATE IN DATE,
451 X_LAST_UPDATED_BY IN NUMBER,
452 X_LAST_UPDATE_LOGIN IN NUMBER )
453 IS
454 BEGIN
455 UPDATE CSD_RECALL_HEADERS_B
456 SET RECALL_NUMBER = X_RECALL_NUMBER,
457 REPORTED_DATE = X_REPORTED_DATE,
458 INIT_DATE = X_INIT_DATE,
459 COMP_DATE = X_COMP_DATE,
460 MANDAT_COMP_DATE = X_MANDAT_COMP_DATE,
461 ACT_COMP_DATE = X_ACT_COMP_DATE,
462 SERVICE_CODES = X_SERVICE_CODES,
463 REG_AGENCY_ID = X_REG_AGENCY_ID,
464 REG_AGENCY_REF_NO = X_REG_AGENCY_REF_NO,
465 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
466 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
467 ATTRIBUTE1 = X_ATTRIBUTE1,
468 ATTRIBUTE2 = X_ATTRIBUTE2,
469 ATTRIBUTE3 = X_ATTRIBUTE3,
470 ATTRIBUTE4 = X_ATTRIBUTE4,
471 ATTRIBUTE5 = X_ATTRIBUTE5,
472 ATTRIBUTE6 = X_ATTRIBUTE6,
473 ATTRIBUTE7 = X_ATTRIBUTE7,
474 ATTRIBUTE8 = X_ATTRIBUTE8,
475 ATTRIBUTE9 = X_ATTRIBUTE9,
476 ATTRIBUTE10 = X_ATTRIBUTE10,
477 ATTRIBUTE11 = X_ATTRIBUTE11,
478 ATTRIBUTE12 = X_ATTRIBUTE12,
479 ATTRIBUTE13 = X_ATTRIBUTE13,
480 ATTRIBUTE14 = X_ATTRIBUTE14,
481 ATTRIBUTE15 = X_ATTRIBUTE15,
482 SEVERITY_ID = X_SEVERITY_ID,
483 STATUS_ID = X_STATUS_ID,
484 RECALL_FLOW_STATUS_ID = X_RECALL_FLOW_STATUS_ID,
485 WIP_ACCOUNTING_CLASS = X_WIP_ACCOUNTING_CLASS,
486 HOTLINE_NUMBER = X_HOTLINE_NUMBER,
487 RECALL_WEBSITE = X_RECALL_WEBSITE,
488 RECALL_REVISION = X_RECALL_REVISION,
489 ESTIMATED_NO_OF_UNITS = X_ESTIMATED_NO_OF_UNITS,
490 CONSUMER_CONTACT = X_CONSUMER_CONTACT,
491 DISCOVERY_DATE = X_DISCOVERY_DATE,
492 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
493 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
494 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
495 WHERE RECALL_ID = X_RECALL_ID;
496 IF (sql%notfound) THEN
497 raise no_data_found;
498 END IF;
499 UPDATE CSD_RECALL_HEADERS_TL
500 SET DESCRIPTION = X_DESCRIPTION,
501 DISCOVERY_METHOD = X_DISCOVERY_METHOD,
502 INCIDENTS_AND_ISSUES = X_INCIDENTS_AND_ISSUES,
503 CONSEQUENCE = X_CONSEQUENCE,
504 STRATEGY_DESCR = X_STRATEGY_DESCR,
505 REMEDY_ACTIONS = X_REMEDY_ACTIONS,
506 REG_AGENCY_COMMENTS = X_REG_AGENCY_COMMENTS,
507 RECALL_NAME = X_RECALL_NAME,
508 RECALL_REASON = X_RECALL_REASON,
509 RECALL_RISK = X_RECALL_RISK,
510 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
511 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
512 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
513 SOURCE_LANG = userenv('LANG')
514 WHERE RECALL_ID = X_RECALL_ID
515 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
516 IF (sql%notfound) THEN
517 raise no_data_found;
518 END IF;
519 END UPDATE_ROW;
520
521 PROCEDURE DELETE_ROW
522 (
523 X_RECALL_ID IN NUMBER )
524 IS
525 BEGIN
526 DELETE FROM CSD_RECALL_HEADERS_TL WHERE RECALL_ID = X_RECALL_ID;
527 IF (sql%notfound) THEN
528 raise no_data_found;
529 END IF;
530 DELETE FROM CSD_RECALL_HEADERS_B WHERE RECALL_ID = X_RECALL_ID;
531 IF (sql%notfound) THEN
532 raise no_data_found;
533 END IF;
534 END DELETE_ROW;
535
536 PROCEDURE ADD_LANGUAGE
537 IS
538 BEGIN
539 DELETE
540 FROM CSD_RECALL_HEADERS_TL T
541 WHERE NOT EXISTS
542 (SELECT NULL FROM CSD_RECALL_HEADERS_B B WHERE B.RECALL_ID = T.RECALL_ID
543 );
544 UPDATE CSD_RECALL_HEADERS_TL T
545 SET
546 (
547 DESCRIPTION,
548 DISCOVERY_METHOD,
549 INCIDENTS_AND_ISSUES,
550 CONSEQUENCE,
551 STRATEGY_DESCR,
552 REMEDY_ACTIONS,
553 REG_AGENCY_COMMENTS,
554 RECALL_NAME,
555 RECALL_REASON,
556 RECALL_RISK
557 )
558 =
559 (SELECT B.DESCRIPTION,
560 B.DISCOVERY_METHOD,
561 B.INCIDENTS_AND_ISSUES,
562 B.CONSEQUENCE,
563 B.STRATEGY_DESCR,
564 B.REMEDY_ACTIONS,
565 B.REG_AGENCY_COMMENTS,
566 B.RECALL_NAME,
567 B.RECALL_REASON,
568 B.RECALL_RISK
569 FROM CSD_RECALL_HEADERS_TL B
570 WHERE B.RECALL_ID = T.RECALL_ID
571 AND B.LANGUAGE = T.SOURCE_LANG
572 )
573 WHERE ( T.RECALL_ID, T.LANGUAGE ) IN
574 (SELECT SUBT.RECALL_ID,
575 SUBT.LANGUAGE
576 FROM CSD_RECALL_HEADERS_TL SUBB,
577 CSD_RECALL_HEADERS_TL SUBT
578 WHERE SUBB.RECALL_ID = SUBT.RECALL_ID
579 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
580 AND (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
581 OR (SUBB.DESCRIPTION IS NULL
582 AND SUBT.DESCRIPTION IS NOT NULL)
583 OR (SUBB.DESCRIPTION IS NOT NULL
584 AND SUBT.DESCRIPTION IS NULL)
585 OR SUBB.DISCOVERY_METHOD <> SUBT.DISCOVERY_METHOD
586 OR (SUBB.DISCOVERY_METHOD IS NULL
587 AND SUBT.DISCOVERY_METHOD IS NOT NULL)
588 OR (SUBB.DISCOVERY_METHOD IS NOT NULL
589 AND SUBT.DISCOVERY_METHOD IS NULL)
590 OR SUBB.INCIDENTS_AND_ISSUES <> SUBT.INCIDENTS_AND_ISSUES
591 OR (SUBB.INCIDENTS_AND_ISSUES IS NULL
595 OR SUBB.CONSEQUENCE <> SUBT.CONSEQUENCE
592 AND SUBT.INCIDENTS_AND_ISSUES IS NOT NULL)
593 OR (SUBB.INCIDENTS_AND_ISSUES IS NOT NULL
594 AND SUBT.INCIDENTS_AND_ISSUES IS NULL)
596 OR (SUBB.CONSEQUENCE IS NULL
597 AND SUBT.CONSEQUENCE IS NOT NULL)
598 OR (SUBB.CONSEQUENCE IS NOT NULL
599 AND SUBT.CONSEQUENCE IS NULL)
600 OR SUBB.STRATEGY_DESCR <> SUBT.STRATEGY_DESCR
601 OR (SUBB.STRATEGY_DESCR IS NULL
602 AND SUBT.STRATEGY_DESCR IS NOT NULL)
603 OR (SUBB.STRATEGY_DESCR IS NOT NULL
604 AND SUBT.STRATEGY_DESCR IS NULL)
605 OR SUBB.REMEDY_ACTIONS <> SUBT.REMEDY_ACTIONS
606 OR (SUBB.REMEDY_ACTIONS IS NULL
607 AND SUBT.REMEDY_ACTIONS IS NOT NULL)
608 OR (SUBB.REMEDY_ACTIONS IS NOT NULL
609 AND SUBT.REMEDY_ACTIONS IS NULL)
610 OR SUBB.REG_AGENCY_COMMENTS <> SUBT.REG_AGENCY_COMMENTS
611 OR (SUBB.REG_AGENCY_COMMENTS IS NULL
612 AND SUBT.REG_AGENCY_COMMENTS IS NOT NULL)
613 OR (SUBB.REG_AGENCY_COMMENTS IS NOT NULL
614 AND SUBT.REG_AGENCY_COMMENTS IS NULL)
615 OR SUBB.RECALL_NAME <> SUBT.RECALL_NAME
616 OR (SUBB.RECALL_NAME IS NULL
617 AND SUBT.RECALL_NAME IS NOT NULL)
618 OR (SUBB.RECALL_NAME IS NOT NULL
619 AND SUBT.RECALL_NAME IS NULL)
620 OR SUBB.RECALL_REASON <> SUBT.RECALL_REASON
621 OR (SUBB.RECALL_REASON IS NULL
622 AND SUBT.RECALL_REASON IS NOT NULL)
623 OR (SUBB.RECALL_REASON IS NOT NULL
624 AND SUBT.RECALL_REASON IS NULL)
625 OR SUBB.RECALL_RISK <> SUBT.RECALL_RISK
626 OR (SUBB.RECALL_RISK IS NULL
627 AND SUBT.RECALL_RISK IS NOT NULL)
628 OR (SUBB.RECALL_RISK IS NOT NULL
629 AND SUBT.RECALL_RISK IS NULL) )
630 );
631
632 INSERT
633 INTO CSD_RECALL_HEADERS_TL
634 (
635 RECALL_ID,
636 DESCRIPTION,
637 DISCOVERY_METHOD,
638 INCIDENTS_AND_ISSUES,
639 CONSEQUENCE,
640 STRATEGY_DESCR,
641 REMEDY_ACTIONS,
642 REG_AGENCY_COMMENTS,
643 RECALL_NAME,
644 RECALL_REASON,
645 RECALL_RISK,
646 OBJECT_VERSION_NUMBER,
647 CREATED_BY,
648 CREATION_DATE,
649 LAST_UPDATED_BY,
650 LAST_UPDATE_DATE,
651 LAST_UPDATE_LOGIN,
652 LANGUAGE,
653 SOURCE_LANG
654 )
655 SELECT
656 /*+ ORDERED */
657 B.RECALL_ID,
658 B.DESCRIPTION,
659 B.DISCOVERY_METHOD,
660 B.INCIDENTS_AND_ISSUES,
661 B.CONSEQUENCE,
662 B.STRATEGY_DESCR,
663 B.REMEDY_ACTIONS,
664 B.REG_AGENCY_COMMENTS,
665 B.RECALL_NAME,
666 B.RECALL_REASON,
667 B.RECALL_RISK,
668 B.OBJECT_VERSION_NUMBER,
669 B.CREATED_BY,
670 B.CREATION_DATE,
671 B.LAST_UPDATED_BY,
672 B.LAST_UPDATE_DATE,
673 B.LAST_UPDATE_LOGIN,
674 L.LANGUAGE_CODE,
675 B.SOURCE_LANG
676 FROM CSD_RECALL_HEADERS_TL B,
677 FND_LANGUAGES L
678 WHERE L.INSTALLED_FLAG IN ('I', 'B')
679 AND B.LANGUAGE = userenv('LANG')
680 AND NOT EXISTS
681 (SELECT NULL
682 FROM CSD_RECALL_HEADERS_TL T
683 WHERE T.RECALL_ID = B.RECALL_ID
684 AND T.LANGUAGE = L.LANGUAGE_CODE
685 );
686
687 END ADD_LANGUAGE;
688
689 END CSD_RECALL_HEADERS_PKG;