33: );
34:
35: -- Set record return status.
36:
37: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_SUCCESS;
38:
39: -- Prepare record.
40:
41: IF l_Assignment_Set_rec.operation = MRP_Globals.G_OPR_CREATE THEN
39: -- Prepare record.
40:
41: IF l_Assignment_Set_rec.operation = MRP_Globals.G_OPR_CREATE THEN
42:
43: l_Assignment_Set_rec.db_flag := FND_API.G_FALSE;
44:
45: -- Set missing old record elements to NULL.
46:
47: l_old_Assignment_Set_rec :=
50: ELSIF l_Assignment_Set_rec.operation = MRP_Globals.G_OPR_UPDATE
51: OR l_Assignment_Set_rec.operation = MRP_Globals.G_OPR_DELETE
52: THEN
53:
54: l_Assignment_Set_rec.db_flag := FND_API.G_TRUE;
55:
56: -- Query Old if missing
57:
58: IF l_old_Assignment_Set_rec.Assignment_Set_Id = FND_API.G_MISS_NUM
54: l_Assignment_Set_rec.db_flag := FND_API.G_TRUE;
55:
56: -- Query Old if missing
57:
58: IF l_old_Assignment_Set_rec.Assignment_Set_Id = FND_API.G_MISS_NUM
59: THEN
60:
61: l_old_Assignment_Set_rec := MRP_Assignment_Set_Handlers.Query_Row
62: ( p_Assignment_Set_Id => l_Assignment_Set_rec.Assignment_Set_Id
85: IF l_control_rec.default_attributes
86: OR l_control_rec.change_attributes
87: THEN
88:
89: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
90:
91: MRP_Validate_Assignment_Set.Attributes
92: ( x_return_status => l_return_status
93: , p_Assignment_Set_rec => l_Assignment_Set_rec
93: , p_Assignment_Set_rec => l_Assignment_Set_rec
94: , p_old_Assignment_Set_rec => l_old_Assignment_Set_rec
95: );
96:
97: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
94: , p_old_Assignment_Set_rec => l_old_Assignment_Set_rec
95: );
96:
97: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
102:
95: );
96:
97: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
102:
103: END IF;
96:
97: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
98: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
102:
103: END IF;
104:
166: );
167:
168: END IF;
169:
170: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
173: RAISE FND_API.G_EXC_ERROR;
174: END IF;
167:
168: END IF;
169:
170: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
173: RAISE FND_API.G_EXC_ERROR;
174: END IF;
175:
168: END IF;
169:
170: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
173: RAISE FND_API.G_EXC_ERROR;
174: END IF;
175:
176: END IF;
169:
170: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
173: RAISE FND_API.G_EXC_ERROR;
174: END IF;
175:
176: END IF;
177:
216: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
217:
218: EXCEPTION
219:
220: WHEN FND_API.G_EXC_ERROR THEN
221:
222: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_ERROR;
223: x_Assignment_Set_rec := l_Assignment_Set_rec;
224: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
218: EXCEPTION
219:
220: WHEN FND_API.G_EXC_ERROR THEN
221:
222: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_ERROR;
223: x_Assignment_Set_rec := l_Assignment_Set_rec;
224: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
225: RAISE;
226:
223: x_Assignment_Set_rec := l_Assignment_Set_rec;
224: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
225: RAISE;
226:
227: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
228:
229: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
230: x_Assignment_Set_rec := l_Assignment_Set_rec;
231: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
225: RAISE;
226:
227: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
228:
229: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
230: x_Assignment_Set_rec := l_Assignment_Set_rec;
231: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
232:
233: RAISE;
241: , 'Assignment_Set'
242: );
243: END IF;
244:
245: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
246: x_Assignment_Set_rec := l_Assignment_Set_rec;
247: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
248:
249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
245: l_Assignment_Set_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
246: x_Assignment_Set_rec := l_Assignment_Set_rec;
247: x_old_Assignment_Set_rec := l_old_Assignment_Set_rec;
248:
249: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
250:
251: END Assignment_Set;
252:
253: -- Assignments
296: );
297:
298: -- Set record return status.
299:
300: l_Assignment_rec.return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: -- Prepare record.
303:
304: IF l_Assignment_rec.operation = MRP_Globals.G_OPR_CREATE THEN
302: -- Prepare record.
303:
304: IF l_Assignment_rec.operation = MRP_Globals.G_OPR_CREATE THEN
305:
306: l_Assignment_rec.db_flag := FND_API.G_FALSE;
307:
308: -- Set missing old record elements to NULL.
309:
310: l_old_Assignment_rec :=
313: ELSIF l_Assignment_rec.operation = MRP_Globals.G_OPR_UPDATE
314: OR l_Assignment_rec.operation = MRP_Globals.G_OPR_DELETE
315: THEN
316:
317: l_Assignment_rec.db_flag := FND_API.G_TRUE;
318:
319: -- Query Old if missing
320:
321: IF l_old_Assignment_rec.Assignment_Id = FND_API.G_MISS_NUM
317: l_Assignment_rec.db_flag := FND_API.G_TRUE;
318:
319: -- Query Old if missing
320:
321: IF l_old_Assignment_rec.Assignment_Id = FND_API.G_MISS_NUM
322: THEN
323:
324: l_old_Assignment_rec := MRP_Assignment_Handlers.Query_Row
325: ( p_Assignment_Id => l_Assignment_rec.Assignment_Id
348: IF l_control_rec.default_attributes
349: OR l_control_rec.change_attributes
350: THEN
351:
352: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
353:
354: MRP_Validate_Assignment.Attributes
355: ( x_return_status => l_return_status
356: , p_Assignment_rec => l_Assignment_rec
356: , p_Assignment_rec => l_Assignment_rec
357: , p_old_Assignment_rec => l_old_Assignment_rec
358: );
359:
360: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
363: RAISE FND_API.G_EXC_ERROR;
364: END IF;
357: , p_old_Assignment_rec => l_old_Assignment_rec
358: );
359:
360: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
363: RAISE FND_API.G_EXC_ERROR;
364: END IF;
365:
358: );
359:
360: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
363: RAISE FND_API.G_EXC_ERROR;
364: END IF;
365:
366: END IF;
359:
360: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
362: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
363: RAISE FND_API.G_EXC_ERROR;
364: END IF;
365:
366: END IF;
367:
429: );
430:
431: END IF;
432:
433: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
435: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
430:
431: END IF;
432:
433: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
435: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
438:
431: END IF;
432:
433: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
435: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
438:
439: END IF;
432:
433: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
435: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
438:
439: END IF;
440:
482:
483:
484: EXCEPTION
485:
486: WHEN FND_API.G_EXC_ERROR THEN
487:
488: l_Assignment_rec.return_status := FND_API.G_RET_STS_ERROR;
489: l_Assignment_tbl(I) := l_Assignment_rec;
490: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
484: EXCEPTION
485:
486: WHEN FND_API.G_EXC_ERROR THEN
487:
488: l_Assignment_rec.return_status := FND_API.G_RET_STS_ERROR;
489: l_Assignment_tbl(I) := l_Assignment_rec;
490: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
491:
492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
488: l_Assignment_rec.return_status := FND_API.G_RET_STS_ERROR;
489: l_Assignment_tbl(I) := l_Assignment_rec;
490: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
491:
492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493:
494: l_Assignment_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495: l_Assignment_tbl(I) := l_Assignment_rec;
496: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
490: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
491:
492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493:
494: l_Assignment_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495: l_Assignment_tbl(I) := l_Assignment_rec;
496: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
498:
493:
494: l_Assignment_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495: l_Assignment_tbl(I) := l_Assignment_rec;
496: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
498:
499: WHEN OTHERS THEN
500:
501: l_Assignment_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
498:
499: WHEN OTHERS THEN
500:
501: l_Assignment_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
502: l_Assignment_tbl(I) := l_Assignment_rec;
503: l_old_Assignment_tbl(I) := l_old_Assignment_rec;
504:
505: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
509: , 'Assignments'
510: );
511: END IF;
512:
513: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
514:
515: END;
516: END LOOP;
517:
521: x_old_Assignment_tbl := l_old_Assignment_tbl;
522:
523: EXCEPTION
524:
525: WHEN FND_API.G_EXC_ERROR THEN
526:
527: RAISE;
528:
529: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
525: WHEN FND_API.G_EXC_ERROR THEN
526:
527: RAISE;
528:
529: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
530:
531:
532: RAISE;
533:
541: );
542: END IF;
543:
544:
545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
546:
547: END Assignments;
548:
549: -- Start of Comments
563: -- End of Comments
564:
565: PROCEDURE Process_Assignment
566: ( p_api_version_number IN NUMBER
567: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
568: , p_commit IN VARCHAR2 := FND_API.G_FALSE
569: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
570: , p_control_rec IN MRP_GLOBALS.Control_Rec_Type :=
571: MRP_GLOBALS.G_MISS_CONTROL_REC
564:
565: PROCEDURE Process_Assignment
566: ( p_api_version_number IN NUMBER
567: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
568: , p_commit IN VARCHAR2 := FND_API.G_FALSE
569: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
570: , p_control_rec IN MRP_GLOBALS.Control_Rec_Type :=
571: MRP_GLOBALS.G_MISS_CONTROL_REC
572: , x_return_status OUT NOCOPY VARCHAR2
565: PROCEDURE Process_Assignment
566: ( p_api_version_number IN NUMBER
567: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
568: , p_commit IN VARCHAR2 := FND_API.G_FALSE
569: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
570: , p_control_rec IN MRP_GLOBALS.Control_Rec_Type :=
571: MRP_GLOBALS.G_MISS_CONTROL_REC
572: , x_return_status OUT NOCOPY VARCHAR2
573: , x_msg_count OUT NOCOPY NUMBER
602: l_Assignment_tbl_out MRP_Src_Assignment_PUB.Assignment_Tbl_Type;
603:
604: l_src_rule_org_id NUMBER;
605: l_category_set_id NUMBER;
606: l_organization_id NUMBER := FND_API.G_MISS_NUM;
607:
608: BEGIN
609:
610: -- Standard call to check for call compatibility
608: BEGIN
609:
610: -- Standard call to check for call compatibility
611:
612: IF NOT FND_API.Compatible_API_Call
613: ( l_api_version_number
614: , p_api_version_number
615: , l_api_name
616: , G_PKG_NAME
615: , l_api_name
616: , G_PKG_NAME
617: )
618: THEN
619: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
620: END IF;
621:
622: -- Set Save point.
623: SAVEPOINT Process_Assignment_PVT;
623: SAVEPOINT Process_Assignment_PVT;
624:
625: -- Initialize message list.
626:
627: IF FND_API.to_Boolean(p_init_msg_list) THEN
628: FND_MSG_PUB.initialize;
629: END IF;
630:
631: -- Init local table variables.
664: l_Assignment_rec := l_Assignment_tbl(I);
665:
666: IF l_Assignment_rec.operation = MRP_Globals.G_OPR_CREATE
667: AND (l_Assignment_rec.Assignment_Set_Id IS NULL OR
668: l_Assignment_rec.Assignment_Set_Id = FND_API.G_MISS_NUM)
669: THEN
670:
671: -- Copy parent_id.
672:
717: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sourcing_Rule_Type');
718: FND_MESSAGE.SET_TOKEN('DETAILS',
719: 'Cannot use local Sourcing Rule for this assignment');
720: FND_MSG_PUB.Add;
721: l_Assignment_tbl(I).return_status := FND_API.G_RET_STS_ERROR;
722: END IF;
723:
724: IF (l_Assignment_rec.assignment_type = 4 OR
725: l_Assignment_rec.assignment_type = 5 OR
729: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Sourcing_Rule_Type');
730: FND_MESSAGE.SET_TOKEN('DETAILS',
731: 'Cannot use a Bill of Distribution for this assignment');
732: FND_MSG_PUB.Add;
733: l_Assignment_tbl(I).return_status := FND_API.G_RET_STS_ERROR;
734: END IF;
735:
736: l_category_set_id := FND_PROFILE.value('MRP_SRA_CATEGORY_SET');
737:
741: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','Category_Set_Id');
742: FND_MESSAGE.SET_TOKEN('DETAILS',
743: 'Category_Set_Id cannot be NULL');
744: FND_MSG_PUB.Add;
745: l_Assignment_tbl(I).return_status := FND_API.G_RET_STS_ERROR;
746: END IF;
747:
748: -- if Customer and Ship to site are passed in and there is
749: -- an organization modelled as this Customer at this site,
748: -- if Customer and Ship to site are passed in and there is
749: -- an organization modelled as this Customer at this site,
750: -- populate the source_organization_id
751:
752: l_organization_id := FND_API.G_MISS_NUM;
753: BEGIN
754: SELECT organization_id
755: INTO l_organization_id
756: FROM mrp_cust_sup_org_v
757: WHERE Customer_Id = to_char(l_Assignment_rec.Customer_Id)
758: AND Ship_To_Site_Id = to_char(l_Assignment_rec.Ship_To_Site_Id);
759:
760: IF l_organization_id IS NOT NULL AND
761: l_organization_id <> FND_API.G_MISS_NUM THEN
762: UPDATE mrp_sr_assignments
763: SET organization_id = l_organization_id
764: WHERE assignment_id = l_Assignment_rec.assignment_id;
765:
805: END IF;
806:
807: -- Derive return status.
808:
809: x_return_status := FND_API.G_RET_STS_SUCCESS;
810:
811: IF l_Assignment_Set_rec.return_status = FND_API.G_RET_STS_ERROR THEN
812: ROLLBACK TO Process_Assignment_PVT;
813: x_return_status := FND_API.G_RET_STS_ERROR;
807: -- Derive return status.
808:
809: x_return_status := FND_API.G_RET_STS_SUCCESS;
810:
811: IF l_Assignment_Set_rec.return_status = FND_API.G_RET_STS_ERROR THEN
812: ROLLBACK TO Process_Assignment_PVT;
813: x_return_status := FND_API.G_RET_STS_ERROR;
814: END IF;
815:
809: x_return_status := FND_API.G_RET_STS_SUCCESS;
810:
811: IF l_Assignment_Set_rec.return_status = FND_API.G_RET_STS_ERROR THEN
812: ROLLBACK TO Process_Assignment_PVT;
813: x_return_status := FND_API.G_RET_STS_ERROR;
814: END IF;
815:
816: FOR I IN 1..l_Assignment_tbl.COUNT LOOP
817:
814: END IF;
815:
816: FOR I IN 1..l_Assignment_tbl.COUNT LOOP
817:
818: IF l_Assignment_tbl(I).return_status = FND_API.G_RET_STS_ERROR THEN
819: ROLLBACK TO Process_Assignment_PVT;
820: x_return_status := FND_API.G_RET_STS_ERROR;
821: END IF;
822:
816: FOR I IN 1..l_Assignment_tbl.COUNT LOOP
817:
818: IF l_Assignment_tbl(I).return_status = FND_API.G_RET_STS_ERROR THEN
819: ROLLBACK TO Process_Assignment_PVT;
820: x_return_status := FND_API.G_RET_STS_ERROR;
821: END IF;
822:
823: END LOOP;
824:
831:
832:
833: EXCEPTION
834:
835: WHEN FND_API.G_EXC_ERROR THEN
836:
837: x_return_status := FND_API.G_RET_STS_ERROR;
838:
839: -- Get message count and data
833: EXCEPTION
834:
835: WHEN FND_API.G_EXC_ERROR THEN
836:
837: x_return_status := FND_API.G_RET_STS_ERROR;
838:
839: -- Get message count and data
840:
841: FND_MSG_PUB.Count_And_Get
842: ( p_count => x_msg_count
843: , p_data => x_msg_data
844: );
845:
846: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
847:
848: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
849:
850: -- Get message count and data
844: );
845:
846: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
847:
848: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
849:
850: -- Get message count and data
851:
852: FND_MSG_PUB.Count_And_Get
855: );
856:
857: WHEN OTHERS THEN
858:
859: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
860:
861: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
862: THEN
863: FND_MSG_PUB.Add_Exc_Msg
892: -- End of Comments
893:
894: PROCEDURE Lock_Assignment
895: ( p_api_version_number IN NUMBER
896: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
897: , x_return_status OUT NOCOPY VARCHAR2
898: , x_msg_count OUT NOCOPY NUMBER
899: , x_msg_data OUT NOCOPY VARCHAR2
900: , p_Assignment_Set_rec IN MRP_Src_Assignment_PUB.Assignment_Set_Rec_Type :=
906: )
907: IS
908: l_api_version_number CONSTANT NUMBER := 1.0;
909: l_api_name CONSTANT VARCHAR2(30):= 'Lock_Assignment';
910: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
911: l_Assignment_rec MRP_Src_Assignment_PUB.Assignment_Rec_Type;
912: BEGIN
913:
914: -- Standard call to check for call compatibility
912: BEGIN
913:
914: -- Standard call to check for call compatibility
915:
916: IF NOT FND_API.Compatible_API_Call
917: ( l_api_version_number
918: , p_api_version_number
919: , l_api_name
920: , G_PKG_NAME
919: , l_api_name
920: , G_PKG_NAME
921: )
922: THEN
923: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
924: END IF;
925:
926: -- Initialize message list.
927:
924: END IF;
925:
926: -- Initialize message list.
927:
928: IF FND_API.to_Boolean(p_init_msg_list) THEN
929: FND_MSG_PUB.initialize;
930: END IF;
931:
932: -- Set Savepoint
942: , x_Assignment_Set_rec => x_Assignment_Set_rec
943: , x_return_status => l_return_status
944: );
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
943: , x_return_status => l_return_status
944: );
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
944: );
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
952:
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
952:
953: END IF;
963: , x_Assignment_rec => l_Assignment_rec
964: , x_return_status => l_return_status
965: );
966:
967: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
969: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
970: RAISE FND_API.G_EXC_ERROR;
971: END IF;
964: , x_return_status => l_return_status
965: );
966:
967: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
969: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
970: RAISE FND_API.G_EXC_ERROR;
971: END IF;
972:
965: );
966:
967: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
969: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
970: RAISE FND_API.G_EXC_ERROR;
971: END IF;
972:
973: x_Assignment_tbl(I) := l_Assignment_rec;
966:
967: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
968: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
969: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
970: RAISE FND_API.G_EXC_ERROR;
971: END IF;
972:
973: x_Assignment_tbl(I) := l_Assignment_rec;
974:
977: END LOOP;
978:
979: -- Set return status
980:
981: x_return_status := FND_API.G_RET_STS_SUCCESS;
982:
983: -- Get message count and data
984:
985: FND_MSG_PUB.Count_And_Get
989:
990:
991: EXCEPTION
992:
993: WHEN FND_API.G_EXC_ERROR THEN
994:
995: x_return_status := FND_API.G_RET_STS_ERROR;
996:
997: -- Get message count and data
991: EXCEPTION
992:
993: WHEN FND_API.G_EXC_ERROR THEN
994:
995: x_return_status := FND_API.G_RET_STS_ERROR;
996:
997: -- Get message count and data
998:
999: FND_MSG_PUB.Count_And_Get
1004: -- Rollback
1005:
1006: ROLLBACK TO Lock_Assignment_PVT;
1007:
1008: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1009:
1010: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1011:
1012: -- Get message count and data
1006: ROLLBACK TO Lock_Assignment_PVT;
1007:
1008: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1009:
1010: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1011:
1012: -- Get message count and data
1013:
1014: FND_MSG_PUB.Count_And_Get
1021: ROLLBACK TO Lock_Assignment_PVT;
1022:
1023: WHEN OTHERS THEN
1024:
1025: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1026:
1027: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1028: THEN
1029: FND_MSG_PUB.Add_Exc_Msg
1062: -- End of Comments
1063:
1064: PROCEDURE Get_Assignment
1065: ( p_api_version_number IN NUMBER
1066: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1067: , x_return_status OUT NOCOPY VARCHAR2
1068: , x_msg_count OUT NOCOPY NUMBER
1069: , x_msg_data OUT NOCOPY VARCHAR2
1070: , p_Assignment_Set_Id IN NUMBER
1079: BEGIN
1080:
1081: -- Standard call to check for call compatibility
1082:
1083: IF NOT FND_API.Compatible_API_Call
1084: ( l_api_version_number
1085: , p_api_version_number
1086: , l_api_name
1087: , G_PKG_NAME
1086: , l_api_name
1087: , G_PKG_NAME
1088: )
1089: THEN
1090: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1091: END IF;
1092:
1093: -- Initialize message list.
1094:
1091: END IF;
1092:
1093: -- Initialize message list.
1094:
1095: IF FND_API.to_Boolean(p_init_msg_list) THEN
1096: FND_MSG_PUB.initialize;
1097: END IF;
1098:
1099: -- Get Assignment_Set
1115: x_Assignment_tbl := l_Assignment_tbl;
1116:
1117: -- Set return status
1118:
1119: x_return_status := FND_API.G_RET_STS_SUCCESS;
1120:
1121: -- Get message count and data
1122:
1123: FND_MSG_PUB.Count_And_Get
1127:
1128:
1129: EXCEPTION
1130:
1131: WHEN FND_API.G_EXC_ERROR THEN
1132:
1133: x_return_status := FND_API.G_RET_STS_ERROR;
1134:
1135: -- Get message count and data
1129: EXCEPTION
1130:
1131: WHEN FND_API.G_EXC_ERROR THEN
1132:
1133: x_return_status := FND_API.G_RET_STS_ERROR;
1134:
1135: -- Get message count and data
1136:
1137: FND_MSG_PUB.Count_And_Get
1138: ( p_count => x_msg_count
1139: , p_data => x_msg_data
1140: );
1141:
1142: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1143:
1144: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1145:
1146: -- Get message count and data
1140: );
1141:
1142: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1143:
1144: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1145:
1146: -- Get message count and data
1147:
1148: FND_MSG_PUB.Count_And_Get
1151: );
1152:
1153: WHEN OTHERS THEN
1154:
1155: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1156:
1157: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1158: THEN
1159: FND_MSG_PUB.Add_Exc_Msg