DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_WARRANTY_TEMPLATES_PKG

Source


1 package body AHL_WARRANTY_TEMPLATES_PKG as
2 /* $Header: AHLLWTMB.pls 120.0 2011/04/20 11:28:46 jkjain noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_WARRANTY_TEMPLATE_ID in NUMBER,
6   X_OBJECT_VERSION_NUMBER in NUMBER,
7   X_NAME in VARCHAR2,
8   X_ENABLED_FLAG in VARCHAR2,
9   X_WARRANTY_TYPE in VARCHAR2,
10   X_WARRANTY_VENDOR_ID in NUMBER,
11   X_CONTRACT_START_DATE in DATE,
12   X_CONTRACT_END_DATE in DATE,
13   X_WARRANTY_PERIOD in NUMBER,
14   X_PERIOD_UOM_CODE in VARCHAR2,
15   X_CONTRACT_EXPIRY_TYPE in VARCHAR2,
16   X_CLAIM_LABOUR_HOURS in NUMBER,
17   X_ACTIVE_START_DATE in DATE,
18   X_ACTIVE_END_DATE in DATE,
19   X_ATTRIBUTE_CATEGORY in VARCHAR2,
20   X_ATTRIBUTE1 in VARCHAR2,
21   X_ATTRIBUTE2 in VARCHAR2,
22   X_ATTRIBUTE3 in VARCHAR2,
23   X_ATTRIBUTE4 in VARCHAR2,
24   X_ATTRIBUTE5 in VARCHAR2,
25   X_ATTRIBUTE6 in VARCHAR2,
26   X_ATTRIBUTE7 in VARCHAR2,
27   X_ATTRIBUTE8 in VARCHAR2,
28   X_ATTRIBUTE9 in VARCHAR2,
29   X_ATTRIBUTE10 in VARCHAR2,
30   X_ATTRIBUTE11 in VARCHAR2,
31   X_ATTRIBUTE12 in VARCHAR2,
32   X_ATTRIBUTE13 in VARCHAR2,
33   X_ATTRIBUTE14 in VARCHAR2,
34   X_ATTRIBUTE15 in VARCHAR2,
35   X_DESCRIPTION in VARCHAR2,
36   X_TERMS_AND_CONDITIONS in VARCHAR2,
37   X_REACTION_AND_RESOL_TIME in VARCHAR2,
38   X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
39   X_REMARKS 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_WARRANTY_TEMPLATES_B
47     where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID
48     ;
49 begin
50   insert into AHL_WARRANTY_TEMPLATES_B (
51     ATTRIBUTE8,
52     ATTRIBUTE9,
53     ATTRIBUTE10,
54     ATTRIBUTE11,
55     ATTRIBUTE12,
56     ATTRIBUTE13,
57     ATTRIBUTE14,
58     ATTRIBUTE15,
59     WARRANTY_TEMPLATE_ID,
60     OBJECT_VERSION_NUMBER,
61     NAME,
62     ENABLED_FLAG,
63     WARRANTY_TYPE,
64     WARRANTY_VENDOR_ID,
65     CONTRACT_START_DATE,
66     CONTRACT_END_DATE,
67     WARRANTY_PERIOD,
68     PERIOD_UOM_CODE,
69     CONTRACT_EXPIRY_TYPE,
70     CLAIM_LABOUR_HOURS,
71     ACTIVE_START_DATE,
72     ACTIVE_END_DATE,
73     ATTRIBUTE_CATEGORY,
74     ATTRIBUTE1,
75     ATTRIBUTE2,
76     ATTRIBUTE3,
77     ATTRIBUTE4,
78     ATTRIBUTE5,
79     ATTRIBUTE6,
80     ATTRIBUTE7,
81     CREATION_DATE,
82     CREATED_BY,
83     LAST_UPDATE_DATE,
84     LAST_UPDATED_BY,
85     LAST_UPDATE_LOGIN
86   ) values (
87     X_ATTRIBUTE8,
88     X_ATTRIBUTE9,
89     X_ATTRIBUTE10,
90     X_ATTRIBUTE11,
91     X_ATTRIBUTE12,
92     X_ATTRIBUTE13,
93     X_ATTRIBUTE14,
94     X_ATTRIBUTE15,
95     X_WARRANTY_TEMPLATE_ID,
96     X_OBJECT_VERSION_NUMBER,
97     X_NAME,
98     X_ENABLED_FLAG,
99     X_WARRANTY_TYPE,
100     X_WARRANTY_VENDOR_ID,
101     X_CONTRACT_START_DATE,
102     X_CONTRACT_END_DATE,
103     X_WARRANTY_PERIOD,
104     X_PERIOD_UOM_CODE,
105     X_CONTRACT_EXPIRY_TYPE,
106     X_CLAIM_LABOUR_HOURS,
107     X_ACTIVE_START_DATE,
108     X_ACTIVE_END_DATE,
109     X_ATTRIBUTE_CATEGORY,
110     X_ATTRIBUTE1,
111     X_ATTRIBUTE2,
112     X_ATTRIBUTE3,
113     X_ATTRIBUTE4,
114     X_ATTRIBUTE5,
115     X_ATTRIBUTE6,
116     X_ATTRIBUTE7,
117     X_CREATION_DATE,
118     X_CREATED_BY,
119     X_LAST_UPDATE_DATE,
120     X_LAST_UPDATED_BY,
121     X_LAST_UPDATE_LOGIN
122   );
123 
124   insert into AHL_WARRANTY_TEMPLATES_TL (
125     WARRANTY_TEMPLATE_ID,
126     DESCRIPTION,
127     TERMS_AND_CONDITIONS,
128     REACTION_AND_RESOL_TIME,
129     SERVICE_LEVEL_AGREEMENT,
130     REMARKS,
131     LAST_UPDATE_DATE,
132     LAST_UPDATED_BY,
133     CREATION_DATE,
134     CREATED_BY,
135     LAST_UPDATE_LOGIN,
136     LANGUAGE,
137     SOURCE_LANG
138   ) select
139     X_WARRANTY_TEMPLATE_ID,
140     X_DESCRIPTION,
141     X_TERMS_AND_CONDITIONS,
142     X_REACTION_AND_RESOL_TIME,
143     X_SERVICE_LEVEL_AGREEMENT,
144     X_REMARKS,
145     X_LAST_UPDATE_DATE,
146     X_LAST_UPDATED_BY,
147     X_CREATION_DATE,
148     X_CREATED_BY,
149     X_LAST_UPDATE_LOGIN,
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_WARRANTY_TEMPLATES_TL T
157     where T.WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_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_WARRANTY_TEMPLATE_ID in NUMBER,
172   X_OBJECT_VERSION_NUMBER in NUMBER,
173   X_NAME in VARCHAR2,
174   X_ENABLED_FLAG in VARCHAR2,
175   X_WARRANTY_TYPE in VARCHAR2,
176   X_WARRANTY_VENDOR_ID in NUMBER,
177   X_CONTRACT_START_DATE in DATE,
178   X_CONTRACT_END_DATE in DATE,
179   X_WARRANTY_PERIOD in NUMBER,
180   X_PERIOD_UOM_CODE in VARCHAR2,
181   X_CONTRACT_EXPIRY_TYPE in VARCHAR2,
182   X_CLAIM_LABOUR_HOURS in NUMBER,
183   X_ACTIVE_START_DATE in DATE,
184   X_ACTIVE_END_DATE in DATE,
185   X_ATTRIBUTE_CATEGORY in VARCHAR2,
186   X_ATTRIBUTE1 in VARCHAR2,
187   X_ATTRIBUTE2 in VARCHAR2,
188   X_ATTRIBUTE3 in VARCHAR2,
189   X_ATTRIBUTE4 in VARCHAR2,
190   X_ATTRIBUTE5 in VARCHAR2,
191   X_ATTRIBUTE6 in VARCHAR2,
192   X_ATTRIBUTE7 in VARCHAR2,
193   X_ATTRIBUTE8 in VARCHAR2,
194   X_ATTRIBUTE9 in VARCHAR2,
195   X_ATTRIBUTE10 in VARCHAR2,
196   X_ATTRIBUTE11 in VARCHAR2,
197   X_ATTRIBUTE12 in VARCHAR2,
198   X_ATTRIBUTE13 in VARCHAR2,
199   X_ATTRIBUTE14 in VARCHAR2,
200   X_ATTRIBUTE15 in VARCHAR2,
201   X_DESCRIPTION in VARCHAR2,
202   X_TERMS_AND_CONDITIONS in VARCHAR2,
203   X_REACTION_AND_RESOL_TIME in VARCHAR2,
204   X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
205   X_REMARKS in VARCHAR2
206 ) is
207   cursor c is select
208       ATTRIBUTE8,
209       ATTRIBUTE9,
210       ATTRIBUTE10,
211       ATTRIBUTE11,
212       ATTRIBUTE12,
213       ATTRIBUTE13,
214       ATTRIBUTE14,
215       ATTRIBUTE15,
216       OBJECT_VERSION_NUMBER,
217       NAME,
218       ENABLED_FLAG,
219       WARRANTY_TYPE,
220       WARRANTY_VENDOR_ID,
221       CONTRACT_START_DATE,
222       CONTRACT_END_DATE,
223       WARRANTY_PERIOD,
224       PERIOD_UOM_CODE,
225       CONTRACT_EXPIRY_TYPE,
226       CLAIM_LABOUR_HOURS,
227       ACTIVE_START_DATE,
228       ACTIVE_END_DATE,
229       ATTRIBUTE_CATEGORY,
230       ATTRIBUTE1,
231       ATTRIBUTE2,
232       ATTRIBUTE3,
233       ATTRIBUTE4,
234       ATTRIBUTE5,
235       ATTRIBUTE6,
236       ATTRIBUTE7
237     from AHL_WARRANTY_TEMPLATES_B
238     where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID
239     for update of WARRANTY_TEMPLATE_ID nowait;
240   recinfo c%rowtype;
241 
242   cursor c1 is select
243       DESCRIPTION,
244       TERMS_AND_CONDITIONS,
245       REACTION_AND_RESOL_TIME,
246       SERVICE_LEVEL_AGREEMENT,
247       REMARKS,
248       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
249     from AHL_WARRANTY_TEMPLATES_TL
250     where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID
251     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
252     for update of WARRANTY_TEMPLATE_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.ATTRIBUTE8 = X_ATTRIBUTE8)
263            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
264       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
265            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
266       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
267            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
268       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
269            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
270       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
271            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
272       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
273            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
274       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
275            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
276       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
277            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
278       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
279       AND (recinfo.NAME = X_NAME)
280       AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
281       AND (recinfo.WARRANTY_TYPE = X_WARRANTY_TYPE)
282       AND (recinfo.WARRANTY_VENDOR_ID = X_WARRANTY_VENDOR_ID)
283       AND ((recinfo.CONTRACT_START_DATE = X_CONTRACT_START_DATE)
284            OR ((recinfo.CONTRACT_START_DATE is null) AND (X_CONTRACT_START_DATE is null)))
285       AND ((recinfo.CONTRACT_END_DATE = X_CONTRACT_END_DATE)
286            OR ((recinfo.CONTRACT_END_DATE is null) AND (X_CONTRACT_END_DATE is null)))
287       AND ((recinfo.WARRANTY_PERIOD = X_WARRANTY_PERIOD)
288            OR ((recinfo.WARRANTY_PERIOD is null) AND (X_WARRANTY_PERIOD is null)))
289       AND ((recinfo.PERIOD_UOM_CODE = X_PERIOD_UOM_CODE)
290            OR ((recinfo.PERIOD_UOM_CODE is null) AND (X_PERIOD_UOM_CODE is null)))
291       AND (recinfo.CONTRACT_EXPIRY_TYPE = X_CONTRACT_EXPIRY_TYPE)
292       AND ((recinfo.CLAIM_LABOUR_HOURS = X_CLAIM_LABOUR_HOURS)
293            OR ((recinfo.CLAIM_LABOUR_HOURS is null) AND (X_CLAIM_LABOUR_HOURS is null)))
294       AND ((recinfo.ACTIVE_START_DATE = X_ACTIVE_START_DATE)
295            OR ((recinfo.ACTIVE_START_DATE is null) AND (X_ACTIVE_START_DATE is null)))
296       AND ((recinfo.ACTIVE_END_DATE = X_ACTIVE_END_DATE)
297            OR ((recinfo.ACTIVE_END_DATE is null) AND (X_ACTIVE_END_DATE is null)))
298       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
299            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
300       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
301            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
302       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
303            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
304       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
305            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
306       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
307            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
308       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
309            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
310       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
311            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
312       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
313            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
314   ) then
315     null;
316   else
317     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
318     app_exception.raise_exception;
319   end if;
320 
321   for tlinfo in c1 loop
322     if (tlinfo.BASELANG = 'Y') then
323       if (    ((tlinfo.DESCRIPTION = X_DESCRIPTION)
324                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
325           AND ((tlinfo.TERMS_AND_CONDITIONS = X_TERMS_AND_CONDITIONS)
326                OR ((tlinfo.TERMS_AND_CONDITIONS is null) AND (X_TERMS_AND_CONDITIONS is null)))
327           AND ((tlinfo.REACTION_AND_RESOL_TIME = X_REACTION_AND_RESOL_TIME)
328                OR ((tlinfo.REACTION_AND_RESOL_TIME is null) AND (X_REACTION_AND_RESOL_TIME is null)))
329           AND ((tlinfo.SERVICE_LEVEL_AGREEMENT = X_SERVICE_LEVEL_AGREEMENT)
330                OR ((tlinfo.SERVICE_LEVEL_AGREEMENT is null) AND (X_SERVICE_LEVEL_AGREEMENT is null)))
331           AND ((tlinfo.REMARKS = X_REMARKS)
332                OR ((tlinfo.REMARKS is null) AND (X_REMARKS is null)))
333       ) then
334         null;
335       else
336         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
337         app_exception.raise_exception;
338       end if;
339     end if;
340   end loop;
341   return;
342 end LOCK_ROW;
343 
344 procedure UPDATE_ROW (
345   X_WARRANTY_TEMPLATE_ID in NUMBER,
346   X_OBJECT_VERSION_NUMBER in NUMBER,
347   X_NAME in VARCHAR2,
348   X_ENABLED_FLAG in VARCHAR2,
349   X_WARRANTY_TYPE in VARCHAR2,
350   X_WARRANTY_VENDOR_ID in NUMBER,
351   X_CONTRACT_START_DATE in DATE,
352   X_CONTRACT_END_DATE in DATE,
353   X_WARRANTY_PERIOD in NUMBER,
354   X_PERIOD_UOM_CODE in VARCHAR2,
355   X_CONTRACT_EXPIRY_TYPE in VARCHAR2,
356   X_CLAIM_LABOUR_HOURS in NUMBER,
357   X_ACTIVE_START_DATE in DATE,
358   X_ACTIVE_END_DATE in DATE,
359   X_ATTRIBUTE_CATEGORY in VARCHAR2,
360   X_ATTRIBUTE1 in VARCHAR2,
361   X_ATTRIBUTE2 in VARCHAR2,
362   X_ATTRIBUTE3 in VARCHAR2,
363   X_ATTRIBUTE4 in VARCHAR2,
364   X_ATTRIBUTE5 in VARCHAR2,
365   X_ATTRIBUTE6 in VARCHAR2,
366   X_ATTRIBUTE7 in VARCHAR2,
367   X_ATTRIBUTE8 in VARCHAR2,
368   X_ATTRIBUTE9 in VARCHAR2,
369   X_ATTRIBUTE10 in VARCHAR2,
370   X_ATTRIBUTE11 in VARCHAR2,
371   X_ATTRIBUTE12 in VARCHAR2,
372   X_ATTRIBUTE13 in VARCHAR2,
373   X_ATTRIBUTE14 in VARCHAR2,
374   X_ATTRIBUTE15 in VARCHAR2,
375   X_DESCRIPTION in VARCHAR2,
376   X_TERMS_AND_CONDITIONS in VARCHAR2,
377   X_REACTION_AND_RESOL_TIME in VARCHAR2,
378   X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
379   X_REMARKS in VARCHAR2,
380   X_LAST_UPDATE_DATE in DATE,
381   X_LAST_UPDATED_BY in NUMBER,
382   X_LAST_UPDATE_LOGIN in NUMBER
383 ) is
384 begin
385   update AHL_WARRANTY_TEMPLATES_B set
386     ATTRIBUTE8 = X_ATTRIBUTE8,
387     ATTRIBUTE9 = X_ATTRIBUTE9,
388     ATTRIBUTE10 = X_ATTRIBUTE10,
389     ATTRIBUTE11 = X_ATTRIBUTE11,
390     ATTRIBUTE12 = X_ATTRIBUTE12,
391     ATTRIBUTE13 = X_ATTRIBUTE13,
392     ATTRIBUTE14 = X_ATTRIBUTE14,
393     ATTRIBUTE15 = X_ATTRIBUTE15,
394     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
395     NAME = X_NAME,
396     ENABLED_FLAG = X_ENABLED_FLAG,
397     WARRANTY_TYPE = X_WARRANTY_TYPE,
398     WARRANTY_VENDOR_ID = X_WARRANTY_VENDOR_ID,
399     CONTRACT_START_DATE = X_CONTRACT_START_DATE,
400     CONTRACT_END_DATE = X_CONTRACT_END_DATE,
401     WARRANTY_PERIOD = X_WARRANTY_PERIOD,
402     PERIOD_UOM_CODE = X_PERIOD_UOM_CODE,
403     CONTRACT_EXPIRY_TYPE = X_CONTRACT_EXPIRY_TYPE,
404     CLAIM_LABOUR_HOURS = X_CLAIM_LABOUR_HOURS,
405     ACTIVE_START_DATE = X_ACTIVE_START_DATE,
406     ACTIVE_END_DATE = X_ACTIVE_END_DATE,
407     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
408     ATTRIBUTE1 = X_ATTRIBUTE1,
409     ATTRIBUTE2 = X_ATTRIBUTE2,
410     ATTRIBUTE3 = X_ATTRIBUTE3,
411     ATTRIBUTE4 = X_ATTRIBUTE4,
412     ATTRIBUTE5 = X_ATTRIBUTE5,
413     ATTRIBUTE6 = X_ATTRIBUTE6,
414     ATTRIBUTE7 = X_ATTRIBUTE7,
415     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
416     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
417     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
418   where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID;
419 
420   if (sql%notfound) then
421     raise no_data_found;
422   end if;
423 
424   update AHL_WARRANTY_TEMPLATES_TL set
425     DESCRIPTION = X_DESCRIPTION,
426     TERMS_AND_CONDITIONS = X_TERMS_AND_CONDITIONS,
427     REACTION_AND_RESOL_TIME = X_REACTION_AND_RESOL_TIME,
428     SERVICE_LEVEL_AGREEMENT = X_SERVICE_LEVEL_AGREEMENT,
429     REMARKS = X_REMARKS,
430     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
431     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
432     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
433     SOURCE_LANG = userenv('LANG')
434   where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID
435   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
436 
437   if (sql%notfound) then
438     raise no_data_found;
439   end if;
440 end UPDATE_ROW;
441 
442 procedure DELETE_ROW (
443   X_WARRANTY_TEMPLATE_ID in NUMBER
444 ) is
445 begin
446   delete from AHL_WARRANTY_TEMPLATES_TL
447   where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID;
448 
449   if (sql%notfound) then
450     raise no_data_found;
451   end if;
452 
453   delete from AHL_WARRANTY_TEMPLATES_B
454   where WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID;
455 
456   if (sql%notfound) then
457     raise no_data_found;
458   end if;
459 end DELETE_ROW;
460 
461 procedure ADD_LANGUAGE
462 is
466     (select NULL
463 begin
464   delete from AHL_WARRANTY_TEMPLATES_TL T
465   where not exists
467     from AHL_WARRANTY_TEMPLATES_B B
468     where B.WARRANTY_TEMPLATE_ID = T.WARRANTY_TEMPLATE_ID
469     );
470 
471   update AHL_WARRANTY_TEMPLATES_TL T set (
472       DESCRIPTION,
473       TERMS_AND_CONDITIONS,
474       REACTION_AND_RESOL_TIME,
475       SERVICE_LEVEL_AGREEMENT,
476       REMARKS
477     ) = (select
478       B.DESCRIPTION,
479       B.TERMS_AND_CONDITIONS,
480       B.REACTION_AND_RESOL_TIME,
481       B.SERVICE_LEVEL_AGREEMENT,
482       B.REMARKS
483     from AHL_WARRANTY_TEMPLATES_TL B
484     where B.WARRANTY_TEMPLATE_ID = T.WARRANTY_TEMPLATE_ID
485     and B.LANGUAGE = T.SOURCE_LANG)
486   where (
487       T.WARRANTY_TEMPLATE_ID,
488       T.LANGUAGE
489   ) in (select
490       SUBT.WARRANTY_TEMPLATE_ID,
491       SUBT.LANGUAGE
492     from AHL_WARRANTY_TEMPLATES_TL SUBB, AHL_WARRANTY_TEMPLATES_TL SUBT
493     where SUBB.WARRANTY_TEMPLATE_ID = SUBT.WARRANTY_TEMPLATE_ID
494     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
495     and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
496       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
497       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
498       or SUBB.TERMS_AND_CONDITIONS <> SUBT.TERMS_AND_CONDITIONS
499       or (SUBB.TERMS_AND_CONDITIONS is null and SUBT.TERMS_AND_CONDITIONS is not null)
500       or (SUBB.TERMS_AND_CONDITIONS is not null and SUBT.TERMS_AND_CONDITIONS is null)
501       or SUBB.REACTION_AND_RESOL_TIME <> SUBT.REACTION_AND_RESOL_TIME
502       or (SUBB.REACTION_AND_RESOL_TIME is null and SUBT.REACTION_AND_RESOL_TIME is not null)
503       or (SUBB.REACTION_AND_RESOL_TIME is not null and SUBT.REACTION_AND_RESOL_TIME is null)
504       or SUBB.SERVICE_LEVEL_AGREEMENT <> SUBT.SERVICE_LEVEL_AGREEMENT
505       or (SUBB.SERVICE_LEVEL_AGREEMENT is null and SUBT.SERVICE_LEVEL_AGREEMENT is not null)
506       or (SUBB.SERVICE_LEVEL_AGREEMENT is not null and SUBT.SERVICE_LEVEL_AGREEMENT is null)
507       or SUBB.REMARKS <> SUBT.REMARKS
508       or (SUBB.REMARKS is null and SUBT.REMARKS is not null)
509       or (SUBB.REMARKS is not null and SUBT.REMARKS is null)
510   ));
511 
512   insert into AHL_WARRANTY_TEMPLATES_TL (
513     WARRANTY_TEMPLATE_ID,
514     DESCRIPTION,
515     TERMS_AND_CONDITIONS,
516     REACTION_AND_RESOL_TIME,
517     SERVICE_LEVEL_AGREEMENT,
518     REMARKS,
519     LAST_UPDATE_DATE,
520     LAST_UPDATED_BY,
521     CREATION_DATE,
522     CREATED_BY,
523     LAST_UPDATE_LOGIN,
524     LANGUAGE,
525     SOURCE_LANG
526   ) select /*+ ORDERED */
527     B.WARRANTY_TEMPLATE_ID,
528     B.DESCRIPTION,
529     B.TERMS_AND_CONDITIONS,
530     B.REACTION_AND_RESOL_TIME,
531     B.SERVICE_LEVEL_AGREEMENT,
532     B.REMARKS,
533     B.LAST_UPDATE_DATE,
534     B.LAST_UPDATED_BY,
535     B.CREATION_DATE,
536     B.CREATED_BY,
537     B.LAST_UPDATE_LOGIN,
538     L.LANGUAGE_CODE,
539     B.SOURCE_LANG
540   from AHL_WARRANTY_TEMPLATES_TL B, FND_LANGUAGES L
541   where L.INSTALLED_FLAG in ('I', 'B')
542   and B.LANGUAGE = userenv('LANG')
543   and not exists
544     (select NULL
545     from AHL_WARRANTY_TEMPLATES_TL T
546     where T.WARRANTY_TEMPLATE_ID = B.WARRANTY_TEMPLATE_ID
547     and T.LANGUAGE = L.LANGUAGE_CODE);
548 end ADD_LANGUAGE;
549 
550 end AHL_WARRANTY_TEMPLATES_PKG;