[Home] [Help]
PACKAGE BODY: APPS.AHL_DOCUMENTS_PKG
Source
1 package body AHL_DOCUMENTS_PKG as
2 /* $Header: AHLLDIXB.pls 115.6 2002/12/04 08:22:47 pbarman noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_DOCUMENT_ID in NUMBER,
6 X_SUBSCRIBE_AVAIL_FLAG in VARCHAR2,
7 X_SUBSCRIBE_TO_FLAG in VARCHAR2,
8 X_DOC_TYPE_CODE in VARCHAR2,
9 X_DOC_SUB_TYPE_CODE in VARCHAR2,
10 X_OPERATOR_CODE in VARCHAR2,
11 X_PRODUCT_TYPE_CODE in VARCHAR2,
12 X_ATTRIBUTE_CATEGORY in VARCHAR2,
13 X_ATTRIBUTE1 in VARCHAR2,
14 X_ATTRIBUTE2 in VARCHAR2,
15 X_ATTRIBUTE3 in VARCHAR2,
16 X_ATTRIBUTE4 in VARCHAR2,
17 X_ATTRIBUTE5 in VARCHAR2,
18 X_ATTRIBUTE6 in VARCHAR2,
19 X_ATTRIBUTE7 in VARCHAR2,
20 X_ATTRIBUTE8 in VARCHAR2,
21 X_ATTRIBUTE9 in VARCHAR2,
22 X_ATTRIBUTE10 in VARCHAR2,
23 X_ATTRIBUTE11 in VARCHAR2,
24 X_ATTRIBUTE12 in VARCHAR2,
25 X_ATTRIBUTE13 in VARCHAR2,
26 X_ATTRIBUTE14 in VARCHAR2,
27 X_ATTRIBUTE15 in VARCHAR2,
28 X_OBJECT_VERSION_NUMBER in NUMBER,
29 X_SOURCE_PARTY_ID in NUMBER,
30 X_DOCUMENT_NO in VARCHAR2,
31 X_DOCUMENT_TITLE in VARCHAR2,
32 X_CREATION_DATE in DATE,
33 X_CREATED_BY in NUMBER,
34 X_LAST_UPDATE_DATE in DATE,
35 X_LAST_UPDATED_BY in NUMBER,
36 X_LAST_UPDATE_LOGIN in NUMBER
37 ) is
38 cursor C is select ROWID from AHL_DOCUMENTS_B
39 where DOCUMENT_ID = X_DOCUMENT_ID
40 ;
41 begin
42 insert into AHL_DOCUMENTS_B (
43 SUBSCRIBE_AVAIL_FLAG,
44 SUBSCRIBE_TO_FLAG,
45 DOC_TYPE_CODE,
46 DOC_SUB_TYPE_CODE,
47 OPERATOR_CODE,
48 PRODUCT_TYPE_CODE,
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 OBJECT_VERSION_NUMBER,
66 DOCUMENT_ID,
67 SOURCE_PARTY_ID,
68 DOCUMENT_NO,
69 CREATION_DATE,
70 CREATED_BY,
71 LAST_UPDATE_DATE,
72 LAST_UPDATED_BY,
73 LAST_UPDATE_LOGIN
74 ) values (
75 X_SUBSCRIBE_AVAIL_FLAG,
76 X_SUBSCRIBE_TO_FLAG,
77 X_DOC_TYPE_CODE,
78 X_DOC_SUB_TYPE_CODE,
79 X_OPERATOR_CODE,
80 X_PRODUCT_TYPE_CODE,
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_OBJECT_VERSION_NUMBER,
98 X_DOCUMENT_ID,
99 X_SOURCE_PARTY_ID,
100 X_DOCUMENT_NO,
101 X_CREATION_DATE,
102 X_CREATED_BY,
103 X_LAST_UPDATE_DATE,
104 X_LAST_UPDATED_BY,
105 X_LAST_UPDATE_LOGIN
106 );
107
108 insert into AHL_DOCUMENTS_TL (
109 CREATED_BY,
110 CREATION_DATE,
111 DOCUMENT_TITLE,
112 LAST_UPDATED_BY,
113 DOCUMENT_ID,
114 LAST_UPDATE_DATE,
115 LAST_UPDATE_LOGIN,
116 LANGUAGE,
117 SOURCE_LANG
118 ) select
119 X_CREATED_BY,
120 X_CREATION_DATE,
121 X_DOCUMENT_TITLE,
122 X_LAST_UPDATED_BY,
123 X_DOCUMENT_ID,
124 X_LAST_UPDATE_DATE,
125 X_LAST_UPDATE_LOGIN,
126 L.LANGUAGE_CODE,
127 userenv('LANG')
128 from FND_LANGUAGES L
129 where L.INSTALLED_FLAG in ('I', 'B')
130 and not exists
131 (select NULL
132 from AHL_DOCUMENTS_TL T
133 where T.DOCUMENT_ID = X_DOCUMENT_ID
134 and T.LANGUAGE = L.LANGUAGE_CODE);
135
136 open c;
137 fetch c into X_ROWID;
138 if (c%notfound) then
139 close c;
140 raise no_data_found;
141 end if;
142 close c;
143
144 end INSERT_ROW;
145
146 procedure LOCK_ROW (
147 X_DOCUMENT_ID in NUMBER,
148 X_SUBSCRIBE_AVAIL_FLAG in VARCHAR2,
149 X_SUBSCRIBE_TO_FLAG in VARCHAR2,
150 X_DOC_TYPE_CODE in VARCHAR2,
151 X_DOC_SUB_TYPE_CODE in VARCHAR2,
152 X_OPERATOR_CODE in VARCHAR2,
153 X_PRODUCT_TYPE_CODE in VARCHAR2,
154 X_ATTRIBUTE_CATEGORY in VARCHAR2,
155 X_ATTRIBUTE1 in VARCHAR2,
156 X_ATTRIBUTE2 in VARCHAR2,
157 X_ATTRIBUTE3 in VARCHAR2,
158 X_ATTRIBUTE4 in VARCHAR2,
159 X_ATTRIBUTE5 in VARCHAR2,
160 X_ATTRIBUTE6 in VARCHAR2,
161 X_ATTRIBUTE7 in VARCHAR2,
162 X_ATTRIBUTE8 in VARCHAR2,
163 X_ATTRIBUTE9 in VARCHAR2,
164 X_ATTRIBUTE10 in VARCHAR2,
165 X_ATTRIBUTE11 in VARCHAR2,
166 X_ATTRIBUTE12 in VARCHAR2,
167 X_ATTRIBUTE13 in VARCHAR2,
168 X_ATTRIBUTE14 in VARCHAR2,
169 X_ATTRIBUTE15 in VARCHAR2,
170 X_OBJECT_VERSION_NUMBER in NUMBER,
171 X_SOURCE_PARTY_ID in NUMBER,
172 X_DOCUMENT_NO in VARCHAR2,
173 X_DOCUMENT_TITLE in VARCHAR2
174 ) is
175 cursor c is select
176 SUBSCRIBE_AVAIL_FLAG,
177 SUBSCRIBE_TO_FLAG,
178 DOC_TYPE_CODE,
179 DOC_SUB_TYPE_CODE,
180 OPERATOR_CODE,
181 PRODUCT_TYPE_CODE,
182 ATTRIBUTE_CATEGORY,
183 ATTRIBUTE1,
184 ATTRIBUTE2,
185 ATTRIBUTE3,
186 ATTRIBUTE4,
187 ATTRIBUTE5,
188 ATTRIBUTE6,
189 ATTRIBUTE7,
190 ATTRIBUTE8,
191 ATTRIBUTE9,
192 ATTRIBUTE10,
193 ATTRIBUTE11,
194 ATTRIBUTE12,
195 ATTRIBUTE13,
196 ATTRIBUTE14,
197 ATTRIBUTE15,
198 OBJECT_VERSION_NUMBER,
199 SOURCE_PARTY_ID,
200 DOCUMENT_NO
201 from AHL_DOCUMENTS_B
202 where DOCUMENT_ID = X_DOCUMENT_ID
203 for update of DOCUMENT_ID nowait;
204 recinfo c%rowtype;
205
206 cursor c1 is select
207 DOCUMENT_TITLE,
208 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
209 from AHL_DOCUMENTS_TL
210 where DOCUMENT_ID = X_DOCUMENT_ID
211 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
212 for update of DOCUMENT_ID nowait;
213 begin
214 open c;
215 fetch c into recinfo;
216 if (c%notfound) then
217 close c;
218 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
219 app_exception.raise_exception;
220 end if;
221 close c;
222 if ( (recinfo.SUBSCRIBE_AVAIL_FLAG = X_SUBSCRIBE_AVAIL_FLAG)
223 AND (recinfo.SUBSCRIBE_TO_FLAG = X_SUBSCRIBE_TO_FLAG)
224 AND (recinfo.DOC_TYPE_CODE = X_DOC_TYPE_CODE)
225 AND ((recinfo.DOC_SUB_TYPE_CODE = X_DOC_SUB_TYPE_CODE)
226 OR ((recinfo.DOC_SUB_TYPE_CODE is null) AND (X_DOC_SUB_TYPE_CODE is null)))
227 AND ((recinfo.OPERATOR_CODE = X_OPERATOR_CODE)
228 OR ((recinfo.OPERATOR_CODE is null) AND (X_OPERATOR_CODE is null)))
229 AND ((recinfo.PRODUCT_TYPE_CODE = X_PRODUCT_TYPE_CODE)
230 OR ((recinfo.PRODUCT_TYPE_CODE is null) AND (X_PRODUCT_TYPE_CODE is null)))
231 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
232 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
233 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
234 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
235 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
236 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
237 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
238 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
239 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
240 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
241 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
242 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
243 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
244 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
245 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
246 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
247 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
248 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
249 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
250 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
251 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
252 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
253 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
254 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
255 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
256 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
257 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
258 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
259 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
260 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
261 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
262 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
263 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
264 AND (recinfo.SOURCE_PARTY_ID = X_SOURCE_PARTY_ID)
265 AND (recinfo.DOCUMENT_NO = X_DOCUMENT_NO)
266 ) then
267 null;
268 else
269 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
270 app_exception.raise_exception;
271 end if;
272
273 for tlinfo in c1 loop
274 if (tlinfo.BASELANG = 'Y') then
275 if ( ((tlinfo.DOCUMENT_TITLE = X_DOCUMENT_TITLE)
276 OR ((tlinfo.DOCUMENT_TITLE is null) AND (X_DOCUMENT_TITLE is null)))
277 ) then
278 null;
279 else
280 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
281 app_exception.raise_exception;
282 end if;
283 end if;
284 end loop;
285 return;
286 end LOCK_ROW;
287
288 procedure UPDATE_ROW (
289 X_DOCUMENT_ID in NUMBER,
290 X_SUBSCRIBE_AVAIL_FLAG in VARCHAR2,
291 X_SUBSCRIBE_TO_FLAG in VARCHAR2,
292 X_DOC_TYPE_CODE in VARCHAR2,
293 X_DOC_SUB_TYPE_CODE in VARCHAR2,
294 X_OPERATOR_CODE in VARCHAR2,
295 X_PRODUCT_TYPE_CODE in VARCHAR2,
296 X_ATTRIBUTE_CATEGORY in VARCHAR2,
297 X_ATTRIBUTE1 in VARCHAR2,
298 X_ATTRIBUTE2 in VARCHAR2,
299 X_ATTRIBUTE3 in VARCHAR2,
300 X_ATTRIBUTE4 in VARCHAR2,
301 X_ATTRIBUTE5 in VARCHAR2,
302 X_ATTRIBUTE6 in VARCHAR2,
303 X_ATTRIBUTE7 in VARCHAR2,
304 X_ATTRIBUTE8 in VARCHAR2,
305 X_ATTRIBUTE9 in VARCHAR2,
306 X_ATTRIBUTE10 in VARCHAR2,
307 X_ATTRIBUTE11 in VARCHAR2,
308 X_ATTRIBUTE12 in VARCHAR2,
309 X_ATTRIBUTE13 in VARCHAR2,
310 X_ATTRIBUTE14 in VARCHAR2,
311 X_ATTRIBUTE15 in VARCHAR2,
312 X_OBJECT_VERSION_NUMBER in NUMBER,
313 X_SOURCE_PARTY_ID in NUMBER,
314 X_DOCUMENT_NO in VARCHAR2,
315 X_DOCUMENT_TITLE in VARCHAR2,
316 X_LAST_UPDATE_DATE in DATE,
317 X_LAST_UPDATED_BY in NUMBER,
318 X_LAST_UPDATE_LOGIN in NUMBER
319 ) is
320 begin
321 update AHL_DOCUMENTS_B set
322 SUBSCRIBE_AVAIL_FLAG = X_SUBSCRIBE_AVAIL_FLAG,
323 SUBSCRIBE_TO_FLAG = X_SUBSCRIBE_TO_FLAG,
324 DOC_TYPE_CODE = X_DOC_TYPE_CODE,
325 DOC_SUB_TYPE_CODE = X_DOC_SUB_TYPE_CODE,
326 OPERATOR_CODE = X_OPERATOR_CODE,
327 PRODUCT_TYPE_CODE = X_PRODUCT_TYPE_CODE,
328 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
329 ATTRIBUTE1 = X_ATTRIBUTE1,
330 ATTRIBUTE2 = X_ATTRIBUTE2,
331 ATTRIBUTE3 = X_ATTRIBUTE3,
332 ATTRIBUTE4 = X_ATTRIBUTE4,
333 ATTRIBUTE5 = X_ATTRIBUTE5,
334 ATTRIBUTE6 = X_ATTRIBUTE6,
335 ATTRIBUTE7 = X_ATTRIBUTE7,
336 ATTRIBUTE8 = X_ATTRIBUTE8,
337 ATTRIBUTE9 = X_ATTRIBUTE9,
338 ATTRIBUTE10 = X_ATTRIBUTE10,
339 ATTRIBUTE11 = X_ATTRIBUTE11,
340 ATTRIBUTE12 = X_ATTRIBUTE12,
341 ATTRIBUTE13 = X_ATTRIBUTE13,
342 ATTRIBUTE14 = X_ATTRIBUTE14,
343 ATTRIBUTE15 = X_ATTRIBUTE15,
344 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
345 SOURCE_PARTY_ID = X_SOURCE_PARTY_ID,
346 DOCUMENT_NO = X_DOCUMENT_NO,
347 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
348 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
349 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
350 where DOCUMENT_ID = X_DOCUMENT_ID;
351
352 if (sql%notfound) then
353 raise no_data_found;
354 end if;
355
356 update AHL_DOCUMENTS_TL set
357 DOCUMENT_TITLE = X_DOCUMENT_TITLE,
358 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
359 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
360 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
361 SOURCE_LANG = userenv('LANG')
362 where DOCUMENT_ID = X_DOCUMENT_ID
363 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
364
365 if (sql%notfound) then
366 raise no_data_found;
367 end if;
368 end UPDATE_ROW;
369
370 procedure DELETE_ROW (
371 X_DOCUMENT_ID in NUMBER
372 ) is
373 begin
374 delete from AHL_DOCUMENTS_TL
375 where DOCUMENT_ID = X_DOCUMENT_ID;
376
377 if (sql%notfound) then
378 raise no_data_found;
379 end if;
380
381 delete from AHL_DOCUMENTS_B
382 where DOCUMENT_ID = X_DOCUMENT_ID;
383
384 if (sql%notfound) then
385 raise no_data_found;
386 end if;
387 end DELETE_ROW;
388
389 procedure ADD_LANGUAGE
390 is
391 begin
392 delete from AHL_DOCUMENTS_TL T
393 where not exists
394 (select NULL
395 from AHL_DOCUMENTS_B B
396 where B.DOCUMENT_ID = T.DOCUMENT_ID
397 );
398
399 update AHL_DOCUMENTS_TL T set (
400 DOCUMENT_TITLE
401 ) = (select
402 B.DOCUMENT_TITLE
403 from AHL_DOCUMENTS_TL B
404 where B.DOCUMENT_ID = T.DOCUMENT_ID
405 and B.LANGUAGE = T.SOURCE_LANG)
406 where (
407 T.DOCUMENT_ID,
408 T.LANGUAGE
409 ) in (select
410 SUBT.DOCUMENT_ID,
411 SUBT.LANGUAGE
412 from AHL_DOCUMENTS_TL SUBB, AHL_DOCUMENTS_TL SUBT
413 where SUBB.DOCUMENT_ID = SUBT.DOCUMENT_ID
414 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
415 and (SUBB.DOCUMENT_TITLE <> SUBT.DOCUMENT_TITLE
416 or (SUBB.DOCUMENT_TITLE is null and SUBT.DOCUMENT_TITLE is not null)
417 or (SUBB.DOCUMENT_TITLE is not null and SUBT.DOCUMENT_TITLE is null)
418 ));
419
420 insert into AHL_DOCUMENTS_TL (
421 CREATED_BY,
422 CREATION_DATE,
423 DOCUMENT_TITLE,
424 LAST_UPDATED_BY,
425 DOCUMENT_ID,
426 LAST_UPDATE_DATE,
427 LAST_UPDATE_LOGIN,
428 LANGUAGE,
429 SOURCE_LANG
430 ) select /*+ ORDERED */
431 B.CREATED_BY,
432 B.CREATION_DATE,
433 B.DOCUMENT_TITLE,
434 B.LAST_UPDATED_BY,
435 B.DOCUMENT_ID,
436 B.LAST_UPDATE_DATE,
437 B.LAST_UPDATE_LOGIN,
438 L.LANGUAGE_CODE,
439 B.SOURCE_LANG
440 from AHL_DOCUMENTS_TL B, FND_LANGUAGES L
441 where L.INSTALLED_FLAG in ('I', 'B')
442 and B.LANGUAGE = userenv('LANG')
443 and not exists
444 (select NULL
445 from AHL_DOCUMENTS_TL T
446 where T.DOCUMENT_ID = B.DOCUMENT_ID
447 and T.LANGUAGE = L.LANGUAGE_CODE);
448 end ADD_LANGUAGE;
449
450 procedure LOAD_ROW (
451 X_DOCUMENT_NO in VARCHAR2,
452 X_SOURCE_PARTY_ID in NUMBER,
453 X_SUBSCRIBE_AVAIL_FLAG in VARCHAR2,
454 X_SUBSCRIBE_TO_FLAG in VARCHAR2,
455 X_DOC_TYPE_CODE in VARCHAR2,
456 X_DOC_SUB_TYPE_CODE in VARCHAR2,
457 X_OPERATOR_CODE in VARCHAR2,
458 X_PRODUCT_TYPE_CODE in VARCHAR2,
459 X_OBJECT_VERSION_NUMBER in NUMBER,
460 X_ATTRIBUTE_CATEGORY in VARCHAR2,
461 X_ATTRIBUTE1 in VARCHAR2,
462 X_ATTRIBUTE2 in VARCHAR2,
463 X_ATTRIBUTE3 in VARCHAR2,
464 X_ATTRIBUTE4 in VARCHAR2,
465 X_ATTRIBUTE5 in VARCHAR2,
466 X_ATTRIBUTE6 in VARCHAR2,
470 X_ATTRIBUTE10 in VARCHAR2,
467 X_ATTRIBUTE7 in VARCHAR2,
468 X_ATTRIBUTE8 in VARCHAR2,
469 X_ATTRIBUTE9 in VARCHAR2,
471 X_ATTRIBUTE11 in VARCHAR2,
472 X_ATTRIBUTE12 in VARCHAR2,
473 X_ATTRIBUTE13 in VARCHAR2,
474 X_ATTRIBUTE14 in VARCHAR2,
475 X_ATTRIBUTE15 in VARCHAR2,
476 X_DOCUMENT_TITLE in VARCHAR2,
477 X_OWNER in VARCHAR2
478 ) is
479 user_id number := 0;
480 doc_id number;
481 row_id varchar2(64);
482 begin
483 if (X_OWNER = 'SEED') then
484 user_id := 1;
485 end if;
486
487 select document_id into doc_id
488 from ahl_documents_b
489 where document_no = X_DOCUMENT_NO;
490
491 AHL_DOCUMENTS_PKG.UPDATE_ROW (
492 X_DOCUMENT_ID => doc_id,
493 X_SUBSCRIBE_AVAIL_FLAG => X_SUBSCRIBE_AVAIL_FLAG,
494 X_SUBSCRIBE_TO_FLAG => X_SUBSCRIBE_TO_FLAG,
495 X_DOC_TYPE_CODE => X_DOC_TYPE_CODE,
496 X_DOC_SUB_TYPE_CODE => X_DOC_SUB_TYPE_CODE,
497 X_OPERATOR_CODE => X_OPERATOR_CODE,
498 X_PRODUCT_TYPE_CODE => X_PRODUCT_TYPE_CODE,
499 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
500 X_ATTRIBUTE1 => X_ATTRIBUTE1,
501 X_ATTRIBUTE2 => X_ATTRIBUTE2,
502 X_ATTRIBUTE3 => X_ATTRIBUTE3,
503 X_ATTRIBUTE4 => X_ATTRIBUTE4,
504 X_ATTRIBUTE5 => X_ATTRIBUTE5,
505 X_ATTRIBUTE6 => X_ATTRIBUTE6,
506 X_ATTRIBUTE7 => X_ATTRIBUTE7,
507 X_ATTRIBUTE8 => X_ATTRIBUTE8,
508 X_ATTRIBUTE9 => X_ATTRIBUTE9,
509 X_ATTRIBUTE10 => X_ATTRIBUTE10,
510 X_ATTRIBUTE11 => X_ATTRIBUTE11,
511 X_ATTRIBUTE12 => X_ATTRIBUTE12,
512 X_ATTRIBUTE13 => X_ATTRIBUTE13,
513 X_ATTRIBUTE14 => X_ATTRIBUTE14,
514 X_ATTRIBUTE15 => X_ATTRIBUTE15,
515 X_OBJECT_VERSION_NUMBER => X_OBJECT_VERSION_NUMBER+1,
516 X_SOURCE_PARTY_ID => X_SOURCE_PARTY_ID,
517 X_DOCUMENT_NO => X_DOCUMENT_NO,
518 X_DOCUMENT_TITLE => X_DOCUMENT_TITLE,
519 X_LAST_UPDATE_DATE => sysdate,
520 X_LAST_UPDATED_BY => user_id,
521 X_LAST_UPDATE_LOGIN => 0
522 );
523
524 exception
525 when NO_DATA_FOUND then
526
527 SELECT AHL_DOCUMENTS_B_S.Nextval INTO
528 doc_id from DUAL;
529
530 AHL_DOCUMENTS_PKG.INSERT_ROW (
531 X_ROWID => row_id,
532 X_DOCUMENT_ID => doc_id,
533 X_SUBSCRIBE_AVAIL_FLAG => X_SUBSCRIBE_AVAIL_FLAG,
534 X_SUBSCRIBE_TO_FLAG => X_SUBSCRIBE_TO_FLAG,
535 X_DOC_TYPE_CODE => X_DOC_TYPE_CODE,
536 X_DOC_SUB_TYPE_CODE => X_DOC_SUB_TYPE_CODE,
537 X_OPERATOR_CODE => X_OPERATOR_CODE,
538 X_PRODUCT_TYPE_CODE => X_PRODUCT_TYPE_CODE,
539 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
540 X_ATTRIBUTE1 => X_ATTRIBUTE1,
541 X_ATTRIBUTE2 => X_ATTRIBUTE2,
542 X_ATTRIBUTE3 => X_ATTRIBUTE3,
543 X_ATTRIBUTE4 => X_ATTRIBUTE4,
544 X_ATTRIBUTE5 => X_ATTRIBUTE5,
545 X_ATTRIBUTE6 => X_ATTRIBUTE6,
546 X_ATTRIBUTE7 => X_ATTRIBUTE7,
547 X_ATTRIBUTE8 => X_ATTRIBUTE8,
548 X_ATTRIBUTE9 => X_ATTRIBUTE9,
549 X_ATTRIBUTE10 => X_ATTRIBUTE10,
550 X_ATTRIBUTE11 => X_ATTRIBUTE11,
551 X_ATTRIBUTE12 => X_ATTRIBUTE12,
552 X_ATTRIBUTE13 => X_ATTRIBUTE13,
553 X_ATTRIBUTE14 => X_ATTRIBUTE14,
554 X_ATTRIBUTE15 => X_ATTRIBUTE15,
555 X_OBJECT_VERSION_NUMBER => 1,
556 X_SOURCE_PARTY_ID => X_SOURCE_PARTY_ID,
557 X_DOCUMENT_NO => X_DOCUMENT_NO,
558 X_DOCUMENT_TITLE => X_DOCUMENT_TITLE,
559 X_CREATION_DATE => sysdate,
560 X_CREATED_BY => user_id,
561 X_LAST_UPDATE_DATE => sysdate,
562 X_LAST_UPDATED_BY => user_id,
563 X_LAST_UPDATE_LOGIN => 0
564 );
565 end LOAD_ROW;
566
567 procedure TRANSLATE_ROW (
568 X_DOCUMENT_NO in VARCHAR2,
569 X_DOCUMENT_TITLE in VARCHAR2,
570 X_OWNER in VARCHAR2
571 ) is
572 begin
573 update AHl_DOCUMENTS_TL set
574 document_title = nvl(X_DOCUMENT_TITLE, document_title),
575 source_lang = userenv('LANG'),
576 last_update_date = sysdate,
577 last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
578 last_update_login = 0
579 where document_id =
580 (select document_id
581 from ahl_documents_b
582 where document_no = X_DOCUMENT_NO)
583 and userenv('LANG') in (language, source_lang);
584
585 end TRANSLATE_ROW;
586
587 end AHL_DOCUMENTS_PKG;