1 package body AHL_WARRANTY_TMPL_CTR_PKG as
2 /* $Header: AHLLWTCB.pls 120.0 2011/04/20 11:30:31 jkjain noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_WARRANTY_TMPL_COUNTER_ID in NUMBER,
6 X_OBJECT_VERSION_NUMBER in NUMBER,
7 X_WARRANTY_TEMPLATE_ID in NUMBER,
8 X_COUNTER_ID in NUMBER,
9 X_THRESHOLD in NUMBER,
10 X_ATTRIBUTE_CATEGORY in VARCHAR2,
11 X_ATTRIBUTE1 in VARCHAR2,
12 X_ATTRIBUTE2 in VARCHAR2,
13 X_ATTRIBUTE3 in VARCHAR2,
14 X_ATTRIBUTE4 in VARCHAR2,
15 X_ATTRIBUTE5 in VARCHAR2,
16 X_ATTRIBUTE6 in VARCHAR2,
17 X_ATTRIBUTE7 in VARCHAR2,
18 X_ATTRIBUTE8 in VARCHAR2,
19 X_ATTRIBUTE9 in VARCHAR2,
20 X_ATTRIBUTE10 in VARCHAR2,
21 X_ATTRIBUTE11 in VARCHAR2,
22 X_ATTRIBUTE12 in VARCHAR2,
23 X_ATTRIBUTE13 in VARCHAR2,
24 X_ATTRIBUTE14 in VARCHAR2,
25 X_ATTRIBUTE15 in VARCHAR2,
26 X_TERMS_AND_CONDITIONS in VARCHAR2,
27 X_REACTION_AND_RESOL_TIME in VARCHAR2,
28 X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
29 X_REMARKS in VARCHAR2,
30 X_CREATION_DATE in DATE,
31 X_CREATED_BY in NUMBER,
32 X_LAST_UPDATE_DATE in DATE,
33 X_LAST_UPDATED_BY in NUMBER,
34 X_LAST_UPDATE_LOGIN in NUMBER
35 ) is
36 cursor C is select ROWID from AHL_WARRANTY_TMPL_CTR_B
37 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID
38 ;
39 begin
40 insert into AHL_WARRANTY_TMPL_CTR_B (
41 WARRANTY_TMPL_COUNTER_ID,
42 OBJECT_VERSION_NUMBER,
43 WARRANTY_TEMPLATE_ID,
44 COUNTER_ID,
45 THRESHOLD,
46 ATTRIBUTE_CATEGORY,
47 ATTRIBUTE1,
48 ATTRIBUTE2,
49 ATTRIBUTE3,
50 ATTRIBUTE4,
51 ATTRIBUTE5,
52 ATTRIBUTE6,
53 ATTRIBUTE7,
54 ATTRIBUTE8,
55 ATTRIBUTE9,
56 ATTRIBUTE10,
57 ATTRIBUTE11,
58 ATTRIBUTE12,
59 ATTRIBUTE13,
60 ATTRIBUTE14,
61 ATTRIBUTE15,
62 CREATION_DATE,
63 CREATED_BY,
64 LAST_UPDATE_DATE,
65 LAST_UPDATED_BY,
66 LAST_UPDATE_LOGIN
67 ) values (
68 X_WARRANTY_TMPL_COUNTER_ID,
69 X_OBJECT_VERSION_NUMBER,
70 X_WARRANTY_TEMPLATE_ID,
71 X_COUNTER_ID,
72 X_THRESHOLD,
73 X_ATTRIBUTE_CATEGORY,
74 X_ATTRIBUTE1,
75 X_ATTRIBUTE2,
76 X_ATTRIBUTE3,
77 X_ATTRIBUTE4,
78 X_ATTRIBUTE5,
79 X_ATTRIBUTE6,
80 X_ATTRIBUTE7,
81 X_ATTRIBUTE8,
82 X_ATTRIBUTE9,
83 X_ATTRIBUTE10,
84 X_ATTRIBUTE11,
85 X_ATTRIBUTE12,
86 X_ATTRIBUTE13,
87 X_ATTRIBUTE14,
88 X_ATTRIBUTE15,
89 X_CREATION_DATE,
90 X_CREATED_BY,
91 X_LAST_UPDATE_DATE,
92 X_LAST_UPDATED_BY,
93 X_LAST_UPDATE_LOGIN
94 );
95
96 insert into AHL_WARRANTY_TMPL_CTR_TL (
97 WARRANTY_TMPL_COUNTER_ID,
98 TERMS_AND_CONDITIONS,
99 REACTION_AND_RESOL_TIME,
100 SERVICE_LEVEL_AGREEMENT,
101 REMARKS,
102 LAST_UPDATE_DATE,
103 LAST_UPDATED_BY,
104 CREATION_DATE,
105 CREATED_BY,
106 LAST_UPDATE_LOGIN,
107 LANGUAGE,
108 SOURCE_LANG
109 ) select
110 X_WARRANTY_TMPL_COUNTER_ID,
111 X_TERMS_AND_CONDITIONS,
112 X_REACTION_AND_RESOL_TIME,
113 X_SERVICE_LEVEL_AGREEMENT,
114 X_REMARKS,
115 X_LAST_UPDATE_DATE,
116 X_LAST_UPDATED_BY,
117 X_CREATION_DATE,
118 X_CREATED_BY,
119 X_LAST_UPDATE_LOGIN,
120 L.LANGUAGE_CODE,
121 userenv('LANG')
122 from FND_LANGUAGES L
123 where L.INSTALLED_FLAG in ('I', 'B')
124 and not exists
125 (select NULL
126 from AHL_WARRANTY_TMPL_CTR_TL T
127 where T.WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID
128 and T.LANGUAGE = L.LANGUAGE_CODE);
129
130 open c;
131 fetch c into X_ROWID;
132 if (c%notfound) then
133 close c;
134 raise no_data_found;
135 end if;
136 close c;
137
138 end INSERT_ROW;
139
140 procedure LOCK_ROW (
141 X_WARRANTY_TMPL_COUNTER_ID in NUMBER,
142 X_OBJECT_VERSION_NUMBER in NUMBER,
143 X_WARRANTY_TEMPLATE_ID in NUMBER,
144 X_COUNTER_ID in NUMBER,
145 X_THRESHOLD in NUMBER,
146 X_ATTRIBUTE_CATEGORY in VARCHAR2,
147 X_ATTRIBUTE1 in VARCHAR2,
148 X_ATTRIBUTE2 in VARCHAR2,
149 X_ATTRIBUTE3 in VARCHAR2,
150 X_ATTRIBUTE4 in VARCHAR2,
151 X_ATTRIBUTE5 in VARCHAR2,
152 X_ATTRIBUTE6 in VARCHAR2,
153 X_ATTRIBUTE7 in VARCHAR2,
154 X_ATTRIBUTE8 in VARCHAR2,
155 X_ATTRIBUTE9 in VARCHAR2,
156 X_ATTRIBUTE10 in VARCHAR2,
157 X_ATTRIBUTE11 in VARCHAR2,
158 X_ATTRIBUTE12 in VARCHAR2,
159 X_ATTRIBUTE13 in VARCHAR2,
160 X_ATTRIBUTE14 in VARCHAR2,
161 X_ATTRIBUTE15 in VARCHAR2,
162 X_TERMS_AND_CONDITIONS in VARCHAR2,
163 X_REACTION_AND_RESOL_TIME in VARCHAR2,
164 X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
165 X_REMARKS in VARCHAR2
166 ) is
167 cursor c is select
168 OBJECT_VERSION_NUMBER,
169 WARRANTY_TEMPLATE_ID,
170 COUNTER_ID,
171 THRESHOLD,
172 ATTRIBUTE_CATEGORY,
173 ATTRIBUTE1,
174 ATTRIBUTE2,
175 ATTRIBUTE3,
176 ATTRIBUTE4,
177 ATTRIBUTE5,
178 ATTRIBUTE6,
179 ATTRIBUTE7,
180 ATTRIBUTE8,
181 ATTRIBUTE9,
182 ATTRIBUTE10,
183 ATTRIBUTE11,
184 ATTRIBUTE12,
185 ATTRIBUTE13,
186 ATTRIBUTE14,
187 ATTRIBUTE15
188 from AHL_WARRANTY_TMPL_CTR_B
189 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID
190 for update of WARRANTY_TMPL_COUNTER_ID nowait;
191 recinfo c%rowtype;
192
193 cursor c1 is select
194 TERMS_AND_CONDITIONS,
195 REACTION_AND_RESOL_TIME,
196 SERVICE_LEVEL_AGREEMENT,
197 REMARKS,
198 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
199 from AHL_WARRANTY_TMPL_CTR_TL
200 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID
201 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
202 for update of WARRANTY_TMPL_COUNTER_ID nowait;
203 begin
204 open c;
205 fetch c into recinfo;
206 if (c%notfound) then
207 close c;
208 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
209 app_exception.raise_exception;
210 end if;
211 close c;
212 if ( (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
213 AND (recinfo.WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID)
214 AND (recinfo.COUNTER_ID = X_COUNTER_ID)
215 AND (recinfo.THRESHOLD = X_THRESHOLD)
219 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
216 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
217 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
218 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
220 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
221 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
222 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
223 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
224 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
225 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
226 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
227 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
228 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
229 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
230 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
231 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
232 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
233 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
234 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
235 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
236 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
237 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
238 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
239 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
240 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
241 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
242 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
243 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
244 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
245 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
246 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
247 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
248 ) then
249 null;
250 else
251 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
252 app_exception.raise_exception;
253 end if;
254
255 for tlinfo in c1 loop
256 if (tlinfo.BASELANG = 'Y') then
257 if ( ((tlinfo.TERMS_AND_CONDITIONS = X_TERMS_AND_CONDITIONS)
258 OR ((tlinfo.TERMS_AND_CONDITIONS is null) AND (X_TERMS_AND_CONDITIONS is null)))
259 AND ((tlinfo.REACTION_AND_RESOL_TIME = X_REACTION_AND_RESOL_TIME)
260 OR ((tlinfo.REACTION_AND_RESOL_TIME is null) AND (X_REACTION_AND_RESOL_TIME is null)))
261 AND ((tlinfo.SERVICE_LEVEL_AGREEMENT = X_SERVICE_LEVEL_AGREEMENT)
262 OR ((tlinfo.SERVICE_LEVEL_AGREEMENT is null) AND (X_SERVICE_LEVEL_AGREEMENT is null)))
263 AND ((tlinfo.REMARKS = X_REMARKS)
264 OR ((tlinfo.REMARKS is null) AND (X_REMARKS is null)))
265 ) then
266 null;
267 else
268 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
269 app_exception.raise_exception;
270 end if;
271 end if;
272 end loop;
273 return;
274 end LOCK_ROW;
275
276 procedure UPDATE_ROW (
277 X_WARRANTY_TMPL_COUNTER_ID in NUMBER,
278 X_OBJECT_VERSION_NUMBER in NUMBER,
279 X_WARRANTY_TEMPLATE_ID in NUMBER,
280 X_COUNTER_ID in NUMBER,
281 X_THRESHOLD in NUMBER,
282 X_ATTRIBUTE_CATEGORY in VARCHAR2,
283 X_ATTRIBUTE1 in VARCHAR2,
284 X_ATTRIBUTE2 in VARCHAR2,
285 X_ATTRIBUTE3 in VARCHAR2,
286 X_ATTRIBUTE4 in VARCHAR2,
287 X_ATTRIBUTE5 in VARCHAR2,
288 X_ATTRIBUTE6 in VARCHAR2,
289 X_ATTRIBUTE7 in VARCHAR2,
290 X_ATTRIBUTE8 in VARCHAR2,
291 X_ATTRIBUTE9 in VARCHAR2,
292 X_ATTRIBUTE10 in VARCHAR2,
293 X_ATTRIBUTE11 in VARCHAR2,
294 X_ATTRIBUTE12 in VARCHAR2,
295 X_ATTRIBUTE13 in VARCHAR2,
296 X_ATTRIBUTE14 in VARCHAR2,
297 X_ATTRIBUTE15 in VARCHAR2,
298 X_TERMS_AND_CONDITIONS in VARCHAR2,
299 X_REACTION_AND_RESOL_TIME in VARCHAR2,
300 X_SERVICE_LEVEL_AGREEMENT in VARCHAR2,
301 X_REMARKS in VARCHAR2,
302 X_LAST_UPDATE_DATE in DATE,
303 X_LAST_UPDATED_BY in NUMBER,
304 X_LAST_UPDATE_LOGIN in NUMBER
305 ) is
306 begin
307 update AHL_WARRANTY_TMPL_CTR_B set
308 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
309 WARRANTY_TEMPLATE_ID = X_WARRANTY_TEMPLATE_ID,
310 COUNTER_ID = X_COUNTER_ID,
311 THRESHOLD = X_THRESHOLD,
312 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
313 ATTRIBUTE1 = X_ATTRIBUTE1,
314 ATTRIBUTE2 = X_ATTRIBUTE2,
315 ATTRIBUTE3 = X_ATTRIBUTE3,
316 ATTRIBUTE4 = X_ATTRIBUTE4,
317 ATTRIBUTE5 = X_ATTRIBUTE5,
321 ATTRIBUTE9 = X_ATTRIBUTE9,
318 ATTRIBUTE6 = X_ATTRIBUTE6,
319 ATTRIBUTE7 = X_ATTRIBUTE7,
320 ATTRIBUTE8 = X_ATTRIBUTE8,
322 ATTRIBUTE10 = X_ATTRIBUTE10,
323 ATTRIBUTE11 = X_ATTRIBUTE11,
324 ATTRIBUTE12 = X_ATTRIBUTE12,
325 ATTRIBUTE13 = X_ATTRIBUTE13,
326 ATTRIBUTE14 = X_ATTRIBUTE14,
327 ATTRIBUTE15 = X_ATTRIBUTE15,
328 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
329 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
330 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
331 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID;
332
333 if (sql%notfound) then
334 raise no_data_found;
335 end if;
336
337 update AHL_WARRANTY_TMPL_CTR_TL set
338 TERMS_AND_CONDITIONS = X_TERMS_AND_CONDITIONS,
339 REACTION_AND_RESOL_TIME = X_REACTION_AND_RESOL_TIME,
340 SERVICE_LEVEL_AGREEMENT = X_SERVICE_LEVEL_AGREEMENT,
341 REMARKS = X_REMARKS,
342 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
343 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
344 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
345 SOURCE_LANG = userenv('LANG')
346 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID
347 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
348
349 if (sql%notfound) then
350 raise no_data_found;
351 end if;
352 end UPDATE_ROW;
353
354 procedure DELETE_ROW (
355 X_WARRANTY_TMPL_COUNTER_ID in NUMBER
356 ) is
357 begin
358 delete from AHL_WARRANTY_TMPL_CTR_TL
359 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID;
360
361 if (sql%notfound) then
362 raise no_data_found;
363 end if;
364
365 delete from AHL_WARRANTY_TMPL_CTR_B
366 where WARRANTY_TMPL_COUNTER_ID = X_WARRANTY_TMPL_COUNTER_ID;
367
368 if (sql%notfound) then
369 raise no_data_found;
370 end if;
371 end DELETE_ROW;
372
373 procedure ADD_LANGUAGE
374 is
375 begin
376 delete from AHL_WARRANTY_TMPL_CTR_TL T
377 where not exists
378 (select NULL
379 from AHL_WARRANTY_TMPL_CTR_B B
380 where B.WARRANTY_TMPL_COUNTER_ID = T.WARRANTY_TMPL_COUNTER_ID
381 );
382
383 update AHL_WARRANTY_TMPL_CTR_TL T set (
384 TERMS_AND_CONDITIONS,
385 REACTION_AND_RESOL_TIME,
386 SERVICE_LEVEL_AGREEMENT,
387 REMARKS
388 ) = (select
389 B.TERMS_AND_CONDITIONS,
390 B.REACTION_AND_RESOL_TIME,
391 B.SERVICE_LEVEL_AGREEMENT,
392 B.REMARKS
393 from AHL_WARRANTY_TMPL_CTR_TL B
394 where B.WARRANTY_TMPL_COUNTER_ID = T.WARRANTY_TMPL_COUNTER_ID
395 and B.LANGUAGE = T.SOURCE_LANG)
396 where (
397 T.WARRANTY_TMPL_COUNTER_ID,
398 T.LANGUAGE
399 ) in (select
400 SUBT.WARRANTY_TMPL_COUNTER_ID,
401 SUBT.LANGUAGE
402 from AHL_WARRANTY_TMPL_CTR_TL SUBB, AHL_WARRANTY_TMPL_CTR_TL SUBT
403 where SUBB.WARRANTY_TMPL_COUNTER_ID = SUBT.WARRANTY_TMPL_COUNTER_ID
404 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
405 and (SUBB.TERMS_AND_CONDITIONS <> SUBT.TERMS_AND_CONDITIONS
406 or (SUBB.TERMS_AND_CONDITIONS is null and SUBT.TERMS_AND_CONDITIONS is not null)
407 or (SUBB.TERMS_AND_CONDITIONS is not null and SUBT.TERMS_AND_CONDITIONS is null)
408 or SUBB.REACTION_AND_RESOL_TIME <> SUBT.REACTION_AND_RESOL_TIME
409 or (SUBB.REACTION_AND_RESOL_TIME is null and SUBT.REACTION_AND_RESOL_TIME is not null)
410 or (SUBB.REACTION_AND_RESOL_TIME is not null and SUBT.REACTION_AND_RESOL_TIME is null)
411 or SUBB.SERVICE_LEVEL_AGREEMENT <> SUBT.SERVICE_LEVEL_AGREEMENT
412 or (SUBB.SERVICE_LEVEL_AGREEMENT is null and SUBT.SERVICE_LEVEL_AGREEMENT is not null)
413 or (SUBB.SERVICE_LEVEL_AGREEMENT is not null and SUBT.SERVICE_LEVEL_AGREEMENT is null)
414 or SUBB.REMARKS <> SUBT.REMARKS
415 or (SUBB.REMARKS is null and SUBT.REMARKS is not null)
416 or (SUBB.REMARKS is not null and SUBT.REMARKS is null)
417 ));
418
419 insert into AHL_WARRANTY_TMPL_CTR_TL (
420 WARRANTY_TMPL_COUNTER_ID,
421 TERMS_AND_CONDITIONS,
422 REACTION_AND_RESOL_TIME,
423 SERVICE_LEVEL_AGREEMENT,
424 REMARKS,
425 LAST_UPDATE_DATE,
426 LAST_UPDATED_BY,
427 CREATION_DATE,
428 CREATED_BY,
429 LAST_UPDATE_LOGIN,
430 LANGUAGE,
431 SOURCE_LANG
432 ) select /*+ ORDERED */
433 B.WARRANTY_TMPL_COUNTER_ID,
434 B.TERMS_AND_CONDITIONS,
435 B.REACTION_AND_RESOL_TIME,
436 B.SERVICE_LEVEL_AGREEMENT,
437 B.REMARKS,
438 B.LAST_UPDATE_DATE,
439 B.LAST_UPDATED_BY,
440 B.CREATION_DATE,
441 B.CREATED_BY,
442 B.LAST_UPDATE_LOGIN,
443 L.LANGUAGE_CODE,
444 B.SOURCE_LANG
445 from AHL_WARRANTY_TMPL_CTR_TL B, FND_LANGUAGES L
446 where L.INSTALLED_FLAG in ('I', 'B')
447 and B.LANGUAGE = userenv('LANG')
448 and not exists
449 (select NULL
450 from AHL_WARRANTY_TMPL_CTR_TL T
451 where T.WARRANTY_TMPL_COUNTER_ID = B.WARRANTY_TMPL_COUNTER_ID
452 and T.LANGUAGE = L.LANGUAGE_CODE);
453 end ADD_LANGUAGE;
454
455 end AHL_WARRANTY_TMPL_CTR_PKG;