DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_TESTS_PKG

Source


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