1 package body AHL_PRD_DISPOSITIONS_B_H_PKG as
2 /* $Header: AHLLDSHB.pls 120.0 2005/05/26 00:06:19 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_DISPOSITION_H_ID in NUMBER,
6 X_DISPOSITION_ID in NUMBER,
7 X_OBJECT_VERSION_NUMBER in NUMBER,
8 X_WORKORDER_ID in NUMBER,
9 X_PART_CHANGE_ID in NUMBER,
10 X_PATH_POSITION_ID in NUMBER,
11 X_INVENTORY_ITEM_ID in NUMBER,
12 X_ORGANIZATION_ID in NUMBER,
13 X_ITEM_GROUP_ID in NUMBER,
14 X_CONDITION_ID in NUMBER,
15 X_INSTANCE_ID in NUMBER,
16 X_SERIAL_NUMBER in VARCHAR2,
17 X_LOT_NUMBER in VARCHAR2,
18 X_IMMEDIATE_DISPOSITION_CODE in VARCHAR2,
19 X_SECONDARY_DISPOSITION_CODE in VARCHAR2,
20 X_STATUS_CODE in VARCHAR2,
21 X_QUANTITY in NUMBER,
22 X_UOM in VARCHAR2,
23 X_COLLECTION_ID in NUMBER,
24 X_PRIMARY_SERVICE_REQUEST_ID in NUMBER,
25 X_NON_ROUTINE_WORKORDER_ID in NUMBER,
26 X_WO_OPERATION_ID in NUMBER,
27 X_ITEM_REVISION in VARCHAR2,
28 X_ATTRIBUTE_CATEGORY in VARCHAR2,
29 X_ATTRIBUTE1 in VARCHAR2,
30 X_ATTRIBUTE2 in VARCHAR2,
31 X_ATTRIBUTE3 in VARCHAR2,
32 X_ATTRIBUTE4 in VARCHAR2,
33 X_ATTRIBUTE5 in VARCHAR2,
34 X_ATTRIBUTE6 in VARCHAR2,
35 X_ATTRIBUTE7 in VARCHAR2,
36 X_ATTRIBUTE8 in VARCHAR2,
37 X_ATTRIBUTE9 in VARCHAR2,
38 X_ATTRIBUTE10 in VARCHAR2,
39 X_ATTRIBUTE11 in VARCHAR2,
40 X_ATTRIBUTE12 in VARCHAR2,
41 X_ATTRIBUTE13 in VARCHAR2,
42 X_ATTRIBUTE14 in VARCHAR2,
43 X_ATTRIBUTE15 in VARCHAR2,
44 X_COMMENTS in VARCHAR2,
45 X_CREATION_DATE in DATE,
46 X_CREATED_BY in NUMBER,
47 X_LAST_UPDATE_DATE in DATE,
48 X_LAST_UPDATED_BY in NUMBER,
49 X_LAST_UPDATE_LOGIN in NUMBER
50 ) is
51 cursor C is select ROWID from AHL_PRD_DISPOSITIONS_B_H
52 where DISPOSITION_H_ID = X_DISPOSITION_H_ID
53 ;
54 begin
55 insert into AHL_PRD_DISPOSITIONS_B_H (
56 DISPOSITION_H_ID,
57 DISPOSITION_ID,
58 OBJECT_VERSION_NUMBER,
59 WORKORDER_ID,
60 PART_CHANGE_ID,
61 PATH_POSITION_ID,
62 INVENTORY_ITEM_ID,
63 ORGANIZATION_ID,
64 ITEM_GROUP_ID,
65 CONDITION_ID,
66 INSTANCE_ID,
67 SERIAL_NUMBER,
68 LOT_NUMBER,
69 IMMEDIATE_DISPOSITION_CODE,
70 SECONDARY_DISPOSITION_CODE,
71 STATUS_CODE,
72 QUANTITY,
73 UOM,
74 COLLECTION_ID,
75 PRIMARY_SERVICE_REQUEST_ID,
76 NON_ROUTINE_WORKORDER_ID,
77 WO_OPERATION_ID,
78 ITEM_REVISION,
79 ATTRIBUTE_CATEGORY,
80 ATTRIBUTE1,
81 ATTRIBUTE2,
82 ATTRIBUTE3,
83 ATTRIBUTE4,
84 ATTRIBUTE5,
85 ATTRIBUTE6,
86 ATTRIBUTE7,
87 ATTRIBUTE8,
88 ATTRIBUTE9,
89 ATTRIBUTE10,
90 ATTRIBUTE11,
91 ATTRIBUTE12,
92 ATTRIBUTE13,
93 ATTRIBUTE14,
94 ATTRIBUTE15,
95 CREATION_DATE,
96 CREATED_BY,
97 LAST_UPDATE_DATE,
98 LAST_UPDATED_BY,
99 LAST_UPDATE_LOGIN
100 ) values (
101 X_DISPOSITION_H_ID,
102 X_DISPOSITION_ID,
103 X_OBJECT_VERSION_NUMBER,
104 X_WORKORDER_ID,
105 X_PART_CHANGE_ID,
106 X_PATH_POSITION_ID,
107 X_INVENTORY_ITEM_ID,
108 X_ORGANIZATION_ID,
109 X_ITEM_GROUP_ID,
110 X_CONDITION_ID,
111 X_INSTANCE_ID,
112 X_SERIAL_NUMBER,
113 X_LOT_NUMBER,
114 X_IMMEDIATE_DISPOSITION_CODE,
115 X_SECONDARY_DISPOSITION_CODE,
116 X_STATUS_CODE,
117 X_QUANTITY,
118 X_UOM,
119 X_COLLECTION_ID,
120 X_PRIMARY_SERVICE_REQUEST_ID,
121 X_NON_ROUTINE_WORKORDER_ID,
122 X_WO_OPERATION_ID,
123 X_ITEM_REVISION,
124 X_ATTRIBUTE_CATEGORY,
125 X_ATTRIBUTE1,
126 X_ATTRIBUTE2,
127 X_ATTRIBUTE3,
128 X_ATTRIBUTE4,
129 X_ATTRIBUTE5,
130 X_ATTRIBUTE6,
131 X_ATTRIBUTE7,
132 X_ATTRIBUTE8,
133 X_ATTRIBUTE9,
134 X_ATTRIBUTE10,
135 X_ATTRIBUTE11,
136 X_ATTRIBUTE12,
137 X_ATTRIBUTE13,
138 X_ATTRIBUTE14,
139 X_ATTRIBUTE15,
140 X_CREATION_DATE,
141 X_CREATED_BY,
142 X_LAST_UPDATE_DATE,
143 X_LAST_UPDATED_BY,
144 X_LAST_UPDATE_LOGIN
145 );
146
147 insert into AHL_PRD_DISPOSITIONS_TL_H (
148 DISPOSITION_H_ID,
149 DISPOSITION_ID,
150 LAST_UPDATE_DATE,
151 LAST_UPDATED_BY,
152 CREATION_DATE,
153 CREATED_BY,
154 LAST_UPDATE_LOGIN,
155 COMMENTS,
156 LANGUAGE,
157 SOURCE_LANG
158 ) select
159 X_DISPOSITION_H_ID,
160 X_DISPOSITION_ID,
161 X_LAST_UPDATE_DATE,
162 X_LAST_UPDATED_BY,
163 X_CREATION_DATE,
164 X_CREATED_BY,
165 X_LAST_UPDATE_LOGIN,
166 X_COMMENTS,
167 L.LANGUAGE_CODE,
168 userenv('LANG')
169 from FND_LANGUAGES L
170 where L.INSTALLED_FLAG in ('I', 'B')
171 and not exists
172 (select NULL
173 from AHL_PRD_DISPOSITIONS_TL_H T
174 where T.DISPOSITION_H_ID = X_DISPOSITION_H_ID
175 and T.LANGUAGE = L.LANGUAGE_CODE);
176
177 open c;
178 fetch c into X_ROWID;
179 if (c%notfound) then
180 close c;
181 raise no_data_found;
182 end if;
183 close c;
184
185 end INSERT_ROW;
186
187 procedure LOCK_ROW (
188 X_DISPOSITION_H_ID in NUMBER,
189 X_DISPOSITION_ID in NUMBER,
190 X_OBJECT_VERSION_NUMBER in NUMBER,
191 X_WORKORDER_ID in NUMBER,
192 X_PART_CHANGE_ID in NUMBER,
193 X_PATH_POSITION_ID in NUMBER,
194 X_INVENTORY_ITEM_ID in NUMBER,
195 X_ORGANIZATION_ID in NUMBER,
196 X_ITEM_GROUP_ID in NUMBER,
197 X_CONDITION_ID in NUMBER,
198 X_INSTANCE_ID in NUMBER,
199 X_SERIAL_NUMBER in VARCHAR2,
200 X_LOT_NUMBER in VARCHAR2,
201 X_IMMEDIATE_DISPOSITION_CODE in VARCHAR2,
202 X_SECONDARY_DISPOSITION_CODE in VARCHAR2,
203 X_STATUS_CODE in VARCHAR2,
204 X_QUANTITY in NUMBER,
205 X_UOM in VARCHAR2,
206 X_COLLECTION_ID in NUMBER,
207 X_PRIMARY_SERVICE_REQUEST_ID in NUMBER,
208 X_NON_ROUTINE_WORKORDER_ID in NUMBER,
209 X_WO_OPERATION_ID in NUMBER,
210 X_ITEM_REVISION in VARCHAR2,
211 X_ATTRIBUTE_CATEGORY in VARCHAR2,
212 X_ATTRIBUTE1 in VARCHAR2,
213 X_ATTRIBUTE2 in VARCHAR2,
214 X_ATTRIBUTE3 in VARCHAR2,
215 X_ATTRIBUTE4 in VARCHAR2,
216 X_ATTRIBUTE5 in VARCHAR2,
217 X_ATTRIBUTE6 in VARCHAR2,
218 X_ATTRIBUTE7 in VARCHAR2,
219 X_ATTRIBUTE8 in VARCHAR2,
220 X_ATTRIBUTE9 in VARCHAR2,
221 X_ATTRIBUTE10 in VARCHAR2,
222 X_ATTRIBUTE11 in VARCHAR2,
223 X_ATTRIBUTE12 in VARCHAR2,
224 X_ATTRIBUTE13 in VARCHAR2,
225 X_ATTRIBUTE14 in VARCHAR2,
226 X_ATTRIBUTE15 in VARCHAR2,
227 X_COMMENTS in VARCHAR2
228 ) is
229 cursor c is select
230 DISPOSITION_ID,
231 OBJECT_VERSION_NUMBER,
232 WORKORDER_ID,
233 PART_CHANGE_ID,
234 PATH_POSITION_ID,
235 INVENTORY_ITEM_ID,
236 ORGANIZATION_ID,
237 ITEM_GROUP_ID,
238 CONDITION_ID,
239 INSTANCE_ID,
240 SERIAL_NUMBER,
241 LOT_NUMBER,
242 IMMEDIATE_DISPOSITION_CODE,
243 SECONDARY_DISPOSITION_CODE,
244 STATUS_CODE,
245 QUANTITY,
246 UOM,
247 COLLECTION_ID,
248 PRIMARY_SERVICE_REQUEST_ID,
249 NON_ROUTINE_WORKORDER_ID,
250 WO_OPERATION_ID,
251 ITEM_REVISION,
252 ATTRIBUTE_CATEGORY,
253 ATTRIBUTE1,
254 ATTRIBUTE2,
255 ATTRIBUTE3,
256 ATTRIBUTE4,
257 ATTRIBUTE5,
258 ATTRIBUTE6,
259 ATTRIBUTE7,
260 ATTRIBUTE8,
261 ATTRIBUTE9,
262 ATTRIBUTE10,
263 ATTRIBUTE11,
264 ATTRIBUTE12,
265 ATTRIBUTE13,
266 ATTRIBUTE14,
267 ATTRIBUTE15
268 from AHL_PRD_DISPOSITIONS_B_H
269 where DISPOSITION_H_ID = X_DISPOSITION_H_ID
270 for update of DISPOSITION_H_ID nowait;
271 recinfo c%rowtype;
272
273 cursor c1 is select
274 COMMENTS,
275 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
276 from AHL_PRD_DISPOSITIONS_TL_H
277 where DISPOSITION_H_ID = X_DISPOSITION_H_ID
278 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
279 for update of DISPOSITION_H_ID nowait;
280 begin
281 open c;
282 fetch c into recinfo;
283 if (c%notfound) then
284 close c;
285 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
286 app_exception.raise_exception;
287 end if;
288 close c;
289 if ( (recinfo.DISPOSITION_ID = X_DISPOSITION_ID)
290 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
291 AND (recinfo.WORKORDER_ID = X_WORKORDER_ID)
292 AND ((recinfo.PART_CHANGE_ID = X_PART_CHANGE_ID)
293 OR ((recinfo.PART_CHANGE_ID is null) AND (X_PART_CHANGE_ID is null)))
294 AND ((recinfo.PATH_POSITION_ID = X_PATH_POSITION_ID)
295 OR ((recinfo.PATH_POSITION_ID is null) AND (X_PATH_POSITION_ID is null)))
296 AND ((recinfo.INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID)
297 OR ((recinfo.INVENTORY_ITEM_ID is null) AND (X_INVENTORY_ITEM_ID is null)))
298 AND ((recinfo.ORGANIZATION_ID = X_ORGANIZATION_ID)
299 OR ((recinfo.ORGANIZATION_ID is null) AND (X_ORGANIZATION_ID is null)))
300 AND ((recinfo.ITEM_GROUP_ID = X_ITEM_GROUP_ID)
301 OR ((recinfo.ITEM_GROUP_ID is null) AND (X_ITEM_GROUP_ID is null)))
302 AND ((recinfo.CONDITION_ID = X_CONDITION_ID)
303 OR ((recinfo.CONDITION_ID is null) AND (X_CONDITION_ID is null)))
304 AND ((recinfo.INSTANCE_ID = X_INSTANCE_ID)
305 OR ((recinfo.INSTANCE_ID is null) AND (X_INSTANCE_ID is null)))
306 AND ((recinfo.SERIAL_NUMBER = X_SERIAL_NUMBER)
307 OR ((recinfo.SERIAL_NUMBER is null) AND (X_SERIAL_NUMBER is null)))
308 AND ((recinfo.LOT_NUMBER = X_LOT_NUMBER)
309 OR ((recinfo.LOT_NUMBER is null) AND (X_LOT_NUMBER is null)))
310 AND ((recinfo.IMMEDIATE_DISPOSITION_CODE = X_IMMEDIATE_DISPOSITION_CODE)
311 OR ((recinfo.IMMEDIATE_DISPOSITION_CODE is null) AND (X_IMMEDIATE_DISPOSITION_CODE is null)))
312 AND ((recinfo.SECONDARY_DISPOSITION_CODE = X_SECONDARY_DISPOSITION_CODE)
313 OR ((recinfo.SECONDARY_DISPOSITION_CODE is null) AND (X_SECONDARY_DISPOSITION_CODE is null)))
314 AND ((recinfo.STATUS_CODE = X_STATUS_CODE)
315 OR ((recinfo.STATUS_CODE is null) AND (X_STATUS_CODE is null)))
316 AND ((recinfo.QUANTITY = X_QUANTITY)
317 OR ((recinfo.QUANTITY is null) AND (X_QUANTITY is null)))
318 AND ((recinfo.UOM = X_UOM)
319 OR ((recinfo.UOM is null) AND (X_UOM is null)))
320 AND ((recinfo.COLLECTION_ID = X_COLLECTION_ID)
321 OR ((recinfo.COLLECTION_ID is null) AND (X_COLLECTION_ID is null)))
322 AND ((recinfo.PRIMARY_SERVICE_REQUEST_ID = X_PRIMARY_SERVICE_REQUEST_ID)
323 OR ((recinfo.PRIMARY_SERVICE_REQUEST_ID is null) AND (X_PRIMARY_SERVICE_REQUEST_ID is null)))
324 AND ((recinfo.NON_ROUTINE_WORKORDER_ID = X_NON_ROUTINE_WORKORDER_ID)
325 OR ((recinfo.NON_ROUTINE_WORKORDER_ID is null) AND (X_NON_ROUTINE_WORKORDER_ID is null)))
326 AND ((recinfo.WO_OPERATION_ID = X_WO_OPERATION_ID)
327 OR ((recinfo.WO_OPERATION_ID is null) AND (X_WO_OPERATION_ID is null)))
328 AND ((recinfo.ITEM_REVISION = X_ITEM_REVISION)
329 OR ((recinfo.ITEM_REVISION is null) AND (X_ITEM_REVISION is null)))
330 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
331 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
332 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
333 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
334 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
335 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
336 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
337 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
338 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
339 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
340 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
341 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
342 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
343 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
344 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
345 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
346 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
347 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
348 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
349 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
350 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
351 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
352 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
353 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
354 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
355 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
356 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
357 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
358 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
359 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
360 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
361 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
362 ) then
363 null;
364 else
365 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
366 app_exception.raise_exception;
367 end if;
368
369 for tlinfo in c1 loop
370 if (tlinfo.BASELANG = 'Y') then
371 if ( ((tlinfo.COMMENTS = X_COMMENTS)
372 OR ((tlinfo.COMMENTS is null) AND (X_COMMENTS is null)))
373 ) then
374 null;
378 end if;
375 else
376 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
377 app_exception.raise_exception;
379 end if;
380 end loop;
381 return;
382 end LOCK_ROW;
383
384 procedure UPDATE_ROW (
385 X_DISPOSITION_H_ID in NUMBER,
386 X_DISPOSITION_ID in NUMBER,
387 X_OBJECT_VERSION_NUMBER in NUMBER,
388 X_WORKORDER_ID in NUMBER,
389 X_PART_CHANGE_ID in NUMBER,
390 X_PATH_POSITION_ID in NUMBER,
391 X_INVENTORY_ITEM_ID in NUMBER,
392 X_ORGANIZATION_ID in NUMBER,
393 X_ITEM_GROUP_ID in NUMBER,
394 X_CONDITION_ID in NUMBER,
395 X_INSTANCE_ID in NUMBER,
396 X_SERIAL_NUMBER in VARCHAR2,
397 X_LOT_NUMBER in VARCHAR2,
398 X_IMMEDIATE_DISPOSITION_CODE in VARCHAR2,
399 X_SECONDARY_DISPOSITION_CODE in VARCHAR2,
400 X_STATUS_CODE in VARCHAR2,
401 X_QUANTITY in NUMBER,
402 X_UOM in VARCHAR2,
403 X_COLLECTION_ID in NUMBER,
404 X_PRIMARY_SERVICE_REQUEST_ID in NUMBER,
405 X_NON_ROUTINE_WORKORDER_ID in NUMBER,
406 X_WO_OPERATION_ID in NUMBER,
407 X_ITEM_REVISION in VARCHAR2,
408 X_ATTRIBUTE_CATEGORY in VARCHAR2,
409 X_ATTRIBUTE1 in VARCHAR2,
410 X_ATTRIBUTE2 in VARCHAR2,
411 X_ATTRIBUTE3 in VARCHAR2,
412 X_ATTRIBUTE4 in VARCHAR2,
413 X_ATTRIBUTE5 in VARCHAR2,
414 X_ATTRIBUTE6 in VARCHAR2,
415 X_ATTRIBUTE7 in VARCHAR2,
416 X_ATTRIBUTE8 in VARCHAR2,
417 X_ATTRIBUTE9 in VARCHAR2,
418 X_ATTRIBUTE10 in VARCHAR2,
419 X_ATTRIBUTE11 in VARCHAR2,
420 X_ATTRIBUTE12 in VARCHAR2,
421 X_ATTRIBUTE13 in VARCHAR2,
422 X_ATTRIBUTE14 in VARCHAR2,
423 X_ATTRIBUTE15 in VARCHAR2,
424 X_COMMENTS in VARCHAR2,
425 X_LAST_UPDATE_DATE in DATE,
426 X_LAST_UPDATED_BY in NUMBER,
427 X_LAST_UPDATE_LOGIN in NUMBER
428 ) is
429 begin
430 update AHL_PRD_DISPOSITIONS_B_H set
431 DISPOSITION_ID = X_DISPOSITION_ID,
432 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
433 WORKORDER_ID = X_WORKORDER_ID,
434 PART_CHANGE_ID = X_PART_CHANGE_ID,
435 PATH_POSITION_ID = X_PATH_POSITION_ID,
436 INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID,
437 ORGANIZATION_ID = X_ORGANIZATION_ID,
438 ITEM_GROUP_ID = X_ITEM_GROUP_ID,
439 CONDITION_ID = X_CONDITION_ID,
440 INSTANCE_ID = X_INSTANCE_ID,
441 SERIAL_NUMBER = X_SERIAL_NUMBER,
442 LOT_NUMBER = X_LOT_NUMBER,
443 IMMEDIATE_DISPOSITION_CODE = X_IMMEDIATE_DISPOSITION_CODE,
444 SECONDARY_DISPOSITION_CODE = X_SECONDARY_DISPOSITION_CODE,
445 STATUS_CODE = X_STATUS_CODE,
446 QUANTITY = X_QUANTITY,
447 UOM = X_UOM,
448 COLLECTION_ID = X_COLLECTION_ID,
449 PRIMARY_SERVICE_REQUEST_ID = X_PRIMARY_SERVICE_REQUEST_ID,
450 NON_ROUTINE_WORKORDER_ID = X_NON_ROUTINE_WORKORDER_ID,
451 WO_OPERATION_ID = X_WO_OPERATION_ID,
452 ITEM_REVISION = X_ITEM_REVISION,
453 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
454 ATTRIBUTE1 = X_ATTRIBUTE1,
455 ATTRIBUTE2 = X_ATTRIBUTE2,
456 ATTRIBUTE3 = X_ATTRIBUTE3,
457 ATTRIBUTE4 = X_ATTRIBUTE4,
458 ATTRIBUTE5 = X_ATTRIBUTE5,
459 ATTRIBUTE6 = X_ATTRIBUTE6,
460 ATTRIBUTE7 = X_ATTRIBUTE7,
461 ATTRIBUTE8 = X_ATTRIBUTE8,
462 ATTRIBUTE9 = X_ATTRIBUTE9,
463 ATTRIBUTE10 = X_ATTRIBUTE10,
464 ATTRIBUTE11 = X_ATTRIBUTE11,
465 ATTRIBUTE12 = X_ATTRIBUTE12,
466 ATTRIBUTE13 = X_ATTRIBUTE13,
467 ATTRIBUTE14 = X_ATTRIBUTE14,
468 ATTRIBUTE15 = X_ATTRIBUTE15,
469 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
470 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
471 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
472 where DISPOSITION_H_ID = X_DISPOSITION_H_ID;
473
474 if (sql%notfound) then
475 raise no_data_found;
476 end if;
477
478 update AHL_PRD_DISPOSITIONS_TL_H set
479 COMMENTS = X_COMMENTS,
480 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
481 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
482 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
483 SOURCE_LANG = userenv('LANG')
484 where DISPOSITION_H_ID = X_DISPOSITION_H_ID
485 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
486
487 if (sql%notfound) then
488 raise no_data_found;
489 end if;
490 end UPDATE_ROW;
491
492 procedure DELETE_ROW (
493 X_DISPOSITION_H_ID in NUMBER
494 ) is
495 begin
496 delete from AHL_PRD_DISPOSITIONS_TL_H
497 where DISPOSITION_H_ID = X_DISPOSITION_H_ID;
498
499 if (sql%notfound) then
500 raise no_data_found;
501 end if;
502
503 delete from AHL_PRD_DISPOSITIONS_B_H
504 where DISPOSITION_H_ID = X_DISPOSITION_H_ID;
505
506 if (sql%notfound) then
507 raise no_data_found;
508 end if;
509 end DELETE_ROW;
510
511 procedure ADD_LANGUAGE
512 is
513 begin
514 delete from AHL_PRD_DISPOSITIONS_TL_H T
515 where not exists
516 (select NULL
517 from AHL_PRD_DISPOSITIONS_B_H B
518 where B.DISPOSITION_H_ID = T.DISPOSITION_H_ID
519 );
520
521 update AHL_PRD_DISPOSITIONS_TL_H T set (
522 COMMENTS
523 ) = (select
524 B.COMMENTS
525 from AHL_PRD_DISPOSITIONS_TL_H B
526 where B.DISPOSITION_H_ID = T.DISPOSITION_H_ID
527 and B.LANGUAGE = T.SOURCE_LANG)
528 where (
529 T.DISPOSITION_H_ID,
530 T.LANGUAGE
531 ) in (select
532 SUBT.DISPOSITION_H_ID,
533 SUBT.LANGUAGE
534 from AHL_PRD_DISPOSITIONS_TL_H SUBB, AHL_PRD_DISPOSITIONS_TL_H SUBT
535 where SUBB.DISPOSITION_H_ID = SUBT.DISPOSITION_H_ID
536 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
537 and (SUBB.COMMENTS <> SUBT.COMMENTS
541
538 or (SUBB.COMMENTS is null and SUBT.COMMENTS is not null)
539 or (SUBB.COMMENTS is not null and SUBT.COMMENTS is null)
540 ));
542 insert into AHL_PRD_DISPOSITIONS_TL_H (
543 DISPOSITION_H_ID,
544 DISPOSITION_ID,
545 LAST_UPDATE_DATE,
546 LAST_UPDATED_BY,
547 CREATION_DATE,
548 CREATED_BY,
549 LAST_UPDATE_LOGIN,
550 COMMENTS,
551 LANGUAGE,
552 SOURCE_LANG
553 ) select /*+ ORDERED */
554 B.DISPOSITION_H_ID,
555 B.DISPOSITION_ID,
556 B.LAST_UPDATE_DATE,
557 B.LAST_UPDATED_BY,
558 B.CREATION_DATE,
559 B.CREATED_BY,
560 B.LAST_UPDATE_LOGIN,
561 B.COMMENTS,
562 L.LANGUAGE_CODE,
563 B.SOURCE_LANG
564 from AHL_PRD_DISPOSITIONS_TL_H B, FND_LANGUAGES L
565 where L.INSTALLED_FLAG in ('I', 'B')
566 and B.LANGUAGE = userenv('LANG')
567 and not exists
568 (select NULL
569 from AHL_PRD_DISPOSITIONS_TL_H T
570 where T.DISPOSITION_H_ID = B.DISPOSITION_H_ID
571 and T.LANGUAGE = L.LANGUAGE_CODE);
572 end ADD_LANGUAGE;
573
574 end AHL_PRD_DISPOSITIONS_B_H_PKG;