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:
213: -- End of comments
214: PROCEDURE UPDATE_ITEM_TECHNICAL_DATA
215: (
216: p_api_version IN NUMBER
217: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
218: , p_commit IN VARCHAR2 := FND_API.G_FALSE
219: , x_return_status OUT NOCOPY VARCHAR2
220: , x_msg_count OUT NOCOPY NUMBER
221: , x_msg_data OUT NOCOPY VARCHAR2
214: PROCEDURE UPDATE_ITEM_TECHNICAL_DATA
215: (
216: p_api_version IN NUMBER
217: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
218: , p_commit IN VARCHAR2 := FND_API.G_FALSE
219: , x_return_status OUT NOCOPY VARCHAR2
220: , x_msg_count OUT NOCOPY NUMBER
221: , x_msg_data OUT NOCOPY VARCHAR2
222: , p_tech_data_id IN NUMBER
257:
258: SAVEPOINT Update_Item_Technical_Data;
259:
260: -- Initialize message list if p_init_msg_list is set to TRUE.
261: IF FND_API.to_Boolean( p_init_msg_list )
262: THEN
263: FND_MSG_PUB.initialize;
264: END IF;
265:
264: END IF;
265:
266:
267: -- Standard call to check for call compatibility.
268: IF NOT FND_API.Compatible_API_Call (l_api_version ,
269: p_api_version ,
270: l_api_name ,
271: G_PKG_NAME
272: )
270: l_api_name ,
271: G_PKG_NAME
272: )
273: THEN
274: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
275: END IF;
276:
277: -- Initialize API return status to success
278:
275: END IF;
276:
277: -- Initialize API return status to success
278:
279: x_return_status := FND_API.G_RET_STS_SUCCESS;
280:
281: /*-- Validate i/p parm's here
282: Validate_Input_Params
283: (
287: , x_return_status => l_return_status
288: );
289:
290:
291: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
292: FND_MESSAGE.SET_NAME('GMD','GMF_API_NO_ROWS_UPD');
293: FND_MSG_PUB.ADD;
294: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
295: END IF;*/
290:
291: IF l_return_status IN (FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
292: FND_MESSAGE.SET_NAME('GMD','GMF_API_NO_ROWS_UPD');
293: FND_MSG_PUB.ADD;
294: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
295: END IF;*/
296:
297: OPEN get_Orgn_id;
298: FETCH get_Orgn_id INTO l_orgn_id;
343: );
344: END LOOP;
345:
346:
347: IF FND_API.To_Boolean( p_commit ) THEN
348: COMMIT WORK;
349: END IF;
350:
351: EXCEPTION
349: END IF;
350:
351: EXCEPTION
352:
353: WHEN FND_API.G_EXC_ERROR THEN
354:
355: ROLLBACK TO Update_Item_Tech_Data;
356: x_return_status := FND_API.G_RET_STS_ERROR ;
357: fnd_msg_pub.count_and_get (
352:
353: WHEN FND_API.G_EXC_ERROR THEN
354:
355: ROLLBACK TO Update_Item_Tech_Data;
356: x_return_status := FND_API.G_RET_STS_ERROR ;
357: fnd_msg_pub.count_and_get (
358: p_count => x_msg_count
359: ,p_encoded => FND_API.g_false
360: ,p_data => x_msg_data);
355: ROLLBACK TO Update_Item_Tech_Data;
356: x_return_status := FND_API.G_RET_STS_ERROR ;
357: fnd_msg_pub.count_and_get (
358: p_count => x_msg_count
359: ,p_encoded => FND_API.g_false
360: ,p_data => x_msg_data);
361:
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
359: ,p_encoded => FND_API.g_false
360: ,p_data => x_msg_data);
361:
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
364:
365: ROLLBACK TO Update_Item_Tech_Data;
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
367: fnd_msg_pub.count_and_get (
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
364:
365: ROLLBACK TO Update_Item_Tech_Data;
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
367: fnd_msg_pub.count_and_get (
368: p_count => x_msg_count
369: ,p_encoded => FND_API.g_false
370: ,p_data => x_msg_data);
365: ROLLBACK TO Update_Item_Tech_Data;
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
367: fnd_msg_pub.count_and_get (
368: p_count => x_msg_count
369: ,p_encoded => FND_API.g_false
370: ,p_data => x_msg_data);
371:
372:
373: WHEN OTHERS THEN
372:
373: WHEN OTHERS THEN
374:
375: ROLLBACK TO Update_Item_Tech_Data;
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
377: fnd_msg_pub.count_and_get (
378: p_count => x_msg_count
379: ,p_encoded => FND_API.g_false
380: ,p_data => x_msg_data);
375: ROLLBACK TO Update_Item_Tech_Data;
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
377: fnd_msg_pub.count_and_get (
378: p_count => x_msg_count
379: ,p_encoded => FND_API.g_false
380: ,p_data => x_msg_data);
381:
382: END UPDATE_ITEM_TECHNICAL_DATA;
383:
395:
396: PROCEDURE DELETE_ITEM_TECHNICAL_DATA
397: (
398: p_api_version IN NUMBER
399: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
400: , p_commit IN VARCHAR2 := FND_API.G_FALSE
401: , x_return_status OUT NOCOPY VARCHAR2
402: , x_msg_count OUT NOCOPY NUMBER
403: , x_msg_data OUT NOCOPY VARCHAR2
396: PROCEDURE DELETE_ITEM_TECHNICAL_DATA
397: (
398: p_api_version IN NUMBER
399: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
400: , p_commit IN VARCHAR2 := FND_API.G_FALSE
401: , x_return_status OUT NOCOPY VARCHAR2
402: , x_msg_count OUT NOCOPY NUMBER
403: , x_msg_data OUT NOCOPY VARCHAR2
404: , p_tech_data_id IN NUMBER
411:
412: SAVEPOINT Delete_Item_Technical_Data;
413:
414: -- Initialize message list if p_init_msg_list is set to TRUE.
415: IF FND_API.to_Boolean( p_init_msg_list )
416: THEN
417: FND_MSG_PUB.initialize;
418: END IF;
419:
417: FND_MSG_PUB.initialize;
418: END IF;
419:
420: -- Standard call to check for call compatibility.
421: IF NOT FND_API.Compatible_API_Call (l_api_version ,
422: p_api_version ,
423: l_api_name ,
424: G_PKG_NAME
425: )
423: l_api_name ,
424: G_PKG_NAME
425: )
426: THEN
427: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
428: END IF;
429:
430: -- Initialize API return status to success
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
427: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
428: END IF;
429:
430: -- Initialize API return status to success
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
432:
433: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
434: ( p_api_version => p_api_version
435: , p_init_msg_list => FND_API.G_FALSE
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
432:
433: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
434: ( p_api_version => p_api_version
435: , p_init_msg_list => FND_API.G_FALSE
436: , p_commit => FND_API.G_FALSE
437: , x_return_status => x_return_status
438: , x_msg_count => x_msg_count
439: , x_msg_data => x_msg_data
432:
433: GMD_ITEM_TECHNICAL_DATA_PVT.DELETE_ITEM_TECHNICAL_DATA
434: ( p_api_version => p_api_version
435: , p_init_msg_list => FND_API.G_FALSE
436: , p_commit => FND_API.G_FALSE
437: , x_return_status => x_return_status
438: , x_msg_count => x_msg_count
439: , x_msg_data => x_msg_data
440: , p_tech_data_id => p_tech_data_id
439: , x_msg_data => x_msg_data
440: , p_tech_data_id => p_tech_data_id
441: );
442:
443: IF FND_API.To_Boolean( p_commit ) THEN
444: COMMIT WORK;
445: END IF;
446:
447: EXCEPTION
444: COMMIT WORK;
445: END IF;
446:
447: EXCEPTION
448: WHEN FND_API.G_EXC_ERROR THEN
449:
450: ROLLBACK TO Delete_Item_Tech_Data;
451: x_return_status := FND_API.G_RET_STS_ERROR ;
452: fnd_msg_pub.count_and_get (
447: EXCEPTION
448: WHEN FND_API.G_EXC_ERROR THEN
449:
450: ROLLBACK TO Delete_Item_Tech_Data;
451: x_return_status := FND_API.G_RET_STS_ERROR ;
452: fnd_msg_pub.count_and_get (
453: p_count => x_msg_count
454: ,p_encoded => FND_API.g_false
455: ,p_data => x_msg_data);
450: ROLLBACK TO Delete_Item_Tech_Data;
451: x_return_status := FND_API.G_RET_STS_ERROR ;
452: fnd_msg_pub.count_and_get (
453: p_count => x_msg_count
454: ,p_encoded => FND_API.g_false
455: ,p_data => x_msg_data);
456:
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
454: ,p_encoded => FND_API.g_false
455: ,p_data => x_msg_data);
456:
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459:
460: ROLLBACK TO Delete_Item_Tech_Data;
461: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
462: fnd_msg_pub.count_and_get (
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459:
460: ROLLBACK TO Delete_Item_Tech_Data;
461: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
462: fnd_msg_pub.count_and_get (
463: p_count => x_msg_count
464: ,p_encoded => FND_API.g_false
465: ,p_data => x_msg_data);
460: ROLLBACK TO Delete_Item_Tech_Data;
461: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
462: fnd_msg_pub.count_and_get (
463: p_count => x_msg_count
464: ,p_encoded => FND_API.g_false
465: ,p_data => x_msg_data);
466:
467: WHEN OTHERS THEN
468:
466:
467: WHEN OTHERS THEN
468:
469: ROLLBACK TO Delete_Item_Tech_Data;
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
471: fnd_msg_pub.count_and_get (
472: p_count => x_msg_count
473: ,p_encoded => FND_API.g_false
474: ,p_data => x_msg_data);
469: ROLLBACK TO Delete_Item_Tech_Data;
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
471: fnd_msg_pub.count_and_get (
472: p_count => x_msg_count
473: ,p_encoded => FND_API.g_false
474: ,p_data => x_msg_data);
475:
476: END DELETE_ITEM_TECHNICAL_DATA;
477:
547:
548: BEGIN
549:
550: -- Initialize API return status to success
551: x_return_status := FND_API.G_RET_STS_SUCCESS;
552:
553: -- Check if inventory_id is NOT NULL
554: IF p_header_rec.inventory_item_id IS NULL THEN
555: RAISE ITEM_MISSING;
604: IF (p_header_rec.FORMULA_ID IS NOT NULL AND p_header_rec.BATCH_ID IS NOT NULL) THEN
605: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
606: FND_MESSAGE.SET_TOKEN ('MISSING', 'FORMULA_ID');
607: FND_MSG_PUB.ADD;
608: x_return_status := FND_API.G_RET_STS_ERROR ;
609: RAISE FND_API.G_EXC_ERROR;
610: END IF;*/
611:
612:
605: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
606: FND_MESSAGE.SET_TOKEN ('MISSING', 'FORMULA_ID');
607: FND_MSG_PUB.ADD;
608: x_return_status := FND_API.G_RET_STS_ERROR ;
609: RAISE FND_API.G_EXC_ERROR;
610: END IF;*/
611:
612:
613: -- Check whether the formula is valid
627: FETCH check_batch INTO l_count;
628: IF check_batch%NOTFOUND THEN
629: FND_MESSAGE.SET_NAME ('GMD', 'GMD_BATCH_NOT_FOUND');
630: FND_MSG_PUB.ADD;
631: x_return_status := FND_API.G_RET_STS_ERROR ;
632: CLOSE check_batch;
633: RAISE FND_API.G_EXC_ERROR;
634: END IF;
635: CLOSE check_batch;
629: FND_MESSAGE.SET_NAME ('GMD', 'GMD_BATCH_NOT_FOUND');
630: FND_MSG_PUB.ADD;
631: x_return_status := FND_API.G_RET_STS_ERROR ;
632: CLOSE check_batch;
633: RAISE FND_API.G_EXC_ERROR;
634: END IF;
635: CLOSE check_batch;
636: END IF;*/
637:
640: WHEN ITEM_MISSING THEN
641: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
642: FND_MESSAGE.SET_TOKEN ('MISSING', 'INVENTORY_ITEM_ID');
643: FND_MSG_PUB.ADD;
644: x_return_status := FND_API.G_RET_STS_ERROR ;
645:
646: WHEN ORGANIZATION_MISSING THEN
647: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
648: FND_MESSAGE.SET_TOKEN ('MISSING', 'ORGANIZATION_ID');
646: WHEN ORGANIZATION_MISSING THEN
647: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
648: FND_MESSAGE.SET_TOKEN ('MISSING', 'ORGANIZATION_ID');
649: FND_MSG_PUB.ADD;
650: x_return_status := FND_API.G_RET_STS_ERROR ;
651:
652: WHEN LOT_MISSING THEN
653: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
654: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_NO');
652: WHEN LOT_MISSING THEN
653: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
654: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_NO');
655: FND_MSG_PUB.ADD;
656: x_return_status := FND_API.G_RET_STS_ERROR ;
657:
658: WHEN LOT_ORGN_MISSING THEN
659: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
660: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_ORGANIZATION_ID');
658: WHEN LOT_ORGN_MISSING THEN
659: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
660: FND_MESSAGE.SET_TOKEN ('MISSING', 'LOT_ORGANIZATION_ID');
661: FND_MSG_PUB.ADD;
662: x_return_status := FND_API.G_RET_STS_ERROR ;
663:
664: WHEN INVALID_ITEM_NO THEN
665: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_ITEM_NO');
666: FND_MSG_PUB.ADD;
663:
664: WHEN INVALID_ITEM_NO THEN
665: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_ITEM_NO');
666: FND_MSG_PUB.ADD;
667: x_return_status := FND_API.G_RET_STS_ERROR ;
668:
669: WHEN INVALID_LAB_ORGN THEN
670: FND_MESSAGE.SET_NAME ('GMD', 'LM_BAD_LAB_TYPE');
671: FND_MSG_PUB.ADD;
668:
669: WHEN INVALID_LAB_ORGN THEN
670: FND_MESSAGE.SET_NAME ('GMD', 'LM_BAD_LAB_TYPE');
671: FND_MSG_PUB.ADD;
672: x_return_status := FND_API.G_RET_STS_ERROR ;
673:
674: WHEN INVALID_LOT THEN
675: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_LOT/SUBLOT');
676: FND_MSG_PUB.ADD;
673:
674: WHEN INVALID_LOT THEN
675: FND_MESSAGE.SET_NAME ('GMI', 'IC_INVALID_LOT/SUBLOT');
676: FND_MSG_PUB.ADD;
677: x_return_status := FND_API.G_RET_STS_ERROR ;
678:
679: WHEN INVALID_FORMULA THEN
680: FND_MESSAGE.SET_NAME ('GMD', 'LM_NOT_PROD');
681: FND_MSG_PUB.ADD;
678:
679: WHEN INVALID_FORMULA THEN
680: FND_MESSAGE.SET_NAME ('GMD', 'LM_NOT_PROD');
681: FND_MSG_PUB.ADD;
682: x_return_status := FND_API.G_RET_STS_ERROR ;
683:
684: END VALIDATE_INPUT_PARAMS;
685:
686:
699:
700: PROCEDURE FETCH_ITEM_TECHNICAL_DATA (
701:
702: p_api_version IN NUMBER
703: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
704: , x_msg_count OUT NOCOPY NUMBER
705: , x_msg_data OUT NOCOPY VARCHAR2
706: , p_header_rec IN technical_data_hdr_rec
707: , x_dtl_tbl OUT NOCOPY technical_data_dtl_tab
715:
716: BEGIN
717:
718: -- Initialize message list if p_init_msg_list is set to TRUE.
719: IF FND_API.to_Boolean( p_init_msg_list ) THEN
720: FND_MSG_PUB.initialize;
721: END IF;
722:
723: -- Standard call to check for call compatibility.
720: FND_MSG_PUB.initialize;
721: END IF;
722:
723: -- Standard call to check for call compatibility.
724: IF NOT FND_API.Compatible_API_Call (l_api_version ,
725: p_api_version ,
726: l_api_name ,
727: G_PKG_NAME
728: )
726: l_api_name ,
727: G_PKG_NAME
728: )
729: THEN
730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
731: END IF;
732:
733: -- Initialize API return status to success
734: x_return_status := FND_API.G_RET_STS_SUCCESS;
730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
731: END IF;
732:
733: -- Initialize API return status to success
734: x_return_status := FND_API.G_RET_STS_SUCCESS;
735:
736: GMD_ITEM_TECHNICAL_DATA_PVT.FETCH_ITEM_TECHNICAL_DATA (
737: p_api_version => p_api_version
738: , p_init_msg_list => p_init_msg_list
744: );
745:
746: EXCEPTION
747:
748: WHEN FND_API.G_EXC_ERROR THEN
749: x_return_status := FND_API.G_RET_STS_ERROR ;
750: fnd_msg_pub.count_and_get (
751: p_count => x_msg_count
752: ,p_encoded => FND_API.g_false
745:
746: EXCEPTION
747:
748: WHEN FND_API.G_EXC_ERROR THEN
749: x_return_status := FND_API.G_RET_STS_ERROR ;
750: fnd_msg_pub.count_and_get (
751: p_count => x_msg_count
752: ,p_encoded => FND_API.g_false
753: ,p_data => x_msg_data);
748: WHEN FND_API.G_EXC_ERROR THEN
749: x_return_status := FND_API.G_RET_STS_ERROR ;
750: fnd_msg_pub.count_and_get (
751: p_count => x_msg_count
752: ,p_encoded => FND_API.g_false
753: ,p_data => x_msg_data);
754:
755:
756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
752: ,p_encoded => FND_API.g_false
753: ,p_data => x_msg_data);
754:
755:
756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
757: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
758: fnd_msg_pub.count_and_get (
759: p_count => x_msg_count
760: ,p_encoded => FND_API.g_false
753: ,p_data => x_msg_data);
754:
755:
756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
757: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
758: fnd_msg_pub.count_and_get (
759: p_count => x_msg_count
760: ,p_encoded => FND_API.g_false
761: ,p_data => x_msg_data);
756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
757: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
758: fnd_msg_pub.count_and_get (
759: p_count => x_msg_count
760: ,p_encoded => FND_API.g_false
761: ,p_data => x_msg_data);
762:
763:
764: WHEN OTHERS THEN
761: ,p_data => x_msg_data);
762:
763:
764: WHEN OTHERS THEN
765: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
766: fnd_msg_pub.count_and_get (
767: p_count => x_msg_count
768: ,p_encoded => FND_API.g_false
769: ,p_data => x_msg_data);
764: WHEN OTHERS THEN
765: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
766: fnd_msg_pub.count_and_get (
767: p_count => x_msg_count
768: ,p_encoded => FND_API.g_false
769: ,p_data => x_msg_data);
770:
771: END FETCH_ITEM_TECHNICAL_DATA;
772: