139: );
140:
141: IF l_user_id = 0
142: THEN
143: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_USER_NAME');
144: FND_MESSAGE.SET_TOKEN('USER_NAME',l_user_name);
145: FND_MSG_PUB.Add;
146: RAISE FND_API.G_EXC_ERROR;
147: END IF;
140:
141: IF l_user_id = 0
142: THEN
143: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_USER_NAME');
144: FND_MESSAGE.SET_TOKEN('USER_NAME',l_user_name);
145: FND_MSG_PUB.Add;
146: RAISE FND_API.G_EXC_ERROR;
147: END IF;
148:
152: , user_id => l_user_id
153: );
154: IF (IC$DEFAULT_LOT IS NULL)
155: THEN
156: FND_MESSAGE.SET_NAME('GMI','IC_API_UNABLE_TO_GET_CONSTANT');
157: FND_MESSAGE.SET_TOKEN('CONSTANT_NAME','IC$DEFAULT_LOT');
158: FND_MSG_PUB.Add;
159: RAISE FND_API.G_EXC_ERROR;
160: END IF;
153: );
154: IF (IC$DEFAULT_LOT IS NULL)
155: THEN
156: FND_MESSAGE.SET_NAME('GMI','IC_API_UNABLE_TO_GET_CONSTANT');
157: FND_MESSAGE.SET_TOKEN('CONSTANT_NAME','IC$DEFAULT_LOT');
158: FND_MSG_PUB.Add;
159: RAISE FND_API.G_EXC_ERROR;
160: END IF;
161:
172: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
173: ELSIF (l_ic_item_mst_rec.item_id = 0) OR
174: (l_ic_item_mst_rec.delete_mark = 1)
175: THEN
176: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
177: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
178: FND_MSG_PUB.Add;
179: RAISE FND_API.G_EXC_ERROR;
180: ELSIF (l_ic_item_mst_rec.noninv_ind = 1) AND
173: ELSIF (l_ic_item_mst_rec.item_id = 0) OR
174: (l_ic_item_mst_rec.delete_mark = 1)
175: THEN
176: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
177: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
178: FND_MSG_PUB.Add;
179: RAISE FND_API.G_EXC_ERROR;
180: ELSIF (l_ic_item_mst_rec.noninv_ind = 1) AND
181: (p_lot_rec.lot_no <> 'NEWITEM')
179: RAISE FND_API.G_EXC_ERROR;
180: ELSIF (l_ic_item_mst_rec.noninv_ind = 1) AND
181: (p_lot_rec.lot_no <> 'NEWITEM')
182: THEN
183: FND_MESSAGE.SET_NAME('GMI','IC_API_NONINV_ITEM_NO');
184: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
185: FND_MSG_PUB.Add;
186: RAISE FND_API.G_EXC_ERROR;
187: ELSIF (l_ic_item_mst_rec.inactive_ind = 1) AND
180: ELSIF (l_ic_item_mst_rec.noninv_ind = 1) AND
181: (p_lot_rec.lot_no <> 'NEWITEM')
182: THEN
183: FND_MESSAGE.SET_NAME('GMI','IC_API_NONINV_ITEM_NO');
184: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
185: FND_MSG_PUB.Add;
186: RAISE FND_API.G_EXC_ERROR;
187: ELSIF (l_ic_item_mst_rec.inactive_ind = 1) AND
188: (p_lot_rec.lot_no <> 'NEWITEM')
186: RAISE FND_API.G_EXC_ERROR;
187: ELSIF (l_ic_item_mst_rec.inactive_ind = 1) AND
188: (p_lot_rec.lot_no <> 'NEWITEM')
189: THEN
190: FND_MESSAGE.SET_NAME('GMI','IC_API_INACTIVE_ITEM_NO');
191: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
192: FND_MSG_PUB.Add;
193: RAISE FND_API.G_EXC_ERROR;
194: END IF;
187: ELSIF (l_ic_item_mst_rec.inactive_ind = 1) AND
188: (p_lot_rec.lot_no <> 'NEWITEM')
189: THEN
190: FND_MESSAGE.SET_NAME('GMI','IC_API_INACTIVE_ITEM_NO');
191: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_lot_rec.item_no);
192: FND_MSG_PUB.Add;
193: RAISE FND_API.G_EXC_ERROR;
194: END IF;
195:
311: -- First get the surrogate key (lot_id) for the lot
312: SELECT gem5_lot_id_s.nextval INTO l_lot_id FROM dual;
313: IF (l_lot_id <= 0)
314: THEN
315: FND_MESSAGE.SET_NAME('GMI','IC_API_UNABLE_TO_GET_SURROGATE');
316: FND_MESSAGE.SET_TOKEN('SKEY','lot_id');
317: FND_MSG_PUB.Add;
318: RAISE FND_API.G_EXC_ERROR;
319: END IF;
312: SELECT gem5_lot_id_s.nextval INTO l_lot_id FROM dual;
313: IF (l_lot_id <= 0)
314: THEN
315: FND_MESSAGE.SET_NAME('GMI','IC_API_UNABLE_TO_GET_SURROGATE');
316: FND_MESSAGE.SET_TOKEN('SKEY','lot_id');
317: FND_MSG_PUB.Add;
318: RAISE FND_API.G_EXC_ERROR;
319: END IF;
320:
421: COMMIT WORK;
422: END IF;
423:
424: -- Success message
425: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_CREATED');
426: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_lot_rec.item_no);
427: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_rec.lot_no);
428: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_lot_rec.sublot_no);
429: FND_MSG_PUB.Add;
422: END IF;
423:
424: -- Success message
425: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_CREATED');
426: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_lot_rec.item_no);
427: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_rec.lot_no);
428: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_lot_rec.sublot_no);
429: FND_MSG_PUB.Add;
430: -- Standard Call to get message count and if count is 1,
423:
424: -- Success message
425: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_CREATED');
426: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_lot_rec.item_no);
427: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_rec.lot_no);
428: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_lot_rec.sublot_no);
429: FND_MSG_PUB.Add;
430: -- Standard Call to get message count and if count is 1,
431: -- get message info.
424: -- Success message
425: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_CREATED');
426: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_lot_rec.item_no);
427: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_rec.lot_no);
428: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_lot_rec.sublot_no);
429: FND_MSG_PUB.Add;
430: -- Standard Call to get message count and if count is 1,
431: -- get message info.
432:
553:
554: --Check to see if item is lot Controlled
555: IF (p_item_rec.lot_ctl <> 1)
556: THEN
557: FND_MESSAGE.SET_NAME('GMI','IC_API_ITEM_NOT_LOT_CTL');
558: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
559: FND_MSG_PUB.Add;
560: RAISE FND_API.G_EXC_ERROR;
561: END IF;
554: --Check to see if item is lot Controlled
555: IF (p_item_rec.lot_ctl <> 1)
556: THEN
557: FND_MESSAGE.SET_NAME('GMI','IC_API_ITEM_NOT_LOT_CTL');
558: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
559: FND_MSG_PUB.Add;
560: RAISE FND_API.G_EXC_ERROR;
561: END IF;
562:
563: -- Check that lot number has been supplied and is not same value
564: -- as IC$DEFAULT_LOT
565: IF (l_lot_no = ' ' OR l_lot_no = IC$DEFAULT_LOT OR l_lot_no IS NULL)
566: THEN
567: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_NO');
568: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
569: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
570: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
571: FND_MSG_PUB.Add;
564: -- as IC$DEFAULT_LOT
565: IF (l_lot_no = ' ' OR l_lot_no = IC$DEFAULT_LOT OR l_lot_no IS NULL)
566: THEN
567: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_NO');
568: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
569: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
570: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
571: FND_MSG_PUB.Add;
572: RAISE FND_API.G_EXC_ERROR;
565: IF (l_lot_no = ' ' OR l_lot_no = IC$DEFAULT_LOT OR l_lot_no IS NULL)
566: THEN
567: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_NO');
568: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
569: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
570: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
571: FND_MSG_PUB.Add;
572: RAISE FND_API.G_EXC_ERROR;
573: END IF;
566: THEN
567: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_NO');
568: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
569: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
570: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
571: FND_MSG_PUB.Add;
572: RAISE FND_API.G_EXC_ERROR;
573: END IF;
574:
577: IF (p_item_rec.sublot_ctl <> 1 AND
578: l_sublot_no <> ' ' AND
579: l_sublot_no IS NOT NULL)
580: THEN
581: FND_MESSAGE.SET_NAME('GMI','IC_API_SUBLOT_NOT_REQD');
582: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
583: FND_MSG_PUB.Add;
584: RAISE FND_API.G_EXC_ERROR;
585: END IF;
578: l_sublot_no <> ' ' AND
579: l_sublot_no IS NOT NULL)
580: THEN
581: FND_MESSAGE.SET_NAME('GMI','IC_API_SUBLOT_NOT_REQD');
582: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
583: FND_MSG_PUB.Add;
584: RAISE FND_API.G_EXC_ERROR;
585: END IF;
586:
589: , l_lot_no
590: , l_sublot_no
591: )
592: THEN
593: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_ALREADY_EXISTS');
594: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
595: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
596: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
597: FND_MSG_PUB.Add;
590: , l_sublot_no
591: )
592: THEN
593: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_ALREADY_EXISTS');
594: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
595: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
596: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
597: FND_MSG_PUB.Add;
598: RAISE FND_API.G_EXC_ERROR;
591: )
592: THEN
593: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_ALREADY_EXISTS');
594: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
595: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
596: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
597: FND_MSG_PUB.Add;
598: RAISE FND_API.G_EXC_ERROR;
599: END IF;
592: THEN
593: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_ALREADY_EXISTS');
594: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
595: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
596: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
597: FND_MSG_PUB.Add;
598: RAISE FND_API.G_EXC_ERROR;
599: END IF;
600:
602: IF (p_item_rec.grade_ctl <> 1 AND
603: p_lot_rec.qc_grade <> ' ' AND
604: p_lot_rec.qc_grade IS NOT NULL)
605: THEN
606: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_QC_GRADE_NOT_REQD');
607: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
608: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
609: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
610: FND_MSG_PUB.Add;
603: p_lot_rec.qc_grade <> ' ' AND
604: p_lot_rec.qc_grade IS NOT NULL)
605: THEN
606: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_QC_GRADE_NOT_REQD');
607: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
608: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
609: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
610: FND_MSG_PUB.Add;
611: RAISE FND_API.G_EXC_ERROR;
604: p_lot_rec.qc_grade IS NOT NULL)
605: THEN
606: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_QC_GRADE_NOT_REQD');
607: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
608: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
609: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
610: FND_MSG_PUB.Add;
611: RAISE FND_API.G_EXC_ERROR;
612: END IF;
605: THEN
606: FND_MESSAGE.SET_NAME('GMI','IC_API_LOT_QC_GRADE_NOT_REQD');
607: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
608: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
609: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
610: FND_MSG_PUB.Add;
611: RAISE FND_API.G_EXC_ERROR;
612: END IF;
613:
615: IF NOT GMI_VALID_GRP.Validate_qc_grade ( p_lot_rec.qc_grade
616: , p_item_rec.grade_ctl
617: )
618: THEN
619: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_QC_GRADE');
620: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
621: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
622: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
623: FND_MSG_PUB.Add;
616: , p_item_rec.grade_ctl
617: )
618: THEN
619: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_QC_GRADE');
620: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
621: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
622: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
623: FND_MSG_PUB.Add;
624: RAISE FND_API.G_EXC_ERROR;
617: )
618: THEN
619: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_QC_GRADE');
620: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
621: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
622: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
623: FND_MSG_PUB.Add;
624: RAISE FND_API.G_EXC_ERROR;
625: END IF;
618: THEN
619: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_QC_GRADE');
620: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
621: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
622: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
623: FND_MSG_PUB.Add;
624: RAISE FND_API.G_EXC_ERROR;
625: END IF;
626:
629: , p_item_rec.grade_ctl
630: ) AND
631: p_lot_rec.expaction_code <> ' ')
632: THEN
633: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_EXPACTION_CODE');
634: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
635: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
636: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
637: FND_MSG_PUB.Add;
630: ) AND
631: p_lot_rec.expaction_code <> ' ')
632: THEN
633: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_EXPACTION_CODE');
634: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
635: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
636: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
637: FND_MSG_PUB.Add;
638: RAISE FND_API.G_EXC_ERROR;
631: p_lot_rec.expaction_code <> ' ')
632: THEN
633: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_EXPACTION_CODE');
634: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
635: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
636: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
637: FND_MSG_PUB.Add;
638: RAISE FND_API.G_EXC_ERROR;
639: END IF;
632: THEN
633: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_EXPACTION_CODE');
634: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
635: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
636: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
637: FND_MSG_PUB.Add;
638: RAISE FND_API.G_EXC_ERROR;
639: END IF;
640:
640:
641: --Validate Expire Date
642: IF (TRUNC(p_lot_rec.expire_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
643: THEN
644: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPIRE_DATE');
645: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
646: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
647: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
648: FND_MSG_PUB.Add;
641: --Validate Expire Date
642: IF (TRUNC(p_lot_rec.expire_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
643: THEN
644: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPIRE_DATE');
645: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
646: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
647: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
648: FND_MSG_PUB.Add;
649: RAISE FND_API.G_EXC_ERROR;
642: IF (TRUNC(p_lot_rec.expire_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
643: THEN
644: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPIRE_DATE');
645: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
646: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
647: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
648: FND_MSG_PUB.Add;
649: RAISE FND_API.G_EXC_ERROR;
650: END IF;
643: THEN
644: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPIRE_DATE');
645: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
646: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
647: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
648: FND_MSG_PUB.Add;
649: RAISE FND_API.G_EXC_ERROR;
650: END IF;
651:
651:
652: --Validate Retest Date
653: IF (TRUNC(p_lot_rec.retest_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
654: THEN
655: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_RETEST_DATE');
656: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
657: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
658: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
659: FND_MSG_PUB.Add;
652: --Validate Retest Date
653: IF (TRUNC(p_lot_rec.retest_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
654: THEN
655: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_RETEST_DATE');
656: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
657: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
658: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
659: FND_MSG_PUB.Add;
660: RAISE FND_API.G_EXC_ERROR;
653: IF (TRUNC(p_lot_rec.retest_date, 'DD') < TRUNC(p_lot_rec.lot_created, 'DD'))
654: THEN
655: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_RETEST_DATE');
656: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
657: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
658: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
659: FND_MSG_PUB.Add;
660: RAISE FND_API.G_EXC_ERROR;
661: END IF;
654: THEN
655: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_RETEST_DATE');
656: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
657: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
658: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
659: FND_MSG_PUB.Add;
660: RAISE FND_API.G_EXC_ERROR;
661: END IF;
662:
662:
663: --Validate Expaction Date
664: IF (TRUNC(p_lot_rec.expaction_date,'DD') < TRUNC(p_lot_rec.lot_created,'DD'))
665: THEN
666: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPACTION_DATE');
667: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
668: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
669: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
670: FND_MSG_PUB.Add;
663: --Validate Expaction Date
664: IF (TRUNC(p_lot_rec.expaction_date,'DD') < TRUNC(p_lot_rec.lot_created,'DD'))
665: THEN
666: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPACTION_DATE');
667: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
668: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
669: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_ERROR;
664: IF (TRUNC(p_lot_rec.expaction_date,'DD') < TRUNC(p_lot_rec.lot_created,'DD'))
665: THEN
666: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPACTION_DATE');
667: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
668: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
669: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_ERROR;
672: END IF;
665: THEN
666: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_EXPACTION_DATE');
667: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
668: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
669: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_ERROR;
672: END IF;
673:
673:
674: --Validate Strength
675: IF NOT GMI_VALID_GRP.Validate_strength(p_lot_rec.strength)
676: THEN
677: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_STRENGTH');
678: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
679: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
680: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
681: FND_MSG_PUB.Add;
674: --Validate Strength
675: IF NOT GMI_VALID_GRP.Validate_strength(p_lot_rec.strength)
676: THEN
677: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_STRENGTH');
678: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
679: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
680: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
681: FND_MSG_PUB.Add;
682: RAISE FND_API.G_EXC_ERROR;
675: IF NOT GMI_VALID_GRP.Validate_strength(p_lot_rec.strength)
676: THEN
677: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_STRENGTH');
678: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
679: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
680: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
681: FND_MSG_PUB.Add;
682: RAISE FND_API.G_EXC_ERROR;
683: END IF;
676: THEN
677: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_STRENGTH');
678: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
679: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
680: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
681: FND_MSG_PUB.Add;
682: RAISE FND_API.G_EXC_ERROR;
683: END IF;
684:
684:
685: --Validate Inactive Indicator
686: IF NOT GMI_VALID_GRP.Validate_inactive_ind(p_lot_rec.inactive_ind)
687: THEN
688: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_INACTIVE');
689: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
690: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
691: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
692: FND_MSG_PUB.Add;
685: --Validate Inactive Indicator
686: IF NOT GMI_VALID_GRP.Validate_inactive_ind(p_lot_rec.inactive_ind)
687: THEN
688: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_INACTIVE');
689: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
690: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
691: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
692: FND_MSG_PUB.Add;
693: RAISE FND_API.G_EXC_ERROR;
686: IF NOT GMI_VALID_GRP.Validate_inactive_ind(p_lot_rec.inactive_ind)
687: THEN
688: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_INACTIVE');
689: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
690: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
691: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
692: FND_MSG_PUB.Add;
693: RAISE FND_API.G_EXC_ERROR;
694: END IF;
687: THEN
688: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_INACTIVE');
689: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
690: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
691: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
692: FND_MSG_PUB.Add;
693: RAISE FND_API.G_EXC_ERROR;
694: END IF;
695:
697: --HAM IF NOT GMI_VALID_GRP.Validate_origination_type(p_lot_rec.origination_type)
698: IF GMI_VALID_GRP.Validate_origination_type(p_lot_rec.origination_type)
699: THEN
700: NULL;
701: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_ORIG_TYPE');
702: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
703: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
704: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
705: FND_MSG_PUB.Add;
698: IF GMI_VALID_GRP.Validate_origination_type(p_lot_rec.origination_type)
699: THEN
700: NULL;
701: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_ORIG_TYPE');
702: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
703: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
704: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
705: FND_MSG_PUB.Add;
706: RAISE FND_API.G_EXC_ERROR;
699: THEN
700: NULL;
701: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_ORIG_TYPE');
702: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
703: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
704: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
705: FND_MSG_PUB.Add;
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
700: NULL;
701: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_ORIG_TYPE');
702: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
703: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
704: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
705: FND_MSG_PUB.Add;
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
708:
711: THEN
712: NULL;
713: ELSIF
714: GMI_VALID_GRP.Validate_shipvendor_no(p_lot_rec.shipvendor_no) = 0 THEN
715: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_SHIPVENDOR_NO');
716: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
717: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
718: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
719: FND_MSG_PUB.Add;
712: NULL;
713: ELSIF
714: GMI_VALID_GRP.Validate_shipvendor_no(p_lot_rec.shipvendor_no) = 0 THEN
715: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_SHIPVENDOR_NO');
716: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
717: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
718: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
719: FND_MSG_PUB.Add;
720: RAISE FND_API.G_EXC_ERROR;
713: ELSIF
714: GMI_VALID_GRP.Validate_shipvendor_no(p_lot_rec.shipvendor_no) = 0 THEN
715: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_SHIPVENDOR_NO');
716: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
717: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
718: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
719: FND_MSG_PUB.Add;
720: RAISE FND_API.G_EXC_ERROR;
721: END IF;
714: GMI_VALID_GRP.Validate_shipvendor_no(p_lot_rec.shipvendor_no) = 0 THEN
715: FND_MESSAGE.SET_NAME('GMI','IC_API_INV_LOT_SHIPVENDOR_NO');
716: FND_MESSAGE.SET_TOKEN('ITEM_NO', l_item_no);
717: FND_MESSAGE.SET_TOKEN('LOT_NO', l_lot_no);
718: FND_MESSAGE.SET_TOKEN('SUBLOT_NO', l_sublot_no);
719: FND_MSG_PUB.Add;
720: RAISE FND_API.G_EXC_ERROR;
721: END IF;
722:
722:
723: --Validate Maturity date (CPG)
724: IF (p_lot_rec.ic_matr_date < p_lot_rec.lot_created)
725: THEN
726: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_MATR_DATE');
727: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
728: FND_MSG_PUB.Add;
729: RAISE FND_API.G_EXC_ERROR;
730: END IF;
723: --Validate Maturity date (CPG)
724: IF (p_lot_rec.ic_matr_date < p_lot_rec.lot_created)
725: THEN
726: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_MATR_DATE');
727: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
728: FND_MSG_PUB.Add;
729: RAISE FND_API.G_EXC_ERROR;
730: END IF;
731:
731:
732: --Validate Hold release date (CPG)
733: IF (p_lot_rec.ic_hold_date < p_lot_rec.lot_created)
734: THEN
735: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_HOLD_DATE');
736: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
737: FND_MSG_PUB.Add;
738: RAISE FND_API.G_EXC_ERROR;
739: END IF;
732: --Validate Hold release date (CPG)
733: IF (p_lot_rec.ic_hold_date < p_lot_rec.lot_created)
734: THEN
735: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_LOT_HOLD_DATE');
736: FND_MESSAGE.SET_TOKEN('ITEM_NO',l_item_no);
737: FND_MSG_PUB.Add;
738: RAISE FND_API.G_EXC_ERROR;
739: END IF;
740: