23: -- End of Comments
24:
25: PROCEDURE Lock_Work_Order
26: ( p_api_version_number IN NUMBER
27: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
28: , x_return_status OUT NOCOPY VARCHAR2
29: , x_msg_count OUT NOCOPY NUMBER
30: , x_msg_data OUT NOCOPY VARCHAR2
31: , p_Wip_Entities_tbl IN WIP_Work_Order_PUB.Wip_Entities_Tbl_Type :=
43: )
44: IS
45: l_api_version_number CONSTANT NUMBER := 1.0;
46: l_api_name CONSTANT VARCHAR2(30):= 'Lock_Work_Order';
47: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
48: l_Wip_Entities_rec WIP_Work_Order_PUB.Wip_Entities_Rec_Type;
49: l_FlowSchedule_rec WIP_Work_Order_PUB.Flowschedule_Rec_Type;
50: l_DiscreteJob_rec WIP_Work_Order_PUB.Discretejob_Rec_Type;
51: l_RepSchedule_rec WIP_Work_Order_PUB.Repschedule_Rec_Type;
52: BEGIN
53:
54: -- Standard call to check for call compatibility
55:
56: IF NOT FND_API.Compatible_API_Call
57: ( l_api_version_number
58: , p_api_version_number
59: , l_api_name
60: , G_PKG_NAME
59: , l_api_name
60: , G_PKG_NAME
61: )
62: THEN
63: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
64: END IF;
65:
66: -- Initialize message list.
67:
64: END IF;
65:
66: -- Initialize message list.
67:
68: IF FND_API.to_Boolean(p_init_msg_list) THEN
69: FND_MSG_PUB.initialize;
70: END IF;
71:
72: -- Set Savepoint
84: , x_Wip_Entities_rec => l_Wip_Entities_rec
85: , x_return_status => l_return_status
86: );
87:
88: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
89: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
91: RAISE FND_API.G_EXC_ERROR;
92: END IF;
85: , x_return_status => l_return_status
86: );
87:
88: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
89: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
91: RAISE FND_API.G_EXC_ERROR;
92: END IF;
93:
86: );
87:
88: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
89: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
91: RAISE FND_API.G_EXC_ERROR;
92: END IF;
93:
94: x_Wip_Entities_tbl(I) := l_Wip_Entities_rec;
87:
88: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
89: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
91: RAISE FND_API.G_EXC_ERROR;
92: END IF;
93:
94: x_Wip_Entities_tbl(I) := l_Wip_Entities_rec;
95:
108: , x_FlowSchedule_rec => l_FlowSchedule_rec
109: , x_return_status => l_return_status
110: );
111:
112: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: END IF;
109: , x_return_status => l_return_status
110: );
111:
112: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: END IF;
117:
110: );
111:
112: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: END IF;
117:
118: x_FlowSchedule_tbl(I) := l_FlowSchedule_rec;
111:
112: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: END IF;
117:
118: x_FlowSchedule_tbl(I) := l_FlowSchedule_rec;
119:
132: , x_DiscreteJob_rec => l_DiscreteJob_rec
133: , x_return_status => l_return_status
134: );
135:
136: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
138: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
139: RAISE FND_API.G_EXC_ERROR;
140: END IF;
133: , x_return_status => l_return_status
134: );
135:
136: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
138: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
139: RAISE FND_API.G_EXC_ERROR;
140: END IF;
141:
134: );
135:
136: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
138: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
139: RAISE FND_API.G_EXC_ERROR;
140: END IF;
141:
142: x_DiscreteJob_tbl(I) := l_DiscreteJob_rec;
135:
136: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
138: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
139: RAISE FND_API.G_EXC_ERROR;
140: END IF;
141:
142: x_DiscreteJob_tbl(I) := l_DiscreteJob_rec;
143:
156: , x_RepSchedule_rec => l_RepSchedule_rec
157: , x_return_status => l_return_status
158: );
159:
160: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
162: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
163: RAISE FND_API.G_EXC_ERROR;
164: END IF;
157: , x_return_status => l_return_status
158: );
159:
160: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
162: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
163: RAISE FND_API.G_EXC_ERROR;
164: END IF;
165:
158: );
159:
160: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
162: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
163: RAISE FND_API.G_EXC_ERROR;
164: END IF;
165:
166: x_RepSchedule_tbl(I) := l_RepSchedule_rec;
159:
160: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
162: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
163: RAISE FND_API.G_EXC_ERROR;
164: END IF;
165:
166: x_RepSchedule_tbl(I) := l_RepSchedule_rec;
167:
170: END LOOP;
171:
172: -- Set return status
173:
174: x_return_status := FND_API.G_RET_STS_SUCCESS;
175:
176: -- Get message count and data
177:
178: FND_MSG_PUB.Count_And_Get
182:
183:
184: EXCEPTION
185:
186: WHEN FND_API.G_EXC_ERROR THEN
187:
188: x_return_status := FND_API.G_RET_STS_ERROR;
189:
190: -- Get message count and data
184: EXCEPTION
185:
186: WHEN FND_API.G_EXC_ERROR THEN
187:
188: x_return_status := FND_API.G_RET_STS_ERROR;
189:
190: -- Get message count and data
191:
192: FND_MSG_PUB.Count_And_Get
197: -- Rollback
198:
199: ROLLBACK TO Lock_Work_Order_PVT;
200:
201: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
202:
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
204:
205: -- Get message count and data
199: ROLLBACK TO Lock_Work_Order_PVT;
200:
201: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
202:
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
204:
205: -- Get message count and data
206:
207: FND_MSG_PUB.Count_And_Get
214: ROLLBACK TO Lock_Work_Order_PVT;
215:
216: WHEN OTHERS THEN
217:
218: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
219:
220: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
221: THEN
222: FND_MSG_PUB.Add_Exc_Msg
255: -- End of Comments
256:
257: PROCEDURE Get_Work_Order
258: ( p_api_version_number IN NUMBER
259: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
260: , x_return_status OUT NOCOPY VARCHAR2
261: , x_msg_count OUT NOCOPY NUMBER
262: , x_msg_data OUT NOCOPY VARCHAR2
263: , p_wip_entity_id IN NUMBER
280: BEGIN
281:
282: -- Standard call to check for call compatibility
283:
284: IF NOT FND_API.Compatible_API_Call
285: ( l_api_version_number
286: , p_api_version_number
287: , l_api_name
288: , G_PKG_NAME
287: , l_api_name
288: , G_PKG_NAME
289: )
290: THEN
291: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
292: END IF;
293:
294: -- Initialize message list.
295:
292: END IF;
293:
294: -- Initialize message list.
295:
296: IF FND_API.to_Boolean(p_init_msg_list) THEN
297: FND_MSG_PUB.initialize;
298: END IF;
299:
300: -- Get Wip_Entities ( parent = Wip_Entities )
358: x_RepSchedule_tbl := l_x_RepSchedule_tbl;
359:
360: -- Set return status
361:
362: x_return_status := FND_API.G_RET_STS_SUCCESS;
363:
364: -- Get message count and data
365:
366: FND_MSG_PUB.Count_And_Get
370:
371:
372: EXCEPTION
373:
374: WHEN FND_API.G_EXC_ERROR THEN
375:
376: x_return_status := FND_API.G_RET_STS_ERROR;
377:
378: -- Get message count and data
372: EXCEPTION
373:
374: WHEN FND_API.G_EXC_ERROR THEN
375:
376: x_return_status := FND_API.G_RET_STS_ERROR;
377:
378: -- Get message count and data
379:
380: FND_MSG_PUB.Count_And_Get
381: ( p_count => x_msg_count
382: , p_data => x_msg_data
383: );
384:
385: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
386:
387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
388:
389: -- Get message count and data
383: );
384:
385: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
386:
387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
388:
389: -- Get message count and data
390:
391: FND_MSG_PUB.Count_And_Get
394: );
395:
396: WHEN OTHERS THEN
397:
398: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
399:
400: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
401: THEN
402: FND_MSG_PUB.Add_Exc_Msg
415: END Get_Work_Order;
416:
417:
418: PROCEDURE Get_Work_Order
419: ( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
420: , x_return_status OUT NOCOPY VARCHAR2
421: , x_msg_count OUT NOCOPY NUMBER
422: , x_msg_data OUT NOCOPY VARCHAR2
423: , p_wip_entity_id IN NUMBER
434: BEGIN
435:
436: -- Initialize message list.
437:
438: IF FND_API.to_Boolean(p_init_msg_list) THEN
439: FND_MSG_PUB.initialize;
440: END IF;
441:
442: l_Wip_Entities_rec := WIP_Wip_Entities_Util.Query_Row
442: l_Wip_Entities_rec := WIP_Wip_Entities_Util.Query_Row
443: ( p_wip_entity_id => p_wip_entity_id
444: );
445:
446: IF l_wip_entities_rec.entity_type = FND_API.G_MISS_NUM THEN
447: RAISE FND_API.G_EXC_ERROR;
448: END IF;
449:
450: -- Loop over Wip_Entities's children
443: ( p_wip_entity_id => p_wip_entity_id
444: );
445:
446: IF l_wip_entities_rec.entity_type = FND_API.G_MISS_NUM THEN
447: RAISE FND_API.G_EXC_ERROR;
448: END IF;
449:
450: -- Loop over Wip_Entities's children
451:
461: l_FlowSchedule_rec := WIP_Flowschedule_Util.Query_Row
462: ( p_wip_entity_id => p_wip_entity_id
463: );
464: ELSE
465: RAISE FND_API.G_EXC_ERROR;
466: END IF;
467:
468: x_FlowSchedule_rec := l_FlowSchedule_rec;
469: x_DiscreteJob_rec := l_DiscreteJob_rec;
470: x_RepSchedule_rec := l_RepSchedule_rec;
471:
472: -- Set return status
473:
474: x_return_status := FND_API.G_RET_STS_SUCCESS;
475:
476: -- Get message count and data
477:
478: FND_MSG_PUB.Count_And_Get
482:
483:
484: EXCEPTION
485:
486: WHEN FND_API.G_EXC_ERROR THEN
487:
488: x_return_status := FND_API.G_RET_STS_ERROR;
489:
490: -- Get message count and data
484: EXCEPTION
485:
486: WHEN FND_API.G_EXC_ERROR THEN
487:
488: x_return_status := FND_API.G_RET_STS_ERROR;
489:
490: -- Get message count and data
491:
492: FND_MSG_PUB.Count_And_Get
493: ( p_count => x_msg_count
494: , p_data => x_msg_data
495: );
496:
497: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
498:
499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
500:
501: -- Get message count and data
495: );
496:
497: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
498:
499: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
500:
501: -- Get message count and data
502:
503: FND_MSG_PUB.Count_And_Get
506: );
507:
508: WHEN OTHERS THEN
509:
510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
511:
512: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
513: THEN
514: FND_MSG_PUB.Add_Exc_Msg
525: );
526:
527: END Get_Work_Order;
528:
529: PROCEDURE Get_Kanban_Details( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
530: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
531: ,kanban_card_id IN OUT NOCOPY NUMBER
532: ,x_kanban_card_number OUT NOCOPY VARCHAR2
533: ,x_subinventory OUT NOCOPY VARCHAR2
526:
527: END Get_Work_Order;
528:
529: PROCEDURE Get_Kanban_Details( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
530: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
531: ,kanban_card_id IN OUT NOCOPY NUMBER
532: ,x_kanban_card_number OUT NOCOPY VARCHAR2
533: ,x_subinventory OUT NOCOPY VARCHAR2
534: ,x_locator_id OUT NOCOPY NUMBER
558: x_supply_status := NULL;
559:
560: -- Initialize message list.
561:
562: IF FND_API.to_Boolean(p_init_msg_list) THEN
563: FND_MSG_PUB.initialize;
564: END IF;
565:
566: -- Initialize the kanban_card_id only if deriving from wip_entity_id
564: END IF;
565:
566: -- Initialize the kanban_card_id only if deriving from wip_entity_id
567:
568: IF Nvl(kanban_card_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
569: AND
570: Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
571: THEN
572: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
566: -- Initialize the kanban_card_id only if deriving from wip_entity_id
567:
568: IF Nvl(kanban_card_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
569: AND
570: Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
571: THEN
572: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
573: THEN
574: FND_MSG_PUB.Add_Exc_Msg
576: , 'Get Kanban Details'
577: , 'Keys are mutually exclusive: wip_entity_id = '|| p_wip_entity_id || ', kanban_card_id = '|| kanban_card_id
578: );
579: END IF;
580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
581:
582: ELSIF Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
583: kanban_card_id := NULL;
584:
578: );
579: END IF;
580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
581:
582: ELSIF Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
583: kanban_card_id := NULL;
584:
585: ELSIF Nvl(kanban_card_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
586: l_kanban_rec.kanban_card_id := kanban_card_id;
581:
582: ELSIF Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
583: kanban_card_id := NULL;
584:
585: ELSIF Nvl(kanban_card_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
586: l_kanban_rec.kanban_card_id := kanban_card_id;
587:
588: ELSE
589: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
593: , 'Get Kanban Details'
594: , 'Either wip_entity_id or kanban_card_id has to be provided'
595: );
596: END IF;
597: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
598:
599: END IF;
600:
601:
598:
599: END IF;
600:
601:
602: IF Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
603:
604: Get_Work_Order(
605: p_init_msg_list => FND_API.G_TRUE
606: ,x_return_status => x_return_status
601:
602: IF Nvl(p_wip_entity_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
603:
604: Get_Work_Order(
605: p_init_msg_list => FND_API.G_TRUE
606: ,x_return_status => x_return_status
607: ,x_msg_count => x_msg_count
608: ,x_msg_data => x_msg_data
609: ,p_wip_entity_id => p_wip_entity_id
610: ,x_FlowSchedule_rec => l_FlowSchedule_rec
611: ,x_DiscreteJob_rec => l_DiscreteJob_rec
612: ,x_RepSchedule_rec => l_RepSchedule_rec);
613:
614: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF l_FlowSchedule_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
611: ,x_DiscreteJob_rec => l_DiscreteJob_rec
612: ,x_RepSchedule_rec => l_RepSchedule_rec);
613:
614: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF l_FlowSchedule_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
619: l_kanban_rec.kanban_card_id := l_FlowSchedule_rec.kanban_card_id;
614: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF l_FlowSchedule_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
619: l_kanban_rec.kanban_card_id := l_FlowSchedule_rec.kanban_card_id;
620: ELSIF l_DiscreteJob_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
621: l_kanban_rec.kanban_card_id := l_DiscreteJob_rec.kanban_card_id;
622: END IF;
616: END IF;
617:
618: IF l_FlowSchedule_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
619: l_kanban_rec.kanban_card_id := l_FlowSchedule_rec.kanban_card_id;
620: ELSIF l_DiscreteJob_rec.kanban_card_id <> FND_API.G_MISS_NUM THEN
621: l_kanban_rec.kanban_card_id := l_DiscreteJob_rec.kanban_card_id;
622: END IF;
623:
624: END IF;
623:
624: END IF;
625:
626:
627: IF Nvl(l_kanban_rec.kanban_card_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
628: l_kanban_rec := INV_KanbanCard_PKG.Query_Row(p_kanban_card_id => l_kanban_rec.kanban_card_id);
629: kanban_card_id := l_kanban_rec.kanban_card_id;
630: x_kanban_card_number := l_kanban_rec.kanban_card_number;
631: x_line_id := l_kanban_rec.wip_line_id;
631: x_line_id := l_kanban_rec.wip_line_id;
632: x_supply_status := l_kanban_rec.supply_status;
633: x_subinventory := l_kanban_rec.subinventory_name;
634: x_locator_id := l_kanban_rec.locator_id;
635: IF Nvl(x_locator_id,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
636: Wip_Globals.Get_Locator_Control(l_kanban_rec.organization_id,
637: x_subinventory,
638: l_kanban_rec.inventory_item_id,
639: l_return_status,
640: l_msg_count,
641: l_msg_data,
642: l_locator_control
643: );
644: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
645: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
646: THEN
647: FND_MSG_PUB.Add_Exc_Msg
648: (G_PKG_NAME
649: ,'Get Kanban Details'
650: ,'Get Locator Control was not successful. ' || l_msg_data
651: );
652: END IF;
653: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
654: END IF;
655:
656: IF l_locator_control = 1 THEN
657: -- Donot default the locator if there is no locator control.
661:
662: END IF;
663:
664:
665: x_return_status := FND_API.G_RET_STS_SUCCESS;
666:
667: -- Get message count and data
668:
669: FND_MSG_PUB.Count_And_Get
674:
675:
676: EXCEPTION
677:
678: WHEN FND_API.G_EXC_ERROR THEN
679: x_return_status := FND_API.G_RET_STS_ERROR;
680: -- Get message count and data
681: FND_MSG_PUB.Count_And_Get
682: ( p_count => x_msg_count
675:
676: EXCEPTION
677:
678: WHEN FND_API.G_EXC_ERROR THEN
679: x_return_status := FND_API.G_RET_STS_ERROR;
680: -- Get message count and data
681: FND_MSG_PUB.Count_And_Get
682: ( p_count => x_msg_count
683: , p_data => x_msg_data
682: ( p_count => x_msg_count
683: , p_data => x_msg_data
684: );
685:
686: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
688: -- Get message count and data
689: FND_MSG_PUB.Count_And_Get
690: ( p_count => x_msg_count
683: , p_data => x_msg_data
684: );
685:
686: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
688: -- Get message count and data
689: FND_MSG_PUB.Count_And_Get
690: ( p_count => x_msg_count
691: , p_data => x_msg_data
691: , p_data => x_msg_data
692: );
693:
694: WHEN OTHERS THEN
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
696: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
697: THEN
698: FND_MSG_PUB.Add_Exc_Msg
699: ( G_PKG_NAME
707: );
708:
709: END Get_Kanban_Details;
710:
711: PROCEDURE Check_Build_Sequence(p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
708:
709: END Get_Kanban_Details;
710:
711: PROCEDURE Check_Build_Sequence(p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
716: ,p_line_id IN NUMBER := FND_API.G_MISS_NUM
709: END Get_Kanban_Details;
710:
711: PROCEDURE Check_Build_Sequence(p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
716: ,p_line_id IN NUMBER := FND_API.G_MISS_NUM
717: ,p_FlowSchedule_rec IN WIP_Work_Order_PUB.FlowSchedule_Rec_Type := WIP_Work_Order_PUB.G_MISS_FLOWSCHEDULE_REC
710:
711: PROCEDURE Check_Build_Sequence(p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
716: ,p_line_id IN NUMBER := FND_API.G_MISS_NUM
717: ,p_FlowSchedule_rec IN WIP_Work_Order_PUB.FlowSchedule_Rec_Type := WIP_Work_Order_PUB.G_MISS_FLOWSCHEDULE_REC
718: ,p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type := WIP_Work_Order_PUB.G_MISS_DISCRETEJOB_REC
711: PROCEDURE Check_Build_Sequence(p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
716: ,p_line_id IN NUMBER := FND_API.G_MISS_NUM
717: ,p_FlowSchedule_rec IN WIP_Work_Order_PUB.FlowSchedule_Rec_Type := WIP_Work_Order_PUB.G_MISS_FLOWSCHEDULE_REC
718: ,p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type := WIP_Work_Order_PUB.G_MISS_DISCRETEJOB_REC
719: ,x_build_seq_valid OUT NOCOPY VARCHAR2
712: ,p_wip_entity_id IN NUMBER := FND_API.G_MISS_NUM
713: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
714: ,p_build_sequence IN NUMBER := FND_API.G_MISS_NUM
715: ,p_schedule_group_id IN NUMBER := FND_API.G_MISS_NUM
716: ,p_line_id IN NUMBER := FND_API.G_MISS_NUM
717: ,p_FlowSchedule_rec IN WIP_Work_Order_PUB.FlowSchedule_Rec_Type := WIP_Work_Order_PUB.G_MISS_FLOWSCHEDULE_REC
718: ,p_DiscreteJob_rec IN WIP_Work_Order_PUB.Discretejob_Rec_Type := WIP_Work_Order_PUB.G_MISS_DISCRETEJOB_REC
719: ,x_build_seq_valid OUT NOCOPY VARCHAR2
720: ,x_return_status OUT NOCOPY VARCHAR2
727: l_schedule_gp_id NUMBER;
728: l_line_id NUMBER;
729:
730: BEGIN
731: x_build_seq_valid := FND_API.G_FALSE;
732: x_msg_count := 0;
733: x_msg_data := NULL;
734:
735: -- Initialize message list.
733: x_msg_data := NULL;
734:
735: -- Initialize message list.
736:
737: IF FND_API.to_Boolean(p_init_msg_list) THEN
738: FND_MSG_PUB.initialize;
739: END IF;
740:
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
737: IF FND_API.to_Boolean(p_init_msg_list) THEN
738: FND_MSG_PUB.initialize;
739: END IF;
740:
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
742: AND p_organization_id <> FND_API.G_MISS_NUM
743: AND (p_build_sequence IS NULL OR p_build_sequence <> FND_API.G_MISS_NUM)
744: AND (p_schedule_group_id IS NULL OR p_schedule_group_id <> FND_API.G_MISS_NUM)
745: AND (p_line_id IS NULL OR p_line_id <> FND_API.G_MISS_NUM)
738: FND_MSG_PUB.initialize;
739: END IF;
740:
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
742: AND p_organization_id <> FND_API.G_MISS_NUM
743: AND (p_build_sequence IS NULL OR p_build_sequence <> FND_API.G_MISS_NUM)
744: AND (p_schedule_group_id IS NULL OR p_schedule_group_id <> FND_API.G_MISS_NUM)
745: AND (p_line_id IS NULL OR p_line_id <> FND_API.G_MISS_NUM)
746: THEN
739: END IF;
740:
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
742: AND p_organization_id <> FND_API.G_MISS_NUM
743: AND (p_build_sequence IS NULL OR p_build_sequence <> FND_API.G_MISS_NUM)
744: AND (p_schedule_group_id IS NULL OR p_schedule_group_id <> FND_API.G_MISS_NUM)
745: AND (p_line_id IS NULL OR p_line_id <> FND_API.G_MISS_NUM)
746: THEN
747: l_wip_entity_id := p_wip_entity_id;
740:
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
742: AND p_organization_id <> FND_API.G_MISS_NUM
743: AND (p_build_sequence IS NULL OR p_build_sequence <> FND_API.G_MISS_NUM)
744: AND (p_schedule_group_id IS NULL OR p_schedule_group_id <> FND_API.G_MISS_NUM)
745: AND (p_line_id IS NULL OR p_line_id <> FND_API.G_MISS_NUM)
746: THEN
747: l_wip_entity_id := p_wip_entity_id;
748: l_org_id := p_organization_id;
741: IF p_wip_entity_id <> FND_API.G_MISS_NUM
742: AND p_organization_id <> FND_API.G_MISS_NUM
743: AND (p_build_sequence IS NULL OR p_build_sequence <> FND_API.G_MISS_NUM)
744: AND (p_schedule_group_id IS NULL OR p_schedule_group_id <> FND_API.G_MISS_NUM)
745: AND (p_line_id IS NULL OR p_line_id <> FND_API.G_MISS_NUM)
746: THEN
747: l_wip_entity_id := p_wip_entity_id;
748: l_org_id := p_organization_id;
749: l_build_seq := p_build_sequence;
748: l_org_id := p_organization_id;
749: l_build_seq := p_build_sequence;
750: l_schedule_gp_id := p_schedule_group_id;
751: l_line_id := p_line_id;
752: ELSIF p_FlowSchedule_rec.wip_entity_id = FND_API.G_MISS_NUM
753: AND p_DiscreteJob_rec.wip_entity_id <> FND_API.G_MISS_NUM
754: THEN
755: l_wip_entity_id := p_DiscreteJob_rec.wip_entity_id;
756: l_org_id := p_DiscreteJob_rec.organization_id;
749: l_build_seq := p_build_sequence;
750: l_schedule_gp_id := p_schedule_group_id;
751: l_line_id := p_line_id;
752: ELSIF p_FlowSchedule_rec.wip_entity_id = FND_API.G_MISS_NUM
753: AND p_DiscreteJob_rec.wip_entity_id <> FND_API.G_MISS_NUM
754: THEN
755: l_wip_entity_id := p_DiscreteJob_rec.wip_entity_id;
756: l_org_id := p_DiscreteJob_rec.organization_id;
757: l_build_seq := p_DiscreteJob_rec.build_sequence;
756: l_org_id := p_DiscreteJob_rec.organization_id;
757: l_build_seq := p_DiscreteJob_rec.build_sequence;
758: l_schedule_gp_id := p_DiscreteJob_rec.schedule_group_id;
759: l_line_id := p_DiscreteJob_rec.line_id;
760: ELSIF p_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM
761: AND p_DiscreteJob_rec.wip_entity_id = FND_API.G_MISS_NUM
762: THEN
763: l_wip_entity_id := p_FlowSchedule_rec.wip_entity_id;
764: l_org_id := p_FlowSchedule_rec.organization_id;
757: l_build_seq := p_DiscreteJob_rec.build_sequence;
758: l_schedule_gp_id := p_DiscreteJob_rec.schedule_group_id;
759: l_line_id := p_DiscreteJob_rec.line_id;
760: ELSIF p_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM
761: AND p_DiscreteJob_rec.wip_entity_id = FND_API.G_MISS_NUM
762: THEN
763: l_wip_entity_id := p_FlowSchedule_rec.wip_entity_id;
764: l_org_id := p_FlowSchedule_rec.organization_id;
765: l_build_seq := p_FlowSchedule_rec.build_sequence;
764: l_org_id := p_FlowSchedule_rec.organization_id;
765: l_build_seq := p_FlowSchedule_rec.build_sequence;
766: l_schedule_gp_id := p_FlowSchedule_rec.schedule_group_id;
767: l_line_id := p_FlowSchedule_rec.line_id;
768: ELSIF p_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM
769: AND p_DiscreteJob_rec.wip_entity_id <> FND_API.G_MISS_NUM
770: THEN
771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
772: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
765: l_build_seq := p_FlowSchedule_rec.build_sequence;
766: l_schedule_gp_id := p_FlowSchedule_rec.schedule_group_id;
767: l_line_id := p_FlowSchedule_rec.line_id;
768: ELSIF p_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM
769: AND p_DiscreteJob_rec.wip_entity_id <> FND_API.G_MISS_NUM
770: THEN
771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
772: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
773: THEN
767: l_line_id := p_FlowSchedule_rec.line_id;
768: ELSIF p_FlowSchedule_rec.wip_entity_id <> FND_API.G_MISS_NUM
769: AND p_DiscreteJob_rec.wip_entity_id <> FND_API.G_MISS_NUM
770: THEN
771: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
772: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
773: THEN
774: FND_MSG_PUB.Add_Exc_Msg
775: ( G_PKG_NAME
776: , 'Check Build Sequence'
777: , 'Mutually exclusive parameters: p_FlowSchedule_rec, p_DiscreteJob_rec '
778: );
779: END IF;
780: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
781:
782: ELSE
783: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
784: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
779: END IF;
780: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
781:
782: ELSE
783: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
784: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
785: THEN
786: FND_MSG_PUB.Add_Exc_Msg
787: ( G_PKG_NAME
788: , 'Check Build Sequence'
789: , 'Insufficient Arguments. '
790: );
791: END IF;
792: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
793:
794: END IF;
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
791: END IF;
792: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
793:
794: END IF;
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
792: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
793:
794: END IF;
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
800: THEN
793:
794: END IF;
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
800: THEN
801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
794: END IF;
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
800: THEN
801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
802: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
795: IF l_wip_entity_id = FND_API.G_MISS_NUM
796: OR l_org_id = FND_API.G_MISS_NUM
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
800: THEN
801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
802: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
803: THEN
797: OR l_build_seq = FND_API.G_MISS_NUM
798: OR l_schedule_gp_id = FND_API.G_MISS_NUM
799: OR l_line_id = FND_API.G_MISS_NUM
800: THEN
801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
802: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
803: THEN
804: FND_MSG_PUB.Add_Exc_Msg
805: ( G_PKG_NAME
806: , 'Check Build Sequence'
807: , 'Insufficient Arguments in p_FlowSchedule_rec or p_DiscreteJob_rec. '
808: );
809: END IF;
810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
811:
812: END IF;
813: IF WIP_Validate.Build_Sequence(p_build_sequence => l_build_seq,
814: p_wip_entity_id => l_wip_entity_id,
815: p_organization_id => l_org_id,
816: p_line_id => l_line_id,
817: p_schedule_group_id => l_schedule_gp_id) THEN
818:
819: x_build_seq_valid := FND_API.G_TRUE;
820: END IF;
821: x_return_status := FND_API.G_RET_STS_SUCCESS;
822:
823: -- Get message count and data
817: p_schedule_group_id => l_schedule_gp_id) THEN
818:
819: x_build_seq_valid := FND_API.G_TRUE;
820: END IF;
821: x_return_status := FND_API.G_RET_STS_SUCCESS;
822:
823: -- Get message count and data
824:
825: FND_MSG_PUB.Count_And_Get
830:
831:
832: EXCEPTION
833:
834: WHEN FND_API.G_EXC_ERROR THEN
835: x_return_status := FND_API.G_RET_STS_ERROR;
836: -- Get message count and data
837: FND_MSG_PUB.Count_And_Get
838: ( p_count => x_msg_count
831:
832: EXCEPTION
833:
834: WHEN FND_API.G_EXC_ERROR THEN
835: x_return_status := FND_API.G_RET_STS_ERROR;
836: -- Get message count and data
837: FND_MSG_PUB.Count_And_Get
838: ( p_count => x_msg_count
839: , p_data => x_msg_data
838: ( p_count => x_msg_count
839: , p_data => x_msg_data
840: );
841:
842: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
844: -- Get message count and data
845: FND_MSG_PUB.Count_And_Get
846: ( p_count => x_msg_count
839: , p_data => x_msg_data
840: );
841:
842: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
844: -- Get message count and data
845: FND_MSG_PUB.Count_And_Get
846: ( p_count => x_msg_count
847: , p_data => x_msg_data
847: , p_data => x_msg_data
848: );
849:
850: WHEN OTHERS THEN
851: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
852: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
853: THEN
854: FND_MSG_PUB.Add_Exc_Msg
855: ( G_PKG_NAME