DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_QC_STATUS_PVT

Source


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