DBA Data[Home] [Help]

PACKAGE BODY: APPS.PRP_TOKENS_PKG

Source


1 package body PRP_TOKENS_PKG as
2 /* $Header: PRPTTKNB.pls 120.1 2005/10/21 17:39:17 hekkiral noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_TOKEN_ID in NUMBER,
6   X_OBJECT_VERSION_NUMBER in NUMBER,
7   X_TOKEN_CODE in VARCHAR2,
8   X_TOKEN_TYPE in VARCHAR2,
9   X_NATIVE_OBJECT_TYPE in VARCHAR2,
10   X_USER_DEFINED_OPTIONS in VARCHAR2,
11   X_JAVA_PROGRAM_NAME in VARCHAR2,
12   X_DATA_TYPE in VARCHAR2,
13   X_DISPLAY_LENGTH in NUMBER,
14   X_START_DATE_ACTIVE in DATE,
15   X_END_DATE_ACTIVE in DATE,
16   X_ATTRIBUTE_CATEGORY in VARCHAR2,
17   X_ATTRIBUTE1 in VARCHAR2,
18   X_ATTRIBUTE2 in VARCHAR2,
19   X_ATTRIBUTE3 in VARCHAR2,
20   X_ATTRIBUTE4 in VARCHAR2,
21   X_ATTRIBUTE5 in VARCHAR2,
22   X_ATTRIBUTE6 in VARCHAR2,
23   X_ATTRIBUTE7 in VARCHAR2,
24   X_ATTRIBUTE8 in VARCHAR2,
25   X_ATTRIBUTE9 in VARCHAR2,
26   X_ATTRIBUTE10 in VARCHAR2,
27   X_ATTRIBUTE11 in VARCHAR2,
28   X_ATTRIBUTE12 in VARCHAR2,
29   X_ATTRIBUTE13 in VARCHAR2,
30   X_ATTRIBUTE14 in VARCHAR2,
31   X_ATTRIBUTE15 in VARCHAR2,
32   X_TOKEN_NAME in VARCHAR2,
33   X_TOKEN_PROMPT in VARCHAR2,
34   X_TOKEN_DESC in VARCHAR2,
35   X_CREATION_DATE in DATE,
36   X_CREATED_BY in NUMBER,
37   X_LAST_UPDATE_DATE in DATE,
38   X_LAST_UPDATED_BY in NUMBER,
39   X_LAST_UPDATE_LOGIN in NUMBER
40 ) is
41   cursor C is select ROWID from PRP_TOKENS_B
42     where TOKEN_ID = X_TOKEN_ID
43     ;
44 begin
45   insert into PRP_TOKENS_B (
46     ATTRIBUTE15,
47     TOKEN_ID,
48     OBJECT_VERSION_NUMBER,
49     TOKEN_CODE,
50     TOKEN_TYPE,
51     NATIVE_OBJECT_TYPE,
52     USER_DEFINED_OPTIONS,
53     JAVA_PROGRAM_NAME,
54     DATA_TYPE,
55     DISPLAY_LENGTH,
56     START_DATE_ACTIVE,
57     END_DATE_ACTIVE,
58     ATTRIBUTE_CATEGORY,
59     ATTRIBUTE1,
60     ATTRIBUTE2,
61     ATTRIBUTE3,
62     ATTRIBUTE4,
63     ATTRIBUTE5,
64     ATTRIBUTE6,
65     ATTRIBUTE7,
66     ATTRIBUTE8,
67     ATTRIBUTE9,
68     ATTRIBUTE10,
69     ATTRIBUTE11,
70     ATTRIBUTE12,
71     ATTRIBUTE13,
72     ATTRIBUTE14,
73     CREATION_DATE,
74     CREATED_BY,
75     LAST_UPDATE_DATE,
76     LAST_UPDATED_BY,
77     LAST_UPDATE_LOGIN
78   ) values (
79     X_ATTRIBUTE15,
80     X_TOKEN_ID,
81     X_OBJECT_VERSION_NUMBER,
82     X_TOKEN_CODE,
83     X_TOKEN_TYPE,
84     X_NATIVE_OBJECT_TYPE,
85     X_USER_DEFINED_OPTIONS,
86     X_JAVA_PROGRAM_NAME,
87     X_DATA_TYPE,
88     X_DISPLAY_LENGTH,
89     X_START_DATE_ACTIVE,
90     X_END_DATE_ACTIVE,
91     X_ATTRIBUTE_CATEGORY,
92     X_ATTRIBUTE1,
93     X_ATTRIBUTE2,
94     X_ATTRIBUTE3,
95     X_ATTRIBUTE4,
96     X_ATTRIBUTE5,
97     X_ATTRIBUTE6,
98     X_ATTRIBUTE7,
99     X_ATTRIBUTE8,
100     X_ATTRIBUTE9,
101     X_ATTRIBUTE10,
102     X_ATTRIBUTE11,
103     X_ATTRIBUTE12,
104     X_ATTRIBUTE13,
105     X_ATTRIBUTE14,
106     X_CREATION_DATE,
107     X_CREATED_BY,
108     X_LAST_UPDATE_DATE,
109     X_LAST_UPDATED_BY,
110     X_LAST_UPDATE_LOGIN
111   );
112 
113   insert into PRP_TOKENS_TL (
114     TOKEN_NAME,
115     TOKEN_PROMPT,
116     TOKEN_DESC,
117     CREATED_BY,
118     CREATION_DATE,
119     LAST_UPDATED_BY,
120     LAST_UPDATE_DATE,
121     LAST_UPDATE_LOGIN,
122     TOKEN_ID,
123     LANGUAGE,
124     SOURCE_LANG
125   ) select
126     X_TOKEN_NAME,
127     X_TOKEN_PROMPT,
128     X_TOKEN_DESC,
129     X_CREATED_BY,
130     X_CREATION_DATE,
131     X_LAST_UPDATED_BY,
132     X_LAST_UPDATE_DATE,
133     X_LAST_UPDATE_LOGIN,
134     X_TOKEN_ID,
135     L.LANGUAGE_CODE,
136     userenv('LANG')
137   from FND_LANGUAGES L
138   where L.INSTALLED_FLAG in ('I', 'B')
139   and not exists
140     (select NULL
141     from PRP_TOKENS_TL T
142     where T.TOKEN_ID = X_TOKEN_ID
143     and T.LANGUAGE = L.LANGUAGE_CODE);
144 
145   open c;
146   fetch c into X_ROWID;
147   if (c%notfound) then
148     close c;
149     raise no_data_found;
150   end if;
151   close c;
152 
153 end INSERT_ROW;
154 
155 procedure LOCK_ROW (
156   X_TOKEN_ID in NUMBER,
157   X_OBJECT_VERSION_NUMBER in NUMBER,
158   X_TOKEN_CODE in VARCHAR2,
159   X_TOKEN_TYPE in VARCHAR2,
160   X_NATIVE_OBJECT_TYPE in VARCHAR2,
161   X_USER_DEFINED_OPTIONS in VARCHAR2,
162   X_JAVA_PROGRAM_NAME in VARCHAR2,
163   X_DATA_TYPE in VARCHAR2,
164   X_DISPLAY_LENGTH in NUMBER,
165   X_START_DATE_ACTIVE in DATE,
166   X_END_DATE_ACTIVE in DATE,
167   X_ATTRIBUTE_CATEGORY in VARCHAR2,
168   X_ATTRIBUTE1 in VARCHAR2,
169   X_ATTRIBUTE2 in VARCHAR2,
170   X_ATTRIBUTE3 in VARCHAR2,
171   X_ATTRIBUTE4 in VARCHAR2,
172   X_ATTRIBUTE5 in VARCHAR2,
173   X_ATTRIBUTE6 in VARCHAR2,
174   X_ATTRIBUTE7 in VARCHAR2,
175   X_ATTRIBUTE8 in VARCHAR2,
176   X_ATTRIBUTE9 in VARCHAR2,
177   X_ATTRIBUTE10 in VARCHAR2,
178   X_ATTRIBUTE11 in VARCHAR2,
179   X_ATTRIBUTE12 in VARCHAR2,
180   X_ATTRIBUTE13 in VARCHAR2,
181   X_ATTRIBUTE14 in VARCHAR2,
182   X_ATTRIBUTE15 in VARCHAR2,
183   X_TOKEN_NAME in VARCHAR2,
184   X_TOKEN_PROMPT in VARCHAR2,
185   X_TOKEN_DESC in VARCHAR2
186 ) is
187   cursor c is select
188       ATTRIBUTE15,
189       OBJECT_VERSION_NUMBER,
190       TOKEN_CODE,
191       TOKEN_TYPE,
192       NATIVE_OBJECT_TYPE,
193       USER_DEFINED_OPTIONS,
194       JAVA_PROGRAM_NAME,
195       DATA_TYPE,
196       DISPLAY_LENGTH,
197       ATTRIBUTE_CATEGORY,
198       START_DATE_ACTIVE,
199       END_DATE_ACTIVE,
200       ATTRIBUTE1,
201       ATTRIBUTE2,
202       ATTRIBUTE3,
203       ATTRIBUTE4,
204       ATTRIBUTE5,
205       ATTRIBUTE6,
206       ATTRIBUTE7,
207       ATTRIBUTE8,
208       ATTRIBUTE9,
209       ATTRIBUTE10,
210       ATTRIBUTE11,
211       ATTRIBUTE12,
212       ATTRIBUTE13,
213       ATTRIBUTE14
214     from PRP_TOKENS_B
215     where TOKEN_ID = X_TOKEN_ID
216     for update of TOKEN_ID nowait;
217   recinfo c%rowtype;
218 
219   cursor c1 is select
220       TOKEN_NAME,
221       TOKEN_PROMPT,
222       TOKEN_DESC,
223       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
224     from PRP_TOKENS_TL
225     where TOKEN_ID = X_TOKEN_ID
226     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
227     for update of TOKEN_ID nowait;
228 begin
229   open c;
230   fetch c into recinfo;
231   if (c%notfound) then
232     close c;
233     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
234     app_exception.raise_exception;
235   end if;
236   close c;
237   if (    ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
238            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
239       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
240       AND (recinfo.TOKEN_CODE = X_TOKEN_CODE)
241       AND (recinfo.TOKEN_TYPE = X_TOKEN_TYPE)
242       AND ((recinfo.NATIVE_OBJECT_TYPE = X_NATIVE_OBJECT_TYPE)
243            OR ((recinfo.NATIVE_OBJECT_TYPE is null) AND (X_NATIVE_OBJECT_TYPE is null)))
244       AND ((recinfo.USER_DEFINED_OPTIONS = X_USER_DEFINED_OPTIONS)
245            OR ((recinfo.USER_DEFINED_OPTIONS is null) AND (X_USER_DEFINED_OPTIONS is null)))
246       AND ((recinfo.JAVA_PROGRAM_NAME = X_JAVA_PROGRAM_NAME)
247            OR ((recinfo.JAVA_PROGRAM_NAME is null) AND (X_JAVA_PROGRAM_NAME is null)))
248       AND ((recinfo.DATA_TYPE = X_DATA_TYPE)
249            OR ((recinfo.DATA_TYPE is null) AND (X_DATA_TYPE is null)))
250       AND ((recinfo.DISPLAY_LENGTH = X_DISPLAY_LENGTH)
251            OR ((recinfo.DISPLAY_LENGTH is null) AND (X_DISPLAY_LENGTH is null)))
252       AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
253            OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
254       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
255            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
256       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
257            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
258       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
259            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
260       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
261            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
262       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
263            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
264       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
265            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
266       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
267            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
268       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
269            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
270       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
271            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
272       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
273            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
274       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
275            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
276       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
277            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
278       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
279            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
280       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
281            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
282       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
283            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
284       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
285            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
286   ) then
287     null;
288   else
289     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
290     app_exception.raise_exception;
291   end if;
292 
293   for tlinfo in c1 loop
294     if (tlinfo.BASELANG = 'Y') then
295       if (    (tlinfo.TOKEN_NAME = X_TOKEN_NAME)
296           AND (tlinfo.TOKEN_PROMPT = X_TOKEN_PROMPT)
297           AND ((tlinfo.TOKEN_DESC = X_TOKEN_DESC)
298                OR ((tlinfo.TOKEN_DESC is null) AND (X_TOKEN_DESC is null)))
299       ) then
300         null;
301       else
302         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
303         app_exception.raise_exception;
304       end if;
305     end if;
306   end loop;
307   return;
308 end LOCK_ROW;
309 
310 procedure UPDATE_ROW (
311   X_TOKEN_ID in NUMBER,
312   X_OBJECT_VERSION_NUMBER in NUMBER,
313   X_TOKEN_CODE in VARCHAR2,
314   X_TOKEN_TYPE in VARCHAR2,
315   X_NATIVE_OBJECT_TYPE in VARCHAR2,
316   X_USER_DEFINED_OPTIONS in VARCHAR2,
317   X_JAVA_PROGRAM_NAME in VARCHAR2,
318   X_DATA_TYPE in VARCHAR2,
319   X_DISPLAY_LENGTH in NUMBER,
320   X_START_DATE_ACTIVE in DATE,
321   X_END_DATE_ACTIVE in DATE,
322   X_ATTRIBUTE_CATEGORY in VARCHAR2,
323   X_ATTRIBUTE1 in VARCHAR2,
324   X_ATTRIBUTE2 in VARCHAR2,
325   X_ATTRIBUTE3 in VARCHAR2,
326   X_ATTRIBUTE4 in VARCHAR2,
327   X_ATTRIBUTE5 in VARCHAR2,
328   X_ATTRIBUTE6 in VARCHAR2,
329   X_ATTRIBUTE7 in VARCHAR2,
330   X_ATTRIBUTE8 in VARCHAR2,
331   X_ATTRIBUTE9 in VARCHAR2,
332   X_ATTRIBUTE10 in VARCHAR2,
333   X_ATTRIBUTE11 in VARCHAR2,
334   X_ATTRIBUTE12 in VARCHAR2,
335   X_ATTRIBUTE13 in VARCHAR2,
336   X_ATTRIBUTE14 in VARCHAR2,
337   X_ATTRIBUTE15 in VARCHAR2,
338   X_TOKEN_NAME in VARCHAR2,
339   X_TOKEN_PROMPT in VARCHAR2,
340   X_TOKEN_DESC in VARCHAR2,
341   X_LAST_UPDATE_DATE in DATE,
342   X_LAST_UPDATED_BY in NUMBER,
343   X_LAST_UPDATE_LOGIN in NUMBER
344 ) is
345 begin
346   update PRP_TOKENS_B set
347     ATTRIBUTE15 = X_ATTRIBUTE15,
348     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
349     TOKEN_CODE = X_TOKEN_CODE,
350     TOKEN_TYPE = X_TOKEN_TYPE,
351     NATIVE_OBJECT_TYPE = X_NATIVE_OBJECT_TYPE,
352     USER_DEFINED_OPTIONS = X_USER_DEFINED_OPTIONS,
353     JAVA_PROGRAM_NAME = X_JAVA_PROGRAM_NAME,
354     DATA_TYPE = X_DATA_TYPE,
355     DISPLAY_LENGTH = X_DISPLAY_LENGTH,
356     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
357     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
358     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
359     ATTRIBUTE1 = X_ATTRIBUTE1,
360     ATTRIBUTE2 = X_ATTRIBUTE2,
361     ATTRIBUTE3 = X_ATTRIBUTE3,
362     ATTRIBUTE4 = X_ATTRIBUTE4,
363     ATTRIBUTE5 = X_ATTRIBUTE5,
364     ATTRIBUTE6 = X_ATTRIBUTE6,
365     ATTRIBUTE7 = X_ATTRIBUTE7,
366     ATTRIBUTE8 = X_ATTRIBUTE8,
367     ATTRIBUTE9 = X_ATTRIBUTE9,
368     ATTRIBUTE10 = X_ATTRIBUTE10,
369     ATTRIBUTE11 = X_ATTRIBUTE11,
370     ATTRIBUTE12 = X_ATTRIBUTE12,
371     ATTRIBUTE13 = X_ATTRIBUTE13,
372     ATTRIBUTE14 = X_ATTRIBUTE14,
373     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
374     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
375     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
376   where TOKEN_ID = X_TOKEN_ID;
377 
378   if (sql%notfound) then
379     raise no_data_found;
380   end if;
381 
382   update PRP_TOKENS_TL set
383     TOKEN_NAME = X_TOKEN_NAME,
384     TOKEN_PROMPT = X_TOKEN_PROMPT,
385     TOKEN_DESC = X_TOKEN_DESC,
386     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
387     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
388     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
389     SOURCE_LANG = userenv('LANG')
390   where TOKEN_ID = X_TOKEN_ID
391   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
392 
393   if (sql%notfound) then
394     raise no_data_found;
395   end if;
396 end UPDATE_ROW;
397 
398 procedure DELETE_ROW (
399   X_TOKEN_ID in NUMBER
400 ) is
401 begin
402   delete from PRP_TOKENS_TL
403   where TOKEN_ID = X_TOKEN_ID;
404 
405   if (sql%notfound) then
406     raise no_data_found;
407   end if;
408 
409   delete from PRP_TOKENS_B
410   where TOKEN_ID = X_TOKEN_ID;
411 
412   if (sql%notfound) then
413     raise no_data_found;
414   end if;
415 end DELETE_ROW;
416 
417 procedure ADD_LANGUAGE
418 is
419 begin
420   delete from PRP_TOKENS_TL T
421   where not exists
422     (select NULL
423     from PRP_TOKENS_B B
424     where B.TOKEN_ID = T.TOKEN_ID
425     );
426 
427   update PRP_TOKENS_TL T set (
428       TOKEN_NAME,
429       TOKEN_PROMPT,
430       TOKEN_DESC
431     ) = (select
432       B.TOKEN_NAME,
433       B.TOKEN_PROMPT,
434       B.TOKEN_DESC
435     from PRP_TOKENS_TL B
436     where B.TOKEN_ID = T.TOKEN_ID
437     and B.LANGUAGE = T.SOURCE_LANG)
438   where (
439       T.TOKEN_ID,
440       T.LANGUAGE
441   ) in (select
442       SUBT.TOKEN_ID,
443       SUBT.LANGUAGE
444     from PRP_TOKENS_TL SUBB, PRP_TOKENS_TL SUBT
445     where SUBB.TOKEN_ID = SUBT.TOKEN_ID
446     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
447     and (SUBB.TOKEN_NAME <> SUBT.TOKEN_NAME
448       or SUBB.TOKEN_PROMPT <> SUBT.TOKEN_PROMPT
449       or SUBB.TOKEN_DESC <> SUBT.TOKEN_DESC
450       or (SUBB.TOKEN_DESC is null and SUBT.TOKEN_DESC is not null)
451       or (SUBB.TOKEN_DESC is not null and SUBT.TOKEN_DESC is null)
452   ));
453 
454   insert into PRP_TOKENS_TL (
455     TOKEN_NAME,
456     TOKEN_PROMPT,
457     TOKEN_DESC,
458     CREATED_BY,
459     CREATION_DATE,
460     LAST_UPDATED_BY,
461     LAST_UPDATE_DATE,
462     LAST_UPDATE_LOGIN,
463     TOKEN_ID,
464     LANGUAGE,
465     SOURCE_LANG
466   ) select
467     B.TOKEN_NAME,
468     B.TOKEN_PROMPT,
469     B.TOKEN_DESC,
470     B.CREATED_BY,
471     B.CREATION_DATE,
472     B.LAST_UPDATED_BY,
473     B.LAST_UPDATE_DATE,
474     B.LAST_UPDATE_LOGIN,
475     B.TOKEN_ID,
476     L.LANGUAGE_CODE,
477     B.SOURCE_LANG
478   from PRP_TOKENS_TL B, FND_LANGUAGES L
479   where L.INSTALLED_FLAG in ('I', 'B')
480   and B.LANGUAGE = userenv('LANG')
481   and not exists
482     (select NULL
483     from PRP_TOKENS_TL T
484     where T.TOKEN_ID = B.TOKEN_ID
485     and T.LANGUAGE = L.LANGUAGE_CODE);
486 end ADD_LANGUAGE;
487 
488 --
489 -- Should be called only from lct file
490 --+
491 procedure LOAD_ROW
492   (
493   p_owner                 IN VARCHAR2,
494   p_token_id              IN NUMBER,
495   p_object_version_number IN NUMBER,
496   p_token_code            IN VARCHAR2,
497   p_token_type            IN VARCHAR2,
498   p_native_object_type    IN VARCHAR2,
499   p_user_defined_options  IN VARCHAR2,
500   p_java_program_name     IN VARCHAR2,
501   p_data_type             IN VARCHAR2,
502   p_display_length        IN NUMBER,
503   p_start_date_active	 IN DATE,
504   p_end_date_active       IN DATE,
505   p_attribute_category    IN VARCHAR2,
506   p_attribute1            IN VARCHAR2,
507   p_attribute2            IN VARCHAR2,
508   p_attribute3            IN VARCHAR2,
509   p_attribute4            IN VARCHAR2,
510   p_attribute5            IN VARCHAR2,
511   p_attribute6            IN VARCHAR2,
512   p_attribute7            IN VARCHAR2,
513   p_attribute8            IN VARCHAR2,
514   p_attribute9            IN VARCHAR2,
515   p_attribute10           IN VARCHAR2,
516   p_attribute11           IN VARCHAR2,
517   p_attribute12           IN VARCHAR2,
518   p_attribute13           IN VARCHAR2,
519   p_attribute14           IN VARCHAR2,
520   p_attribute15           IN VARCHAR2,
521   p_token_name            IN VARCHAR2,
522   p_token_prompt          IN VARCHAR2,
523   p_token_desc            IN VARCHAR2
524   )
525 is
526   l_user_id                        NUMBER := 0;
527   l_login_id                       NUMBER := 0;
528   l_rowid                          VARCHAR2(256);
529 begin
530 
531     l_user_id := fnd_load_util.owner_id(p_owner);
532 
533   BEGIN
534 
535     update_row
536       (
537       X_TOKEN_ID               => p_token_id,
538       X_OBJECT_VERSION_NUMBER  => p_object_version_number,
539       X_TOKEN_CODE             => p_token_code,
540       X_TOKEN_TYPE             => p_token_type,
541       X_NATIVE_OBJECT_TYPE     => p_native_object_type,
542       X_USER_DEFINED_OPTIONS   => p_user_defined_options,
543       X_JAVA_PROGRAM_NAME      => p_java_program_name,
547 	 X_END_DATE_ACTIVE		 => p_end_date_active,
544       X_DATA_TYPE              => p_data_type,
545       X_DISPLAY_LENGTH         => p_display_length,
546 	 X_START_DATE_ACTIVE	 => p_start_date_active,
548       X_ATTRIBUTE_CATEGORY     => p_attribute_category,
549       X_ATTRIBUTE1             => p_attribute1,
550       X_ATTRIBUTE2             => p_attribute2,
551       X_ATTRIBUTE3             => p_attribute3,
552       X_ATTRIBUTE4             => p_attribute4,
553       X_ATTRIBUTE5             => p_attribute5,
554       X_ATTRIBUTE6             => p_attribute6,
555       X_ATTRIBUTE7             => p_attribute7,
556       X_ATTRIBUTE8             => p_attribute8,
557       X_ATTRIBUTE9             => p_attribute9,
558       X_ATTRIBUTE10            => p_attribute10,
559       X_ATTRIBUTE11            => p_attribute11,
560       X_ATTRIBUTE12            => p_attribute12,
561       X_ATTRIBUTE13            => p_attribute13,
562       X_ATTRIBUTE14            => p_attribute14,
563       X_ATTRIBUTE15            => p_attribute15,
564       X_TOKEN_NAME             => p_token_name,
565       X_TOKEN_PROMPT           => p_token_prompt,
566       X_TOKEN_DESC             => p_token_desc,
567       X_LAST_UPDATE_DATE       => sysdate,
568       X_LAST_UPDATED_BY        => l_user_id,
569       X_LAST_UPDATE_LOGIN      => l_login_id
570       );
571 
572   EXCEPTION
573 
574      WHEN NO_DATA_FOUND THEN
575 
576        insert_row
577        (
578        X_ROWID                 => l_rowid,
579        X_TOKEN_ID              => p_token_id,
580        X_OBJECT_VERSION_NUMBER => p_object_version_number,
581        X_TOKEN_CODE            => p_token_code,
582        X_TOKEN_TYPE            => p_token_type,
583        X_NATIVE_OBJECT_TYPE    => p_native_object_type,
584        X_USER_DEFINED_OPTIONS  => p_user_defined_options,
585        X_JAVA_PROGRAM_NAME     => p_java_program_name,
586        X_DATA_TYPE             => p_data_type,
587        X_DISPLAY_LENGTH        => p_display_length,
588 	  X_START_DATE_ACTIVE	 => p_start_date_active,
589 	  X_END_DATE_ACTIVE		 => p_end_date_active,
590        X_ATTRIBUTE_CATEGORY    => p_attribute_category,
591        X_ATTRIBUTE1            => p_attribute1,
592        X_ATTRIBUTE2            => p_attribute1,
593        X_ATTRIBUTE3            => p_attribute1,
594        X_ATTRIBUTE4            => p_attribute1,
595        X_ATTRIBUTE5            => p_attribute1,
596        X_ATTRIBUTE6            => p_attribute1,
597        X_ATTRIBUTE7            => p_attribute1,
598        X_ATTRIBUTE8            => p_attribute1,
599        X_ATTRIBUTE9            => p_attribute1,
600        X_ATTRIBUTE10           => p_attribute1,
601        X_ATTRIBUTE11           => p_attribute1,
602        X_ATTRIBUTE12           => p_attribute1,
603        X_ATTRIBUTE13           => p_attribute1,
604        X_ATTRIBUTE14           => p_attribute1,
605        X_ATTRIBUTE15           => p_attribute1,
606        X_TOKEN_NAME            => p_token_name,
607        X_TOKEN_PROMPT          => p_token_prompt,
608        X_TOKEN_DESC            => p_token_desc,
609        X_CREATION_DATE         => sysdate,
610        X_CREATED_BY            => l_user_id,
611        X_LAST_UPDATE_DATE      => sysdate,
612        X_LAST_UPDATED_BY       => l_user_id,
613        X_LAST_UPDATE_LOGIN     => l_login_id
614        );
615 
616   END;
617 
618 end LOAD_ROW;
619 
620 procedure TRANSLATE_ROW
621   (
622    p_owner                              IN VARCHAR2,
623    p_token_id                           IN NUMBER,
624    p_token_name                         IN VARCHAR2,
625    p_token_prompt                       IN VARCHAR2,
626    p_token_desc                         IN VARCHAR2
627   )
628 IS
629   l_login_id                       NUMBER := 0;
630 BEGIN
631 
632   UPDATE prp_tokens_tl
633     SET token_name = p_token_name,
634     token_prompt = p_token_prompt,
635     token_desc = p_token_desc,
636     last_update_date = sysdate,
637     last_updated_by = decode(p_owner, 'SEED', 1, 0),
638     last_update_login = l_login_id,
639     source_lang = userenv('LANG')
640     WHERE userenv('LANG') in (LANGUAGE, SOURCE_LANG) AND
641     token_id = p_token_id;
642 
643 end TRANSLATE_ROW;
644 
645 end PRP_TOKENS_PKG;