48: -- End of Comments
49:
50: PROCEDURE Process_Flow_Schedule
51: ( p_api_version_number IN NUMBER
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
54: , p_commit IN VARCHAR2 := FND_API.G_FALSE
55: , x_return_status OUT NOCOPY VARCHAR2
56: , x_msg_count OUT NOCOPY NUMBER
49:
50: PROCEDURE Process_Flow_Schedule
51: ( p_api_version_number IN NUMBER
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
54: , p_commit IN VARCHAR2 := FND_API.G_FALSE
55: , x_return_status OUT NOCOPY VARCHAR2
56: , x_msg_count OUT NOCOPY NUMBER
57: , x_msg_data OUT NOCOPY VARCHAR2
50: PROCEDURE Process_Flow_Schedule
51: ( p_api_version_number IN NUMBER
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
54: , p_commit IN VARCHAR2 := FND_API.G_FALSE
55: , x_return_status OUT NOCOPY VARCHAR2
56: , x_msg_count OUT NOCOPY NUMBER
57: , x_msg_data OUT NOCOPY VARCHAR2
58: , p_flow_schedule_rec IN Flow_Schedule_Rec_Type :=
78: BEGIN
79:
80: -- Standard call to check for call compatibility
81:
82: IF NOT FND_API.Compatible_API_Call
83: ( l_api_version_number
84: , p_api_version_number
85: , l_api_name
86: , G_PKG_NAME
85: , l_api_name
86: , G_PKG_NAME
87: )
88: THEN
89: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90: END IF;
91:
92: /*bug 5292986 - set the operation unit so project/task can be validated correctly */
93: fnd_profile.PUT('MFG_ORGANIZATION_ID', p_flow_schedule_rec.organization_id);
103: , p_flow_schedule_val_rec => l_p_flow_schedule_val_rec
104: , x_flow_schedule_rec => l_flow_schedule_rec
105: );
106:
107: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: RAISE FND_API.G_EXC_ERROR;
111: END IF;
104: , x_flow_schedule_rec => l_flow_schedule_rec
105: );
106:
107: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: RAISE FND_API.G_EXC_ERROR;
111: END IF;
112:
105: );
106:
107: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: RAISE FND_API.G_EXC_ERROR;
111: END IF;
112:
113:
106:
107: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: RAISE FND_API.G_EXC_ERROR;
111: END IF;
112:
113:
114: -- Call MRP_Flow_Schedule_PVT.Process_Flow_Schedule
115:
116: MRP_Flow_Schedule_PVT.Process_Flow_Schedule
117: ( p_api_version_number => 1.0
118: , p_init_msg_list => p_init_msg_list
119: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
120: , p_commit => p_commit
121: , x_return_status => x_return_status
122: , x_msg_count => x_msg_count
123: , x_msg_data => x_msg_data
134:
135:
136: -- If p_return_values is TRUE then convert Ids to Values.
137:
138: IF FND_API.to_Boolean(p_return_values) THEN
139:
140: Id_To_Value
141: ( p_flow_schedule_rec => l_flow_schedule_rec
142: , x_flow_schedule_val_rec => l_x_flow_schedule_val_rec
147: END IF;
148:
149: EXCEPTION
150:
151: WHEN FND_API.G_EXC_ERROR THEN
152:
153: x_return_status := FND_API.G_RET_STS_ERROR;
154:
155: -- Get message count and data
149: EXCEPTION
150:
151: WHEN FND_API.G_EXC_ERROR THEN
152:
153: x_return_status := FND_API.G_RET_STS_ERROR;
154:
155: -- Get message count and data
156:
157: FND_MSG_PUB.Count_And_Get
158: ( p_count => x_msg_count
159: , p_data => x_msg_data
160: );
161:
162: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
163:
164: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
165:
166: -- Get message count and data
160: );
161:
162: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
163:
164: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
165:
166: -- Get message count and data
167:
168: FND_MSG_PUB.Count_And_Get
171: );
172:
173: WHEN OTHERS THEN
174:
175: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
176:
177: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
178: THEN
179: FND_MSG_PUB.Add_Exc_Msg
208: -- End of Comments
209:
210: PROCEDURE Lock_Flow_Schedule
211: ( p_api_version_number IN NUMBER
212: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
213: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
214: , x_return_status OUT NOCOPY VARCHAR2
215: , x_msg_count OUT NOCOPY NUMBER
216: , x_msg_data OUT NOCOPY VARCHAR2
209:
210: PROCEDURE Lock_Flow_Schedule
211: ( p_api_version_number IN NUMBER
212: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
213: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
214: , x_return_status OUT NOCOPY VARCHAR2
215: , x_msg_count OUT NOCOPY NUMBER
216: , x_msg_data OUT NOCOPY VARCHAR2
217: , p_flow_schedule_rec IN Flow_Schedule_Rec_Type :=
232: BEGIN
233:
234: -- Standard call to check for call compatibility
235:
236: IF NOT FND_API.Compatible_API_Call
237: ( l_api_version_number
238: , p_api_version_number
239: , l_api_name
240: , G_PKG_NAME
239: , l_api_name
240: , G_PKG_NAME
241: )
242: THEN
243: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
244: END IF;
245:
246: MRP_Flow_Schedule_PVT.PUB_Flow_Sched_Rec_To_PVT(p_flow_schedule_rec,l_p_flow_schedule_rec);
247: MRP_Flow_Schedule_PVT.PUB_Flow_Sched_Val_Rec_To_PVT(p_flow_schedule_val_rec,l_p_flow_schedule_val_rec);
254: , p_flow_schedule_val_rec => l_p_flow_schedule_val_rec
255: , x_flow_schedule_rec => l_flow_schedule_rec
256: );
257:
258: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
259: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
261: RAISE FND_API.G_EXC_ERROR;
262: END IF;
255: , x_flow_schedule_rec => l_flow_schedule_rec
256: );
257:
258: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
259: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
261: RAISE FND_API.G_EXC_ERROR;
262: END IF;
263:
256: );
257:
258: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
259: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
261: RAISE FND_API.G_EXC_ERROR;
262: END IF;
263:
264:
257:
258: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
259: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
261: RAISE FND_API.G_EXC_ERROR;
262: END IF;
263:
264:
265: -- Call MRP_Flow_Schedule_PVT.Lock_Flow_Schedule
279: MRP_Flow_Schedule_PVT.PVT_Flow_Sched_Rec_To_PUB(l_flow_schedule_rec,x_flow_schedule_rec);
280:
281: -- If p_return_values is TRUE then convert Ids to Values.
282:
283: IF FND_API.to_Boolean(p_return_values) THEN
284:
285: Id_To_Value
286: ( p_flow_schedule_rec => l_flow_schedule_rec
287: , x_flow_schedule_val_rec => l_x_flow_schedule_val_rec
292: END IF;
293:
294: EXCEPTION
295:
296: WHEN FND_API.G_EXC_ERROR THEN
297:
298: x_return_status := FND_API.G_RET_STS_ERROR;
299:
300: -- Get message count and data
294: EXCEPTION
295:
296: WHEN FND_API.G_EXC_ERROR THEN
297:
298: x_return_status := FND_API.G_RET_STS_ERROR;
299:
300: -- Get message count and data
301:
302: FND_MSG_PUB.Count_And_Get
303: ( p_count => x_msg_count
304: , p_data => x_msg_data
305: );
306:
307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
308:
309: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
310:
311: -- Get message count and data
305: );
306:
307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
308:
309: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
310:
311: -- Get message count and data
312:
313: FND_MSG_PUB.Count_And_Get
316: );
317:
318: WHEN OTHERS THEN
319:
320: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
321:
322: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
323: THEN
324: FND_MSG_PUB.Add_Exc_Msg
353: -- End of Comments
354:
355: PROCEDURE Get_Flow_Schedule
356: ( p_api_version_number IN NUMBER
357: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
358: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
359: , x_return_status OUT NOCOPY VARCHAR2
360: , x_msg_count OUT NOCOPY NUMBER
361: , x_msg_data OUT NOCOPY VARCHAR2
354:
355: PROCEDURE Get_Flow_Schedule
356: ( p_api_version_number IN NUMBER
357: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
358: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
359: , x_return_status OUT NOCOPY VARCHAR2
360: , x_msg_count OUT NOCOPY NUMBER
361: , x_msg_data OUT NOCOPY VARCHAR2
362: , p_wip_entity_id IN NUMBER :=
359: , x_return_status OUT NOCOPY VARCHAR2
360: , x_msg_count OUT NOCOPY NUMBER
361: , x_msg_data OUT NOCOPY VARCHAR2
362: , p_wip_entity_id IN NUMBER :=
363: FND_API.G_MISS_NUM
364: , p_wip_entity IN VARCHAR2 :=
365: FND_API.G_MISS_CHAR
366: , x_flow_schedule_rec OUT NOCOPY Flow_Schedule_Rec_Type
367: , x_flow_schedule_val_rec OUT NOCOPY Flow_Schedule_Val_Rec_Type
361: , x_msg_data OUT NOCOPY VARCHAR2
362: , p_wip_entity_id IN NUMBER :=
363: FND_API.G_MISS_NUM
364: , p_wip_entity IN VARCHAR2 :=
365: FND_API.G_MISS_CHAR
366: , x_flow_schedule_rec OUT NOCOPY Flow_Schedule_Rec_Type
367: , x_flow_schedule_val_rec OUT NOCOPY Flow_Schedule_Val_Rec_Type
368: )
369: IS
375: BEGIN
376:
377: -- Standard call to check for call compatibility
378:
379: IF NOT FND_API.Compatible_API_Call
380: ( l_api_version_number
381: , p_api_version_number
382: , l_api_name
383: , G_PKG_NAME
382: , l_api_name
383: , G_PKG_NAME
384: )
385: THEN
386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
387: END IF;
388:
389: -- Standard check for Val/ID conversion
390:
387: END IF;
388:
389: -- Standard check for Val/ID conversion
390:
391: IF p_wip_entity = FND_API.G_MISS_CHAR
392: THEN
393:
394: l_wip_entity_id := p_wip_entity_id;
395:
392: THEN
393:
394: l_wip_entity_id := p_wip_entity_id;
395:
396: ELSIF p_wip_entity_id <> FND_API.G_MISS_NUM THEN
397:
398: l_wip_entity_id := p_wip_entity_id;
399:
400: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
413: l_wip_entity_id := MRP_Value_To_Id.wip_entity
414: ( p_wip_entity => p_wip_entity
415: );
416:
417: IF l_wip_entity_id = FND_API.G_MISS_NUM THEN
418: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
419: THEN
420:
421: FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_BUSINESS_OBJ_VALUE');
424:
425: END IF;
426: END IF;
427:
428: RAISE FND_API.G_EXC_ERROR;
429:
430: END IF;
431:
432:
447: MRP_Flow_Schedule_PVT.PVT_Flow_Sched_Rec_To_PUB(l_flow_schedule_rec,x_flow_schedule_rec);
448:
449: -- If p_return_values is TRUE then convert Ids to Values.
450:
451: IF FND_API.TO_BOOLEAN(p_return_values) THEN
452:
453: Id_To_Value
454: ( p_flow_schedule_rec => l_flow_schedule_rec
455: , x_flow_schedule_val_rec => l_x_flow_schedule_val_rec
460: END IF;
461:
462: -- Set return status
463:
464: x_return_status := FND_API.G_RET_STS_SUCCESS;
465:
466: -- Get message count and data
467:
468: FND_MSG_PUB.Count_And_Get
472:
473:
474: EXCEPTION
475:
476: WHEN FND_API.G_EXC_ERROR THEN
477:
478: x_return_status := FND_API.G_RET_STS_ERROR;
479:
480: -- Get message count and data
474: EXCEPTION
475:
476: WHEN FND_API.G_EXC_ERROR THEN
477:
478: x_return_status := FND_API.G_RET_STS_ERROR;
479:
480: -- Get message count and data
481:
482: FND_MSG_PUB.Count_And_Get
483: ( p_count => x_msg_count
484: , p_data => x_msg_data
485: );
486:
487: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
488:
489: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
490:
491: -- Get message count and data
485: );
486:
487: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
488:
489: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
490:
491: -- Get message count and data
492:
493: FND_MSG_PUB.Count_And_Get
496: );
497:
498: WHEN OTHERS THEN
499:
500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
501:
502: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
503: THEN
504: FND_MSG_PUB.Add_Exc_Msg
541: , 'Id_To_Value'
542: );
543: END IF;
544:
545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
546:
547: END Id_To_Value;
548:
549: -- Procedure Value_To_Id
560: BEGIN
561:
562: -- Init x_return_status.
563:
564: x_return_status := FND_API.G_RET_STS_SUCCESS;
565:
566: -- Convert flow_schedule
567:
568: l_flow_schedule_rec := MRP_Flow_Schedule_Util.Get_Ids
571: );
572:
573: x_flow_schedule_rec := l_flow_schedule_rec;
574:
575: IF l_flow_schedule_rec.return_status = FND_API.G_RET_STS_ERROR THEN
576: x_return_status := FND_API.G_RET_STS_ERROR;
577: END IF;
578:
579: EXCEPTION
572:
573: x_flow_schedule_rec := l_flow_schedule_rec;
574:
575: IF l_flow_schedule_rec.return_status = FND_API.G_RET_STS_ERROR THEN
576: x_return_status := FND_API.G_RET_STS_ERROR;
577: END IF;
578:
579: EXCEPTION
580:
587: , 'Value_To_Id'
588: );
589: END IF;
590:
591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
592:
593: END Value_To_Id;
594:
595: -- Start of Comments
627: BEGIN
628:
629: -- Standard call to check for call compatibility
630:
631: IF NOT FND_API.Compatible_API_Call
632: ( l_api_version_number
633: , p_api_version_number
634: , l_api_name
635: , G_PKG_NAME
634: , l_api_name
635: , G_PKG_NAME
636: )
637: THEN
638: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639: END IF;
640:
641: MRP_Flow_Schedule_Util.Line_Schedule (
642: p_rule_id ,
651: x_msg_data );
652:
653: EXCEPTION
654:
655: WHEN FND_API.G_EXC_ERROR THEN
656:
657: x_return_status := FND_API.G_RET_STS_ERROR;
658:
659: -- Get message count and data
653: EXCEPTION
654:
655: WHEN FND_API.G_EXC_ERROR THEN
656:
657: x_return_status := FND_API.G_RET_STS_ERROR;
658:
659: -- Get message count and data
660:
661: FND_MSG_PUB.Count_And_Get
662: ( p_count => x_msg_count
663: , p_data => x_msg_data
664: );
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667:
668: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
669:
670: -- Get message count and data
664: );
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667:
668: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
669:
670: -- Get message count and data
671:
672: FND_MSG_PUB.Count_And_Get
675: );
676:
677: WHEN OTHERS THEN
678:
679: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
680:
681: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
682: THEN
683: FND_MSG_PUB.Add_Exc_Msg
730: BEGIN
731:
732: -- Standard call to check for call compatibility
733:
734: IF NOT FND_API.Compatible_API_Call
735: ( l_api_version_number
736: , p_api_version_number
737: , l_api_name
738: , G_PKG_NAME
737: , l_api_name
738: , G_PKG_NAME
739: )
740: THEN
741: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
742: END IF;
743:
744: x_return_status := FND_API.G_RET_STS_SUCCESS;
745:
740: THEN
741: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
742: END IF;
743:
744: x_return_status := FND_API.G_RET_STS_SUCCESS;
745:
746: /* Changed p_qty to l_qty in below call as we need only first unit completion date.Setting for bugfix:7211657 */
747:
748: l_date := MRP_LINE_SCHEDULE_ALGORITHM.calculate_completion_time (
755:
756: return l_date;
757: EXCEPTION
758:
759: WHEN FND_API.G_EXC_ERROR THEN
760:
761: x_return_status := FND_API.G_RET_STS_ERROR;
762:
763: -- Get message count and data
757: EXCEPTION
758:
759: WHEN FND_API.G_EXC_ERROR THEN
760:
761: x_return_status := FND_API.G_RET_STS_ERROR;
762:
763: -- Get message count and data
764:
765: FND_MSG_PUB.Count_And_Get
768: );
769:
770: return NULL;
771:
772: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
773:
774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
775:
776: -- Get message count and data
770: return NULL;
771:
772: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
773:
774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
775:
776: -- Get message count and data
777:
778: FND_MSG_PUB.Count_And_Get
783: return NULL;
784:
785: WHEN OTHERS THEN
786:
787: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
788:
789: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
790: THEN
791: FND_MSG_PUB.Add_Exc_Msg
847:
848: BEGIN
849: -- Standard call to check for call compatibility
850:
851: IF NOT FND_API.Compatible_API_Call
852: ( l_api_version_number
853: , p_api_version_number
854: , l_api_name
855: , G_PKG_NAME
854: , l_api_name
855: , G_PKG_NAME
856: )
857: THEN
858: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
859: END IF;
860:
861: x_return_status := FND_API.G_RET_STS_SUCCESS;
862:
857: THEN
858: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
859: END IF;
860:
861: x_return_status := FND_API.G_RET_STS_SUCCESS;
862:
863: SELECT line_id
864: INTO l_line_id
865: FROM BOM_OPERATIONAL_ROUTINGS
872: FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_BUSINESS_OBJ_VALUE');
873: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','calculate_option');
874: FND_MSG_PUB.Add;
875: END IF;
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
878:
879: SELECT count(*)
880: INTO l_cnt
886: FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_BUSINESS_OBJ_VALUE');
887: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operation_sequence_id');
888: FND_MSG_PUB.Add;
889: END IF;
890: RAISE FND_API.G_EXC_ERROR;
891: END IF;
892:
893: l_op_date := FLM_CREATE_PRODUCT_SYNCH.feeder_line_comp_date (p_org_id,
894: l_line_id,
901:
902: return l_op_date;
903: EXCEPTION
904:
905: WHEN FND_API.G_EXC_ERROR THEN
906:
907: x_return_status := FND_API.G_RET_STS_ERROR;
908:
909: -- Get message count and data
903: EXCEPTION
904:
905: WHEN FND_API.G_EXC_ERROR THEN
906:
907: x_return_status := FND_API.G_RET_STS_ERROR;
908:
909: -- Get message count and data
910:
911: FND_MSG_PUB.Count_And_Get
914: );
915:
916: return NULL;
917:
918: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
919:
920: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
921:
922: -- Get message count and data
916: return NULL;
917:
918: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
919:
920: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
921:
922: -- Get message count and data
923:
924: FND_MSG_PUB.Count_And_Get
929: return NULL;
930:
931: WHEN OTHERS THEN
932:
933: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
934:
935: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
936: THEN
937: FND_MSG_PUB.Add_Exc_Msg
989: l_item_id NUMBER;
990:
991: BEGIN
992: -- Standard call to check for call compatibility
993: IF NOT FND_API.Compatible_API_Call
994: ( l_api_version_number
995: , p_api_version_number
996: , l_api_name
997: , G_PKG_NAME
996: , l_api_name
997: , G_PKG_NAME
998: )
999: THEN
1000: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1001: END IF;
1002:
1003: x_return_status := FND_API.G_RET_STS_SUCCESS;
1004:
999: THEN
1000: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1001: END IF;
1002:
1003: x_return_status := FND_API.G_RET_STS_SUCCESS;
1004:
1005: BEGIN
1006: select inventory_item_id
1007: into l_item_id
1011: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1012: FND_MESSAGE.SET_NAME('MRP','MRP_INVALID_OE_LINE_ID');
1013: FND_MSG_PUB.Add;
1014: END IF;
1015: RAISE FND_API.G_EXC_ERROR;
1016: END;
1017:
1018: if( p_assembly_item_id is null or l_item_id <> p_assembly_item_id ) then
1019: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1019: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1020: FND_MESSAGE.SET_NAME('MRP','MRP_ITEM_OE_LINE_ID_NOT_MATCH');
1021: FND_MSG_PUB.Add;
1022: END IF;
1023: RAISE FND_API.G_EXC_ERROR;
1024: end if;
1025:
1026: update wip_flow_schedules
1027: set demand_source_header_id = null,
1033: and demand_source_type = 2 ;
1034:
1035: EXCEPTION
1036:
1037: WHEN FND_API.G_EXC_ERROR THEN
1038: x_return_status := FND_API.G_RET_STS_ERROR;
1039: -- Get message count and data
1040: FND_MSG_PUB.Count_And_Get
1041: ( p_count => x_msg_count
1034:
1035: EXCEPTION
1036:
1037: WHEN FND_API.G_EXC_ERROR THEN
1038: x_return_status := FND_API.G_RET_STS_ERROR;
1039: -- Get message count and data
1040: FND_MSG_PUB.Count_And_Get
1041: ( p_count => x_msg_count
1042: , p_data => x_msg_data
1041: ( p_count => x_msg_count
1042: , p_data => x_msg_data
1043: );
1044:
1045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1046:
1047: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1048: -- Get message count and data
1049: FND_MSG_PUB.Count_And_Get
1043: );
1044:
1045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1046:
1047: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1048: -- Get message count and data
1049: FND_MSG_PUB.Count_And_Get
1050: ( p_count => x_msg_count
1051: , p_data => x_msg_data
1052: );
1053:
1054: WHEN OTHERS THEN
1055:
1056: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1057: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1058: THEN
1059: FND_MSG_PUB.Add_Exc_Msg
1060: ( G_PKG_NAME