DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_PROGRAMS_ALL_PKG

Source


1 package body AMS_PROGRAMS_ALL_PKG as
2 /* $Header: amslprgb.pls 115.4 2002/12/02 20:30:28 dbiswas ship $ */
3 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
4 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
5 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
6 
7 procedure INSERT_ROW (
8   X_ROWID in OUT NOCOPY VARCHAR2,
9   X_PROGRAM_ID in NUMBER,
10   X_OBJECT_VERSION_NUMBER in NUMBER,
11   X_REQUIRED_FLAG 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_PROGRAM_NAME in VARCHAR2,
29   X_DESCRIPTION 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 AMS_PROGRAMS_ALL_B
37     where PROGRAM_ID = X_PROGRAM_ID
38     ;
39 begin
40   insert into AMS_PROGRAMS_ALL_B (
41     PROGRAM_ID,
42     OBJECT_VERSION_NUMBER,
43     REQUIRED_FLAG,
44     ATTRIBUTE_CATEGORY,
45     ATTRIBUTE1,
46     ATTRIBUTE2,
47     ATTRIBUTE3,
48     ATTRIBUTE4,
49     ATTRIBUTE5,
50     ATTRIBUTE6,
51     ATTRIBUTE7,
52     ATTRIBUTE8,
53     ATTRIBUTE9,
54     ATTRIBUTE10,
55     ATTRIBUTE11,
56     ATTRIBUTE12,
57     ATTRIBUTE13,
58     ATTRIBUTE14,
59     ATTRIBUTE15,
60     CREATION_DATE,
61     CREATED_BY,
62     LAST_UPDATE_DATE,
63     LAST_UPDATED_BY,
64     LAST_UPDATE_LOGIN
65   ) values (
66     X_PROGRAM_ID,
67     X_OBJECT_VERSION_NUMBER,
68     X_REQUIRED_FLAG,
69     X_ATTRIBUTE_CATEGORY,
70     X_ATTRIBUTE1,
71     X_ATTRIBUTE2,
72     X_ATTRIBUTE3,
73     X_ATTRIBUTE4,
74     X_ATTRIBUTE5,
75     X_ATTRIBUTE6,
76     X_ATTRIBUTE7,
77     X_ATTRIBUTE8,
78     X_ATTRIBUTE9,
79     X_ATTRIBUTE10,
80     X_ATTRIBUTE11,
81     X_ATTRIBUTE12,
82     X_ATTRIBUTE13,
83     X_ATTRIBUTE14,
84     X_ATTRIBUTE15,
85     X_CREATION_DATE,
86     X_CREATED_BY,
87     X_LAST_UPDATE_DATE,
88     X_LAST_UPDATED_BY,
89     X_LAST_UPDATE_LOGIN
90   );
91 
92   insert into AMS_PROGRAMS_ALL_TL (
93     PROGRAM_ID,
94     LAST_UPDATE_DATE,
95     LAST_UPDATED_BY,
96     CREATION_DATE,
97     CREATED_BY,
98     LAST_UPDATE_LOGIN,
99     PROGRAM_NAME,
100     DESCRIPTION,
101     LANGUAGE,
102     SOURCE_LANG
103   ) select
104     X_PROGRAM_ID,
105     X_LAST_UPDATE_DATE,
106     X_LAST_UPDATED_BY,
107     X_CREATION_DATE,
108     X_CREATED_BY,
109     X_LAST_UPDATE_LOGIN,
110     X_PROGRAM_NAME,
111     X_DESCRIPTION,
112     L.LANGUAGE_CODE,
113     userenv('LANG')
114   from FND_LANGUAGES L
115   where L.INSTALLED_FLAG in ('I', 'B')
116   and not exists
117     (select NULL
118     from AMS_PROGRAMS_ALL_TL T
119     where T.PROGRAM_ID = X_PROGRAM_ID
120     and T.LANGUAGE = L.LANGUAGE_CODE);
121 
122   open c;
123   fetch c into X_ROWID;
124   if (c%notfound) then
125     close c;
126     raise no_data_found;
127   end if;
128   close c;
129 
130 end INSERT_ROW;
131 
132 procedure LOCK_ROW (
133   X_PROGRAM_ID in NUMBER,
134   X_OBJECT_VERSION_NUMBER in NUMBER,
135   X_REQUIRED_FLAG in VARCHAR2,
136   X_ATTRIBUTE_CATEGORY in VARCHAR2,
137   X_ATTRIBUTE1 in VARCHAR2,
138   X_ATTRIBUTE2 in VARCHAR2,
139   X_ATTRIBUTE3 in VARCHAR2,
140   X_ATTRIBUTE4 in VARCHAR2,
141   X_ATTRIBUTE5 in VARCHAR2,
142   X_ATTRIBUTE6 in VARCHAR2,
143   X_ATTRIBUTE7 in VARCHAR2,
144   X_ATTRIBUTE8 in VARCHAR2,
145   X_ATTRIBUTE9 in VARCHAR2,
146   X_ATTRIBUTE10 in VARCHAR2,
147   X_ATTRIBUTE11 in VARCHAR2,
148   X_ATTRIBUTE12 in VARCHAR2,
149   X_ATTRIBUTE13 in VARCHAR2,
150   X_ATTRIBUTE14 in VARCHAR2,
151   X_ATTRIBUTE15 in VARCHAR2,
152   X_PROGRAM_NAME in VARCHAR2,
153   X_DESCRIPTION in VARCHAR2
154 ) is
155   cursor c is select
156       OBJECT_VERSION_NUMBER,
157       REQUIRED_FLAG,
158       ATTRIBUTE_CATEGORY,
159       ATTRIBUTE1,
160       ATTRIBUTE2,
161       ATTRIBUTE3,
162       ATTRIBUTE4,
163       ATTRIBUTE5,
164       ATTRIBUTE6,
165       ATTRIBUTE7,
166       ATTRIBUTE8,
167       ATTRIBUTE9,
168       ATTRIBUTE10,
169       ATTRIBUTE11,
170       ATTRIBUTE12,
171       ATTRIBUTE13,
172       ATTRIBUTE14,
173       ATTRIBUTE15
174     from AMS_PROGRAMS_ALL_B
175     where PROGRAM_ID = X_PROGRAM_ID
176     for update of PROGRAM_ID nowait;
177   recinfo c%rowtype;
178 
179   cursor c1 is select
180       PROGRAM_NAME,
181       DESCRIPTION,
182       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
183     from AMS_PROGRAMS_ALL_TL
184     where PROGRAM_ID = X_PROGRAM_ID
185     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
186     for update of PROGRAM_ID nowait;
187 begin
188   open c;
189   fetch c into recinfo;
190   if (c%notfound) then
191     close c;
192     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
193     app_exception.raise_exception;
194   end if;
195   close c;
196   if (    ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
197            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
198       AND ((recinfo.REQUIRED_FLAG = X_REQUIRED_FLAG)
199            OR ((recinfo.REQUIRED_FLAG is null) AND (X_REQUIRED_FLAG is null)))
200       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
201            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
202       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
203            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
204       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
205            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
206       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
207            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
208       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
209            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
210       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
211            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
212       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
213            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
214       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
215            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
216       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
217            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
218       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
219            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
220       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
221            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
222       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
223            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
224       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
225            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
226       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
227            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
228       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
229            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
230       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
231            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
232   ) then
233     null;
234   else
235     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
236     app_exception.raise_exception;
237   end if;
238 
239   for tlinfo in c1 loop
240     if (tlinfo.BASELANG = 'Y') then
241       if (    (tlinfo.PROGRAM_NAME = X_PROGRAM_NAME)
242           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
243                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
244       ) then
245         null;
246       else
247         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
248         app_exception.raise_exception;
249       end if;
250     end if;
251   end loop;
252   return;
253 end LOCK_ROW;
254 
255 procedure UPDATE_ROW (
256   X_PROGRAM_ID in NUMBER,
257   X_OBJECT_VERSION_NUMBER in NUMBER,
258   X_REQUIRED_FLAG in VARCHAR2,
259   X_ATTRIBUTE_CATEGORY in VARCHAR2,
260   X_ATTRIBUTE1 in VARCHAR2,
261   X_ATTRIBUTE2 in VARCHAR2,
262   X_ATTRIBUTE3 in VARCHAR2,
263   X_ATTRIBUTE4 in VARCHAR2,
264   X_ATTRIBUTE5 in VARCHAR2,
265   X_ATTRIBUTE6 in VARCHAR2,
266   X_ATTRIBUTE7 in VARCHAR2,
267   X_ATTRIBUTE8 in VARCHAR2,
268   X_ATTRIBUTE9 in VARCHAR2,
269   X_ATTRIBUTE10 in VARCHAR2,
270   X_ATTRIBUTE11 in VARCHAR2,
271   X_ATTRIBUTE12 in VARCHAR2,
272   X_ATTRIBUTE13 in VARCHAR2,
273   X_ATTRIBUTE14 in VARCHAR2,
274   X_ATTRIBUTE15 in VARCHAR2,
275   X_PROGRAM_NAME in VARCHAR2,
276   X_DESCRIPTION in VARCHAR2,
277   X_LAST_UPDATE_DATE in DATE,
278   X_LAST_UPDATED_BY in NUMBER,
279   X_LAST_UPDATE_LOGIN in NUMBER
280 ) is
281 begin
282   update AMS_PROGRAMS_ALL_B set
283     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
284     REQUIRED_FLAG = X_REQUIRED_FLAG,
285     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
286     ATTRIBUTE1 = X_ATTRIBUTE1,
287     ATTRIBUTE2 = X_ATTRIBUTE2,
288     ATTRIBUTE3 = X_ATTRIBUTE3,
289     ATTRIBUTE4 = X_ATTRIBUTE4,
290     ATTRIBUTE5 = X_ATTRIBUTE5,
291     ATTRIBUTE6 = X_ATTRIBUTE6,
292     ATTRIBUTE7 = X_ATTRIBUTE7,
293     ATTRIBUTE8 = X_ATTRIBUTE8,
294     ATTRIBUTE9 = X_ATTRIBUTE9,
295     ATTRIBUTE10 = X_ATTRIBUTE10,
296     ATTRIBUTE11 = X_ATTRIBUTE11,
297     ATTRIBUTE12 = X_ATTRIBUTE12,
298     ATTRIBUTE13 = X_ATTRIBUTE13,
299     ATTRIBUTE14 = X_ATTRIBUTE14,
300     ATTRIBUTE15 = X_ATTRIBUTE15,
301     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
302     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
303     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
304   where PROGRAM_ID = X_PROGRAM_ID;
305 
306   if (sql%notfound) then
307     raise no_data_found;
308   end if;
309 
310   update AMS_PROGRAMS_ALL_TL set
311     PROGRAM_NAME = X_PROGRAM_NAME,
312     DESCRIPTION = X_DESCRIPTION,
313     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
314     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
315     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
316     SOURCE_LANG = userenv('LANG')
317   where PROGRAM_ID = X_PROGRAM_ID
318   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
319 
320   if (sql%notfound) then
321     raise no_data_found;
322   end if;
323 end UPDATE_ROW;
324 
325 procedure DELETE_ROW (
326   X_PROGRAM_ID in NUMBER
327 ) is
328 begin
329   delete from AMS_PROGRAMS_ALL_TL
330   where PROGRAM_ID = X_PROGRAM_ID;
331 
332   if (sql%notfound) then
333     raise no_data_found;
334   end if;
335 
336   delete from AMS_PROGRAMS_ALL_B
337   where PROGRAM_ID = X_PROGRAM_ID;
338 
339   if (sql%notfound) then
340     raise no_data_found;
341   end if;
342 end DELETE_ROW;
343 
344 procedure ADD_LANGUAGE
345 is
346 begin
347   delete from AMS_PROGRAMS_ALL_TL T
348   where not exists
349     (select NULL
350     from AMS_PROGRAMS_ALL_B B
351     where B.PROGRAM_ID = T.PROGRAM_ID
352     );
353 
354   update AMS_PROGRAMS_ALL_TL T set (
355       PROGRAM_NAME,
356       DESCRIPTION
357     ) = (select
358       B.PROGRAM_NAME,
359       B.DESCRIPTION
360     from AMS_PROGRAMS_ALL_TL B
361     where B.PROGRAM_ID = T.PROGRAM_ID
362     and B.LANGUAGE = T.SOURCE_LANG)
363   where (
364       T.PROGRAM_ID,
365       T.LANGUAGE
366   ) in (select
367       SUBT.PROGRAM_ID,
368       SUBT.LANGUAGE
369     from AMS_PROGRAMS_ALL_TL SUBB, AMS_PROGRAMS_ALL_TL SUBT
370     where SUBB.PROGRAM_ID = SUBT.PROGRAM_ID
371     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
372     and (SUBB.PROGRAM_NAME <> SUBT.PROGRAM_NAME
373       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
374       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
375       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
376   ));
377 
378   insert into AMS_PROGRAMS_ALL_TL (
379     PROGRAM_ID,
380     LAST_UPDATE_DATE,
381     LAST_UPDATED_BY,
382     CREATION_DATE,
383     CREATED_BY,
384     LAST_UPDATE_LOGIN,
385     PROGRAM_NAME,
386     DESCRIPTION,
387     LANGUAGE,
388     SOURCE_LANG
389   ) select
390     B.PROGRAM_ID,
391     B.LAST_UPDATE_DATE,
392     B.LAST_UPDATED_BY,
393     B.CREATION_DATE,
394     B.CREATED_BY,
395     B.LAST_UPDATE_LOGIN,
396     B.PROGRAM_NAME,
397     B.DESCRIPTION,
398     L.LANGUAGE_CODE,
399     B.SOURCE_LANG
400   from AMS_PROGRAMS_ALL_TL B, FND_LANGUAGES L
401   where L.INSTALLED_FLAG in ('I', 'B')
402   and B.LANGUAGE = userenv('LANG')
403   and not exists
404     (select NULL
405     from AMS_PROGRAMS_ALL_TL T
406     where T.PROGRAM_ID = B.PROGRAM_ID
407     and T.LANGUAGE = L.LANGUAGE_CODE);
408 end ADD_LANGUAGE;
409 
410 
411 procedure TRANSLATE_ROW(
412 	  X_PROGRAM_ID		in NUMBER,
413 	  X_PROGRAM_NAME	in VARCHAR2,
414 	  X_DESCRIPTION		in VARCHAR2,
415 	  X_OWNER		in VARCHAR2
416  ) IS
417 
418  begin
419     update AMS_PROGRAMS_ALL_TL set
420        program_name = nvl(x_program_name, program_name),
421        description = nvl(x_description, description),
422        source_lang = userenv('LANG'),
423        last_update_date = sysdate,
424        last_updated_by = decode(x_owner, 'SEED', 1, 0),
425        last_update_login = 0
426     where  program_id = x_program_id
427     and      userenv('LANG') in (language, source_lang);
428 
429 end TRANSLATE_ROW;
430 
431 
432 procedure LOAD_ROW (
433   X_PROGRAM_ID in NUMBER,
434   X_OBJECT_VERSION_NUMBER in NUMBER,
435   X_REQUIRED_FLAG in VARCHAR2,
436   X_ATTRIBUTE_CATEGORY in VARCHAR2,
437   X_ATTRIBUTE1 in VARCHAR2,
438   X_ATTRIBUTE2 in VARCHAR2,
439   X_ATTRIBUTE3 in VARCHAR2,
440   X_ATTRIBUTE4 in VARCHAR2,
441   X_ATTRIBUTE5 in VARCHAR2,
442   X_ATTRIBUTE6 in VARCHAR2,
443   X_ATTRIBUTE7 in VARCHAR2,
444   X_ATTRIBUTE8 in VARCHAR2,
445   X_ATTRIBUTE9 in VARCHAR2,
446   X_ATTRIBUTE10 in VARCHAR2,
447   X_ATTRIBUTE11 in VARCHAR2,
448   X_ATTRIBUTE12 in VARCHAR2,
449   X_ATTRIBUTE13 in VARCHAR2,
450   X_ATTRIBUTE14 in VARCHAR2,
451   X_ATTRIBUTE15 in VARCHAR2,
452   X_PROGRAM_NAME in VARCHAR2,
453   X_DESCRIPTION in VARCHAR2,
454   X_OWNER       in VARCHAR2
455 ) is
456 
457 l_user_id   number := 0;
458 l_obj_verno  number;
459 l_dummy_char  varchar2(1);
460 l_row_id    varchar2(100);
461 l_program_id   number;
462 
463 cursor  c_obj_verno is
464   select object_version_number
465   from    AMS_PROGRAMS_ALL_B
466   where  program_id =  X_PROGRAM_ID;
467 
468 cursor c_chk_prg_exists is
469   select 'x'
470   from    AMS_PROGRAMS_ALL_B
471   where  program_id =  X_PROGRAM_ID;
472 
473 cursor c_get_program_id is
474    select AMS_PROGRAMS_ALL_B_S.nextval
475    from dual;
479   if X_OWNER = 'SEED' then
476 
477 BEGIN
478 
480      l_user_id := 1;
481  end if;
482 
483  open c_chk_prg_exists;
484  fetch c_chk_prg_exists into l_dummy_char;
485  if c_chk_prg_exists%notfound
486  then
487     close c_chk_prg_exists;
488     if X_PROGRAM_ID is null
489     then
490       open c_get_program_id;
491       fetch c_get_program_id into l_program_id;
492       close c_get_program_id;
493     else
494        l_program_id := X_PROGRAM_ID;
495     end if;
496     l_obj_verno := 1;
497 
498     AMS_PROGRAMS_ALL_PKG.INSERT_ROW(
499     X_ROWID => l_row_id,
500     X_PROGRAM_ID => l_program_id,
501     X_OBJECT_VERSION_NUMBER => X_OBJECT_VERSION_NUMBER,
502     X_REQUIRED_FLAG => X_REQUIRED_FLAG,
503     X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
504     X_ATTRIBUTE1 => X_ATTRIBUTE1,
505     X_ATTRIBUTE2 => X_ATTRIBUTE2,
506     X_ATTRIBUTE3 => X_ATTRIBUTE3,
507     X_ATTRIBUTE4 => X_ATTRIBUTE4,
508     X_ATTRIBUTE5 => X_ATTRIBUTE5,
509     X_ATTRIBUTE6 => X_ATTRIBUTE6,
510     X_ATTRIBUTE7 => X_ATTRIBUTE7,
511     X_ATTRIBUTE8 => X_ATTRIBUTE8,
512     X_ATTRIBUTE9 => X_ATTRIBUTE9,
513     X_ATTRIBUTE10 => X_ATTRIBUTE10,
514     X_ATTRIBUTE11 => X_ATTRIBUTE11,
515     X_ATTRIBUTE12 => X_ATTRIBUTE12,
516     X_ATTRIBUTE13 => X_ATTRIBUTE13,
517     X_ATTRIBUTE14 => X_ATTRIBUTE14,
518     X_ATTRIBUTE15 => X_ATTRIBUTE15,
519     X_PROGRAM_NAME => X_PROGRAM_NAME,
520     X_DESCRIPTION => X_DESCRIPTION,
521     X_CREATION_DATE		=> SYSDATE,
522     X_CREATED_BY		=> l_user_id,
523     X_LAST_UPDATE_DATE		=> SYSDATE,
524     X_LAST_UPDATED_BY		=> l_user_id,
525     X_LAST_UPDATE_LOGIN		=> 0);
526 
527     else
528    close c_chk_prg_exists;
529    open c_obj_verno;
530    fetch c_obj_verno into l_obj_verno;
531    close c_obj_verno;
532 
533 AMS_PROGRAMS_ALL_PKG.UPDATE_ROW(
534     X_PROGRAM_ID => l_program_id,
535     X_OBJECT_VERSION_NUMBER => l_obj_verno + 1,
536     X_REQUIRED_FLAG => X_REQUIRED_FLAG,
537     X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
538     X_ATTRIBUTE1 => X_ATTRIBUTE1,
539     X_ATTRIBUTE2 => X_ATTRIBUTE2,
540     X_ATTRIBUTE3 => X_ATTRIBUTE3,
541     X_ATTRIBUTE4 => X_ATTRIBUTE4,
542     X_ATTRIBUTE5 => X_ATTRIBUTE5,
543     X_ATTRIBUTE6 => X_ATTRIBUTE6,
544     X_ATTRIBUTE7 => X_ATTRIBUTE7,
545     X_ATTRIBUTE8 => X_ATTRIBUTE8,
546     X_ATTRIBUTE9 => X_ATTRIBUTE9,
547     X_ATTRIBUTE10 => X_ATTRIBUTE10,
548     X_ATTRIBUTE11 => X_ATTRIBUTE11,
549     X_ATTRIBUTE12 => X_ATTRIBUTE12,
550     X_ATTRIBUTE13 => X_ATTRIBUTE13,
551     X_ATTRIBUTE14 => X_ATTRIBUTE14,
552     X_ATTRIBUTE15 => X_ATTRIBUTE15,
553     X_PROGRAM_NAME => X_PROGRAM_NAME,
554     X_DESCRIPTION => X_DESCRIPTION,
555     X_LAST_UPDATE_DATE		=> SYSDATE,
556     X_LAST_UPDATED_BY		=> l_user_id,
557     X_LAST_UPDATE_LOGIN		=> 0);
558 
559 
560 end if;
561 END LOAD_ROW;
562 end AMS_PROGRAMS_ALL_PKG;