DBA Data[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;