26: -- End of comments
27: PROCEDURE INSERT_ITEM_TECHNICAL_DATA
28: (
29: p_api_version IN NUMBER
30: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31: , p_commit IN VARCHAR2 := FND_API.G_FALSE
32: , x_return_status OUT NOCOPY VARCHAR2
33: , x_msg_count OUT NOCOPY NUMBER
34: , x_msg_data OUT NOCOPY VARCHAR2
27: PROCEDURE INSERT_ITEM_TECHNICAL_DATA
28: (
29: p_api_version IN NUMBER
30: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31: , p_commit IN VARCHAR2 := FND_API.G_FALSE
32: , x_return_status OUT NOCOPY VARCHAR2
33: , x_msg_count OUT NOCOPY NUMBER
34: , x_msg_data OUT NOCOPY VARCHAR2
35: , p_header_rec IN OUT NOCOPY technical_data_hdr_rec
58:
59: SAVEPOINT Insert_Item_Tech_Data_PUB; /* Changed in Bug No.7489645*/
60:
61: -- Initialize message list if p_init_msg_list is set to TRUE.
62: IF FND_API.to_Boolean( p_init_msg_list ) THEN
63: FND_MSG_PUB.initialize;
64: END IF;
65:
66: -- Standard call to check for call compatibility.
63: FND_MSG_PUB.initialize;
64: END IF;
65:
66: -- Standard call to check for call compatibility.
67: IF NOT FND_API.Compatible_API_Call ( l_api_version
68: , p_api_version
69: , l_api_name
70: , G_PKG_NAME
71: ) THEN
69: , l_api_name
70: , G_PKG_NAME
71: ) THEN
72:
73: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
74: END IF;
75:
76: -- Initialize API return status to success
77: x_return_status := FND_API.G_RET_STS_SUCCESS;
73: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
74: END IF;
75:
76: -- Initialize API return status to success
77: x_return_status := FND_API.G_RET_STS_SUCCESS;
78:
79: -- Validate i/p parm's here
80: Validate_Input_Params
81: (
84: , p_operation => 'INSERT'
85: , x_return_status => l_return_status
86: );
87:
88: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
89: FND_MESSAGE.SET_NAME('GMD','GMD_API_NO_ROWS_INS');
90: FND_MSG_PUB.ADD;
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
87:
88: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
89: FND_MESSAGE.SET_NAME('GMD','GMD_API_NO_ROWS_INS');
90: FND_MSG_PUB.ADD;
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Insert Item Technical Data header
95: GMD_ITEM_TECHNICAL_DATA_PVT.INSERT_ITEM_TECHNICAL_DATA_HDR
162: , p_last_update_login => FND_GLOBAL.LOGIN_ID
163: );
164: END LOOP;
165:
166: IF FND_API.To_Boolean( p_commit ) THEN
167: COMMIT WORK;
168: END IF;
169:
170: EXCEPTION
167: COMMIT WORK;
168: END IF;
169:
170: EXCEPTION
171: WHEN FND_API.G_EXC_ERROR THEN
172:
173: ROLLBACK TO Insert_Item_Tech_Data_PUB;
174: x_return_status := FND_API.G_RET_STS_ERROR ;
175: fnd_msg_pub.count_and_get (
170: EXCEPTION
171: WHEN FND_API.G_EXC_ERROR THEN
172:
173: ROLLBACK TO Insert_Item_Tech_Data_PUB;
174: x_return_status := FND_API.G_RET_STS_ERROR ;
175: fnd_msg_pub.count_and_get (
176: p_count => x_msg_count
177: ,p_encoded => FND_API.g_false
178: ,p_data => x_msg_data);
173: ROLLBACK TO Insert_Item_Tech_Data_PUB;
174: x_return_status := FND_API.G_RET_STS_ERROR ;
175: fnd_msg_pub.count_and_get (
176: p_count => x_msg_count
177: ,p_encoded => FND_API.g_false
178: ,p_data => x_msg_data);
179:
180:
181: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
177: ,p_encoded => FND_API.g_false
178: ,p_data => x_msg_data);
179:
180:
181: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
182:
183: ROLLBACK TO Insert_Item_Tech_Data_PUB;
184:
185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
181: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
182:
183: ROLLBACK TO Insert_Item_Tech_Data_PUB;
184:
185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
186: fnd_msg_pub.count_and_get (
187: p_count => x_msg_count
188: ,p_encoded => FND_API.g_false
189: ,p_data => x_msg_data);
184:
185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
186: fnd_msg_pub.count_and_get (
187: p_count => x_msg_count
188: ,p_encoded => FND_API.g_false
189: ,p_data => x_msg_data);
190:
191: WHEN OTHERS THEN
192:
191: WHEN OTHERS THEN
192:
193: ROLLBACK TO Insert_Item_Tech_Data_PUB;
194:
195: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
196: fnd_msg_pub.count_and_get (
197: p_count => x_msg_count
198: ,p_encoded => FND_API.g_false
199: ,p_data => x_msg_data);
194:
195: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
196: fnd_msg_pub.count_and_get (
197: p_count => x_msg_count
198: ,p_encoded => FND_API.g_false
199: ,p_data => x_msg_data);
200:
201: END INSERT_ITEM_TECHNICAL_DATA;
202:
215: -- End of comments
216: PROCEDURE UPDATE_ITEM_TECHNICAL_DATA
217: (
218: p_api_version IN NUMBER
219: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
220: , p_commit IN VARCHAR2 := FND_API.G_FALSE
221: , x_return_status OUT NOCOPY VARCHAR2
222: , x_msg_count OUT NOCOPY NUMBER
223: , x_msg_data OUT NOCOPY VARCHAR2
216: PROCEDURE UPDATE_ITEM_TECHNICAL_DATA
217: (
218: p_api_version IN NUMBER
219: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
220: , p_commit IN VARCHAR2 := FND_API.G_FALSE
221: , x_return_status OUT NOCOPY VARCHAR2
222: , x_msg_count OUT NOCOPY NUMBER
223: , x_msg_data OUT NOCOPY VARCHAR2
224: , p_tech_data_id IN NUMBER
273:
274: SAVEPOINT Update_Item_Tech_Data_PUB;
275: l_tech_data_id := p_tech_data_id;
276: -- Initialize message list if p_init_msg_list is set to TRUE.
277: IF FND_API.to_Boolean( p_init_msg_list )
278: THEN
279: FND_MSG_PUB.initialize;
280: END IF;
281:
280: END IF;
281:
282:
283: -- Standard call to check for call compatibility.
284: IF NOT FND_API.Compatible_API_Call (l_api_version ,
285: p_api_version ,
286: l_api_name ,
287: G_PKG_NAME
288: )
286: l_api_name ,
287: G_PKG_NAME
288: )
289: THEN
290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
291: END IF;
292:
293: -- Initialize API return status to success
294:
291: END IF;
292:
293: -- Initialize API return status to success
294:
295: x_return_status := FND_API.G_RET_STS_SUCCESS;
296:
297: /*-- Validate i/p parm's here
298: Validate_Input_Params
299: (
303: , x_return_status => l_return_status
304: );
305:
306:
307: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
308: FND_MESSAGE.SET_NAME('GMD','GMF_API_NO_ROWS_UPD');
309: FND_MSG_PUB.ADD;
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;*/
306:
307: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
308: FND_MESSAGE.SET_NAME('GMD','GMF_API_NO_ROWS_UPD');
309: FND_MSG_PUB.ADD;
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;*/
312:
313: --Checked for valid tech data id
314: IF p_tech_data_id IS NOT NULL THEN
405: END IF;
406: END LOOP;
407:
408:
409: IF FND_API.To_Boolean( p_commit ) THEN
410: COMMIT WORK;
411: END IF;
412:
413: EXCEPTION
411: END IF;
412:
413: EXCEPTION
414:
415: WHEN FND_API.G_EXC_ERROR THEN
416:
417: ROLLBACK TO Update_Item_Tech_Data_PUB;
418: x_return_status := FND_API.G_RET_STS_ERROR ;
419: fnd_msg_pub.count_and_get (
414:
415: WHEN FND_API.G_EXC_ERROR THEN
416:
417: ROLLBACK TO Update_Item_Tech_Data_PUB;
418: x_return_status := FND_API.G_RET_STS_ERROR ;
419: fnd_msg_pub.count_and_get (
420: p_count => x_msg_count
421: ,p_encoded => FND_API.g_false
422: ,p_data => x_msg_data);
417: ROLLBACK TO Update_Item_Tech_Data_PUB;
418: x_return_status := FND_API.G_RET_STS_ERROR ;
419: fnd_msg_pub.count_and_get (
420: p_count => x_msg_count
421: ,p_encoded => FND_API.g_false
422: ,p_data => x_msg_data);
423:
424: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
425:
420: p_count => x_msg_count
421: ,p_encoded => FND_API.g_false
422: ,p_data => x_msg_data);
423:
424: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
425:
426: ROLLBACK TO Update_Item_Tech_Data_PUB;
427: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
428: fnd_msg_pub.count_and_get (
423:
424: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
425:
426: ROLLBACK TO Update_Item_Tech_Data_PUB;
427: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
428: fnd_msg_pub.count_and_get (
429: p_count => x_msg_count
430: ,p_encoded => FND_API.g_false
431: ,p_data => x_msg_data);
426: ROLLBACK TO Update_Item_Tech_Data_PUB;
427: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
428: fnd_msg_pub.count_and_get (
429: p_count => x_msg_count
430: ,p_encoded => FND_API.g_false
431: ,p_data => x_msg_data);
432:
433: WHEN no_tech_data_value THEN
434: ROLLBACK TO Update_Item_Tech_Data_PUB;
431: ,p_data => x_msg_data);
432:
433: WHEN no_tech_data_value THEN
434: ROLLBACK TO Update_Item_Tech_Data_PUB;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: FND_MSG_PUB.COUNT_AND_GET (P_count => x_msg_count,
437: P_data => x_msg_data);
438: WHEN invalid_tech_data_value THEN
439: ROLLBACK TO Update_Item_Tech_Data_PUB;
436: FND_MSG_PUB.COUNT_AND_GET (P_count => x_msg_count,
437: P_data => x_msg_data);
438: WHEN invalid_tech_data_value THEN
439: ROLLBACK TO Update_Item_Tech_Data_PUB;
440: x_return_status := FND_API.G_RET_STS_ERROR;
441: FND_MSG_PUB.COUNT_AND_GET (P_count => x_msg_count,
442: P_data => x_msg_data);
443:
444: WHEN OTHERS THEN
443:
444: WHEN OTHERS THEN
445:
446: ROLLBACK TO Update_Item_Tech_Data_PUB;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: fnd_msg_pub.count_and_get (
449: p_count => x_msg_count
450: ,p_encoded => FND_API.g_false
451: ,p_data => x_msg_data);
446: ROLLBACK TO Update_Item_Tech_Data_PUB;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: fnd_msg_pub.count_and_get (
449: p_count => x_msg_count
450: ,p_encoded => FND_API.g_false
451: ,p_data => x_msg_data);
452:
453: END UPDATE_ITEM_TECHNICAL_DATA;
454:
466:
467: PROCEDURE DELETE_ITEM_TECHNICAL_DATA
468: (
469: p_api_version IN NUMBER
470: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
471: , p_commit IN VARCHAR2 := FND_API.G_FALSE
472: , x_return_status OUT NOCOPY VARCHAR2
473: , x_msg_count OUT NOCOPY NUMBER
474: , x_msg_data OUT NOCOPY VARCHAR2
467: PROCEDURE DELETE_ITEM_TECHNICAL_DATA
468: (
469: p_api_version IN NUMBER
470: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
471: , p_commit IN VARCHAR2 := FND_API.G_FALSE
472: , x_return_status OUT NOCOPY VARCHAR2
473: , x_msg_count OUT NOCOPY NUMBER
474: , x_msg_data OUT NOCOPY VARCHAR2
475: , p_tech_data_id IN NUMBER
482:
483: SAVEPOINT Delete_Item_Tech_Data_PUB;
484:
485: -- Initialize message list if p_init_msg_list is set to TRUE.
486: IF FND_API.to_Boolean( p_init_msg_list )
487: THEN
488: FND_MSG_PUB.initialize;
489: END IF;
490:
488: FND_MSG_PUB.initialize;
489: END IF;
490:
491: -- Standard call to check for call compatibility.
492: IF NOT FND_API.Compatible_API_Call (l_api_version ,
493: p_api_version ,
494: l_api_name ,
495: G_PKG_NAME
496: )
494: l_api_name ,
495: G_PKG_NAME
496: )
497: THEN
498: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
499: END IF;
500:
501: -- Initialize API return status to success
502: x_return_status := FND_API.G_RET_STS_SUCCESS;
498: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
499: END IF;
500:
501: -- Initialize API return status to success
502: x_return_status := FND_API.G_RET_STS_SUCCESS;
503:
504: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
505: ( p_api_version => p_api_version
506: , p_init_msg_list => FND_API.G_FALSE
502: x_return_status := FND_API.G_RET_STS_SUCCESS;
503:
504: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
505: ( p_api_version => p_api_version
506: , p_init_msg_list => FND_API.G_FALSE
507: , p_commit => FND_API.G_FALSE
508: , x_return_status => x_return_status
509: , x_msg_count => x_msg_count
510: , x_msg_data => x_msg_data
503:
504: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
505: ( p_api_version => p_api_version
506: , p_init_msg_list => FND_API.G_FALSE
507: , p_commit => FND_API.G_FALSE
508: , x_return_status => x_return_status
509: , x_msg_count => x_msg_count
510: , x_msg_data => x_msg_data
511: , p_tech_data_id => p_tech_data_id
510: , x_msg_data => x_msg_data
511: , p_tech_data_id => p_tech_data_id
512: );
513:
514: IF FND_API.To_Boolean( p_commit ) THEN
515: COMMIT WORK;
516: END IF;
517:
518: EXCEPTION
515: COMMIT WORK;
516: END IF;
517:
518: EXCEPTION
519: WHEN FND_API.G_EXC_ERROR THEN
520:
521: ROLLBACK TO Delete_Item_Tech_Data_PUB;
522: x_return_status := FND_API.G_RET_STS_ERROR ;
523: fnd_msg_pub.count_and_get (
518: EXCEPTION
519: WHEN FND_API.G_EXC_ERROR THEN
520:
521: ROLLBACK TO Delete_Item_Tech_Data_PUB;
522: x_return_status := FND_API.G_RET_STS_ERROR ;
523: fnd_msg_pub.count_and_get (
524: p_count => x_msg_count
525: ,p_encoded => FND_API.g_false
526: ,p_data => x_msg_data);
521: ROLLBACK TO Delete_Item_Tech_Data_PUB;
522: x_return_status := FND_API.G_RET_STS_ERROR ;
523: fnd_msg_pub.count_and_get (
524: p_count => x_msg_count
525: ,p_encoded => FND_API.g_false
526: ,p_data => x_msg_data);
527:
528:
529: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
525: ,p_encoded => FND_API.g_false
526: ,p_data => x_msg_data);
527:
528:
529: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
530:
531: ROLLBACK TO Delete_Item_Tech_Data_PUB;
532: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
533: fnd_msg_pub.count_and_get (
528:
529: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
530:
531: ROLLBACK TO Delete_Item_Tech_Data_PUB;
532: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
533: fnd_msg_pub.count_and_get (
534: p_count => x_msg_count
535: ,p_encoded => FND_API.g_false
536: ,p_data => x_msg_data);
531: ROLLBACK TO Delete_Item_Tech_Data_PUB;
532: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
533: fnd_msg_pub.count_and_get (
534: p_count => x_msg_count
535: ,p_encoded => FND_API.g_false
536: ,p_data => x_msg_data);
537:
538: WHEN OTHERS THEN
539:
537:
538: WHEN OTHERS THEN
539:
540: ROLLBACK TO Delete_Item_Tech_Data_PUB;
541: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
542: fnd_msg_pub.count_and_get (
543: p_count => x_msg_count
544: ,p_encoded => FND_API.g_false
545: ,p_data => x_msg_data);
540: ROLLBACK TO Delete_Item_Tech_Data_PUB;
541: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
542: fnd_msg_pub.count_and_get (
543: p_count => x_msg_count
544: ,p_encoded => FND_API.g_false
545: ,p_data => x_msg_data);
546:
547: END DELETE_ITEM_TECHNICAL_DATA;
548:
627:
628: BEGIN
629:
630: -- Initialize API return status to success
631: x_return_status := FND_API.G_RET_STS_SUCCESS;
632:
633: -- Check if inventory_id is NOT NULL
634: IF p_header_rec.inventory_item_id IS NULL THEN
635: RAISE ITEM_MISSING;
684: IF (p_header_rec.FORMULA_ID IS NOT NULL AND p_header_rec.BATCH_ID IS NOT NULL) THEN
685: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
686: FND_MESSAGE.SET_TOKEN ('MISSING', 'FORMULA_ID');
687: FND_MSG_PUB.ADD;
688: x_return_status := FND_API.G_RET_STS_ERROR ;
689: RAISE FND_API.G_EXC_ERROR;
690: END IF;*/
691:
692:
685: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
686: FND_MESSAGE.SET_TOKEN ('MISSING', 'FORMULA_ID');
687: FND_MSG_PUB.ADD;
688: x_return_status := FND_API.G_RET_STS_ERROR ;
689: RAISE FND_API.G_EXC_ERROR;
690: END IF;*/
691:
692:
693: -- Check whether the formula is valid
707: FETCH check_batch INTO l_count;
708: IF check_batch%NOTFOUND THEN
709: FND_MESSAGE.SET_NAME ('GMD', 'GMD_BATCH_NOT_FOUND');
710: FND_MSG_PUB.ADD;
711: x_return_status := FND_API.G_RET_STS_ERROR ;
712: CLOSE check_batch;
713: RAISE FND_API.G_EXC_ERROR;
714: END IF;
715: CLOSE check_batch;
709: FND_MESSAGE.SET_NAME ('GMD', 'GMD_BATCH_NOT_FOUND');
710: FND_MSG_PUB.ADD;
711: x_return_status := FND_API.G_RET_STS_ERROR ;
712: CLOSE check_batch;
713: RAISE FND_API.G_EXC_ERROR;
714: END IF;
715: CLOSE check_batch;
716: END IF;*/
717:
727: WHEN ITEM_MISSING THEN
728: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
729: FND_MESSAGE.SET_TOKEN ('MISSING', 'INVENTORY_ITEM_ID');
730: FND_MSG_PUB.ADD;
731: x_return_status := FND_API.G_RET_STS_ERROR ;
732:
733: WHEN DUPLICATE_RECORD THEN
734: FND_MESSAGE.SET_NAME('GMP','PS_DUP_REC');
735: FND_MSG_PUB.ADD;
732:
733: WHEN DUPLICATE_RECORD THEN
734: FND_MESSAGE.SET_NAME('GMP','PS_DUP_REC');
735: FND_MSG_PUB.ADD;
736: x_return_status := FND_API.G_RET_STS_ERROR ;
737:
738: WHEN ORGANIZATION_MISSING THEN
739: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
740: FND_MESSAGE.SET_TOKEN ('MISSING', 'ORGANIZATION_ID');
738: WHEN ORGANIZATION_MISSING THEN
739: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
740: FND_MESSAGE.SET_TOKEN ('MISSING', 'ORGANIZATION_ID');
741: FND_MSG_PUB.ADD;
742: x_return_status := FND_API.G_RET_STS_ERROR ;
743:
744: WHEN LOT_MISSING THEN
745: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
746: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_NO');
744: WHEN LOT_MISSING THEN
745: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
746: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_NO');
747: FND_MSG_PUB.ADD;
748: x_return_status := FND_API.G_RET_STS_ERROR ;
749:
750: WHEN LOT_ORGN_MISSING THEN
751: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
752: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_ORGANIZATION_ID');
750: WHEN LOT_ORGN_MISSING THEN
751: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
752: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_ORGANIZATION_ID');
753: FND_MSG_PUB.ADD;
754: x_return_status := FND_API.G_RET_STS_ERROR ;
755:
756: WHEN INVALID_ITEM_NO THEN
757: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_ITEM_NO');
758: FND_MSG_PUB.ADD;
755:
756: WHEN INVALID_ITEM_NO THEN
757: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_ITEM_NO');
758: FND_MSG_PUB.ADD;
759: x_return_status := FND_API.G_RET_STS_ERROR ;
760:
761: WHEN INVALID_LAB_ORGN THEN
762: FND_MESSAGE.SET_NAME ('GMD', 'LM_BAD_LAB_TYPE');
763: FND_MSG_PUB.ADD;
760:
761: WHEN INVALID_LAB_ORGN THEN
762: FND_MESSAGE.SET_NAME ('GMD', 'LM_BAD_LAB_TYPE');
763: FND_MSG_PUB.ADD;
764: x_return_status := FND_API.G_RET_STS_ERROR ;
765:
766: WHEN INVALID_LOT THEN
767: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_LOT/SUBLOT');
768: FND_MSG_PUB.ADD;
765:
766: WHEN INVALID_LOT THEN
767: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_LOT/SUBLOT');
768: FND_MSG_PUB.ADD;
769: x_return_status := FND_API.G_RET_STS_ERROR ;
770:
771: WHEN INVALID_FORMULA THEN
772: FND_MESSAGE.SET_NAME ('GMD', 'LM_NOT_PROD');
773: FND_MSG_PUB.ADD;
770:
771: WHEN INVALID_FORMULA THEN
772: FND_MESSAGE.SET_NAME ('GMD', 'LM_NOT_PROD');
773: FND_MSG_PUB.ADD;
774: x_return_status := FND_API.G_RET_STS_ERROR ;
775:
776: END VALIDATE_INPUT_PARAMS;
777:
778:
791:
792: PROCEDURE FETCH_ITEM_TECHNICAL_DATA (
793:
794: p_api_version IN NUMBER
795: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
796: , x_msg_count OUT NOCOPY NUMBER
797: , x_msg_data OUT NOCOPY VARCHAR2
798: , p_header_rec IN technical_data_hdr_rec
799: , x_dtl_tbl OUT NOCOPY technical_data_dtl_tab
807:
808: BEGIN
809:
810: -- Initialize message list if p_init_msg_list is set to TRUE.
811: IF FND_API.to_Boolean( p_init_msg_list ) THEN
812: FND_MSG_PUB.initialize;
813: END IF;
814:
815: -- Standard call to check for call compatibility.
812: FND_MSG_PUB.initialize;
813: END IF;
814:
815: -- Standard call to check for call compatibility.
816: IF NOT FND_API.Compatible_API_Call (l_api_version ,
817: p_api_version ,
818: l_api_name ,
819: G_PKG_NAME
820: )
818: l_api_name ,
819: G_PKG_NAME
820: )
821: THEN
822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
823: END IF;
824:
825: -- Initialize API return status to success
826: x_return_status := FND_API.G_RET_STS_SUCCESS;
822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
823: END IF;
824:
825: -- Initialize API return status to success
826: x_return_status := FND_API.G_RET_STS_SUCCESS;
827:
828: GMD_ITEM_TECHNICAL_DATA_PVT.FETCH_ITEM_TECHNICAL_DATA (
829: p_api_version => p_api_version
830: , p_init_msg_list => p_init_msg_list
836: );
837:
838: EXCEPTION
839:
840: WHEN FND_API.G_EXC_ERROR THEN
841: x_return_status := FND_API.G_RET_STS_ERROR ;
842: fnd_msg_pub.count_and_get (
843: p_count => x_msg_count
844: ,p_encoded => FND_API.g_false
837:
838: EXCEPTION
839:
840: WHEN FND_API.G_EXC_ERROR THEN
841: x_return_status := FND_API.G_RET_STS_ERROR ;
842: fnd_msg_pub.count_and_get (
843: p_count => x_msg_count
844: ,p_encoded => FND_API.g_false
845: ,p_data => x_msg_data);
840: WHEN FND_API.G_EXC_ERROR THEN
841: x_return_status := FND_API.G_RET_STS_ERROR ;
842: fnd_msg_pub.count_and_get (
843: p_count => x_msg_count
844: ,p_encoded => FND_API.g_false
845: ,p_data => x_msg_data);
846:
847:
848: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
844: ,p_encoded => FND_API.g_false
845: ,p_data => x_msg_data);
846:
847:
848: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
849: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
850: fnd_msg_pub.count_and_get (
851: p_count => x_msg_count
852: ,p_encoded => FND_API.g_false
845: ,p_data => x_msg_data);
846:
847:
848: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
849: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
850: fnd_msg_pub.count_and_get (
851: p_count => x_msg_count
852: ,p_encoded => FND_API.g_false
853: ,p_data => x_msg_data);
848: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
849: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
850: fnd_msg_pub.count_and_get (
851: p_count => x_msg_count
852: ,p_encoded => FND_API.g_false
853: ,p_data => x_msg_data);
854:
855:
856: WHEN OTHERS THEN
853: ,p_data => x_msg_data);
854:
855:
856: WHEN OTHERS THEN
857: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
858: fnd_msg_pub.count_and_get (
859: p_count => x_msg_count
860: ,p_encoded => FND_API.g_false
861: ,p_data => x_msg_data);
856: WHEN OTHERS THEN
857: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
858: fnd_msg_pub.count_and_get (
859: p_count => x_msg_count
860: ,p_encoded => FND_API.g_false
861: ,p_data => x_msg_data);
862:
863: END FETCH_ITEM_TECHNICAL_DATA;
864: