DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_APPROVAL_DETAILS_PKG

Source


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