165:
166: IF L_RETURN_STATUS <> 0 THEN
167:
168: FND_MESSAGE.SET_NAME('INV','INV_LOT_COMMIT_FAILURE');
169: FND_MSG_PUB.ADD;
170: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
171:
172: END IF;
173:
188:
189: IF L_RETURN_STATUS <> 0 THEN
190:
191: FND_MESSAGE.SET_NAME('INV','INV_LOT_COMMIT_FAILURE');
192: FND_MSG_PUB.ADD;
193: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
194:
195: END IF;
196:
204:
205: IF L_RETURN_STATUS <> 0 THEN
206:
207: FND_MESSAGE.SET_NAME('INV','INV_SERIAL_COMMIT_FAILURE');
208: FND_MSG_PUB.ADD;
209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
210:
211: END IF;
212:
224:
225: IF L_RETURN_STATUS <> 0 THEN
226:
227: FND_MESSAGE.SET_NAME('INV','INV_SERIAL_COMMIT_FAILURE');
228: FND_MSG_PUB.ADD;
229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
230:
231: END IF;
232:
243: WHEN FND_API.G_EXC_ERROR THEN
244:
245: ROLLBACK TO TRX_BEGIN;
246: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
247: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
248:
249: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
250:
251: ROLLBACK TO TRX_BEGIN;
249: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
250:
251: ROLLBACK TO TRX_BEGIN;
252: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
253: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
254:
255: WHEN OTHERS THEN
256:
257: ROLLBACK TO TRX_BEGIN;
255: WHEN OTHERS THEN
256:
257: ROLLBACK TO TRX_BEGIN;
258: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
259: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
260: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
261: END IF;
262: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
263:
256:
257: ROLLBACK TO TRX_BEGIN;
258: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
259: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
260: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
261: END IF;
262: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
263:
264: END TRANSFER;
258: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
259: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
260: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
261: END IF;
262: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
263:
264: END TRANSFER;
265:
266: PROCEDURE VALIDATE(
338: P_LOCATOR_ID IS NULL OR P_COST_GROUP_ID IS NULL
339: THEN
340:
341: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_CGU_REQ');
342: FND_MSG_PUB.ADD;
343: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
344:
345: END IF;
346:
347: IF P_IS_REVISION_CONTROLLED = 'Y' AND P_REVISION IS NULL THEN
348:
349: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_TRN_EXP');
350: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_REV'));
351: FND_MSG_PUB.ADD;
352: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
353:
354: END IF;
355:
356: IF P_IS_LOT_CONTROLLED = 'Y' AND P_LOT_NUMBER IS NULL THEN
357:
358: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_TRN_EXP');
359: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_LOT'));
360: FND_MSG_PUB.ADD;
361: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
362:
363: END IF;
364:
365: IF P_IS_SERIAL_CONTROLLED = 'Y' AND P_SERIAL_NUMBER IS NULL THEN
366:
367: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_TRN_EXP');
368: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_SER'));
369: FND_MSG_PUB.ADD;
370: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
371:
372: END IF;
373:
374: IF P_IS_LPN_REQUIRED = 'Y' AND P_LPN_ID IS NULL THEN
375:
376: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_TRN_EXP');
377: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_LPN'));
378: FND_MSG_PUB.ADD;
379: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
380:
381: END IF;
382:
390: IF L_PROJ_ID IS NOT NULL
391: THEN
392:
393: FND_MESSAGE.SET_NAME('INV','INV_PRJ_CG_XFR_DISALLOWED');
394: fnd_msg_pub.add;
395: X_RETURN_STATUS:=FND_API.G_RET_STS_ERROR;
396: END IF;
397: END IF;
398:
416: IF L_RETURN_STATUS = 'N' THEN
417:
418: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_STATUS_NA');
419: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('INV','INV_SUBINV'));
420: FND_MSG_PUB.ADD;
421: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
422:
423: END IF;
424:
444: IF L_RETURN_STATUS = 'N' THEN
445:
446: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_STATUS_NA');
447: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_LOC'));
448: FND_MSG_PUB.ADD;
449: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
450:
451: END IF;
452:
472: IF L_RETURN_STATUS = 'N' THEN
473:
474: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_STATUS_NA');
475: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_LOT'));
476: FND_MSG_PUB.ADD;
477: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
478:
479: END IF;
480:
500: IF L_RETURN_STATUS = 'N' THEN
501:
502: FND_MESSAGE.SET_NAME('WMS','WMS_ATT_STATUS_NA');
503: FND_MESSAGE.SET_TOKEN('TOKEN',FND_MESSAGE.GET_STRING('WMS','WMS_SER'));
504: FND_MSG_PUB.ADD;
505: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
506:
507: END IF;
508:
545:
546: L_ATT := 0;
547: L_QOH := X_ONHAND;
548: FND_MESSAGE.SET_NAME('INV','INV_ERROR_FIND_LPN_QTY');
549: FND_MSG_PUB.ADD;
550: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
551:
552: END IF;
553:
610:
611: IF NVL(L_ATT,0) <> L_QOH THEN
612:
613: FND_MESSAGE.SET_NAME('WMS','WMS_COMMINGLE_WARN');
614: FND_MSG_PUB.ADD;
615: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
616:
617: END IF;
618:
624: X_ONHAND := NVL(L_QOH,0);
625:
626: IF X_RETURN_STATUS = FND_API.G_RET_STS_ERROR THEN
627:
628: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
629:
630: END IF;
631:
632: EXCEPTION
635:
636: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
637: X_ONHAND := NVL(X_ONHAND,0);
638: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
639: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
640:
641: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642:
643: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
642:
643: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
644: X_ONHAND := NVL(X_ONHAND,0);
645: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
646: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
647:
648: WHEN OTHERS THEN
649:
650: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
649:
650: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
651: X_ONHAND := NVL(X_ONHAND,0);
652: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
653: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
654: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'VALIDATE');
655: END IF;
656: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
657:
650: X_AVAILABILITY := NVL(X_AVAILABILITY,0);
651: X_ONHAND := NVL(X_ONHAND,0);
652: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
653: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
654: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'VALIDATE');
655: END IF;
656: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
657:
658: END VALIDATE;
652: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
653: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
654: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'VALIDATE');
655: END IF;
656: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
657:
658: END VALIDATE;
659:
660: PROCEDURE UPDATE_QUANTITY_TREE(
772:
773: WHEN FND_API.G_EXC_ERROR THEN
774:
775: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
776: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
777:
778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
779:
780: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
777:
778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
779:
780: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
781: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
782:
783: WHEN OTHERS THEN
784:
785: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
782:
783: WHEN OTHERS THEN
784:
785: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
786: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
787: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
788: END IF;
789: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
790:
783: WHEN OTHERS THEN
784:
785: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
786: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
787: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
788: END IF;
789: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
790:
791: END UPDATE_QUANTITY_TREE;
785: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
786: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
787: FND_MSG_PUB.ADD_EXC_MSG( g_pkg_name, 'TRANSFER');
788: END IF;
789: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
790:
791: END UPDATE_QUANTITY_TREE;
792:
793: END INV_MWB_CG_TRANSFER;