DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_DOC_REVISIONS_PKG

Source


1 package body AHL_DOC_REVISIONS_PKG as
2 /* $Header: AHLLDORB.pls 115.5 2002/12/04 08:23:07 pbarman noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_DOC_REVISION_ID in NUMBER,
6   X_APPROVED_DATE in DATE,
7   X_EFFECTIVE_DATE in DATE,
8   X_OBSOLETE_DATE in DATE,
9   X_ISSUE_DATE in DATE,
10   X_RECEIVED_DATE in DATE,
11   X_URL in VARCHAR2,
12   X_MEDIA_TYPE_CODE in VARCHAR2,
13   X_VOLUME in VARCHAR2,
14   X_ISSUE in VARCHAR2,
15   X_ISSUE_NUMBER in NUMBER,
16   X_ATTRIBUTE_CATEGORY in VARCHAR2,
17   X_ATTRIBUTE1 in VARCHAR2,
18   X_ATTRIBUTE2 in VARCHAR2,
19   X_REVISION_DATE in DATE,
20   X_ATTRIBUTE15 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_DOCUMENT_ID in NUMBER,
27   X_REVISION_NO in VARCHAR2,
28   X_APPROVED_BY_PARTY_ID in NUMBER,
29   X_REVISION_TYPE_CODE in VARCHAR2,
30   X_REVISION_STATUS_CODE in VARCHAR2,
31   X_OBJECT_VERSION_NUMBER in NUMBER,
32   X_ATTRIBUTE3 in VARCHAR2,
33   X_ATTRIBUTE4 in VARCHAR2,
34   X_ATTRIBUTE5 in VARCHAR2,
35   X_ATTRIBUTE6 in VARCHAR2,
36   X_ATTRIBUTE7 in VARCHAR2,
37   X_ATTRIBUTE8 in VARCHAR2,
38   X_ATTRIBUTE14 in VARCHAR2,
39   X_COMMENTS in VARCHAR2,
40   X_CREATION_DATE in DATE,
41   X_CREATED_BY in NUMBER,
42   X_LAST_UPDATE_DATE in DATE,
43   X_LAST_UPDATED_BY in NUMBER,
44   X_LAST_UPDATE_LOGIN in NUMBER
45 ) is
46   cursor C is select ROWID from AHL_DOC_REVISIONS_B
47     where DOC_REVISION_ID = X_DOC_REVISION_ID
48     ;
49 begin
50   insert into AHL_DOC_REVISIONS_B (
51     APPROVED_DATE,
52     EFFECTIVE_DATE,
53     OBSOLETE_DATE,
54     ISSUE_DATE,
55     RECEIVED_DATE,
56     URL,
57     MEDIA_TYPE_CODE,
58     VOLUME,
59     ISSUE,
60     ISSUE_NUMBER,
61     ATTRIBUTE_CATEGORY,
62     ATTRIBUTE1,
63     ATTRIBUTE2,
64     REVISION_DATE,
65     ATTRIBUTE15,
66     ATTRIBUTE9,
67     ATTRIBUTE10,
68     ATTRIBUTE11,
69     ATTRIBUTE12,
70     ATTRIBUTE13,
71     DOCUMENT_ID,
72     REVISION_NO,
73     APPROVED_BY_PARTY_ID,
74     REVISION_TYPE_CODE,
75     REVISION_STATUS_CODE,
76     OBJECT_VERSION_NUMBER,
77     ATTRIBUTE3,
78     ATTRIBUTE4,
79     ATTRIBUTE5,
80     ATTRIBUTE6,
81     ATTRIBUTE7,
82     ATTRIBUTE8,
83     ATTRIBUTE14,
84     DOC_REVISION_ID,
85     CREATION_DATE,
86     CREATED_BY,
87     LAST_UPDATE_DATE,
88     LAST_UPDATED_BY,
89     LAST_UPDATE_LOGIN
90   ) values (
91     X_APPROVED_DATE,
92     X_EFFECTIVE_DATE,
93     X_OBSOLETE_DATE,
94     X_ISSUE_DATE,
95     X_RECEIVED_DATE,
96     X_URL,
97     X_MEDIA_TYPE_CODE,
98     X_VOLUME,
99     X_ISSUE,
100     X_ISSUE_NUMBER,
101     X_ATTRIBUTE_CATEGORY,
102     X_ATTRIBUTE1,
103     X_ATTRIBUTE2,
104     X_REVISION_DATE,
105     X_ATTRIBUTE15,
106     X_ATTRIBUTE9,
107     X_ATTRIBUTE10,
108     X_ATTRIBUTE11,
109     X_ATTRIBUTE12,
110     X_ATTRIBUTE13,
111     X_DOCUMENT_ID,
112     X_REVISION_NO,
113     X_APPROVED_BY_PARTY_ID,
114     X_REVISION_TYPE_CODE,
115     X_REVISION_STATUS_CODE,
116     X_OBJECT_VERSION_NUMBER,
117     X_ATTRIBUTE3,
118     X_ATTRIBUTE4,
119     X_ATTRIBUTE5,
120     X_ATTRIBUTE6,
121     X_ATTRIBUTE7,
122     X_ATTRIBUTE8,
123     X_ATTRIBUTE14,
124     X_DOC_REVISION_ID,
125     X_CREATION_DATE,
126     X_CREATED_BY,
127     X_LAST_UPDATE_DATE,
128     X_LAST_UPDATED_BY,
129     X_LAST_UPDATE_LOGIN
130   );
131 
132   insert into AHL_DOC_REVISIONS_TL (
133     LAST_UPDATE_LOGIN,
134     COMMENTS,
135     CREATION_DATE,
136     CREATED_BY,
137     DOC_REVISION_ID,
138     LAST_UPDATE_DATE,
139     LAST_UPDATED_BY,
140     LANGUAGE,
141     SOURCE_LANG
142   ) select
143     X_LAST_UPDATE_LOGIN,
144     X_COMMENTS,
145     X_CREATION_DATE,
146     X_CREATED_BY,
147     X_DOC_REVISION_ID,
148     X_LAST_UPDATE_DATE,
149     X_LAST_UPDATED_BY,
150     L.LANGUAGE_CODE,
151     userenv('LANG')
152   from FND_LANGUAGES L
153   where L.INSTALLED_FLAG in ('I', 'B')
154   and not exists
155     (select NULL
156     from AHL_DOC_REVISIONS_TL T
157     where T.DOC_REVISION_ID = X_DOC_REVISION_ID
158     and T.LANGUAGE = L.LANGUAGE_CODE);
159 
160   open c;
161   fetch c into X_ROWID;
162   if (c%notfound) then
163     close c;
164     raise no_data_found;
165   end if;
166   close c;
167 
168 end INSERT_ROW;
169 
170 procedure LOCK_ROW (
171   X_DOC_REVISION_ID in NUMBER,
172   X_APPROVED_DATE in DATE,
173   X_EFFECTIVE_DATE in DATE,
174   X_OBSOLETE_DATE in DATE,
175   X_ISSUE_DATE in DATE,
176   X_RECEIVED_DATE in DATE,
177   X_URL in VARCHAR2,
178   X_MEDIA_TYPE_CODE in VARCHAR2,
179   X_VOLUME in VARCHAR2,
180   X_ISSUE in VARCHAR2,
181   X_ISSUE_NUMBER in NUMBER,
182   X_ATTRIBUTE_CATEGORY in VARCHAR2,
183   X_ATTRIBUTE1 in VARCHAR2,
184   X_ATTRIBUTE2 in VARCHAR2,
185   X_REVISION_DATE in DATE,
186   X_ATTRIBUTE15 in VARCHAR2,
187   X_ATTRIBUTE9 in VARCHAR2,
188   X_ATTRIBUTE10 in VARCHAR2,
189   X_ATTRIBUTE11 in VARCHAR2,
190   X_ATTRIBUTE12 in VARCHAR2,
191   X_ATTRIBUTE13 in VARCHAR2,
192   X_DOCUMENT_ID in NUMBER,
193   X_REVISION_NO in VARCHAR2,
194   X_APPROVED_BY_PARTY_ID in NUMBER,
195   X_REVISION_TYPE_CODE in VARCHAR2,
196   X_REVISION_STATUS_CODE in VARCHAR2,
197   X_OBJECT_VERSION_NUMBER in NUMBER,
198   X_ATTRIBUTE3 in VARCHAR2,
199   X_ATTRIBUTE4 in VARCHAR2,
200   X_ATTRIBUTE5 in VARCHAR2,
201   X_ATTRIBUTE6 in VARCHAR2,
202   X_ATTRIBUTE7 in VARCHAR2,
203   X_ATTRIBUTE8 in VARCHAR2,
204   X_ATTRIBUTE14 in VARCHAR2,
205   X_COMMENTS in VARCHAR2
206 ) is
207   cursor c is select
208       APPROVED_DATE,
209       EFFECTIVE_DATE,
210       OBSOLETE_DATE,
211       ISSUE_DATE,
212       RECEIVED_DATE,
213       URL,
214       MEDIA_TYPE_CODE,
215       VOLUME,
216       ISSUE,
217       ISSUE_NUMBER,
218       ATTRIBUTE_CATEGORY,
219       ATTRIBUTE1,
220       ATTRIBUTE2,
221       REVISION_DATE,
222       ATTRIBUTE15,
223       ATTRIBUTE9,
224       ATTRIBUTE10,
225       ATTRIBUTE11,
226       ATTRIBUTE12,
227       ATTRIBUTE13,
228       DOCUMENT_ID,
229       REVISION_NO,
230       APPROVED_BY_PARTY_ID,
231       REVISION_TYPE_CODE,
232       REVISION_STATUS_CODE,
233       OBJECT_VERSION_NUMBER,
234       ATTRIBUTE3,
235       ATTRIBUTE4,
236       ATTRIBUTE5,
237       ATTRIBUTE6,
238       ATTRIBUTE7,
239       ATTRIBUTE8,
240       ATTRIBUTE14
241     from AHL_DOC_REVISIONS_B
242     where DOC_REVISION_ID = X_DOC_REVISION_ID
243     for update of DOC_REVISION_ID nowait;
244   recinfo c%rowtype;
245 
246   cursor c1 is select
247       COMMENTS,
248       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
249     from AHL_DOC_REVISIONS_TL
250     where DOC_REVISION_ID = X_DOC_REVISION_ID
251     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
252     for update of DOC_REVISION_ID nowait;
253 begin
254   open c;
255   fetch c into recinfo;
256   if (c%notfound) then
257     close c;
258     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
259     app_exception.raise_exception;
260   end if;
261   close c;
262   if (    ((recinfo.APPROVED_DATE = X_APPROVED_DATE)
263            OR ((recinfo.APPROVED_DATE is null) AND (X_APPROVED_DATE is null)))
264       AND ((recinfo.EFFECTIVE_DATE = X_EFFECTIVE_DATE)
265            OR ((recinfo.EFFECTIVE_DATE is null) AND (X_EFFECTIVE_DATE is null)))
266       AND ((recinfo.OBSOLETE_DATE = X_OBSOLETE_DATE)
267            OR ((recinfo.OBSOLETE_DATE is null) AND (X_OBSOLETE_DATE is null)))
268       AND ((recinfo.ISSUE_DATE = X_ISSUE_DATE)
269            OR ((recinfo.ISSUE_DATE is null) AND (X_ISSUE_DATE is null)))
270       AND ((recinfo.RECEIVED_DATE = X_RECEIVED_DATE)
271            OR ((recinfo.RECEIVED_DATE is null) AND (X_RECEIVED_DATE is null)))
272       AND ((recinfo.URL = X_URL)
273            OR ((recinfo.URL is null) AND (X_URL is null)))
274       AND ((recinfo.MEDIA_TYPE_CODE = X_MEDIA_TYPE_CODE)
275            OR ((recinfo.MEDIA_TYPE_CODE is null) AND (X_MEDIA_TYPE_CODE is null)))
276       AND ((recinfo.VOLUME = X_VOLUME)
277            OR ((recinfo.VOLUME is null) AND (X_VOLUME is null)))
278       AND ((recinfo.ISSUE = X_ISSUE)
279            OR ((recinfo.ISSUE is null) AND (X_ISSUE is null)))
280       AND ((recinfo.ISSUE_NUMBER = X_ISSUE_NUMBER)
281            OR ((recinfo.ISSUE_NUMBER is null) AND (X_ISSUE_NUMBER is null)))
282       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
283            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
284       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
285            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
286       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
287            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
288       AND ((recinfo.REVISION_DATE = X_REVISION_DATE)
289            OR ((recinfo.REVISION_DATE is null) AND (X_REVISION_DATE is null)))
290       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
291            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
292       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
293            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
294       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
295            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
296       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
297            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
298       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
299            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
300       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
301            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
302       AND (recinfo.DOCUMENT_ID = X_DOCUMENT_ID)
303       AND (recinfo.REVISION_NO = X_REVISION_NO)
304       AND ((recinfo.APPROVED_BY_PARTY_ID = X_APPROVED_BY_PARTY_ID)
305            OR ((recinfo.APPROVED_BY_PARTY_ID is null) AND (X_APPROVED_BY_PARTY_ID is null)))
306       AND (recinfo.REVISION_TYPE_CODE = X_REVISION_TYPE_CODE)
307       AND (recinfo.REVISION_STATUS_CODE = X_REVISION_STATUS_CODE)
308       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
309       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
310            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
311       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
312            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
313       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
314            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
315       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
316            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
317       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
318            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
319       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
320            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
321       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
322            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
323   ) then
324     null;
325   else
326     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
327     app_exception.raise_exception;
328   end if;
329 
330   for tlinfo in c1 loop
331     if (tlinfo.BASELANG = 'Y') then
332       if (    ((tlinfo.COMMENTS = X_COMMENTS)
333                OR ((tlinfo.COMMENTS is null) AND (X_COMMENTS is null)))
334       ) then
335         null;
336       else
337         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
338         app_exception.raise_exception;
339       end if;
340     end if;
341   end loop;
342   return;
343 end LOCK_ROW;
344 
345 procedure UPDATE_ROW (
346   X_DOC_REVISION_ID in NUMBER,
347   X_APPROVED_DATE in DATE,
348   X_EFFECTIVE_DATE in DATE,
349   X_OBSOLETE_DATE in DATE,
350   X_ISSUE_DATE in DATE,
351   X_RECEIVED_DATE in DATE,
352   X_URL in VARCHAR2,
353   X_MEDIA_TYPE_CODE in VARCHAR2,
354   X_VOLUME in VARCHAR2,
355   X_ISSUE in VARCHAR2,
356   X_ISSUE_NUMBER in NUMBER,
357   X_ATTRIBUTE_CATEGORY in VARCHAR2,
358   X_ATTRIBUTE1 in VARCHAR2,
359   X_ATTRIBUTE2 in VARCHAR2,
360   X_REVISION_DATE in DATE,
361   X_ATTRIBUTE15 in VARCHAR2,
362   X_ATTRIBUTE9 in VARCHAR2,
363   X_ATTRIBUTE10 in VARCHAR2,
364   X_ATTRIBUTE11 in VARCHAR2,
365   X_ATTRIBUTE12 in VARCHAR2,
366   X_ATTRIBUTE13 in VARCHAR2,
367   X_DOCUMENT_ID in NUMBER,
368   X_REVISION_NO in VARCHAR2,
369   X_APPROVED_BY_PARTY_ID in NUMBER,
370   X_REVISION_TYPE_CODE in VARCHAR2,
371   X_REVISION_STATUS_CODE in VARCHAR2,
372   X_OBJECT_VERSION_NUMBER in NUMBER,
373   X_ATTRIBUTE3 in VARCHAR2,
374   X_ATTRIBUTE4 in VARCHAR2,
375   X_ATTRIBUTE5 in VARCHAR2,
376   X_ATTRIBUTE6 in VARCHAR2,
377   X_ATTRIBUTE7 in VARCHAR2,
378   X_ATTRIBUTE8 in VARCHAR2,
382   X_LAST_UPDATED_BY in NUMBER,
379   X_ATTRIBUTE14 in VARCHAR2,
380   X_COMMENTS in VARCHAR2,
381   X_LAST_UPDATE_DATE in DATE,
383   X_LAST_UPDATE_LOGIN in NUMBER
384 ) is
385 begin
386   update AHL_DOC_REVISIONS_B set
387     APPROVED_DATE = X_APPROVED_DATE,
388     EFFECTIVE_DATE = X_EFFECTIVE_DATE,
389     OBSOLETE_DATE = X_OBSOLETE_DATE,
390     ISSUE_DATE = X_ISSUE_DATE,
391     RECEIVED_DATE = X_RECEIVED_DATE,
392     URL = X_URL,
393     MEDIA_TYPE_CODE = X_MEDIA_TYPE_CODE,
394     VOLUME = X_VOLUME,
395     ISSUE = X_ISSUE,
396     ISSUE_NUMBER = X_ISSUE_NUMBER,
397     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
398     ATTRIBUTE1 = X_ATTRIBUTE1,
399     ATTRIBUTE2 = X_ATTRIBUTE2,
400     REVISION_DATE = X_REVISION_DATE,
401     ATTRIBUTE15 = X_ATTRIBUTE15,
402     ATTRIBUTE9 = X_ATTRIBUTE9,
403     ATTRIBUTE10 = X_ATTRIBUTE10,
404     ATTRIBUTE11 = X_ATTRIBUTE11,
405     ATTRIBUTE12 = X_ATTRIBUTE12,
406     ATTRIBUTE13 = X_ATTRIBUTE13,
407     DOCUMENT_ID = X_DOCUMENT_ID,
408     REVISION_NO = X_REVISION_NO,
409     APPROVED_BY_PARTY_ID = X_APPROVED_BY_PARTY_ID,
410     REVISION_TYPE_CODE = X_REVISION_TYPE_CODE,
411     REVISION_STATUS_CODE = X_REVISION_STATUS_CODE,
412     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
413     ATTRIBUTE3 = X_ATTRIBUTE3,
414     ATTRIBUTE4 = X_ATTRIBUTE4,
415     ATTRIBUTE5 = X_ATTRIBUTE5,
416     ATTRIBUTE6 = X_ATTRIBUTE6,
417     ATTRIBUTE7 = X_ATTRIBUTE7,
418     ATTRIBUTE8 = X_ATTRIBUTE8,
419     ATTRIBUTE14 = X_ATTRIBUTE14,
420     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
421     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
422     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
423   where DOC_REVISION_ID = X_DOC_REVISION_ID;
424 
425   if (sql%notfound) then
426     raise no_data_found;
427   end if;
428 
429   update AHL_DOC_REVISIONS_TL set
430     COMMENTS = X_COMMENTS,
431     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
432     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
433     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
434     SOURCE_LANG = userenv('LANG')
435   where DOC_REVISION_ID = X_DOC_REVISION_ID
436   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
437 
438   if (sql%notfound) then
439     raise no_data_found;
440   end if;
441 end UPDATE_ROW;
442 
443 procedure DELETE_ROW (
444   X_DOC_REVISION_ID in NUMBER
445 ) is
446 begin
447   delete from AHL_DOC_REVISIONS_TL
448   where DOC_REVISION_ID = X_DOC_REVISION_ID;
449 
450   if (sql%notfound) then
451     raise no_data_found;
452   end if;
453 
454   delete from AHL_DOC_REVISIONS_B
455   where DOC_REVISION_ID = X_DOC_REVISION_ID;
456 
457   if (sql%notfound) then
458     raise no_data_found;
459   end if;
460 end DELETE_ROW;
461 
462 procedure ADD_LANGUAGE
463 is
464 begin
465   delete from AHL_DOC_REVISIONS_TL T
466   where not exists
467     (select NULL
468     from AHL_DOC_REVISIONS_B B
469     where B.DOC_REVISION_ID = T.DOC_REVISION_ID
470     );
471 
472   update AHL_DOC_REVISIONS_TL T set (
473       COMMENTS
474     ) = (select
475       B.COMMENTS
476     from AHL_DOC_REVISIONS_TL B
477     where B.DOC_REVISION_ID = T.DOC_REVISION_ID
478     and B.LANGUAGE = T.SOURCE_LANG)
479   where (
480       T.DOC_REVISION_ID,
481       T.LANGUAGE
482   ) in (select
483       SUBT.DOC_REVISION_ID,
484       SUBT.LANGUAGE
485     from AHL_DOC_REVISIONS_TL SUBB, AHL_DOC_REVISIONS_TL SUBT
486     where SUBB.DOC_REVISION_ID = SUBT.DOC_REVISION_ID
487     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
488     and (SUBB.COMMENTS <> SUBT.COMMENTS
489       or (SUBB.COMMENTS is null and SUBT.COMMENTS is not null)
490       or (SUBB.COMMENTS is not null and SUBT.COMMENTS is null)
491   ));
492 
493   insert into AHL_DOC_REVISIONS_TL (
494     LAST_UPDATE_LOGIN,
495     COMMENTS,
496     CREATION_DATE,
497     CREATED_BY,
498     DOC_REVISION_ID,
499     LAST_UPDATE_DATE,
500     LAST_UPDATED_BY,
501     LANGUAGE,
502     SOURCE_LANG
503   ) select /*+ ORDERED */
504     B.LAST_UPDATE_LOGIN,
505     B.COMMENTS,
506     B.CREATION_DATE,
507     B.CREATED_BY,
508     B.DOC_REVISION_ID,
509     B.LAST_UPDATE_DATE,
510     B.LAST_UPDATED_BY,
511     L.LANGUAGE_CODE,
512     B.SOURCE_LANG
513   from AHL_DOC_REVISIONS_TL B, FND_LANGUAGES L
514   where L.INSTALLED_FLAG in ('I', 'B')
515   and B.LANGUAGE = userenv('LANG')
516   and not exists
517     (select NULL
518     from AHL_DOC_REVISIONS_TL T
519     where T.DOC_REVISION_ID = B.DOC_REVISION_ID
520     and T.LANGUAGE = L.LANGUAGE_CODE);
521 end ADD_LANGUAGE;
522 
523 procedure LOAD_ROW (
524   X_DOC_REVISION_ID        in NUMBER,
525   X_APPROVED_DATE          in DATE,
526   X_EFFECTIVE_DATE         in DATE,
527   X_OBSOLETE_DATE          in DATE,
528   X_ISSUE_DATE             in DATE,
529   X_RECEIVED_DATE          in DATE,
530   X_URL                    in VARCHAR2,
531   X_MEDIA_TYPE_CODE        in VARCHAR2,
532   X_VOLUME                 in VARCHAR2,
533   X_ISSUE                  in VARCHAR2,
534   X_ISSUE_NUMBER           in NUMBER,
535   X_REVISION_DATE          in DATE,
536   X_DOCUMENT_ID            in NUMBER,
537   X_REVISION_NO            in VARCHAR2,
538   X_APPROVED_BY_PARTY_ID   in NUMBER,
539   X_REVISION_TYPE_CODE     in VARCHAR2,
540   X_REVISION_STATUS_CODE   in VARCHAR2,
541   X_OBJECT_VERSION_NUMBER  in NUMBER,
545   X_ATTRIBUTE3             in VARCHAR2,
542   X_ATTRIBUTE_CATEGORY     in VARCHAR2,
543   X_ATTRIBUTE1             in VARCHAR2,
544   X_ATTRIBUTE2             in VARCHAR2,
546   X_ATTRIBUTE4             in VARCHAR2,
547   X_ATTRIBUTE5             in VARCHAR2,
548   X_ATTRIBUTE6             in VARCHAR2,
549   X_ATTRIBUTE7             in VARCHAR2,
550   X_ATTRIBUTE8             in VARCHAR2,
551   X_ATTRIBUTE9             in VARCHAR2,
552   X_ATTRIBUTE10            in VARCHAR2,
553   X_ATTRIBUTE11            in VARCHAR2,
554   X_ATTRIBUTE12            in VARCHAR2,
555   X_ATTRIBUTE13            in VARCHAR2,
556   X_ATTRIBUTE14            in VARCHAR2,
557   X_ATTRIBUTE15            in VARCHAR2,
558   X_COMMENTS               in VARCHAR2,
559   X_OWNER                  in VARCHAR2
560 ) is
561  user_id number := 0;
562  doc_revision_id  number;
563  row_id  varchar2(64);
564 begin
565   if (X_OWNER = 'SEED') then
566     user_id := 1;
567   end if;
568 
569   select doc_revision_id into doc_revision_id
570   from   ahl_doc_revisions_b
571   where  doc_revision_id = X_DOC_REVISION_ID;
572 
573 AHL_DOC_REVISIONS_PKG.UPDATE_ROW (
574 
575   X_DOC_REVISION_ID       => doc_revision_id,
576   X_APPROVED_DATE         => X_APPROVED_DATE,
577   X_EFFECTIVE_DATE        => X_EFFECTIVE_DATE,
578   X_OBSOLETE_DATE         => X_OBSOLETE_DATE,
579   X_ISSUE_DATE            => X_ISSUE_DATE,
580   X_RECEIVED_DATE         => X_RECEIVED_DATE,
581   X_URL                   => X_URL,
582   X_MEDIA_TYPE_CODE       => X_MEDIA_TYPE_CODE,
583   X_VOLUME                => X_VOLUME,
584   X_ISSUE                 => X_ISSUE,
585   X_ISSUE_NUMBER          => X_ISSUE_NUMBER,
586   X_ATTRIBUTE_CATEGORY    =>X_ATTRIBUTE_CATEGORY,
587   X_ATTRIBUTE1            =>X_ATTRIBUTE1,
588   X_ATTRIBUTE2            =>X_ATTRIBUTE2,
589   X_REVISION_DATE         =>X_REVISION_DATE,
590   X_ATTRIBUTE15           =>X_ATTRIBUTE15,
591   X_ATTRIBUTE9            =>X_ATTRIBUTE9,
592   X_ATTRIBUTE10           => X_ATTRIBUTE10,
593   X_ATTRIBUTE11           => X_ATTRIBUTE11,
594   X_ATTRIBUTE12           => X_ATTRIBUTE12,
595   X_ATTRIBUTE13           => X_ATTRIBUTE13,
596   X_DOCUMENT_ID           => X_DOCUMENT_ID,
597   X_REVISION_NO           => X_REVISION_NO,
598   X_APPROVED_BY_PARTY_ID  => X_APPROVED_BY_PARTY_ID,
599   X_REVISION_TYPE_CODE    => X_REVISION_TYPE_CODE,
600   X_REVISION_STATUS_CODE  => X_REVISION_STATUS_CODE,
601   X_OBJECT_VERSION_NUMBER => X_OBJECT_VERSION_NUMBER,
602   X_ATTRIBUTE3            => X_ATTRIBUTE3,
603   X_ATTRIBUTE4            => X_ATTRIBUTE4,
604   X_ATTRIBUTE5            => X_ATTRIBUTE5,
605   X_ATTRIBUTE6            => X_ATTRIBUTE6,
606   X_ATTRIBUTE7            => X_ATTRIBUTE7,
607   X_ATTRIBUTE8            => X_ATTRIBUTE8,
608   X_ATTRIBUTE14           => X_ATTRIBUTE14,
609   X_COMMENTS              => X_COMMENTS,
610   X_LAST_UPDATE_DATE      => sysdate,
611   X_LAST_UPDATED_BY       => user_id,
612   X_LAST_UPDATE_LOGIN 	  => 0
613 );
614 
615 exception
616   when NO_DATA_FOUND then
617 
618  SELECT  AHL_DOC_REVISIONS_B_S.Nextval INTO
619            doc_revision_id from DUAL;
620 
621 AHL_DOC_REVISIONS_PKG.INSERT_ROW (
622   X_ROWID                 => row_id,
623   X_DOC_REVISION_ID       => doc_revision_id,
624   X_APPROVED_DATE         => X_APPROVED_DATE,
625   X_EFFECTIVE_DATE        => X_EFFECTIVE_DATE,
626   X_OBSOLETE_DATE         => X_OBSOLETE_DATE,
627   X_ISSUE_DATE            => X_ISSUE_DATE,
628   X_RECEIVED_DATE         => X_RECEIVED_DATE,
629   X_URL                   => X_URL,
630   X_MEDIA_TYPE_CODE       => X_MEDIA_TYPE_CODE,
631   X_VOLUME                => X_VOLUME,
632   X_ISSUE                 => X_ISSUE,
633   X_ISSUE_NUMBER          => X_ISSUE_NUMBER,
634   X_ATTRIBUTE_CATEGORY    =>X_ATTRIBUTE_CATEGORY,
635   X_ATTRIBUTE1            =>X_ATTRIBUTE1,
636   X_ATTRIBUTE2            =>X_ATTRIBUTE2,
637   X_REVISION_DATE         =>X_REVISION_DATE,
638   X_ATTRIBUTE15           =>X_ATTRIBUTE15,
639   X_ATTRIBUTE9            =>X_ATTRIBUTE9,
640   X_ATTRIBUTE10           => X_ATTRIBUTE10,
641   X_ATTRIBUTE11           => X_ATTRIBUTE11,
642   X_ATTRIBUTE12           => X_ATTRIBUTE12,
643   X_ATTRIBUTE13           => X_ATTRIBUTE13,
644   X_DOCUMENT_ID           => X_DOCUMENT_ID,
645   X_REVISION_NO           => X_REVISION_NO,
646   X_APPROVED_BY_PARTY_ID  => X_APPROVED_BY_PARTY_ID,
647   X_REVISION_TYPE_CODE    => X_REVISION_TYPE_CODE,
648   X_REVISION_STATUS_CODE  => X_REVISION_STATUS_CODE,
649   X_OBJECT_VERSION_NUMBER => 1,
650   X_ATTRIBUTE3            => X_ATTRIBUTE3,
651   X_ATTRIBUTE4            => X_ATTRIBUTE4,
652   X_ATTRIBUTE5            => X_ATTRIBUTE5,
653   X_ATTRIBUTE6            => X_ATTRIBUTE6,
654   X_ATTRIBUTE7            => X_ATTRIBUTE7,
655   X_ATTRIBUTE8            => X_ATTRIBUTE8,
656   X_ATTRIBUTE14           => X_ATTRIBUTE14,
657   X_COMMENTS              => X_COMMENTS,
658   X_CREATION_DATE         => sysdate,
659   X_CREATED_BY            => user_id,
660   X_LAST_UPDATE_DATE      => sysdate,
661   X_LAST_UPDATED_BY       => user_id,
662   X_LAST_UPDATE_LOGIN     => 0
663 );
664 end LOAD_ROW;
665 
666 procedure TRANSLATE_ROW (
667   X_DOC_REVISION_ID        in NUMBER,
668   X_COMMENTS               in VARCHAR2,
669   X_OWNER                  in VARCHAR2
670 ) is
671 begin
672 update AHl_DOC_REVISIONS_TL set
673  comments          = nvl(X_COMMENTS, comments),
674  source_lang       = userenv('LANG'),
678 where doc_revision_id =
675  last_update_date  = sysdate,
676  last_updated_by   = decode(X_OWNER, 'SEED', 1, 0),
677  last_update_login = 0
679 	(select doc_revision_id
680          from ahl_doc_revisions_b
681          where doc_revision_id = X_DOC_REVISION_ID)
682 and userenv('LANG') in (language, source_lang);
683 
684 end TRANSLATE_ROW;
685 
686 end AHL_DOC_REVISIONS_PKG;