DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMI_GMILTGEN_XMLP_PKG

Source


1 PACKAGE BODY GMI_GMILTGEN_XMLP_PKG AS
2 /* $Header: GMILTGENB.pls 120.0 2007/12/24 13:14:29 nchinnam noship $ */
3   FUNCTION AFTERPFORM RETURN BOOLEAN IS
4     COMP_NO NUMBER := 1;
5     L_TRACE_ID NUMBER;
6     CURSOR GET_ITEM_DATA IS
7       SELECT
8         IM.ITEM_ID,
9         IL.LOT_ID
10       FROM
11         IC_ITEM_MST IM,
12         IC_LOTS_MST IL
13       WHERE IM.ITEM_NO = P_ITEM_NO
14         AND IM.ITEM_ID = IL.ITEM_ID
15         AND IL.LOT_NO = P_LOT_NO
16         AND ( P_SUBLOT_NO IS NULL
17       OR ( P_SUBLOT_NO IS NOT NULL
18         AND P_SUBLOT_NO = SUBLOT_NO ) )
19       ORDER BY
20         IL.LOT_ID;
21   BEGIN
22     --GGM_TRACE.SET_TRACE_ON('GMI_GMILTGEN_XMLP_PKG');
23     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
24     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
25     IF FND_PROFILE.VALUE('GMI_LOTGENE_ENABLE_FMSEC') <> 'Y' THEN
26       GMD_P_FS_CONTEXT.SET_ADDITIONAL_ATTR;
27     END IF;
28     FND_PROFILE.GET('LOT_GEN_DELIMITER'
29                    ,P_DELIMIT);
30     IF P_DELIMIT IS NULL THEN
31       P_DELIMIT := '~';
32     END IF;
33     OPEN GET_ITEM_DATA;
34     FETCH GET_ITEM_DATA
35      INTO P_ITEM_ID,P_LOT_ID;
36     CLOSE GET_ITEM_DATA;
37     IF P_VIEW_BY = 1 THEN
38       P_REP_TITLE := FND_MESSAGE.GET_STRING('GMI'
39                                            ,'GMI_LOT_SOURCE');
40       P_LOT_COMP_TITLE :=   FND_MESSAGE.GET_STRING('GMI'
41                                                 ,'GMI_LOT_INGD') ;
42     ELSE
43       P_REP_TITLE := FND_MESSAGE.GET_STRING('GMI'
44                                            ,'GMI_LOT_WHERE_USED');
45       P_LOT_COMP_TITLE := FND_MESSAGE.GET_STRING('GMI'
46                                                 ,'GMI_LOT_BYPRDS') ;
47     END IF;
48     SELECT
49       GMI_LOT_TRACE_ID_S.NEXTVAL
50     INTO P_TRACE_ID
51     FROM
52       DUAL;
53     GMI_LOT_TRACE_PKG.EXP_LOT(P_ITEM_ID
54                              ,P_LOT_ID
55                              ,1
56                              ,COMP_NO
57                              ,P_VIEW_BY
58                              ,P_TRACE_ID);
59     COMMIT;
60     RETURN (TRUE);
61   END AFTERPFORM;
62 
63   FUNCTION AFTERREPORT RETURN BOOLEAN IS
64   BEGIN
65     DELETE FROM GMI_LOT_TRACE
66      WHERE LOT_TRACE_ID = P_TRACE_ID;
67     COMMIT;
68     --GGM_TRACE.SET_TRACE_OFF;
69     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
70     RETURN (TRUE);
71   END AFTERREPORT;
72 
73   FUNCTION ITEM_NOFORMULA(ITEM_ID IN NUMBER
74                          ,LOT_ID IN NUMBER) RETURN CHAR IS
75     L_ITEM_NO IC_ITEM_MST.ITEM_NO%TYPE;
76     CURSOR CUR_DOCDTL IS
77       SELECT
78         TRANS_DATE,
79         DOC_TYPE,
80         ORGN_CODE,
81         DOC_ID,
82         LINE_ID,
83         SUM(TRANS_QTY) TR_QTY,
84         TRANS_UM
85       FROM
86         IC_TRAN_VW1
87       WHERE ITEM_ID = ITEM_NOFORMULA.ITEM_ID
88         AND LOT_ID = ITEM_NOFORMULA.LOT_ID
89         AND COMPLETED_IND = 1
90         AND DOC_TYPE not in ( 'GRDI' , 'GRDR' , 'TRNI' , 'TRNR' , 'STSI' , 'STSR' )
91       GROUP BY
92         TRANS_DATE,
93         DOC_TYPE,
94         ORGN_CODE,
95         DOC_ID,
96         LINE_ID,
97         TRANS_UM
98       ORDER BY
99         TRANS_DATE ASC;
100     REC_DOCDTL CUR_DOCDTL%ROWTYPE;
101     CURSOR INVDTL IS
102       SELECT
103         IJM.ORGN_CODE,
104         IJM.JOURNAL_NO
105       FROM
106         IC_JRNL_MST IJM,
107         IC_ADJS_JNL IAJ
108       WHERE IJM.JOURNAL_ID = IAJ.JOURNAL_ID
109         AND IAJ.DOC_ID = REC_DOCDTL.DOC_ID;
110     CURSOR PRODDTL IS
111       SELECT
112         PLANT_CODE,
113         BATCH_NO
114       FROM
115         PM_BTCH_HDR
116       WHERE BATCH_ID = REC_DOCDTL.DOC_ID;
117     CURSOR CUR_PURCHDTL IS
118       SELECT
119         PRH.ORGN_CODE RECV_ORGN,
120         PVM.VENDOR_NO VEND_NO,
121         PVM.VENDOR_NAME VEND_NAME,
122         PRH.RECV_NO RECV_NO,
123         POH.PO_NO PO_NO,
124         POH.ORGN_CODE PO_ORGN
125       FROM
126         PO_RECV_HDR PRH,
127         PO_RECV_DTL PRD,
128         PO_VEND_MST PVM,
129         PO_ORDR_HDR POH
130       WHERE PRH.RECV_ID = REC_DOCDTL.DOC_ID
131         AND PRH.RECV_ID = PRD.RECV_ID
132         AND PRD.LINE_ID = REC_DOCDTL.LINE_ID
133         AND PRD.PO_ID = poh.po_id (+)
134         AND PVM.VENDOR_ID = PRD.SHIPVEND_ID;
135     CURSOR RCV_TRANSACTIONS_INFO IS
136       SELECT
137         SHIPMENT_HEADER_ID,
138         PO_HEADER_ID,
139         VENDOR_ID,
140         VENDOR_SITE_ID
141       FROM
142         RCV_TRANSACTIONS
143       WHERE SHIPMENT_HEADER_ID = REC_DOCDTL.DOC_ID
144         AND TRANSACTION_ID = REC_DOCDTL.LINE_ID;
145     REC_RCV_TRANSACTIONS RCV_TRANSACTIONS_INFO%ROWTYPE;
146     CURSOR VENDOR_INFO IS
147       SELECT
148         VEND.SEGMENT1,
149         VEND.VENDOR_NAME,
150         SITE.VENDOR_SITE_CODE
151       FROM
152         PO_VENDORS VEND,
153         PO_VENDOR_SITES_ALL SITE
154       WHERE VEND.VENDOR_ID = REC_RCV_TRANSACTIONS.VENDOR_ID
155         AND VEND.VENDOR_ID = SITE.VENDOR_ID
156         AND SITE.VENDOR_SITE_ID = REC_RCV_TRANSACTIONS.VENDOR_SITE_ID;
157     REC_VENDOR_INFO VENDOR_INFO%ROWTYPE;
158     CURSOR RECV_INFO IS
159       SELECT
160         RECEIPT_NUM
161       FROM
162         RCV_SHIPMENT_HEADERS
163       WHERE SHIPMENT_HEADER_ID = REC_RCV_TRANSACTIONS.SHIPMENT_HEADER_ID;
164     CURSOR PO_INFO IS
165       SELECT
166         SEGMENT1,
167         ATTRIBUTE15
168       FROM
169         PO_HEADERS_ALL
170       WHERE PO_HEADER_ID = REC_RCV_TRANSACTIONS.PO_HEADER_ID;
171     CURSOR CUR_VEND_NAME IS
172       SELECT
173         VENDOR_NO,
174         VENDOR_NAME
175       FROM
176         PO_VEND_MST
177       WHERE VENDOR_ID = (
178         SELECT
179           SHIPVEND_ID
180         FROM
181           IC_LOTS_MST
182         WHERE ITEM_ID = ITEM_NOFORMULA.ITEM_ID
183           AND LOT_ID = ITEM_NOFORMULA.LOT_ID );
184   BEGIN
185     BEGIN
186       SELECT
187         IM.ITEM_NO,
188         IM.ITEM_DESC1,
189         IM.SHELF_LIFE,
190         IM.RETEST_INTERVAL,
191         IL.LOT_NO,
192         IL.SUBLOT_NO,
193         IM.INV_CLASS,
194         IM.INV_TYPE,
195         IL.EXPIRE_DATE,
196         IL.RETEST_DATE,
197         IL.QC_GRADE,
198         IL.VENDOR_LOT_NO
199       INTO L_ITEM_NO,ITEM_DESC,SHELF_LIFE,RETEST_INTERVAL,LOT_NO,SUBLOT_NO,INV_CLASS,INV_TYPE,EXPIRE_DATE,RETEST_DATE,GRADE,VEND_LOT_NO
200       FROM
201         IC_ITEM_MST IM,
202         IC_LOTS_MST IL
203       WHERE IM.ITEM_ID = ITEM_NOFORMULA.ITEM_ID
204         AND IL.LOT_ID = ITEM_NOFORMULA.LOT_ID
205         AND IM.ITEM_ID = IL.ITEM_ID;
206       OPEN CUR_DOCDTL;
207       FETCH CUR_DOCDTL
208        INTO REC_DOCDTL;
209       IF CUR_DOCDTL%FOUND THEN
210         CLOSE CUR_DOCDTL;
211         CREATION_DATE := REC_DOCDTL.TRANS_DATE;
212         LOT_CREATION_TYPE := REC_DOCDTL.DOC_TYPE;
213         BEGINING_QTY := REC_DOCDTL.TR_QTY;
214         TRANS_UM := REC_DOCDTL.TRANS_UM;
215         IF REC_DOCDTL.DOC_TYPE in ('ADJI','ADJR','CREI','CRER') THEN
216           OPEN INVDTL;
217           FETCH INVDTL
218            INTO JRNL_ORGN_CODE,JOURNAL_NO;
219           CLOSE INVDTL;
220           OPEN CUR_VEND_NAME;
221           FETCH CUR_VEND_NAME
222            INTO VEND_NO,VEND_NAME;
223           CLOSE CUR_VEND_NAME;
224         ELSIF REC_DOCDTL.DOC_TYPE in ('PROD') THEN
225           OPEN PRODDTL;
226           FETCH PRODDTL
227            INTO PLANT_CODE,BATCH_NO;
228           CLOSE PRODDTL;
229         ELSIF REC_DOCDTL.DOC_TYPE = 'RECV' THEN
230           OPEN CUR_PURCHDTL;
231           FETCH CUR_PURCHDTL
232            INTO RECV_ORGN_CODE,VEND_NO,VEND_NAME,RECV_NO,PO_NO,PO_ORGN_CODE;
233           CLOSE CUR_PURCHDTL;
234         ELSIF REC_DOCDTL.DOC_TYPE = 'PORC' THEN
235           RECV_ORGN_CODE := REC_DOCDTL.ORGN_CODE;
236           OPEN RCV_TRANSACTIONS_INFO;
237           FETCH RCV_TRANSACTIONS_INFO
238            INTO REC_RCV_TRANSACTIONS;
239           CLOSE RCV_TRANSACTIONS_INFO;
240           OPEN VENDOR_INFO;
241           FETCH VENDOR_INFO
242            INTO REC_VENDOR_INFO;
243           CLOSE VENDOR_INFO;
244           VEND_NAME := REC_VENDOR_INFO.VENDOR_NAME;
245           VEND_NO := REC_VENDOR_INFO.SEGMENT1 || FND_PROFILE.VALUE('GL$VEND_DELIMITER') || REC_VENDOR_INFO.VENDOR_SITE_CODE;
246           OPEN RECV_INFO;
247           FETCH RECV_INFO
248            INTO RECV_NO;
249           CLOSE RECV_INFO;
250           OPEN PO_INFO;
251           FETCH PO_INFO
252            INTO PO_NO,PO_ORGN_CODE;
253           CLOSE PO_INFO;
254         END IF;
255       END IF;
256       RETURN (L_ITEM_NO);
257     EXCEPTION
258       WHEN NO_DATA_FOUND THEN
259         NULL;
260       WHEN OTHERS THEN
261         NULL;
262     END;
263   END ITEM_NOFORMULA;
264 
265   FUNCTION CF_1FORMULA(TRANS_DATE IN DATE) RETURN DATE IS
266   BEGIN
267     RETURN (TRANS_DATE);
268   END CF_1FORMULA;
269 
270   FUNCTION I_ITEM_NOFORMULA(ITEM_ID2 IN NUMBER
271                            ,LOT_ID3 IN NUMBER
272                            ,CIR_FLG1 IN VARCHAR2
273                            ,LEVEL_NO1 IN NUMBER) RETURN CHAR IS
274     L_ITEM_NO IC_ITEM_MST.ITEM_NO%TYPE;
275     I NUMBER := 1;
276     L_LOT_NO IC_LOTS_MST.LOT_NO%TYPE;
277     L_SUBLOT_NO IC_LOTS_MST.SUBLOT_NO%TYPE;
278   BEGIN
279     SELECT
280       IM.ITEM_NO,
281       IM.ITEM_DESC1,
282       IL.LOT_NO,
283       IL.SUBLOT_NO
284     INTO L_ITEM_NO,I_ITEM_DESC,I_LOT_NO,I_SUBLOT_NO
285     FROM
286       IC_ITEM_MST IM,
287       IC_LOTS_MST IL
288     WHERE IM.ITEM_ID = ITEM_ID2
289       AND IL.LOT_ID = LOT_ID3
290       AND IM.ITEM_ID = IL.ITEM_ID;
291     IF I_SUBLOT_NO IS NOT NULL THEN
292       IND_KEY := CIR_FLG1 || L_ITEM_NO || P_DELIMIT || I_LOT_NO || P_DELIMIT || I_SUBLOT_NO;
293     ELSIF I_LOT_NO IS NOT NULL THEN
294       IND_KEY := CIR_FLG1 || L_ITEM_NO || P_DELIMIT || I_LOT_NO;
295     ELSE
296       IND_KEY := CIR_FLG1 || L_ITEM_NO;
297     END IF;
298     WHILE I < LEVEL_NO1 LOOP
299 
300       IND_KEY := '  ' || IND_KEY;
301       I := I + 1;
302     END LOOP;
303     RETURN (L_ITEM_NO);
304   END I_ITEM_NOFORMULA;
305 
306   FUNCTION DOC_NOFORMULA(DOC_ID IN NUMBER
307                         ,LINE_ID IN NUMBER
308                         ,ORGN_CODE IN VARCHAR2
309                         ,DOC_TYPE IN VARCHAR2) RETURN CHAR IS
310     CURSOR INVDTL IS
311       SELECT
312         IJM.JOURNAL_NO
313       FROM
314         IC_ADJS_JNL IAJ,
315         IC_JRNL_MST IJM
316       WHERE IAJ.JOURNAL_ID = IJM.JOURNAL_ID
317         AND IAJ.DOC_ID = DOC_NOFORMULA.DOC_ID;
318     CURSOR PRODDTL IS
319       SELECT
320         BATCH_NO
321       FROM
322         PM_BTCH_HDR
323       WHERE BATCH_ID = DOC_ID;
324     CURSOR CUR_PURCHDTL IS
325       SELECT
326         PRH.RECV_NO RECV_NO
327       FROM
328         PO_RECV_HDR PRH
329       WHERE PRH.RECV_ID = DOC_ID;
330     CURSOR PHYINVDTL IS
331       SELECT
332         CYCLE_NO
333       FROM
334         IC_CYCL_HDR
335       WHERE CYCLE_ID = DOC_ID;
336     CURSOR OPBOLDTL IS
337       SELECT
338         BOL_NO
339       FROM
340         OP_BILL_LAD
341       WHERE BOL_ID = DOC_ID;
342     CURSOR OPSHIPDTL IS
343       SELECT
344         ORDER_NO
345       FROM
346         OP_ORDR_HDR
347       WHERE ORDER_ID = DOC_ID;
348     CURSOR PODTL IS
349       SELECT
350         PO_NO
351       FROM
352         PO_ORDR_HDR
353       WHERE PO_ID = DOC_ID;
354     CURSOR PORTRNDTL IS
355       SELECT
356         RETURN_NO
357       FROM
358         PO_RTRN_HDR
359       WHERE RETURN_ID = DOC_ID;
360     CURSOR OMORDRDTL IS
361       SELECT
362         HDR.ORDER_NUMBER,
363         ORG.NAME
364       FROM
365         OE_ORDER_HEADERS_ALL HDR,
366         OE_ORDER_LINES_ALL DTL,
367         HR_OPERATING_UNITS ORG
368       WHERE ORG.ORGANIZATION_ID = HDR.ORG_ID
369         AND DTL.LINE_ID = DOC_NOFORMULA.LINE_ID
370         AND DTL.HEADER_ID = HDR.HEADER_ID;
371     CURSOR RECV_INFO IS
372       SELECT
373         RECEIPT_NUM
374       FROM
375         RCV_SHIPMENT_HEADERS
376       WHERE SHIPMENT_HEADER_ID = DOC_ID;
377     L_DOC_NO VARCHAR2(32);
378   BEGIN
379     DISP_ORGN_CODE := ORGN_CODE;
380     IF DOC_TYPE in ('ADJI','ADJR','CREI','CRER','GRDI','GRDR','STSI','STSR','TRNI','TRNR') THEN
381       OPEN INVDTL;
382       FETCH INVDTL
383        INTO L_DOC_NO;
384       CLOSE INVDTL;
385     ELSIF DOC_TYPE in ('PROD') THEN
386       OPEN PRODDTL;
387       FETCH PRODDTL
388        INTO L_DOC_NO;
389       CLOSE PRODDTL;
390     ELSIF DOC_TYPE in ('RECV','POSR') THEN
391       OPEN CUR_PURCHDTL;
392       FETCH CUR_PURCHDTL
393        INTO L_DOC_NO;
394       CLOSE CUR_PURCHDTL;
395     ELSIF DOC_TYPE in ('PICY','PIPH') THEN
396       OPEN PHYINVDTL;
397       FETCH PHYINVDTL
398        INTO L_DOC_NO;
399       CLOSE PHYINVDTL;
400     ELSIF DOC_TYPE in ('OPSP') THEN
401       OPEN OPBOLDTL;
402       FETCH OPBOLDTL
403        INTO L_DOC_NO;
404       CLOSE OPBOLDTL;
405     ELSIF DOC_TYPE in ('OPSO') THEN
406       OPEN OPSHIPDTL;
407       FETCH OPSHIPDTL
408        INTO L_DOC_NO;
409       CLOSE OPSHIPDTL;
410     ELSIF DOC_TYPE in ('OMSO') THEN
411       OPEN OMORDRDTL;
412       FETCH OMORDRDTL
413        INTO L_DOC_NO,DISP_ORGN_CODE;
414       CLOSE OMORDRDTL;
415     ELSIF DOC_TYPE in ('PORD') THEN
416       OPEN PODTL;
417       FETCH PODTL
418        INTO L_DOC_NO;
419       CLOSE PODTL;
420     ELSIF DOC_TYPE in ('RTRN') THEN
421       OPEN PORTRNDTL;
422       FETCH PORTRNDTL
423        INTO L_DOC_NO;
424       CLOSE PORTRNDTL;
425     ELSIF DOC_TYPE = 'PORC' THEN
426       OPEN RECV_INFO;
427       FETCH RECV_INFO
428        INTO L_DOC_NO;
429       CLOSE RECV_INFO;
430     END IF;
431     RETURN (L_DOC_NO);
432   END DOC_NOFORMULA;
433 
434   FUNCTION QC_SPECFORMULA(QCASSY_TYP_ID IN NUMBER
435                          ,QC_SPEC_ID IN NUMBER
436                          ,TEXT_RESULT IN VARCHAR2
437                          ,NUM_RESULT IN NUMBER
438                          ,ACCEPT_ANYWAY IN VARCHAR2) RETURN CHAR IS
439     L_SPEC VARCHAR2(20);
440     L_ASSAY_TYPE VARCHAR2(40);
441     CURSOR CUR_ASSAY_DESC IS
442       SELECT
443         TEST_TYPE
444       FROM
445         GMD_QC_TESTS_B
446       WHERE TEST_ID = QCASSY_TYP_ID;
447     CURSOR CUR_SPEC_DATA IS
448       SELECT
449         DECODE(L_ASSAY_TYPE
450               ,'U'
451               ,A.TARGET_VALUE_CHAR
452               ,'V'
453               ,A.TARGET_VALUE_CHAR
454               ,'N'
455               ,TO_CHAR(A.TARGET_VALUE_NUM)),
456         A.MIN_VALUE_NUM,
457         A.MAX_VALUE_NUM
458       FROM
459         GMD_SPEC_TESTS_B A,
460         GMD_QC_TESTS_B B
461       WHERE A.SPEC_ID = QC_SPEC_ID
462         AND A.TEST_ID = B.TEST_ID;
463   BEGIN
464     IF (QC_SPEC_ID IS NOT NULL) THEN
465       OPEN CUR_SPEC_DATA;
466       FETCH CUR_SPEC_DATA
467        INTO L_SPEC,MIN_SPEC,MAX_SPEC;
468       CLOSE CUR_SPEC_DATA;
469     END IF;
470     IF (TEXT_RESULT IS NOT NULL) THEN
471       RESULT := TEXT_RESULT;
472     ELSIF (NUM_RESULT IS NOT NULL) THEN
473       RESULT := TO_CHAR(NUM_RESULT);
474     END IF;
475     IF ACCEPT_ANYWAY = '0' THEN
476       ACCEPT_FLG := 'No';
477     ELSIF ACCEPT_ANYWAY = '1' THEN
478       ACCEPT_FLG := 'Yes';
479     END IF;
480     RETURN (L_SPEC);
481   END QC_SPECFORMULA;
482 
483   FUNCTION UOMFORMULA(ITEM_ID1 IN NUMBER) RETURN CHAR IS
484     L_UOM IC_ITEM_MST.ITEM_UM%TYPE;
485   BEGIN
486     SELECT
487       ITEM_UM,
488       ITEM_UM2
489     INTO L_UOM,UOM2
490     FROM
491       IC_ITEM_MST
492     WHERE ITEM_ID = ITEM_ID1;
493     RETURN (L_UOM);
494   END UOMFORMULA;
495 
496   FUNCTION IND_KEY2FORMULA(SUBLOT_NO2 IN VARCHAR2
497                           ,ITEM_NO2 IN VARCHAR2
498                           ,LOT_NO2 IN VARCHAR2) RETURN CHAR IS
499     L_IND_KEY VARCHAR2(80);
500     I NUMBER := 1;
501   BEGIN
502     IF SUBLOT_NO2 IS NOT NULL THEN
503       L_IND_KEY := ITEM_NO2 || P_DELIMIT || LOT_NO2 || P_DELIMIT || SUBLOT_NO2;
504     ELSIF LOT_NO2 IS NOT NULL THEN
505       L_IND_KEY := ITEM_NO2 || P_DELIMIT || LOT_NO2;
506     ELSE
507       L_IND_KEY := ITEM_NO2;
508     END IF;
509     RETURN (L_IND_KEY);
510   END IND_KEY2FORMULA;
511 
512   PROCEDURE HEADER IS
513   BEGIN
514     NULL;
515   END HEADER;
516 
517   FUNCTION ITEM_DESC_P RETURN VARCHAR2 IS
518   BEGIN
519     RETURN ITEM_DESC;
520   END ITEM_DESC_P;
521 
522   FUNCTION LOT_NO_P RETURN VARCHAR2 IS
523   BEGIN
524     RETURN LOT_NO;
525   END LOT_NO_P;
526 
527   FUNCTION SUBLOT_NO_P RETURN VARCHAR2 IS
528   BEGIN
529     RETURN SUBLOT_NO;
530   END SUBLOT_NO_P;
531 
532   FUNCTION INV_TYPE_P RETURN VARCHAR2 IS
533   BEGIN
534     RETURN INV_TYPE;
535   END INV_TYPE_P;
536 
537   FUNCTION SHELF_LIFE_P RETURN NUMBER IS
538   BEGIN
539     RETURN SHELF_LIFE;
540   END SHELF_LIFE_P;
541 
542   FUNCTION INV_CLASS_P RETURN VARCHAR2 IS
543   BEGIN
544     RETURN INV_CLASS;
545   END INV_CLASS_P;
546 
547   FUNCTION GRADE_P RETURN VARCHAR2 IS
548   BEGIN
549     RETURN GRADE;
550   END GRADE_P;
551 
552   FUNCTION RETEST_INTERVAL_P RETURN NUMBER IS
553   BEGIN
554     RETURN RETEST_INTERVAL;
555   END RETEST_INTERVAL_P;
556 
557   FUNCTION LOT_CREATION_TYPE_P RETURN VARCHAR2 IS
558   BEGIN
559     RETURN LOT_CREATION_TYPE;
560   END LOT_CREATION_TYPE_P;
561 
562   FUNCTION LOT_CREATION_TYPE_DESC_P RETURN VARCHAR2 IS
563   BEGIN
564     RETURN LOT_CREATION_TYPE_DESC;
565   END LOT_CREATION_TYPE_DESC_P;
566 
567   FUNCTION BEGINING_QTY_P RETURN NUMBER IS
568   BEGIN
569     RETURN BEGINING_QTY;
570   END BEGINING_QTY_P;
571 
572   FUNCTION CREATION_DATE_P RETURN DATE IS
573   BEGIN
574     RETURN CREATION_DATE;
575   END CREATION_DATE_P;
576 
577   FUNCTION EXPIRE_DATE_P RETURN DATE IS
578   BEGIN
579     RETURN EXPIRE_DATE;
580   END EXPIRE_DATE_P;
581 
582   FUNCTION RETEST_DATE_P RETURN DATE IS
583   BEGIN
584     RETURN RETEST_DATE;
585   END RETEST_DATE_P;
586 
587   FUNCTION PLANT_CODE_P RETURN VARCHAR2 IS
588   BEGIN
589     RETURN PLANT_CODE;
590   END PLANT_CODE_P;
591 
592   FUNCTION BATCH_NO_P RETURN VARCHAR2 IS
593   BEGIN
594     RETURN BATCH_NO;
595   END BATCH_NO_P;
596 
597   FUNCTION VEND_NO_P RETURN VARCHAR2 IS
598   BEGIN
599     RETURN VEND_NO;
600   END VEND_NO_P;
601 
602   FUNCTION VEND_NAME_P RETURN VARCHAR2 IS
603   BEGIN
604     RETURN VEND_NAME;
605   END VEND_NAME_P;
606 
607   FUNCTION TRANS_UM_P RETURN VARCHAR2 IS
608   BEGIN
609     RETURN TRANS_UM;
610   END TRANS_UM_P;
611 
612   FUNCTION VEND_LOT_NO_P RETURN VARCHAR2 IS
613   BEGIN
614     RETURN VEND_LOT_NO;
615   END VEND_LOT_NO_P;
616 
617   FUNCTION PO_ORGN_CODE_P RETURN VARCHAR2 IS
618   BEGIN
619     RETURN PO_ORGN_CODE;
620   END PO_ORGN_CODE_P;
621 
622   FUNCTION PO_NO_P RETURN VARCHAR2 IS
623   BEGIN
624     RETURN PO_NO;
625   END PO_NO_P;
626 
627   FUNCTION RECV_ORGN_CODE_P RETURN VARCHAR2 IS
628   BEGIN
629     RETURN RECV_ORGN_CODE;
630   END RECV_ORGN_CODE_P;
631 
632   FUNCTION RECV_NO_P RETURN VARCHAR2 IS
633   BEGIN
634     RETURN RECV_NO;
635   END RECV_NO_P;
636 
637   FUNCTION JRNL_ORGN_CODE_P RETURN VARCHAR2 IS
638   BEGIN
639     RETURN JRNL_ORGN_CODE;
640   END JRNL_ORGN_CODE_P;
641 
642   FUNCTION JOURNAL_NO_P RETURN VARCHAR2 IS
643   BEGIN
644     RETURN JOURNAL_NO;
645   END JOURNAL_NO_P;
646 
647   FUNCTION MIN_SPEC_P RETURN NUMBER IS
648   BEGIN
649     RETURN MIN_SPEC;
650   END MIN_SPEC_P;
651 
652   FUNCTION MAX_SPEC_P RETURN NUMBER IS
653   BEGIN
654     RETURN MAX_SPEC;
655   END MAX_SPEC_P;
656 
657   FUNCTION RESULT_P RETURN VARCHAR2 IS
658   BEGIN
659     RETURN RESULT;
660   END RESULT_P;
661 
662   FUNCTION ACCEPT_FLG_P RETURN VARCHAR2 IS
663   BEGIN
664     RETURN ACCEPT_FLG;
665   END ACCEPT_FLG_P;
666 
667   FUNCTION DISP_ORGN_CODE_P RETURN VARCHAR2 IS
668   BEGIN
669     RETURN DISP_ORGN_CODE;
670   END DISP_ORGN_CODE_P;
671 
672   FUNCTION I_ITEM_DESC_P RETURN VARCHAR2 IS
673   BEGIN
674     RETURN I_ITEM_DESC;
675   END I_ITEM_DESC_P;
676 
677   FUNCTION I_LOT_NO_P RETURN VARCHAR2 IS
678   BEGIN
679     RETURN I_LOT_NO;
680   END I_LOT_NO_P;
681 
682   FUNCTION I_SUBLOT_NO_P RETURN VARCHAR2 IS
683   BEGIN
684     RETURN I_SUBLOT_NO;
685   END I_SUBLOT_NO_P;
686 
687   FUNCTION IND_KEY_P RETURN VARCHAR2 IS
688   BEGIN
689     RETURN IND_KEY;
690   END IND_KEY_P;
691 
692   FUNCTION UOM2_P RETURN VARCHAR2 IS
693   BEGIN
694     RETURN UOM2;
695   END UOM2_P;
696 
697 function M_6FormatTrigger(item_id number, lot_id number) return varchar2 is
698 n number;
699 begin
700   select  count(*) into n
701   from  gmd_results a, gmd_spec_results b, gmd_samples c
702   where nvl(b.evaluation_ind,'N') in ('0A','1V')
703    and a.result_id = b.result_id
704    and a.sample_id = c.sample_id
705    and a.sample_id not in (select sample_id from gmd_samples where
706           (supplier_id is not null or cust_id is not null) or
707           (batch_id is not null or formula_id is not null or
708           routing_id is not null or oprn_id is not null))
709     and a.delete_mark = 0
710     and c.item_id = M_6FormatTrigger.item_id
711     and c.lot_id = M_6FormatTrigger.lot_id;
712  IF n <>0 THEN
713   return 'FALSE';
714  ELSE
715   return 'TRUE';
716  END IF;
717 end;
718 
719 function M_5FormatTrigger(item_id number, lot_id number) return varchar2 is
720 n  number;
721 begin
722   IF p_view_by = 1 then
723     SELECT count(*) into n
724     from  GMI_LOTS_COMP_v
725     where product_item_id = M_5FormatTrigger.item_id
726       and product_lot_id  = M_5FormatTrigger.lot_id;
727   ELSE
728     SELECT count(*) into n
729     from  GMI_LOTS_DEST_v
730     where ingred_item_id = M_5FormatTrigger.item_id
731       and ingred_lot_id  = M_5FormatTrigger.lot_id;
732   END IF;
733   IF n <>0 then
734     return 'FALSE';
735   ELSE
736     return 'TRUE';
737   END IF;
738 end;
739 END GMI_GMILTGEN_XMLP_PKG;
740