DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_STATUS_MLS

Source


1 package body GMD_STATUS_MLS as
2 /* $Header: GMDSMLSB.pls 115.8 2003/10/24 06:30:11 gmangari noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in OUT NOCOPY VARCHAR2,
5   X_STATUS_CODE in VARCHAR2,
6   X_VERSION_ENABLED in VARCHAR2,
7   X_UPDATEABLE in VARCHAR2,
8   X_ATTRIBUTE_CATEGORY in VARCHAR2,
9   X_ATTRIBUTE1 in VARCHAR2,
10   X_ATTRIBUTE2 in VARCHAR2,
11   X_ATTRIBUTE3 in VARCHAR2,
12   X_ATTRIBUTE4 in VARCHAR2,
13   X_ATTRIBUTE5 in VARCHAR2,
14   X_ATTRIBUTE6 in VARCHAR2,
15   X_ATTRIBUTE7 in VARCHAR2,
16   X_ATTRIBUTE8 in VARCHAR2,
17   X_ATTRIBUTE9 in VARCHAR2,
18   X_ATTRIBUTE10 in VARCHAR2,
19   X_ATTRIBUTE11 in VARCHAR2,
20   X_ATTRIBUTE12 in VARCHAR2,
21   X_ATTRIBUTE13 in VARCHAR2,
22   X_ATTRIBUTE14 in VARCHAR2,
23   X_ATTRIBUTE15 in VARCHAR2,
24   X_ATTRIBUTE16 in VARCHAR2,
25   X_ATTRIBUTE17 in VARCHAR2,
26   X_ATTRIBUTE18 in VARCHAR2,
27   X_ATTRIBUTE19 in VARCHAR2,
28   X_ATTRIBUTE20 in VARCHAR2,
29   X_ATTRIBUTE21 in VARCHAR2,
30   X_ATTRIBUTE22 in VARCHAR2,
31   X_ATTRIBUTE23 in VARCHAR2,
32   X_ATTRIBUTE24 in VARCHAR2,
33   X_ATTRIBUTE25 in VARCHAR2,
34   X_ATTRIBUTE26 in VARCHAR2,
35   X_ATTRIBUTE27 in VARCHAR2,
36   X_ATTRIBUTE28 in VARCHAR2,
37   X_ATTRIBUTE29 in VARCHAR2,
38   X_ATTRIBUTE30 in VARCHAR2,
39   X_DESCRIPTION in VARCHAR2,
40   X_MEANING in VARCHAR2,
41   X_CREATION_DATE in DATE,
42   X_CREATED_BY in NUMBER,
43   X_LAST_UPDATE_DATE in DATE,
44   X_LAST_UPDATED_BY in NUMBER,
45   X_LAST_UPDATE_LOGIN in NUMBER,
46   X_DELETE_MARK in NUMBER,
47   X_STATUS_TYPE in VARCHAR2
48 ) is
49   cursor C is select ROWID from GMD_STATUS_B
50     where STATUS_CODE = X_STATUS_CODE
51     ;
52 begin
53   -- BEGIN BUG#3131047 Sastry
54   -- Insert into the table only if no rows are present.
55   OPEN c;
56   FETCH c into X_ROWID;
57   IF (c%notfound) THEN
58   -- END BUG#3131047
59     insert into GMD_STATUS_B (
60       VERSION_ENABLED,
61       STATUS_CODE,
62       UPDATEABLE,
63       ATTRIBUTE_CATEGORY,
64       ATTRIBUTE1,
65       ATTRIBUTE2,
66       ATTRIBUTE3,
67       ATTRIBUTE4,
68       ATTRIBUTE5,
69       ATTRIBUTE6,
70       ATTRIBUTE7,
71       ATTRIBUTE8,
72       ATTRIBUTE9,
73       ATTRIBUTE10,
74       ATTRIBUTE11,
75       ATTRIBUTE12,
76       ATTRIBUTE13,
77       ATTRIBUTE14,
78       ATTRIBUTE15,
79       ATTRIBUTE16,
80       ATTRIBUTE17,
81       ATTRIBUTE18,
82       ATTRIBUTE19,
83       ATTRIBUTE20,
84       ATTRIBUTE21,
85       ATTRIBUTE22,
86       ATTRIBUTE23,
87       ATTRIBUTE24,
88       ATTRIBUTE25,
89       ATTRIBUTE26,
90       ATTRIBUTE27,
91       ATTRIBUTE28,
92       ATTRIBUTE29,
93       ATTRIBUTE30,
94       CREATION_DATE,
95       CREATED_BY,
96       LAST_UPDATE_DATE,
97       LAST_UPDATED_BY,
98       LAST_UPDATE_LOGIN,
99       DELETE_MARK,
100       STATUS_TYPE
101      ) values (
102       X_VERSION_ENABLED,
103       X_STATUS_CODE,
104       X_UPDATEABLE,
105       X_ATTRIBUTE_CATEGORY,
106       X_ATTRIBUTE1,
107       X_ATTRIBUTE2,
108       X_ATTRIBUTE3,
109       X_ATTRIBUTE4,
110       X_ATTRIBUTE5,
111       X_ATTRIBUTE6,
112       X_ATTRIBUTE7,
113       X_ATTRIBUTE8,
114       X_ATTRIBUTE9,
115       X_ATTRIBUTE10,
116       X_ATTRIBUTE11,
117       X_ATTRIBUTE12,
118       X_ATTRIBUTE13,
119       X_ATTRIBUTE14,
120       X_ATTRIBUTE15,
121       X_ATTRIBUTE16,
122       X_ATTRIBUTE17,
123       X_ATTRIBUTE18,
124       X_ATTRIBUTE19,
125       X_ATTRIBUTE20,
126       X_ATTRIBUTE21,
127       X_ATTRIBUTE22,
128       X_ATTRIBUTE23,
129       X_ATTRIBUTE24,
130       X_ATTRIBUTE25,
131       X_ATTRIBUTE26,
132       X_ATTRIBUTE27,
133       X_ATTRIBUTE28,
134       X_ATTRIBUTE29,
135       X_ATTRIBUTE30,
136       X_CREATION_DATE,
137       X_CREATED_BY,
138       X_LAST_UPDATE_DATE,
139       X_LAST_UPDATED_BY,
140       X_LAST_UPDATE_LOGIN,
141       X_DELETE_MARK,
142       X_STATUS_TYPE
143       );
144   -- BEGIN BUG#3131047 Sastry
145   END IF;
146   Close c;
147   -- END BUG#3131047
148 
149     insert into GMD_STATUS_TL (
150       MEANING,
151       STATUS_CODE,
152       DESCRIPTION,
153       LAST_UPDATE_DATE,
154       LAST_UPDATE_LOGIN,
155       LAST_UPDATED_BY,
156       CREATION_DATE,
157       CREATED_BY,
158       LANGUAGE,
159       SOURCE_LANG
160      ) select
161       X_MEANING,
162       X_STATUS_CODE,
163       X_DESCRIPTION,
164       X_LAST_UPDATE_DATE,
165       X_LAST_UPDATE_LOGIN,
166       X_LAST_UPDATED_BY,
167       X_CREATION_DATE,
168       X_CREATED_BY,
169       L.LANGUAGE_CODE,
170       userenv('LANG')
171     from FND_LANGUAGES L
172     where L.INSTALLED_FLAG in ('I', 'B')
173     and not exists
174     (select NULL
175     from GMD_STATUS_TL T
176     where T.STATUS_CODE = X_STATUS_CODE
177     and T.LANGUAGE = L.LANGUAGE_CODE);
178 
179     open c;
180     fetch c into X_ROWID;
181     if (c%notfound) then
182       close c;
183       raise no_data_found;
184     end if;
185     close c;
186 
187 end INSERT_ROW;
188 
189 procedure LOCK_ROW (
190   X_STATUS_CODE in VARCHAR2,
191   X_VERSION_ENABLED in VARCHAR2,
192   X_UPDATEABLE in VARCHAR2,
193   X_ATTRIBUTE_CATEGORY in VARCHAR2,
194   X_ATTRIBUTE1 in VARCHAR2,
195   X_ATTRIBUTE2 in VARCHAR2,
196   X_ATTRIBUTE3 in VARCHAR2,
197   X_ATTRIBUTE4 in VARCHAR2,
198   X_ATTRIBUTE5 in VARCHAR2,
199   X_ATTRIBUTE6 in VARCHAR2,
200   X_ATTRIBUTE7 in VARCHAR2,
201   X_ATTRIBUTE8 in VARCHAR2,
202   X_ATTRIBUTE9 in VARCHAR2,
203   X_ATTRIBUTE10 in VARCHAR2,
204   X_ATTRIBUTE11 in VARCHAR2,
205   X_ATTRIBUTE12 in VARCHAR2,
206   X_ATTRIBUTE13 in VARCHAR2,
207   X_ATTRIBUTE14 in VARCHAR2,
208   X_ATTRIBUTE15 in VARCHAR2,
209   X_ATTRIBUTE16 in VARCHAR2,
210   X_ATTRIBUTE17 in VARCHAR2,
211   X_ATTRIBUTE18 in VARCHAR2,
212   X_ATTRIBUTE19 in VARCHAR2,
213   X_ATTRIBUTE20 in VARCHAR2,
214   X_ATTRIBUTE21 in VARCHAR2,
215   X_ATTRIBUTE22 in VARCHAR2,
216   X_ATTRIBUTE23 in VARCHAR2,
217   X_ATTRIBUTE24 in VARCHAR2,
218   X_ATTRIBUTE25 in VARCHAR2,
219   X_ATTRIBUTE26 in VARCHAR2,
220   X_ATTRIBUTE27 in VARCHAR2,
221   X_ATTRIBUTE28 in VARCHAR2,
222   X_ATTRIBUTE29 in VARCHAR2,
223   X_ATTRIBUTE30 in VARCHAR2,
224   X_DESCRIPTION in VARCHAR2,
225   X_MEANING in VARCHAR2,
226   X_DELETE_MARK in NUMBER,
227   X_STATUS_TYPE in VARCHAR2
228 ) is
229   cursor c is select
230       VERSION_ENABLED,
231       UPDATEABLE,
232       ATTRIBUTE_CATEGORY,
233       ATTRIBUTE1,
234       ATTRIBUTE2,
235       ATTRIBUTE3,
236       ATTRIBUTE4,
237       ATTRIBUTE5,
238       ATTRIBUTE6,
239       ATTRIBUTE7,
240       ATTRIBUTE8,
241       ATTRIBUTE9,
242       ATTRIBUTE10,
243       ATTRIBUTE11,
244       ATTRIBUTE12,
245       ATTRIBUTE13,
246       ATTRIBUTE14,
247       ATTRIBUTE15,
248       ATTRIBUTE16,
249       ATTRIBUTE17,
250       ATTRIBUTE18,
251       ATTRIBUTE19,
252       ATTRIBUTE20,
253       ATTRIBUTE21,
254       ATTRIBUTE22,
255       ATTRIBUTE23,
256       ATTRIBUTE24,
257       ATTRIBUTE25,
258       ATTRIBUTE26,
259       ATTRIBUTE27,
260       ATTRIBUTE28,
261       ATTRIBUTE29,
262       ATTRIBUTE30,
263       DELETE_MARK,
264       STATUS_TYPE
265     from GMD_STATUS_B
266     where STATUS_CODE = X_STATUS_CODE
267     for update of STATUS_CODE nowait;
268   recinfo c%rowtype;
269 
270   cursor c1 is select
271       DESCRIPTION,
272       MEANING,
273       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
274     from GMD_STATUS_TL
275     where STATUS_CODE = X_STATUS_CODE
276     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
277     for update of STATUS_CODE nowait;
278 begin
279   open c;
280   fetch c into recinfo;
281   if (c%notfound) then
282     close c;
283     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
284     app_exception.raise_exception;
285   end if;
286   close c;
287   if (    (recinfo.VERSION_ENABLED = X_VERSION_ENABLED)
288       AND (recinfo.UPDATEABLE = X_UPDATEABLE)
289       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
290            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
291       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
292            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
293       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
294            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
295       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
296            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
297       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
298            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
299       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
300            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
301       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
302            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
303       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
304            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
305       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
306            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
307       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
308            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
309       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
310            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
311       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
312            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
313       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
314            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
315       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
316            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
317       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
318            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
319       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
320            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
321       AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
322            OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
323       AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
324            OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
325       AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
326            OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
327       AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
328            OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
329       AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
330            OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
331       AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
332            OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
333       AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
334            OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
335       AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
336            OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
337       AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
338            OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
339       AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
340            OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
341       AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
342            OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
343       AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
344            OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
345       AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
346            OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
347       AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
348            OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
349       AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
350            OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
351       AND ((recinfo.DELETE_MARK = X_DELETE_MARK)
352            OR ((recinfo.DELETE_MARK is null) AND (X_DELETE_MARK is null)))
353       AND ((recinfo.STATUS_TYPE = X_STATUS_TYPE)
354            OR ((recinfo.STATUS_TYPE is null) AND (X_STATUS_TYPE is null)))
355   ) then
356     null;
357   else
358     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
359     app_exception.raise_exception;
360   end if;
361 
362   for tlinfo in c1 loop
363     if (tlinfo.BASELANG = 'Y') then
364       if (    (tlinfo.DESCRIPTION = X_DESCRIPTION)
365           AND (tlinfo.MEANING = X_MEANING)
366       ) then
367         null;
368       else
369         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
370         app_exception.raise_exception;
371       end if;
372     end if;
373   end loop;
374   return;
375 end LOCK_ROW;
376 
377 procedure UPDATE_ROW (
378   X_STATUS_CODE in VARCHAR2,
379   X_VERSION_ENABLED in VARCHAR2,
380   X_UPDATEABLE in VARCHAR2,
381   X_ATTRIBUTE_CATEGORY in VARCHAR2,
382   X_ATTRIBUTE1 in VARCHAR2,
383   X_ATTRIBUTE2 in VARCHAR2,
384   X_ATTRIBUTE3 in VARCHAR2,
385   X_ATTRIBUTE4 in VARCHAR2,
386   X_ATTRIBUTE5 in VARCHAR2,
387   X_ATTRIBUTE6 in VARCHAR2,
388   X_ATTRIBUTE7 in VARCHAR2,
389   X_ATTRIBUTE8 in VARCHAR2,
390   X_ATTRIBUTE9 in VARCHAR2,
391   X_ATTRIBUTE10 in VARCHAR2,
392   X_ATTRIBUTE11 in VARCHAR2,
393   X_ATTRIBUTE12 in VARCHAR2,
394   X_ATTRIBUTE13 in VARCHAR2,
395   X_ATTRIBUTE14 in VARCHAR2,
396   X_ATTRIBUTE15 in VARCHAR2,
397   X_ATTRIBUTE16 in VARCHAR2,
398   X_ATTRIBUTE17 in VARCHAR2,
399   X_ATTRIBUTE18 in VARCHAR2,
400   X_ATTRIBUTE19 in VARCHAR2,
401   X_ATTRIBUTE20 in VARCHAR2,
402   X_ATTRIBUTE21 in VARCHAR2,
403   X_ATTRIBUTE22 in VARCHAR2,
404   X_ATTRIBUTE23 in VARCHAR2,
405   X_ATTRIBUTE24 in VARCHAR2,
406   X_ATTRIBUTE25 in VARCHAR2,
407   X_ATTRIBUTE26 in VARCHAR2,
408   X_ATTRIBUTE27 in VARCHAR2,
409   X_ATTRIBUTE28 in VARCHAR2,
410   X_ATTRIBUTE29 in VARCHAR2,
411   X_ATTRIBUTE30 in VARCHAR2,
412   X_DESCRIPTION in VARCHAR2,
413   X_MEANING in VARCHAR2,
414   X_LAST_UPDATE_DATE in DATE,
415   X_LAST_UPDATED_BY in NUMBER,
416   X_LAST_UPDATE_LOGIN in NUMBER,
417   X_DELETE_MARK in NUMBER,
418   X_STATUS_TYPE in VARCHAR2
419   ) is
420 begin
421   update GMD_STATUS_B set
422     VERSION_ENABLED = X_VERSION_ENABLED,
423     UPDATEABLE = X_UPDATEABLE,
424     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
425     ATTRIBUTE1 = X_ATTRIBUTE1,
426     ATTRIBUTE2 = X_ATTRIBUTE2,
427     ATTRIBUTE3 = X_ATTRIBUTE3,
428     ATTRIBUTE4 = X_ATTRIBUTE4,
429     ATTRIBUTE5 = X_ATTRIBUTE5,
430     ATTRIBUTE6 = X_ATTRIBUTE6,
431     ATTRIBUTE7 = X_ATTRIBUTE7,
432     ATTRIBUTE8 = X_ATTRIBUTE8,
433     ATTRIBUTE9 = X_ATTRIBUTE9,
434     ATTRIBUTE10 = X_ATTRIBUTE10,
435     ATTRIBUTE11 = X_ATTRIBUTE11,
436     ATTRIBUTE12 = X_ATTRIBUTE12,
437     ATTRIBUTE13 = X_ATTRIBUTE13,
438     ATTRIBUTE14 = X_ATTRIBUTE14,
439     ATTRIBUTE15 = X_ATTRIBUTE15,
440     ATTRIBUTE16 = X_ATTRIBUTE16,
441     ATTRIBUTE17 = X_ATTRIBUTE17,
442     ATTRIBUTE18 = X_ATTRIBUTE18,
443     ATTRIBUTE19 = X_ATTRIBUTE19,
444     ATTRIBUTE20 = X_ATTRIBUTE20,
445     ATTRIBUTE21 = X_ATTRIBUTE21,
446     ATTRIBUTE22 = X_ATTRIBUTE22,
447     ATTRIBUTE23 = X_ATTRIBUTE23,
448     ATTRIBUTE24 = X_ATTRIBUTE24,
452     ATTRIBUTE28 = X_ATTRIBUTE28,
449     ATTRIBUTE25 = X_ATTRIBUTE25,
450     ATTRIBUTE26 = X_ATTRIBUTE26,
451     ATTRIBUTE27 = X_ATTRIBUTE27,
453     ATTRIBUTE29 = X_ATTRIBUTE29,
454     ATTRIBUTE30 = X_ATTRIBUTE30,
455     DELETE_MARK = X_DELETE_MARK,
456     STATUS_TYPE = X_STATUS_TYPE,
457     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
458     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
459     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
460   where STATUS_CODE = X_STATUS_CODE;
461 
462   if (sql%notfound) then
463     raise no_data_found;
464   end if;
465 
466   update GMD_STATUS_TL set
467     DESCRIPTION = X_DESCRIPTION,
468     MEANING = X_MEANING,
469     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
470     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
471     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
472     SOURCE_LANG = userenv('LANG')
473   where STATUS_CODE = X_STATUS_CODE
474   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
475 
476   if (sql%notfound) then
477     raise no_data_found;
478   end if;
479 end UPDATE_ROW;
480 
481 procedure DELETE_ROW (
482   X_STATUS_CODE in VARCHAR2
483 ) is
484 begin
485   delete from GMD_STATUS_TL
486   where STATUS_CODE = X_STATUS_CODE;
487 
488   if (sql%notfound) then
489     raise no_data_found;
490   end if;
491 
492   delete from GMD_STATUS_B
493   where STATUS_CODE = X_STATUS_CODE;
494 
495   if (sql%notfound) then
496     raise no_data_found;
497   end if;
498 end DELETE_ROW;
499 
500 procedure ADD_LANGUAGE
501 is
502 begin
503   delete from GMD_STATUS_TL T
504   where not exists
505     (select NULL
506     from GMD_STATUS_B B
507     where B.STATUS_CODE = T.STATUS_CODE
508     );
509 
510   update GMD_STATUS_TL T set (
511       DESCRIPTION,
512       MEANING
513     ) = (select
514       B.DESCRIPTION,
515       B.MEANING
516     from GMD_STATUS_TL B
517     where B.STATUS_CODE = T.STATUS_CODE
518     and B.LANGUAGE = T.SOURCE_LANG)
519   where (
520       T.STATUS_CODE,
521       T.LANGUAGE
522   ) in (select
523       SUBT.STATUS_CODE,
524       SUBT.LANGUAGE
525     from GMD_STATUS_TL SUBB, GMD_STATUS_TL SUBT
526     where SUBB.STATUS_CODE = SUBT.STATUS_CODE
527     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
528     and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
529       or SUBB.MEANING <> SUBT.MEANING
530   ));
531 
532   insert into GMD_STATUS_TL (
533     MEANING,
534     STATUS_CODE,
535     DESCRIPTION,
536     LAST_UPDATE_DATE,
537     LAST_UPDATE_LOGIN,
538     LAST_UPDATED_BY,
539     CREATION_DATE,
540     CREATED_BY,
541     LANGUAGE,
542     SOURCE_LANG
543   ) select
544     B.MEANING,
545     B.STATUS_CODE,
546     B.DESCRIPTION,
547     B.LAST_UPDATE_DATE,
548     B.LAST_UPDATE_LOGIN,
549     B.LAST_UPDATED_BY,
550     B.CREATION_DATE,
551     B.CREATED_BY,
552     L.LANGUAGE_CODE,
553     B.SOURCE_LANG
554   from GMD_STATUS_TL B, FND_LANGUAGES L
555   where L.INSTALLED_FLAG in ('I', 'B')
556   and B.LANGUAGE = userenv('LANG')
557   and not exists
558     (select NULL
559     from GMD_STATUS_TL T
560     where T.STATUS_CODE = B.STATUS_CODE
561     and T.LANGUAGE = L.LANGUAGE_CODE);
562 end ADD_LANGUAGE;
563 
564   /* Two more procedures for NLS translation */
565  PROCEDURE TRANSLATE_ROW (
566                              X_UPDATEABLE        IN   VARCHAR2
567                             ,X_STATUS_TYPE       IN   VARCHAR2
568                             ,X_VERSION_ENABLED   IN   VARCHAR2
569                             ,X_DELETE_MARK       IN   NUMBER
570  		            ,X_STATUS_CODE       IN   VARCHAR2
571  		            ,X_DESCRIPTION       IN   VARCHAR2
572  	                    ,X_MEANING           IN   VARCHAR2
573  	                    ,X_OWNER		 IN   NUMBER
574  	                 ) IS
575  BEGIN
576  	UPDATE GMD_STATUS_TL SET
577  	        /* Bug 2478592 - Thomas Daniel */
578  	        /* Added the update to the meaning column */
579     	        MEANING		  = X_MEANING,
580  		DESCRIPTION       = X_DESCRIPTION,
581  		SOURCE_LANG       = USERENV('LANG'),
582  		LAST_UPDATE_DATE  = sysdate,
583  		LAST_UPDATED_BY   = X_owner,
584  		LAST_UPDATE_LOGIN = 0
585  	WHERE (STATUS_CODE = X_STATUS_CODE)
586  	AND   (USERENV('LANG') IN (LANGUAGE, SOURCE_LANG));
587 
588  END TRANSLATE_ROW;
589 
590  PROCEDURE LOAD_ROW (
591                        X_UPDATEABLE        IN   VARCHAR2
592                       ,X_STATUS_TYPE       IN   VARCHAR2
593                       ,X_VERSION_ENABLED   IN   VARCHAR2
594                       ,X_DELETE_MARK       IN   NUMBER
595   		      ,X_STATUS_CODE       IN   VARCHAR2
596   		      ,X_DESCRIPTION       IN   VARCHAR2
597   	              ,X_MEANING           IN   VARCHAR2
598   	              ,X_OWNER		   IN   NUMBER
599   	            ) IS
600 
601   CURSOR Cur_rowid IS
602 	 SELECT rowid
603 	 FROM GMD_STATUS_TL
604 	 WHERE (STATUS_CODE = X_STATUS_CODE);
605 
606   l_row_id	   VARCHAR2(64)           ;
607   l_return_status  VARCHAR2(1)            ;
608 
609  BEGIN
610 	OPEN Cur_rowid;
611 	FETCH Cur_rowid INTO l_row_id;
612 
613 	IF Cur_rowid%FOUND THEN
614 	    GMD_STATUS_MLS.UPDATE_ROW (
615               X_STATUS_CODE          => X_STATUS_CODE         ,
616               X_VERSION_ENABLED      => X_VERSION_ENABLED     ,
617               X_UPDATEABLE           => X_UPDATEABLE          ,
618               X_ATTRIBUTE_CATEGORY   => NULL                  ,
619               X_ATTRIBUTE1           => NULL                  ,
620               X_ATTRIBUTE2           => NULL                  ,
621               X_ATTRIBUTE3           => NULL                  ,
622               X_ATTRIBUTE4           => NULL                  ,
623               X_ATTRIBUTE5           => NULL                  ,
624               X_ATTRIBUTE6           => NULL                  ,
625               X_ATTRIBUTE7           => NULL                  ,
626               X_ATTRIBUTE8           => NULL                  ,
627               X_ATTRIBUTE9           => NULL                  ,
628               X_ATTRIBUTE10          => NULL                  ,
629               X_ATTRIBUTE11          => NULL                  ,
630               X_ATTRIBUTE12          => NULL                  ,
631               X_ATTRIBUTE13          => NULL                  ,
632               X_ATTRIBUTE14          => NULL                  ,
633               X_ATTRIBUTE15          => NULL                  ,
634               X_ATTRIBUTE16          => NULL                  ,
635               X_ATTRIBUTE17          => NULL                  ,
636               X_ATTRIBUTE18          => NULL                  ,
637               X_ATTRIBUTE19          => NULL                  ,
638               X_ATTRIBUTE20          => NULL                  ,
639               X_ATTRIBUTE21          => NULL                  ,
640               X_ATTRIBUTE22          => NULL                  ,
641               X_ATTRIBUTE23          => NULL                  ,
642               X_ATTRIBUTE24          => NULL                  ,
643               X_ATTRIBUTE25          => NULL                  ,
644               X_ATTRIBUTE26          => NULL                  ,
648               X_ATTRIBUTE30          => NULL                  ,
645               X_ATTRIBUTE27          => NULL                  ,
646               X_ATTRIBUTE28          => NULL                  ,
647               X_ATTRIBUTE29          => NULL                  ,
649               X_DESCRIPTION          => X_DESCRIPTION         ,
650               X_MEANING              => X_MEANING             ,
651               X_LAST_UPDATE_DATE     => sysdate               ,
652               X_LAST_UPDATED_BY      => X_owner               ,
653               X_LAST_UPDATE_LOGIN    => 0                     ,
654               X_DELETE_MARK          => X_DELETE_MARK         ,
655               X_STATUS_TYPE          => X_STATUS_TYPE
656             );
657 	ELSE
658            GMD_STATUS_MLS.INSERT_ROW (
659               X_ROWID               => l_row_id               ,
660               X_STATUS_CODE         => X_STATUS_CODE          ,
661               X_VERSION_ENABLED     => X_VERSION_ENABLED      ,
662               X_UPDATEABLE          => X_UPDATEABLE           ,
663               X_ATTRIBUTE_CATEGORY  => NULL                   ,
664               X_ATTRIBUTE1          => NULL                   ,
665               X_ATTRIBUTE2          => NULL                   ,
666               X_ATTRIBUTE3          => NULL                   ,
667               X_ATTRIBUTE4          => NULL                   ,
668               X_ATTRIBUTE5          => NULL                   ,
669               X_ATTRIBUTE6          => NULL                   ,
670               X_ATTRIBUTE7          => NULL                   ,
671               X_ATTRIBUTE8          => NULL                   ,
672               X_ATTRIBUTE9          => NULL                   ,
673               X_ATTRIBUTE10         => NULL                   ,
674               X_ATTRIBUTE11         => NULL                   ,
675               X_ATTRIBUTE12         => NULL                   ,
676               X_ATTRIBUTE13         => NULL                   ,
677               X_ATTRIBUTE14         => NULL                   ,
678               X_ATTRIBUTE15         => NULL                   ,
679               X_ATTRIBUTE16         => NULL                   ,
680               X_ATTRIBUTE17         => NULL                   ,
681               X_ATTRIBUTE18         => NULL                   ,
682               X_ATTRIBUTE19         => NULL                   ,
683               X_ATTRIBUTE20         => NULL                   ,
684               X_ATTRIBUTE21         => NULL                   ,
685               X_ATTRIBUTE22         => NULL                   ,
686               X_ATTRIBUTE23         => NULL                   ,
687               X_ATTRIBUTE24         => NULL                   ,
688               X_ATTRIBUTE25         => NULL                   ,
689               X_ATTRIBUTE26         => NULL                   ,
690               X_ATTRIBUTE27         => NULL                   ,
691               X_ATTRIBUTE28         => NULL                   ,
692               X_ATTRIBUTE29         => NULL                   ,
693               X_ATTRIBUTE30         => NULL                   ,
694               X_DESCRIPTION         => X_DESCRIPTION          ,
695               X_MEANING             => X_MEANING              ,
696               X_CREATION_DATE       => sysdate                ,
697               X_CREATED_BY          => X_owner                ,
698               X_LAST_UPDATE_DATE    => sysdate                ,
699               X_LAST_UPDATED_BY     => X_owner                ,
700               X_LAST_UPDATE_LOGIN   => 0                      ,
701               X_DELETE_MARK         => X_DELETE_MARK          ,
702               X_STATUS_TYPE         => X_STATUS_TYPE
703               );
704         END IF;
705 
706         CLOSE Cur_rowid;
707 
708  END LOAD_ROW;
709 
710 
711 end GMD_STATUS_MLS;