DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_QCR01USR_XMLP_PKG

Source


1 PACKAGE BODY GMD_QCR01USR_XMLP_PKG AS
2 /* $Header: QCR01USRB.pls 120.0 2007/12/24 13:05:02 krreddy noship $ */
3   FUNCTION DATE1CFFORMULA RETURN VARCHAR2 IS
4   BEGIN
5     /*SRW.REFERENCE(DATE1CP)*/NULL;
6     IF FROM_RESULT_DATE IS NOT NULL AND TO_RESULT_DATE IS NOT NULL THEN
7       DATE1CP := ' and trunc(gr1.result_date) >= FND_DATE.CANONICAL_TO_DATE(''' || TO_CHAR(FROM_RESULT_DATE
8                         ,'yyyy/mm/dd hh24:mi:ss') || ''') and trunc(gr1.result_date) <= FND_DATE.CANONICAL_TO_DATE(''' || TO_CHAR(TO_RESULT_DATE
9                         ,'yyyy/mm/dd hh24:mi:ss') || '''' || ')';
10     ELSIF FROM_RESULT_DATE IS NULL AND TO_RESULT_DATE IS NULL THEN
11       DATE1CP := ' ';
12     ELSIF FROM_RESULT_DATE IS NOT NULL AND TO_RESULT_DATE IS NULL THEN
13       DATE1CP := ' and trunc(gr1.result_date) >= FND_DATE.CANONICAL_TO_DATE(''' || TO_CHAR(FROM_RESULT_DATE
14                         ,'yyyy/mm/dd hh24:mi:ss') || '''' || ')';
15     ELSIF FROM_RESULT_DATE IS NULL AND TO_RESULT_DATE IS NOT NULL THEN
16       DATE1CP := ' and trunc(gr1.result_date) <= FND_DATE.CANONICAL_TO_DATE(''' || TO_CHAR(TO_RESULT_DATE
17                         ,'yyyy/mm/dd hh24:mi:ss') || '''' || ')';
18     END IF;
19     RETURN NULL;
20   END DATE1CFFORMULA;
21   FUNCTION FINALCFFORMULA RETURN VARCHAR2 IS
22   BEGIN
23     IF INCLUDE = '0' THEN
24       FINAL1CP := ' ';
25     ELSIF INCLUDE = '1' THEN
26       FINAL1CP := ' and decode(gr1.ad_hoc_print_on_coa_ind, ''Y'', decode( gsr.evaluation_ind,''0A'',''Y'',''1V'',''Y'',''2R'',''Y'',''N''),''N'') =''Y''';
27     END IF;
28     RETURN NULL;
29   END FINALCFFORMULA;
30   FUNCTION QCUNIT_CODECFFORMULA(QC_SPEC_ID IN NUMBER
31                                ,ASSAY_CODE IN VARCHAR2
32                                ,QCASSY_TYP_ID IN NUMBER) RETURN VARCHAR2 IS
33     QCUNIT VARCHAR2(4);
34   BEGIN
35     IF QC_SPEC_ID IS NULL THEN
36       BEGIN
37         SELECT
38           TEST_UNIT
39         INTO QCUNIT
40         FROM
41           GMD_QC_TESTS_B
42         WHERE TEST_CODE = ASSAY_CODE;
43       EXCEPTION
44         WHEN NO_DATA_FOUND THEN
45           RETURN (NULL);
46       END;
47     ELSE
48       BEGIN
49         SELECT
50           TEST_UOM
51         INTO QCUNIT
52         FROM
53           GMD_SPEC_TESTS_B
54         WHERE SPEC_ID = QC_SPEC_ID
55           AND TEST_ID = QCASSY_TYP_ID;
56       END;
57       RETURN (QCUNIT);
58     END IF;
59     RETURN NULL;
60   EXCEPTION
61     WHEN NO_DATA_FOUND THEN
62       RETURN (NULL);
63   END QCUNIT_CODECFFORMULA;
64   FUNCTION ASSAY_DESCCFFORMULA(ASSAY_CODE IN VARCHAR2) RETURN VARCHAR2 IS
65     ASSAYDESC VARCHAR2(42);
66   BEGIN
67     SELECT
68       '[' || TEST_DESC || ']'
69     INTO ASSAYDESC
70     FROM
71       GMD_QC_TESTS
72     WHERE TEST_CODE = ASSAY_CODE;
73     RETURN (ASSAYDESC);
74   EXCEPTION
75     WHEN OTHERS THEN
76       RETURN NULL;
77   END ASSAY_DESCCFFORMULA;
78   FUNCTION MIN_SPECCFFORMULA(QC_SPEC_ID IN NUMBER
79                             ,ASSAY_CODE IN VARCHAR2
80                             ,MIN_CHAR IN VARCHAR2
81                             ,MIN_SPEC IN NUMBER) RETURN NUMBER IS
82     ACCEPTABLE_RANGE NUMBER(16);
83   BEGIN
84     ACCEPTABLE_RANGE := 0;
85     IF QC_SPEC_ID IS NULL THEN
86       BEGIN
87         SELECT
88           MIN_VALUE_NUM
89         INTO ACCEPTABLE_RANGE
90         FROM
91           GMD_QC_TESTS_B
92         WHERE TEST_CODE = ASSAY_CODE;
93       EXCEPTION
94         WHEN NO_DATA_FOUND THEN
95           RETURN (ACCEPTABLE_RANGE);
96       END;
97     ELSE
98       IF MIN_CHAR IS NULL THEN
99         RETURN (MIN_SPEC);
100       ELSE
101         RETURN (NULL);
102       END IF;
103     END IF;
104     RETURN (ACCEPTABLE_RANGE);
105   END MIN_SPECCFFORMULA;
106   FUNCTION MAX_SPECFORMULA(MAX_CHAR IN VARCHAR2
107                           ,QC_SPEC_ID IN NUMBER
108                           ,ASSAY_CODE IN VARCHAR2
109                           ,MAX_SPEC IN NUMBER) RETURN NUMBER IS
110     ACCEPTABLE_RANGE NUMBER;
111   BEGIN
112     IF MAX_CHAR IS NOT NULL THEN
113       RETURN (NULL);
114     END IF;
115     ACCEPTABLE_RANGE := 0;
116     IF QC_SPEC_ID IS NULL THEN
117       BEGIN
118         SELECT
119           MAX_VALUE_NUM
120         INTO ACCEPTABLE_RANGE
121         FROM
122           GMD_QC_TESTS_B
123         WHERE TEST_CODE = ASSAY_CODE;
124       EXCEPTION
125         WHEN NO_DATA_FOUND THEN
126           RETURN (ACCEPTABLE_RANGE);
127       END;
128     ELSE
129       RETURN (MAX_SPEC);
130     END IF;
131     RETURN (ACCEPTABLE_RANGE);
132   END MAX_SPECFORMULA;
133   FUNCTION FROM_DATECFFORMULA(SAMPLE_NO_1 IN VARCHAR2) RETURN DATE IS
134     FROMDATE DATE;
135   BEGIN
136     SELECT
137       DISTINCT
138       GISV.START_DATE
139     INTO FROMDATE
140     FROM
141       GMD_SAMPLES GS,
142       GMD_SAMPLING_EVENTS GSE,
143       GMD_CUSTOMER_SPEC_VRS GISV,
144       GMD_EVENT_SPEC_DISP GES
145     WHERE SAMPLE_NO = SAMPLE_NO_1
146       AND GS.SAMPLING_EVENT_ID = GSE.SAMPLING_EVENT_ID
147       AND GSE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
148       AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
149       AND GES.SPEC_VR_ID = GISV.SPEC_VR_ID;
150     RETURN (FROMDATE);
151   EXCEPTION
152     WHEN OTHERS THEN
153       RETURN (NULL);
154   END FROM_DATECFFORMULA;
155   FUNCTION TODATEFORMULA(SAMPLE_NO_1 IN VARCHAR2) RETURN DATE IS
156     TODATE DATE;
157   BEGIN
158     SELECT
159       DISTINCT
160       GISV.END_DATE
161     INTO TODATE
162     FROM
163       GMD_SAMPLES GS,
164       GMD_SAMPLING_EVENTS GSE,
165       GMD_CUSTOMER_SPEC_VRS GISV,
166       GMD_EVENT_SPEC_DISP GES
167     WHERE SAMPLE_NO = SAMPLE_NO_1
168       AND GS.SAMPLING_EVENT_ID = GSE.SAMPLING_EVENT_ID
169       AND GSE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
170       AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
171       AND GES.SPEC_VR_ID = GISV.SPEC_VR_ID;
172     RETURN (TODATE);
173   EXCEPTION
174     WHEN OTHERS THEN
175       RETURN (NULL);
176   END TODATEFORMULA;
177   FUNCTION ASSAY_DESC1CFFORMULA(ASSAY_CODE2 IN VARCHAR2) RETURN VARCHAR2 IS
178     ASSAYDESC VARCHAR2(42);
179   BEGIN
180     SELECT
181       '[' || TEST_DESC || ']'
182     INTO ASSAYDESC
183     FROM
184       GMD_QC_TESTS
185     WHERE TEST_CODE = ASSAY_CODE2;
186     RETURN (ASSAYDESC);
187   EXCEPTION
188     WHEN OTHERS THEN
189       RETURN NULL;
190   END ASSAY_DESC1CFFORMULA;
191   FUNCTION QCUNIT_CODE1CFFORMULA(QC_SPEC_ID2 IN NUMBER
192                                 ,ASSAY_CODE2 IN VARCHAR2
193                                 ,QCASSY_TYP_ID1 IN NUMBER) RETURN VARCHAR2 IS
194     QCUNIT VARCHAR2(4);
195   BEGIN
196     IF QC_SPEC_ID2 IS NULL THEN
197       BEGIN
198         SELECT
199           TEST_UNIT
200         INTO QCUNIT
201         FROM
202           GMD_QC_TESTS_B
203         WHERE TEST_CODE = ASSAY_CODE2;
204       EXCEPTION
205         WHEN NO_DATA_FOUND THEN
206           RETURN (NULL);
207       END;
208     ELSE
209       BEGIN
210         SELECT
211           TEST_UOM
212         INTO QCUNIT
213         FROM
214           GMD_SPEC_TESTS_B
215         WHERE SPEC_ID = QC_SPEC_ID2
216           AND TEST_ID = QCASSY_TYP_ID1;
217       END;
218       RETURN (QCUNIT);
219     END IF;
220     RETURN NULL;
221   EXCEPTION
222     WHEN NO_DATA_FOUND THEN
223       RETURN (NULL);
224   END QCUNIT_CODE1CFFORMULA;
225   FUNCTION MIN_SPEC1CFFORMULA(QC_SPEC_ID2 IN NUMBER
226                              ,ASSAY_CODE2 IN VARCHAR2
227                              ,MIN_CHAR1 IN VARCHAR2
228                              ,MIN_SPEC1 IN NUMBER) RETURN NUMBER IS
229     ACCEPTABLE_RANGE NUMBER(16);
230   BEGIN
231     ACCEPTABLE_RANGE := 0;
232     IF QC_SPEC_ID2 IS NULL THEN
233       BEGIN
234         SELECT
235           MIN_VALUE_NUM
236         INTO ACCEPTABLE_RANGE
237         FROM
238           GMD_QC_TESTS_B
239         WHERE TEST_CODE = ASSAY_CODE2;
240       EXCEPTION
241         WHEN NO_DATA_FOUND THEN
242           RETURN (ACCEPTABLE_RANGE);
243       END;
244     ELSE
245       IF MIN_CHAR1 IS NULL THEN
246         RETURN (MIN_SPEC1);
247       ELSE
248         RETURN (NULL);
249       END IF;
250     END IF;
251     RETURN (ACCEPTABLE_RANGE);
252   END MIN_SPEC1CFFORMULA;
253   FUNCTION MAX_SPEC1CFFORMULA(MAX_CHAR1 IN VARCHAR2
254                              ,QC_SPEC_ID2 IN NUMBER
255                              ,ASSAY_CODE2 IN VARCHAR2
256                              ,MAX_SPEC1 IN NUMBER) RETURN NUMBER IS
257     ACCEPTABLE_RANGE NUMBER;
258   BEGIN
259     IF MAX_CHAR1 IS NOT NULL THEN
260       RETURN (NULL);
261     END IF;
262     ACCEPTABLE_RANGE := 0;
263     IF QC_SPEC_ID2 IS NULL THEN
264       BEGIN
265         SELECT
266           MAX_VALUE_NUM
267         INTO ACCEPTABLE_RANGE
268         FROM
269           GMD_QC_TESTS_B
270         WHERE TEST_CODE = ASSAY_CODE2;
271       EXCEPTION
272         WHEN NO_DATA_FOUND THEN
273           RETURN (ACCEPTABLE_RANGE);
274       END;
275     ELSE
276       RETURN (MAX_SPEC1);
277     END IF;
278     RETURN (ACCEPTABLE_RANGE);
279   END MAX_SPEC1CFFORMULA;
280   FUNCTION FROM_DATE1CFFORMULA(SAMPLE_NO2 IN VARCHAR2) RETURN DATE IS
281     FROMDATE1 DATE;
282   BEGIN
283     SELECT
284       DISTINCT
285       GISV.START_DATE
286     INTO FROMDATE1
287     FROM
288       GMD_SAMPLES GS,
289       GMD_SAMPLING_EVENTS GSE,
290       GMD_SUPPLIER_SPEC_VRS GISV,
291       GMD_EVENT_SPEC_DISP GES
292     WHERE SAMPLE_NO = SAMPLE_NO2
293       AND GS.SAMPLING_EVENT_ID = GSE.SAMPLING_EVENT_ID
294       AND GSE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
295       AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
296       AND GES.SPEC_VR_ID = GISV.SPEC_VR_ID;
297     RETURN (FROMDATE1);
298     RETURN NULL;
299   EXCEPTION
300     WHEN OTHERS THEN
301       RETURN (NULL);
302   END FROM_DATE1CFFORMULA;
303   FUNCTION TO_DATE1CFFORMULA(SAMPLE_NO2 IN VARCHAR2) RETURN DATE IS
304     TODATE1 DATE;
305   BEGIN
306     SELECT
307       DISTINCT
308       GISV.END_DATE
309     INTO TODATE1
310     FROM
311       GMD_SAMPLES GS,
312       GMD_SAMPLING_EVENTS GSE,
313       GMD_SUPPLIER_SPEC_VRS GISV,
314       GMD_EVENT_SPEC_DISP GES
315     WHERE SAMPLE_NO = SAMPLE_NO2
316       AND GS.SAMPLING_EVENT_ID = GSE.SAMPLING_EVENT_ID
317       AND GSE.SAMPLING_EVENT_ID = GES.SAMPLING_EVENT_ID
318       AND GES.SPEC_USED_FOR_LOT_ATTRIB_IND = 'Y'
319       AND GES.SPEC_VR_ID = GISV.SPEC_VR_ID;
320     RETURN (TODATE1);
321   EXCEPTION
322     WHEN OTHERS THEN
323       RETURN (NULL);
324   END TO_DATE1CFFORMULA;
325   FUNCTION TEXTCFFORMULA(TEXT_SPEC IN VARCHAR2) RETURN VARCHAR2 IS
326   BEGIN
327     IF TEXT_SPEC IS NOT NULL THEN
328       RETURN (TEXT_SPEC);
329     ELSE
330       RETURN (NULL);
331     END IF;
332   END TEXTCFFORMULA;
333   FUNCTION TARGETCFFORMULA(TEXT_SPEC IN VARCHAR2
334                           ,TARGET_SPEC IN NUMBER
335                           ,TEST_TYPE IN VARCHAR2
336                           ,PRECISION IN NUMBER) RETURN CHAR IS
337     L_PRECISION VARCHAR2(25);
338     L_NUMBER NUMBER;
339     L_TARGET_SPEC VARCHAR2(25);
340   BEGIN
341     IF TEXT_SPEC IS NOT NULL THEN
342       RETURN (NULL);
343     ELSE
344       IF TARGET_SPEC IS NULL THEN
345         RETURN (TARGET_SPEC);
346       ELSIF TEST_TYPE in ('N','L','E') THEN
347         L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
348                                     ,PRECISION) - 1);
349         L_NUMBER := TARGET_SPEC;
350         L_TARGET_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
351                                       ,L_PRECISION));
352         RETURN (L_TARGET_SPEC);
353       END IF;
354     END IF;
355   END TARGETCFFORMULA;
356   FUNCTION TEXT1CFFORMULA(TEXT_SPEC1 IN VARCHAR2) RETURN VARCHAR2 IS
357   BEGIN
358     IF TEXT_SPEC1 IS NOT NULL THEN
359       RETURN (TEXT_SPEC1);
360     ELSE
361       RETURN (NULL);
362     END IF;
363   END TEXT1CFFORMULA;
364   FUNCTION TARGET1CFFORMULA(TEXT_SPEC1 IN VARCHAR2
365                            ,TARGET_SPEC1 IN NUMBER
366                            ,TEST_TYPE1 IN VARCHAR2
367                            ,PRECISION1 IN NUMBER) RETURN CHAR IS
368     L_PRECISION VARCHAR2(25);
369     L_NUMBER NUMBER;
370     L_TARGET_SPEC VARCHAR2(25);
371   BEGIN
372     IF TEXT_SPEC1 IS NOT NULL THEN
373       RETURN (NULL);
374     ELSE
375       IF TARGET_SPEC1 IS NULL THEN
376         RETURN (TARGET_SPEC1);
377       ELSIF TEST_TYPE1 in ('N','L','E') THEN
378         L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
379                                     ,PRECISION1) - 1);
380         L_NUMBER := TARGET_SPEC1;
381         L_TARGET_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
382                                       ,L_PRECISION));
383         RETURN (L_TARGET_SPEC);
384       END IF;
385     END IF;
386   END TARGET1CFFORMULA;
387   FUNCTION TEXTTARGETFORMULA(TEXTCF IN VARCHAR2
388                             ,TARGETCF IN VARCHAR2) RETURN VARCHAR2 IS
389     TEXTARGET VARCHAR2(16);
390   BEGIN
391     IF TEXTCF IS NOT NULL THEN
392       TEXTARGET := TEXTCF;
393     ELSIF TARGETCF > 0 THEN
394       TEXTARGET := TARGETCF;
395     END IF;
396     RETURN (TEXTARGET);
397   END TEXTTARGETFORMULA;
398   FUNCTION TEXTTARGET1CFFORMULA(TEXT1CF IN VARCHAR2
399                                ,TARGET1CF IN VARCHAR2) RETURN VARCHAR2 IS
400     TEXTARGET1 VARCHAR2(16);
401   BEGIN
402     IF TEXT1CF IS NOT NULL THEN
403       TEXTARGET1 := TEXT1CF;
404     ELSIF TARGET1CF > 0 THEN
405       TEXTARGET1 := TARGET1CF;
406     END IF;
407     RETURN (TEXTARGET1);
408   END TEXTTARGET1CFFORMULA;
409   FUNCTION TEXTARRAYCFFORMULA(TEXTCODECF IN NUMBER) RETURN VARCHAR2 IS
410     TEXT1 VARCHAR2(116);
411     TEXT2 VARCHAR2(2000);
412     CURSOR GET_TEXT1 IS
413       SELECT
414         TEXT
415       FROM
416         QC_TEXT_TBL
417       WHERE TEXT_CODE = TEXTCODECF
418         AND LINE_NO <> - 1
419         AND LANG_CODE = 'US';
420   BEGIN
421     OPEN GET_TEXT1;
422     LOOP
423       FETCH GET_TEXT1
424        INTO TEXT1;
425       EXIT WHEN GET_TEXT1%NOTFOUND;
426       TEXT2 := TEXT2 || TEXT1;
427     END LOOP;
428     CLOSE GET_TEXT1;
429     IF SQL%NOTFOUND THEN
430       RETURN (NULL);
431     END IF;
432     RETURN (TEXT2);
433     RETURN NULL;
434   EXCEPTION
435     WHEN NO_DATA_FOUND THEN
436       RETURN (NULL);
437   END TEXTARRAYCFFORMULA;
438   FUNCTION TEXTARRAY1CFFORMULA(TEXTCODE1CF IN NUMBER) RETURN VARCHAR2 IS
439     TEXT2 VARCHAR2(116);
440     TEXT3 VARCHAR2(2000);
441     CURSOR GET_TEXT IS
442       SELECT
443         TEXT
444       FROM
445         QC_TEXT_TBL
449   BEGIN
446       WHERE TEXT_CODE = TEXTCODE1CF
447         AND LINE_NO <> - 1
448         AND LANG_CODE = 'US';
450     OPEN GET_TEXT;
451     LOOP
452       FETCH GET_TEXT
453        INTO TEXT2;
454       EXIT WHEN GET_TEXT%NOTFOUND;
455       TEXT3 := TEXT3 || TEXT2;
456     END LOOP;
457     CLOSE GET_TEXT;
458     IF SQL%NOTFOUND THEN
459       RETURN (NULL);
460     END IF;
461     RETURN (TEXT3);
462     RETURN NULL;
463   EXCEPTION
464     WHEN NO_DATA_FOUND THEN
465       RETURN (NULL);
466   END TEXTARRAY1CFFORMULA;
467   FUNCTION RESULT1CFFORMULA(TEXT_RESULT IN VARCHAR2
468                            ,NUM_RESULT IN NUMBER) RETURN VARCHAR2 IS
469     TEXTRSLT VARCHAR2(16);
470   BEGIN
471     IF PRINT_CONDITION = '1' THEN
472       IF TEXT_RESULT IS NOT NULL THEN
473         TEXTRSLT := TEXT_RESULT;
474       ELSIF NUM_RESULT > 0 THEN
475         TEXTRSLT := NUM_RESULT;
476       END IF;
477     END IF;
478     RETURN (TEXTRSLT);
479   END RESULT1CFFORMULA;
480   FUNCTION RESULT2CFFORMULA(TEXT_RESULT2 IN VARCHAR2
481                            ,NUM_RESULT2 IN NUMBER) RETURN VARCHAR2 IS
482     TEXTRSLT1 VARCHAR2(16);
483   BEGIN
484     IF PRINT_CONDITION = '1' THEN
485       IF TEXT_RESULT2 IS NOT NULL THEN
486         TEXTRSLT1 := TEXT_RESULT2;
487       ELSIF NUM_RESULT2 > 0 THEN
488         TEXTRSLT1 := NUM_RESULT2;
489       END IF;
490     END IF;
491     RETURN (TEXTRSLT1);
492   END RESULT2CFFORMULA;
493   FUNCTION TEXTARRAY2CFFORMULA(TEXT_CODE_1 IN NUMBER) RETURN VARCHAR2 IS
494     TEXT2 VARCHAR2(116);
495     TEXT3 VARCHAR2(2000);
496     CURSOR GET_TEXT IS
497       SELECT
498         TEXT
499       FROM
500         QC_TEXT_TBL
501       WHERE TEXT_CODE = TEXT_CODE_1
502         AND LINE_NO <> - 1
503         AND LANG_CODE = 'US';
504   BEGIN
505     OPEN GET_TEXT;
506     LOOP
507       FETCH GET_TEXT
508        INTO TEXT2;
509       EXIT WHEN GET_TEXT%NOTFOUND;
510       TEXT3 := TEXT3 || TEXT2;
511     END LOOP;
512     CLOSE GET_TEXT;
513     IF SQL%NOTFOUND THEN
514       RETURN (NULL);
515     END IF;
516     RETURN (TEXT3);
517     RETURN NULL;
518   EXCEPTION
519     WHEN NO_DATA_FOUND THEN
520       RETURN (NULL);
521   END TEXTARRAY2CFFORMULA;
522   FUNCTION TEXTARRAY3CFFORMULA(TEXT_CODE2 IN NUMBER) RETURN VARCHAR2 IS
523     TEXT2 VARCHAR2(116);
524     TEXT3 VARCHAR2(2000);
525     CURSOR GET_TEXT IS
526       SELECT
527         TEXT
528       FROM
529         QC_TEXT_TBL
530       WHERE TEXT_CODE = TEXT_CODE2
531         AND LINE_NO <> - 1
532         AND LANG_CODE = 'US';
533   BEGIN
534     OPEN GET_TEXT;
535     LOOP
536       FETCH GET_TEXT
537        INTO TEXT2;
538       EXIT WHEN GET_TEXT%NOTFOUND;
539       TEXT3 := TEXT3 || TEXT2;
540     END LOOP;
541     CLOSE GET_TEXT;
542     IF SQL%NOTFOUND THEN
543       RETURN (NULL);
544     END IF;
545     RETURN (TEXT3);
546     RETURN NULL;
547   EXCEPTION
548     WHEN NO_DATA_FOUND THEN
549       RETURN (NULL);
550   END TEXTARRAY3CFFORMULA;
551   FUNCTION ITEMCFFORMULA RETURN VARCHAR2 IS
552   BEGIN
553     /*SRW.REFERENCE(ITEMCP)*/NULL;
554     IF FROM_ITEM IS NOT NULL AND TO_ITEM IS NOT NULL THEN
555       ITEMCP := 'and msi.concatenated_segments >= ''' || FROM_ITEMCP || ''' and msi.concatenated_segments <= ''' || TO_ITEMCP || '''';
556     ELSIF FROM_ITEM IS NULL AND TO_ITEM IS NULL THEN
557       ITEMCP:=' ';
558     ELSIF FROM_ITEM IS NOT NULL AND TO_ITEM IS NULL THEN
559       ITEMCP:= 'and msi.concatenated_segments >= ''' || FROM_ITEMCP || '''';
560     ELSIF FROM_ITEM IS NULL AND TO_ITEM IS NOT NULL THEN
561       ITEMCP:= 'and  msi.concatenated_segments <= ''' || TO_ITEMCP || '''';
562     END IF;
563     RETURN NULL;
564   END ITEMCFFORMULA;
565   FUNCTION SAMPLECFFORMULA RETURN VARCHAR2 IS
566   BEGIN
567     /*SRW.REFERENCE(SAMPLECP)*/NULL;
568     IF FROM_SAMPLE IS NOT NULL AND TO_SAMPLE IS NOT NULL THEN
569       SAMPLECP := ' and gs.sample_no >= ''' || FROM_SAMPLE || ''' and gs.sample_no <= ''' || TO_SAMPLE || '''';
570     ELSIF FROM_SAMPLE IS NULL AND TO_SAMPLE IS NULL THEN
571       SAMPLECP := ' ';
572     ELSIF FROM_SAMPLE IS NOT NULL AND TO_SAMPLE IS NULL THEN
573       SAMPLECP := ' and gs.sample_no >= ''' || FROM_SAMPLE || '''';
574     ELSIF FROM_SAMPLE IS NULL AND TO_SAMPLE IS NOT NULL THEN
575       SAMPLECP := ' and gs.sample_no <= ''' || TO_SAMPLE || '''';
576     END IF;
577     RETURN NULL;
578   END SAMPLECFFORMULA;
579   FUNCTION CUST_VENDCFFORMULA RETURN VARCHAR2 IS
580     CUSTVENDTITLE VARCHAR2(80);
581   BEGIN
582     /*SRW.REFERENCE(CUST_VENDCP)*/NULL;
583     IF REPORT_TYPE = 0 THEN
584       IF FROM_CUST_VEND IS NOT NULL AND TO_CUST_VEND IS NOT NULL THEN
585         CUST_VENDCP_1 := ' and cust.account_number >= ''' || FROM_CUST_VEND || ''' and cust.account_number <= ''' || TO_CUST_VEND || '''';
586       ELSIF FROM_CUST_VEND IS NULL AND TO_CUST_VEND IS NULL THEN
587         CUST_VENDCP_1 := ' ';
588       ELSIF FROM_CUST_VEND IS NOT NULL AND TO_CUST_VEND IS NULL THEN
589         CUST_VENDCP_1 := ' and cust.account_number >= ''' || FROM_CUST_VEND || '''';
590       ELSIF FROM_CUST_VEND IS NULL AND TO_CUST_VEND IS NOT NULL THEN
591         CUST_VENDCP_1 := ' and cust.account_number <= ''' || TO_CUST_VEND || '''';
592       END IF;
593     ELSIF REPORT_TYPE = 1 THEN
594       IF FROM_CUST_VEND IS NOT NULL AND TO_CUST_VEND IS NOT NULL THEN
595         CUST_VENDCP := ' and pvm.segment1 >= ''' || FROM_CUST_VEND || ''' and pvm.segment1 <= ''' || TO_CUST_VEND || '''';
596       ELSIF FROM_CUST_VEND IS NULL AND TO_CUST_VEND IS NULL THEN
597         CUST_VENDCP := ' ';
598       ELSIF FROM_CUST_VEND IS NOT NULL AND TO_CUST_VEND IS NULL THEN
599         CUST_VENDCP := ' and pvm.segment1 >= ''' || FROM_CUST_VEND || '''';
600       ELSIF FROM_CUST_VEND IS NULL AND TO_CUST_VEND IS NOT NULL THEN
601         CUST_VENDCP := ' and pvm.segment1 <= ''' || TO_CUST_VEND || '''';
602       END IF;
603     END IF;
604     SELECT
605       MEANING
606     INTO CUSTVENDTITLE
607     FROM
608       GEM_LOOKUPS
609     WHERE LOOKUP_TYPE = 'GMD_REPORT_TYPE'
610       AND LOOKUP_CODE = REPORT_TYPE;
611     RETURN (CUSTVENDTITLE);
612   END CUST_VENDCFFORMULA;
613   FUNCTION TEXTCODECFFORMULA(QC_SPEC_ID IN NUMBER) RETURN NUMBER IS
614     TEXTCODE NUMBER;
615   BEGIN
616     SELECT
617       TEXT_CODE
618     INTO TEXTCODE
619     FROM
620       GMD_SPECIFICATIONS_B
621     WHERE SPEC_ID = QC_SPEC_ID;
622     RETURN (TEXTCODE);
623     RETURN NULL;
624   EXCEPTION
625     WHEN NO_DATA_FOUND THEN
626       RETURN (NULL);
630   BEGIN
627   END TEXTCODECFFORMULA;
628   FUNCTION TEXTCODE1CFFORMULA(QC_SPEC_ID2 IN NUMBER) RETURN NUMBER IS
629     TEXTCODE1 NUMBER;
631     SELECT
632       TEXT_CODE
633     INTO TEXTCODE1
634     FROM
635       GMD_SPECIFICATIONS_B
636     WHERE SPEC_ID = QC_SPEC_ID2;
637     RETURN (TEXTCODE1);
638     RETURN NULL;
639   EXCEPTION
640     WHEN NO_DATA_FOUND THEN
641       RETURN (NULL);
642   END TEXTCODE1CFFORMULA;
643   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
644   BEGIN
645     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
646     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
647     P_ROWS := 0;
648     RETURN (TRUE);
649   END BEFOREREPORT;
650   FUNCTION FROM_ITEMCFFORMULA RETURN VARCHAR2 IS
651     L_FROM_ITEM VARCHAR2(240);
652   BEGIN
653     IF FROM_ITEM IS NULL THEN
654       FROM_ITEMCP := SY_ALL;
655     ELSE
656       SELECT
657         DISTINCT
658         CONCATENATED_SEGMENTS
659       INTO L_FROM_ITEM
660       FROM
661         MTL_SYSTEM_ITEMS_KFV
662       WHERE INVENTORY_ITEM_ID = FROM_ITEM;
663       FROM_ITEMCP := L_FROM_ITEM;
664     END IF;
665     RETURN (FROM_ITEMCP);
666   END FROM_ITEMCFFORMULA;
667   FUNCTION TO_ITEMCFFORMULA RETURN VARCHAR2 IS
668     L_TO_ITEM VARCHAR2(240);
669   BEGIN
670     IF TO_ITEM IS NULL THEN
671       TO_ITEMCP := SY_ALL;
672     ELSE
673       SELECT
674         DISTINCT
675         CONCATENATED_SEGMENTS
676       INTO L_TO_ITEM
677       FROM
678         MTL_SYSTEM_ITEMS_KFV
679       WHERE INVENTORY_ITEM_ID = TO_ITEM;
680       TO_ITEMCP := L_TO_ITEM;
681     END IF;
682     RETURN (TO_ITEMCP);
683   END TO_ITEMCFFORMULA;
684   FUNCTION FROM_SAMPLECFFORMULA RETURN VARCHAR2 IS
685   BEGIN
686     IF FROM_SAMPLE IS NULL THEN
687       FROM_SAMPLECP := SY_ALL;
688     ELSE
689       FROM_SAMPLECP := FROM_SAMPLE;
690     END IF;
691     RETURN (FROM_SAMPLECP);
692   END FROM_SAMPLECFFORMULA;
693   FUNCTION TO_SAMPLECFFORMULA RETURN VARCHAR2 IS
694   BEGIN
695     IF TO_SAMPLE IS NULL THEN
696       TO_SAMPLECP := SY_ALL;
697     ELSE
698       TO_SAMPLECP := TO_SAMPLE;
699     END IF;
700     RETURN (TO_SAMPLECP);
701   END TO_SAMPLECFFORMULA;
702   FUNCTION FROM_CUST_VENDCFFORMULA RETURN VARCHAR2 IS
703   BEGIN
704     IF FROM_CUST_VEND IS NULL THEN
705       FROM_CUST_VENDCP := SY_ALL;
706     ELSE
707       FROM_CUST_VENDCP := FROM_CUST_VEND;
708     END IF;
709     RETURN (FROM_CUST_VENDCP);
710   END FROM_CUST_VENDCFFORMULA;
711   FUNCTION TO_CUST_VENDCFFORMULA RETURN VARCHAR2 IS
712   BEGIN
713     IF TO_CUST_VEND IS NULL THEN
714       TO_CUST_VENDCP := SY_ALL;
715     ELSE
716       TO_CUST_VENDCP := TO_CUST_VEND;
717     END IF;
718     RETURN (TO_CUST_VENDCP);
719   END TO_CUST_VENDCFFORMULA;
720   FUNCTION FROM_RSLT_DTCFFORMULA RETURN VARCHAR2 IS
721   BEGIN
722     IF FROM_RESULT_DATE IS NULL THEN
723       FROM_RSLT_DTCP := SY_ALL;
724     ELSE
725       FROM_RSLT_DTCP := TO_CHAR(FROM_RESULT_DATE
726                                ,'DD-MON-YYYY');
727     END IF;
728     RETURN (FROM_RSLT_DTCP);
729   END FROM_RSLT_DTCFFORMULA;
730   FUNCTION TO_RSLT_DTCFFORMULA RETURN VARCHAR2 IS
731   BEGIN
732     IF TO_RESULT_DATE IS NULL THEN
733       TO_RSLT_DTCP := SY_ALL;
734     ELSE
735       TO_RSLT_DTCP := TO_CHAR(TO_RESULT_DATE
736                              ,'DD-MON-YYYY');
737     END IF;
738     RETURN (TO_RSLT_DTCP);
739   END TO_RSLT_DTCFFORMULA;
740   FUNCTION INCLUDECFFORMULA RETURN VARCHAR2 IS
741     INCLUDE1 VARCHAR2(80);
742   BEGIN
743     IF INCLUDE = '0' THEN
744       SELECT
745         MEANING
746       INTO INCLUDE1
747       FROM
748         GEM_LOOKUPS
749       WHERE LOOKUP_CODE = '0'
750         AND LOOKUP_TYPE = 'QC_INCLUDE';
751     ELSIF INCLUDE = '1' THEN
752       SELECT
753         MEANING
754       INTO INCLUDE1
755       FROM
756         GEM_LOOKUPS
757       WHERE LOOKUP_CODE = '1'
758         AND LOOKUP_TYPE = 'QC_INCLUDE';
759     END IF;
760     RETURN (INCLUDE1);
761   END INCLUDECFFORMULA;
762   FUNCTION PRINTCFFORMULA RETURN VARCHAR2 IS
763     PRINT1 VARCHAR2(80);
764   BEGIN
765     IF PRINT_CONDITION = '0' THEN
766       SELECT
767         MEANING
768       INTO PRINT1
769       FROM
770         GEM_LOOKUPS
771       WHERE LOOKUP_CODE = '0'
772         AND LOOKUP_TYPE = 'QC_PRINT';
773     ELSIF PRINT_CONDITION = '1' THEN
774       SELECT
775         MEANING
776       INTO PRINT1
777       FROM
778         GEM_LOOKUPS
779       WHERE LOOKUP_CODE = '1'
780         AND LOOKUP_TYPE = 'QC_PRINT';
781     ELSIF PRINT_CONDITION = '2' THEN
782       SELECT
783         MEANING
784       INTO PRINT1
785       FROM
786         GEM_LOOKUPS
787       WHERE LOOKUP_CODE = '2'
788         AND LOOKUP_TYPE = 'QC_PRINT';
789     ELSIF PRINT_CONDITION = '3' THEN
790       SELECT
791         MEANING
792       INTO PRINT1
793       FROM
794         GEM_LOOKUPS
795       WHERE LOOKUP_CODE = '3'
796         AND LOOKUP_TYPE = 'QC_PRINT';
797     END IF;
798     RETURN (PRINT1);
799   END PRINTCFFORMULA;
800   FUNCTION ACCEPT_FINALCFFORMULA(ACCEPT_ANYWAY IN VARCHAR2
801                                 ,FINAL_MARK IN VARCHAR2) RETURN VARCHAR2 IS
802     TEMP1 VARCHAR2(80);
803     TEMP2 VARCHAR2(80);
804   BEGIN
805     SELECT
806       MEANING
807     INTO TEMP1
808     FROM
812       AND LANGUAGE = USERENV('LANG');
809       FND_LOOKUP_VALUES
810     WHERE LOOKUP_TYPE = 'GMD_QC_YES_NO'
811       AND LOOKUP_CODE = ACCEPT_ANYWAY
813     ACCEPT_CP := TEMP1;
814     SELECT
815       MEANING
816     INTO TEMP2
817     FROM
818       FND_LOOKUP_VALUES
819     WHERE LOOKUP_TYPE = 'GMD_QC_YES_NO'
820       AND LOOKUP_CODE = FINAL_MARK
821       AND LANGUAGE = USERENV('LANG');
822     FINAL_CP := TEMP2;
823     RETURN NULL;
824     RETURN NULL;
825   END ACCEPT_FINALCFFORMULA;
826   FUNCTION ACCEPT_FINALCFFORMULA0037(ACCEPT_ANYWAY1 IN VARCHAR2
827                                     ,FINAL_MARK1 IN VARCHAR2) RETURN VARCHAR2 IS
828     TEMP1 VARCHAR2(80);
829     TEMP2 VARCHAR2(80);
830   BEGIN
831     SELECT
832       MEANING
833     INTO TEMP1
834     FROM
835       FND_LOOKUP_VALUES
836     WHERE LOOKUP_TYPE = 'GMD_QC_YES_NO'
837       AND LOOKUP_CODE = ACCEPT_ANYWAY1
838       AND LANGUAGE = USERENV('LANG');
839     ACCEPT1_CP := TEMP1;
840     SELECT
841       MEANING
842     INTO TEMP2
843     FROM
844       FND_LOOKUP_VALUES
845     WHERE LOOKUP_TYPE = 'GMD_QC_YES_NO'
846       AND LOOKUP_CODE = FINAL_MARK1
847       AND LANGUAGE = USERENV('LANG');
848     FINAL1_CP := TEMP2;
849     RETURN NULL;
850   END ACCEPT_FINALCFFORMULA0037;
851   PROCEDURE GMD_QCR01USR_XMLP_PKG_HEADER IS
852   BEGIN
853     NULL;
854   END GMD_QCR01USR_XMLP_PKG_HEADER;
855   FUNCTION LOTNOCFFORMULA RETURN CHAR IS
856   BEGIN
857     /*SRW.REFERENCE(LOTNOCP)*/NULL;
858     IF FROM_LOTNO IS NOT NULL AND TO_LOTNO IS NOT NULL THEN
859       LOTNOCP := '  and gs.lot_number >= ''' || FROM_LOTNO || ''' and gs.lot_number  <= ''' || TO_LOTNO || '''';
860     ELSIF FROM_LOTNO IS NULL AND TO_LOTNO IS NULL THEN
861       LOTNOCP := ' ';
862     ELSIF FROM_LOTNO IS NOT NULL AND TO_LOTNO IS NULL THEN
863       LOTNOCP := ' and gs.lot_number >= ''' || FROM_LOTNO || '''';
864     ELSIF FROM_LOTNO IS NULL AND TO_LOTNO IS NOT NULL THEN
865       LOTNOCP := ' and gs.lot_number <= ''' || TO_LOTNO || '''';
866     END IF;
867     RETURN NULL;
868   END LOTNOCFFORMULA;
869   FUNCTION FROM_LOTNOCFFORMULA RETURN VARCHAR2 IS
870   BEGIN
871     IF FROM_LOTNO IS NULL THEN
872       FROM_LOTNOCP := SY_ALL;
873     ELSE
874       FROM_LOTNOCP := FROM_LOTNO;
875     END IF;
876     RETURN (FROM_LOTNOCP);
877   END FROM_LOTNOCFFORMULA;
878   FUNCTION TO_LOTNOCFFORMULA RETURN VARCHAR2 IS
879   BEGIN
880     IF TO_LOTNO IS NULL THEN
881       TO_LOTNOCP := SY_ALL;
882     ELSE
883       TO_LOTNOCP := TO_LOTNO;
884     END IF;
885     RETURN (TO_LOTNOCP);
886   END TO_LOTNOCFFORMULA;
887   FUNCTION BEFOREPFORM RETURN BOOLEAN IS
888   BEGIN
889     RETURN (TRUE);
890   END BEFOREPFORM;
891   FUNCTION TARGET_DISPCFFORMULA(ASSAY_CODE IN VARCHAR2
892                                ,QCASSY_TYP_ID IN NUMBER
893                                ,TARGETCF IN VARCHAR2) RETURN CHAR IS
894     ASSAYVALUE VARCHAR2(240);
895     ASSAYTYPE VARCHAR2(2);
896   BEGIN
897     IF ASSAY_CODE IS NULL THEN
898       RETURN (NULL);
899     END IF;
900     SELECT
901       DISTINCT
902       TEST_TYPE
903     INTO ASSAYTYPE
904     FROM
905       GMD_QC_TESTS_B
906     WHERE TEST_CODE = ASSAY_CODE;
907     IF ASSAYTYPE = 'L' THEN
908       BEGIN
909         SELECT
910           DISPLAY_LABEL_NUMERIC_RANGE
911         INTO ASSAYVALUE
912         FROM
913           GMD_QC_TEST_VALUES
914         WHERE TEST_ID = QCASSY_TYP_ID
915           AND ( MIN_NUM <= TARGETCF
916         OR MIN_NUM IS NULL )
917           AND ( MAX_NUM >= TARGETCF
918         OR MAX_NUM IS NULL );
919       EXCEPTION
920         WHEN NO_DATA_FOUND THEN
921           NULL;
922       END;
923     END IF;
924     ASSAY_TYPECP := ASSAYTYPE;
925     RETURN (ASSAYVALUE);
926   END TARGET_DISPCFFORMULA;
927   FUNCTION MIN_DISPCFFORMULA(QCASSY_TYP_ID IN NUMBER
928                             ,MIN_SPECCF IN NUMBER) RETURN CHAR IS
929     ASSAYVALUE VARCHAR2(240);
930     ASSAYTYPE VARCHAR2(1);
931   BEGIN
932     IF ASSAY_TYPECP = 'L' THEN
933       BEGIN
934         SELECT
935           DISPLAY_LABEL_NUMERIC_RANGE
936         INTO ASSAYVALUE
937         FROM
938           GMD_QC_TEST_VALUES
939         WHERE TEST_ID = QCASSY_TYP_ID
940           AND ( MIN_NUM <= MIN_SPECCF
941         OR MIN_NUM IS NULL )
942           AND ( MAX_NUM >= MIN_SPECCF
943         OR MAX_NUM IS NULL );
944       EXCEPTION
945         WHEN NO_DATA_FOUND THEN
946           ASSAYVALUE := ' ';
947       END;
948     END IF;
949     RETURN (ASSAYVALUE);
950   END MIN_DISPCFFORMULA;
951   FUNCTION MAX_DISPCFFORMULA(QCASSY_TYP_ID IN NUMBER
952                             ,MAX_SPECCF IN NUMBER) RETURN CHAR IS
953     ASSAYVALUE VARCHAR2(240);
954   BEGIN
955     IF ASSAY_TYPECP = 'L' THEN
956       BEGIN
957         SELECT
958           DISPLAY_LABEL_NUMERIC_RANGE
959         INTO ASSAYVALUE
960         FROM
961           GMD_QC_TEST_VALUES
962         WHERE TEST_ID = QCASSY_TYP_ID
963           AND ( MIN_NUM <= MAX_SPECCF
964         OR MIN_NUM IS NULL )
965           AND ( MAX_NUM >= MAX_SPECCF
966         OR MAX_NUM IS NULL );
967       EXCEPTION
968         WHEN NO_DATA_FOUND THEN
969           ASSAYVALUE := ' ';
970       END;
971     END IF;
972     RETURN (ASSAYVALUE);
973   END MAX_DISPCFFORMULA;
974   FUNCTION MAX_DISP1CFFORMULA(QCASSY_TYP_ID1 IN NUMBER
975                              ,MAX_SPEC1CF IN NUMBER) RETURN CHAR IS
976     ASSAYVALUE VARCHAR2(240);
980         SELECT
977   BEGIN
978     IF ASSAY_TYPE1CP = 'L' THEN
979       BEGIN
981           DISPLAY_LABEL_NUMERIC_RANGE
982         INTO ASSAYVALUE
983         FROM
984           GMD_QC_TEST_VALUES
985         WHERE TEST_ID = QCASSY_TYP_ID1
986           AND ( MIN_NUM <= MAX_SPEC1CF
987         OR MIN_NUM IS NULL )
988           AND ( MAX_NUM >= MAX_SPEC1CF
989         OR MAX_NUM IS NULL );
990       EXCEPTION
991         WHEN NO_DATA_FOUND THEN
992           ASSAYVALUE := ' ';
993       END;
994     END IF;
995     RETURN (ASSAYVALUE);
996   END MAX_DISP1CFFORMULA;
997   FUNCTION MIN_DISP1CFFORMULA(QCASSY_TYP_ID1 IN NUMBER
998                              ,MIN_SPEC1CF IN NUMBER) RETURN CHAR IS
999     ASSAYVALUE VARCHAR2(240);
1000     ASSAYTYPE VARCHAR2(1);
1001   BEGIN
1002     IF ASSAY_TYPE1CP = 'L' THEN
1003       BEGIN
1004         SELECT
1005           DISPLAY_LABEL_NUMERIC_RANGE
1006         INTO ASSAYVALUE
1007         FROM
1008           GMD_QC_TEST_VALUES
1009         WHERE TEST_ID = QCASSY_TYP_ID1
1010           AND ( MIN_NUM <= MIN_SPEC1CF
1011         OR MIN_NUM IS NULL )
1012           AND ( MAX_NUM >= MIN_SPEC1CF
1013         OR MAX_NUM IS NULL );
1014       EXCEPTION
1015         WHEN NO_DATA_FOUND THEN
1016           ASSAYVALUE := ' ';
1017       END;
1018     END IF;
1019     RETURN (ASSAYVALUE);
1020   END MIN_DISP1CFFORMULA;
1021   FUNCTION TARGET_DISP1CFFORMULA(ASSAY_CODE2 IN VARCHAR2
1022                                 ,QCASSY_TYP_ID1 IN NUMBER
1023                                 ,TARGET1CF IN VARCHAR2) RETURN CHAR IS
1024     ASSAYVALUE VARCHAR2(240);
1025     ASSAYTYPE VARCHAR2(2);
1026   BEGIN
1027     IF ASSAY_CODE2 IS NULL THEN
1028       RETURN (NULL);
1029     END IF;
1030     SELECT
1031       DISTINCT
1032       TEST_TYPE
1033     INTO ASSAYTYPE
1034     FROM
1035       GMD_QC_TESTS_B
1036     WHERE TEST_CODE = ASSAY_CODE2;
1037     IF ASSAYTYPE = 'L' THEN
1038       BEGIN
1039         SELECT
1040           DISPLAY_LABEL_NUMERIC_RANGE
1041         INTO ASSAYVALUE
1042         FROM
1043           GMD_QC_TEST_VALUES
1044         WHERE TEST_ID = QCASSY_TYP_ID1
1045           AND ( MIN_NUM <= TARGET1CF
1046         OR MIN_NUM IS NULL )
1047           AND ( MAX_NUM >= TARGET1CF
1048         OR MAX_NUM IS NULL );
1049       EXCEPTION
1050         WHEN NO_DATA_FOUND THEN
1051           NULL;
1052       END;
1053     END IF;
1054     ASSAY_TYPE1CP := ASSAYTYPE;
1055     RETURN (ASSAYVALUE);
1056   END TARGET_DISP1CFFORMULA;
1057   FUNCTION RESULT_DISP1CFFORMULA(QCASSY_TYP_ID1 IN NUMBER
1058                                 ,NUM_RESULT2 IN NUMBER) RETURN CHAR IS
1059     ASSAYVALUE VARCHAR2(240);
1060   BEGIN
1061     IF ASSAY_TYPE1CP = 'L' THEN
1062       BEGIN
1063         SELECT
1064           DISPLAY_LABEL_NUMERIC_RANGE
1065         INTO ASSAYVALUE
1066         FROM
1067           GMD_QC_TEST_VALUES
1068         WHERE TEST_ID = QCASSY_TYP_ID1
1069           AND ( MIN_NUM <= NUM_RESULT2
1070         OR MIN_NUM IS NULL )
1071           AND ( MAX_NUM >= NUM_RESULT2
1072         OR MAX_NUM IS NULL );
1073       EXCEPTION
1074         WHEN NO_DATA_FOUND THEN
1075           ASSAYVALUE := ' ';
1076       END;
1077     END IF;
1078     RETURN (ASSAYVALUE);
1079   END RESULT_DISP1CFFORMULA;
1080   FUNCTION RESULT_DISPCFFORMULA(QCASSY_TYP_ID IN NUMBER
1081                                ,NUM_RESULT IN NUMBER) RETURN CHAR IS
1082     ASSAYVALUE VARCHAR2(240);
1083   BEGIN
1084     IF ASSAY_TYPECP = 'L' THEN
1085       BEGIN
1086         SELECT
1087           DISPLAY_LABEL_NUMERIC_RANGE
1088         INTO ASSAYVALUE
1089         FROM
1090           GMD_QC_TEST_VALUES
1091         WHERE TEST_ID = QCASSY_TYP_ID
1092           AND ( MIN_NUM <= NUM_RESULT
1093         OR MIN_NUM IS NULL )
1094           AND ( MAX_NUM >= NUM_RESULT
1095         OR MAX_NUM IS NULL );
1096       EXCEPTION
1097         WHEN NO_DATA_FOUND THEN
1098           ASSAYVALUE := ' ';
1099       END;
1100     END IF;
1101     RETURN (ASSAYVALUE);
1102   END RESULT_DISPCFFORMULA;
1103   FUNCTION MIN_CHARCFFORMULA(MIN_CHAR IN VARCHAR2) RETURN CHAR IS
1104   BEGIN
1105     IF MIN_CHAR IS NULL THEN
1106       RETURN (NULL);
1107     ELSE
1108       RETURN (MIN_CHAR);
1109     END IF;
1110   END MIN_CHARCFFORMULA;
1111   FUNCTION MIN_CHAR1CFFORMULA(MIN_CHAR1 IN VARCHAR2) RETURN CHAR IS
1112   BEGIN
1113     IF MIN_CHAR1 IS NULL THEN
1114       RETURN (NULL);
1115     ELSE
1116       RETURN (MIN_CHAR1);
1117     END IF;
1118   END MIN_CHAR1CFFORMULA;
1119   FUNCTION MAX_CHARCFFORMULA(MAX_CHAR IN VARCHAR2) RETURN CHAR IS
1120   BEGIN
1121     IF MAX_CHAR IS NULL THEN
1122       RETURN (NULL);
1123     ELSE
1124       RETURN (MAX_CHAR);
1125     END IF;
1126   END MAX_CHARCFFORMULA;
1127   FUNCTION MAX_CHAR1CFFORMULA(MAX_CHAR1 IN VARCHAR2) RETURN CHAR IS
1128   BEGIN
1129     IF MAX_CHAR1 IS NULL THEN
1130       RETURN (NULL);
1131     ELSE
1132       RETURN (MAX_CHAR1);
1133     END IF;
1134   END MAX_CHAR1CFFORMULA;
1135   FUNCTION NUM_RESULT2CFFORMULA(TEXT_RESULT2 IN VARCHAR2
1136                                ,NUM_RESULT2 IN NUMBER
1137                                ,TEST_TYPE1 IN VARCHAR2
1138                                ,PRECISION1 IN NUMBER) RETURN CHAR IS
1139     L_PRECISION VARCHAR2(25);
1140     L_NUMBER NUMBER;
1141     L_NUM_RESULT VARCHAR2(25);
1142   BEGIN
1143     IF TEXT_RESULT2 IS NOT NULL THEN
1144       RETURN (NULL);
1145     ELSE
1146       IF NUM_RESULT2 IS NULL THEN
1147         RETURN (NUM_RESULT2);
1151         L_NUMBER := NUM_RESULT2;
1148       ELSIF TEST_TYPE1 in ('N','L','E') THEN
1149         L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1150                                     ,PRECISION1) - 1);
1152         L_NUM_RESULT := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1153                                      ,L_PRECISION));
1154         RETURN (L_NUM_RESULT);
1155       END IF;
1156     END IF;
1157   END NUM_RESULT2CFFORMULA;
1158   FUNCTION TEXT_RESULT2CFFORMULA(TEXT_RESULT2 IN VARCHAR2) RETURN CHAR IS
1159   BEGIN
1160     IF TEXT_RESULT2 IS NOT NULL THEN
1161       RETURN (TEXT_RESULT2);
1162     ELSE
1163       RETURN (NULL);
1164     END IF;
1165   END TEXT_RESULT2CFFORMULA;
1166   FUNCTION TEXT_RESULTCFFORMULA(TEXT_RESULT IN VARCHAR2) RETURN CHAR IS
1167   BEGIN
1168     IF TEXT_RESULT IS NOT NULL THEN
1169       RETURN (TEXT_RESULT);
1170     ELSE
1171       RETURN (NULL);
1172     END IF;
1173   END TEXT_RESULTCFFORMULA;
1174   FUNCTION NUM_RESULTCFFORMULA(TEXT_RESULT IN VARCHAR2
1175                               ,NUM_RESULT IN NUMBER
1176                               ,TEST_TYPE IN VARCHAR2
1177                               ,PRECISION IN NUMBER) RETURN CHAR IS
1178     L_PRECISION VARCHAR2(25);
1179     L_NUMBER NUMBER;
1180     L_NUM_RESULT VARCHAR2(25);
1181   BEGIN
1182     IF TEXT_RESULT IS NOT NULL THEN
1183       RETURN (NULL);
1184     ELSE
1185       IF NUM_RESULT IS NULL THEN
1186         RETURN (NUM_RESULT);
1187       ELSIF TEST_TYPE in ('N','L','E') THEN
1188         L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1189                                     ,PRECISION) - 1);
1190         L_NUMBER := NUM_RESULT;
1191         L_NUM_RESULT := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1192                                      ,L_PRECISION));
1193         RETURN (L_NUM_RESULT);
1194       END IF;
1195     END IF;
1196   END NUM_RESULTCFFORMULA;
1197   FUNCTION AFTERPFORM RETURN BOOLEAN IS
1198   BEGIN
1199     RETURN (TRUE);
1200   END AFTERPFORM;
1201   FUNCTION BETWEENPAGE RETURN BOOLEAN IS
1202   BEGIN
1203     RETURN (TRUE);
1204   END BETWEENPAGE;
1205   FUNCTION AFTERREPORT RETURN BOOLEAN IS
1206   BEGIN
1207     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
1208     RETURN (TRUE);
1209   END AFTERREPORT;
1210   FUNCTION SHIP_TO_SITECFFORMULA(SHIP_TO_SITE_ID IN NUMBER) RETURN CHAR IS
1211     LOCATION VARCHAR2(40);
1212   BEGIN
1213     IF SHIP_TO_SITE_ID IS NOT NULL THEN
1214       BEGIN
1215         SELECT
1216           S.LOCATION
1217         INTO LOCATION
1218         FROM
1219           HZ_CUST_SITE_USES_ALL S
1220         WHERE S.SITE_USE_ID = SHIP_TO_SITE_ID
1221           AND S.SITE_USE_CODE = 'SHIP_TO';
1222         RETURN (LOCATION);
1223       EXCEPTION
1224         WHEN NO_DATA_FOUND THEN
1225           RETURN (NULL);
1226       END;
1227     ELSE
1228       RETURN (NULL);
1229     END IF;
1230   END SHIP_TO_SITECFFORMULA;
1231   FUNCTION ORDER_HEADERCFFORMULA(ORDER_HEADER_ID IN NUMBER) RETURN NUMBER IS
1232     ORDER_NUMBER NUMBER;
1233     ORDER_TYPE_ID NUMBER;
1234     ORDER_TYPE_NAME VARCHAR2(30);
1235   BEGIN
1236     IF ORDER_HEADER_ID IS NOT NULL THEN
1237       BEGIN
1238         SELECT
1239           H.ORDER_NUMBER,
1240           T.NAME
1241         INTO ORDER_NUMBER,ORDER_TYPE_NAME
1242         FROM
1243           OE_ORDER_HEADERS_ALL H,
1244           OE_TRANSACTION_TYPES_TL T
1245         WHERE H.HEADER_ID = ORDER_HEADER_ID
1246           AND H.ORDER_TYPE_ID = T.TRANSACTION_TYPE_ID
1247           AND T.LANGUAGE = 'US';
1248         ORDER_TYPECP := ORDER_TYPE_NAME;
1249         RETURN (ORDER_NUMBER);
1250       EXCEPTION
1251         WHEN NO_DATA_FOUND THEN
1252           ORDER_TYPECP := NULL;
1253           RETURN (NULL);
1254       END;
1255     ELSE
1256       ORDER_TYPECP := NULL;
1257       RETURN (NULL);
1258     END IF;
1259   END ORDER_HEADERCFFORMULA;
1260   FUNCTION OPERATING_UNITCFFORMULA(ORDER_ORG_ID IN NUMBER) RETURN CHAR IS
1261     OP_UNIT VARCHAR2(60);
1262   BEGIN
1263     IF ORDER_ORG_ID IS NOT NULL THEN
1264       BEGIN
1265         SELECT
1266           NAME
1267         INTO OP_UNIT
1268         FROM
1269           HR_OPERATING_UNITS
1270         WHERE ORGANIZATION_ID = ORDER_ORG_ID;
1271         RETURN (OP_UNIT);
1272       EXCEPTION
1273         WHEN NO_DATA_FOUND THEN
1274           RETURN (NULL);
1275       END;
1276     ELSE
1277       RETURN (NULL);
1278     END IF;
1279   END OPERATING_UNITCFFORMULA;
1280   FUNCTION CF_MINFORMULA(TEST_TYPE IN VARCHAR2
1281                         ,PRECISION IN NUMBER
1282                         ,MIN_SPEC IN NUMBER
1283                         ,MIN_CHAR IN VARCHAR2) RETURN CHAR IS
1284     L_PRECISION VARCHAR2(25);
1285     L_NUMBER NUMBER;
1286     L_MIN_SPEC VARCHAR2(25);
1287   BEGIN
1288     IF TEST_TYPE in ('N','L','E') THEN
1289       L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1290                                   ,PRECISION) - 1);
1291       L_NUMBER := MIN_SPEC;
1292       L_MIN_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1293                                  ,L_PRECISION));
1294       RETURN (L_MIN_SPEC);
1295     ELSE
1296       RETURN (MIN_CHAR);
1297     END IF;
1298   END CF_MINFORMULA;
1299   FUNCTION CF_MAXFORMULA(TEST_TYPE IN VARCHAR2
1300                         ,PRECISION IN NUMBER
1301                         ,MAX_SPEC IN NUMBER
1302                         ,MAX_CHAR IN VARCHAR2) RETURN CHAR IS
1303     L_PRECISION VARCHAR2(25);
1304     L_NUMBER NUMBER;
1305     L_MAX_SPEC VARCHAR2(25);
1306   BEGIN
1307     IF TEST_TYPE in ('N','L','E') THEN
1308       L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1309                                   ,PRECISION) - 1);
1310       L_NUMBER := MAX_SPEC;
1311       L_MAX_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1312                                  ,L_PRECISION));
1313       RETURN (L_MAX_SPEC);
1314     ELSE
1315       RETURN (MAX_CHAR);
1316     END IF;
1317   END CF_MAXFORMULA;
1318   FUNCTION CF_MIN1FORMULA(TEST_TYPE1 IN VARCHAR2
1319                          ,PRECISION1 IN NUMBER
1320                          ,MIN_SPEC1 IN NUMBER
1321                          ,MIN_CHAR1 IN VARCHAR2) RETURN CHAR IS
1322     L_PRECISION VARCHAR2(25);
1323     L_NUMBER NUMBER;
1324     L_MIN_SPEC VARCHAR2(25);
1325   BEGIN
1326     IF TEST_TYPE1 in ('N','L','E') THEN
1327       L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1328                                   ,PRECISION1) - 1);
1329       L_NUMBER := MIN_SPEC1;
1330       L_MIN_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1331                                  ,L_PRECISION));
1332       RETURN (L_MIN_SPEC);
1333     ELSE
1334       RETURN (MIN_CHAR1);
1335     END IF;
1336   END CF_MIN1FORMULA;
1337   FUNCTION CF_MAX1FORMULA(TEST_TYPE1 IN VARCHAR2
1338                          ,PRECISION1 IN NUMBER
1339                          ,MAX_SPEC1 IN NUMBER
1340                          ,MAX_CHAR1 IN VARCHAR2) RETURN CHAR IS
1341     L_PRECISION VARCHAR2(25);
1342     L_NUMBER NUMBER;
1343     L_MAX_SPEC VARCHAR2(25);
1344   BEGIN
1345     IF TEST_TYPE1 in ('N','L','E') THEN
1346       L_PRECISION := '999999999999999D' || TO_CHAR(POWER(10
1347                                   ,PRECISION1) - 1);
1348       L_NUMBER := MAX_SPEC1;
1349       L_MAX_SPEC := LTRIM(TO_CHAR(TO_NUMBER(TO_CHAR(L_NUMBER))
1350                                  ,L_PRECISION));
1351       RETURN (L_MAX_SPEC);
1352     ELSE
1353       RETURN (MAX_CHAR1);
1354     END IF;
1355   END CF_MAX1FORMULA;
1356   FUNCTION ORG_CFFORMULA RETURN CHAR IS
1357     ORG_CODE VARCHAR2(3);
1358   BEGIN
1359     SELECT
1360       DISTINCT
1361       ORGANIZATION_CODE
1362     INTO ORG_CODE
1363     FROM
1364       MTL_PARAMETERS
1365     WHERE ORGANIZATION_ID = P_ORGANIZATION_ID;
1366     ORG_CP := ORG_CODE;
1367     RETURN (ORG_CP);
1368   END ORG_CFFORMULA;
1369   FUNCTION ORDER_TYPECP_P RETURN VARCHAR2 IS
1370   BEGIN
1371     RETURN ORDER_TYPECP;
1372   END ORDER_TYPECP_P;
1373   FUNCTION ASSAY_TYPECP_P RETURN VARCHAR2 IS
1374   BEGIN
1375     RETURN ASSAY_TYPECP;
1376   END ASSAY_TYPECP_P;
1377   FUNCTION ACCEPT_CP_P RETURN VARCHAR2 IS
1378   BEGIN
1379     RETURN ACCEPT_CP;
1380   END ACCEPT_CP_P;
1381   FUNCTION FINAL_CP_P RETURN VARCHAR2 IS
1382   BEGIN
1383     RETURN FINAL_CP;
1384   END FINAL_CP_P;
1385   FUNCTION ASSAY_TYPE1CP_P RETURN VARCHAR2 IS
1386   BEGIN
1387     RETURN ASSAY_TYPE1CP;
1388   END ASSAY_TYPE1CP_P;
1389   FUNCTION ACCEPT1_CP_P RETURN VARCHAR2 IS
1390   BEGIN
1391     RETURN ACCEPT1_CP;
1392   END ACCEPT1_CP_P;
1393   FUNCTION FINAL1_CP_P RETURN VARCHAR2 IS
1394   BEGIN
1395     RETURN FINAL1_CP;
1396   END FINAL1_CP_P;
1397   FUNCTION DATE1CP_P RETURN VARCHAR2 IS
1398   BEGIN
1399     RETURN DATE1CP;
1400   END DATE1CP_P;
1401   FUNCTION FINAL1CP_P RETURN VARCHAR2 IS
1402   BEGIN
1403     RETURN FINAL1CP;
1404   END FINAL1CP_P;
1405   FUNCTION CUST_VENDCP_P RETURN VARCHAR2 IS
1406   BEGIN
1407     RETURN CUST_VENDCP;
1408   END CUST_VENDCP_P;
1409    FUNCTION CUST_VENDCP_1_P RETURN VARCHAR2 IS
1410   BEGIN
1411     RETURN CUST_VENDCP_1;
1412   END CUST_VENDCP_1_P;
1413   FUNCTION ITEMCP_P RETURN VARCHAR2 IS
1414   BEGIN
1415     RETURN ITEMCP;
1416   END ITEMCP_P;
1417   FUNCTION SAMPLECP_P RETURN VARCHAR2 IS
1418   BEGIN
1419     RETURN SAMPLECP;
1420   END SAMPLECP_P;
1421   FUNCTION FROM_ITEMCP_P RETURN VARCHAR2 IS
1422   BEGIN
1423     RETURN FROM_ITEMCP;
1424   END FROM_ITEMCP_P;
1425   FUNCTION TO_ITEMCP_P RETURN VARCHAR2 IS
1426   BEGIN
1427     RETURN TO_ITEMCP;
1428   END TO_ITEMCP_P;
1429   FUNCTION FROM_SAMPLECP_P RETURN VARCHAR2 IS
1430   BEGIN
1431     RETURN FROM_SAMPLECP;
1432   END FROM_SAMPLECP_P;
1433   FUNCTION TO_SAMPLECP_P RETURN VARCHAR2 IS
1434   BEGIN
1435     RETURN TO_SAMPLECP;
1436   END TO_SAMPLECP_P;
1437   FUNCTION FROM_CUST_VENDCP_P RETURN VARCHAR2 IS
1438   BEGIN
1439     RETURN FROM_CUST_VENDCP;
1440   END FROM_CUST_VENDCP_P;
1441   FUNCTION TO_CUST_VENDCP_P RETURN VARCHAR2 IS
1442   BEGIN
1443     RETURN TO_CUST_VENDCP;
1444   END TO_CUST_VENDCP_P;
1445   FUNCTION FROM_RSLT_DTCP_P RETURN VARCHAR2 IS
1446   BEGIN
1447     RETURN FROM_RSLT_DTCP;
1448   END FROM_RSLT_DTCP_P;
1449   FUNCTION TO_RSLT_DTCP_P RETURN VARCHAR2 IS
1450   BEGIN
1451     RETURN TO_RSLT_DTCP;
1452   END TO_RSLT_DTCP_P;
1453   FUNCTION LOTNOCP_P RETURN VARCHAR2 IS
1454   BEGIN
1455     RETURN LOTNOCP;
1456   END LOTNOCP_P;
1457   FUNCTION FROM_LOTNOCP_P RETURN VARCHAR2 IS
1458   BEGIN
1459     RETURN FROM_LOTNOCP;
1460   END FROM_LOTNOCP_P;
1461   FUNCTION TO_LOTNOCP_P RETURN VARCHAR2 IS
1462   BEGIN
1463     RETURN TO_LOTNOCP;
1464   END TO_LOTNOCP_P;
1465   FUNCTION ORG_CP_P RETURN VARCHAR2 IS
1466   BEGIN
1467     RETURN ORG_CP;
1468   END ORG_CP_P;
1469 END GMD_QCR01USR_XMLP_PKG;
1470 
1471