48: -- End of Comments
49:
50: PROCEDURE Process_Sourcing_Rule
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_Sourcing_Rule
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_Sourcing_Rule
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_Sourcing_Rule_rec IN Sourcing_Rule_Rec_Type :=
95: SAVEPOINT S_Process_Sourcing_Rule ;
96: --
97: -- Standard call to check for call compatibility
98:
99: IF NOT FND_API.Compatible_API_Call
100: ( l_api_version_number
101: , p_api_version_number
102: , l_api_name
103: , G_PKG_NAME
102: , l_api_name
103: , G_PKG_NAME
104: )
105: THEN
106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
107: END IF;
108:
109:
110: -- Perform Value to Id conversion
121: , x_Receiving_Org_tbl => l_Receiving_Org_tbl
122: , x_Shipping_Org_tbl => l_Shipping_Org_tbl
123: );
124:
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
127: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
128: RAISE FND_API.G_EXC_ERROR;
129: END IF;
122: , x_Shipping_Org_tbl => l_Shipping_Org_tbl
123: );
124:
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
127: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
128: RAISE FND_API.G_EXC_ERROR;
129: END IF;
130:
123: );
124:
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
127: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
128: RAISE FND_API.G_EXC_ERROR;
129: END IF;
130:
131: -- Call MRP_Sourcing_Rule_PVT.Process_Sourcing_Rule
124:
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
127: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
128: RAISE FND_API.G_EXC_ERROR;
129: END IF;
130:
131: -- Call MRP_Sourcing_Rule_PVT.Process_Sourcing_Rule
132:
132:
133: MRP_Sourcing_Rule_PVT.Process_Sourcing_Rule
134: ( p_api_version_number => 1.0
135: , p_init_msg_list => p_init_msg_list
136: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
137: , p_commit => p_commit
138: , x_return_status => x_return_status
139: , x_msg_count => x_msg_count
140: , x_msg_data => x_msg_data
160:
161:
162: -- If p_return_values is TRUE then convert Ids to Values.
163:
164: IF FND_API.to_Boolean(p_return_values) THEN
165:
166: Id_To_Value
167: ( p_Sourcing_Rule_rec => l_Sourcing_Rule_rec
168: , p_Receiving_Org_tbl => l_Receiving_Org_tbl
173: );
174:
175: END IF;
176: -- bug 3138889
177: IF p_commit = FND_API.G_TRUE THEN
178: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
179: COMMIT;
180: ELSE
181: ROLLBACK TO S_Process_Sourcing_Rule ;
174:
175: END IF;
176: -- bug 3138889
177: IF p_commit = FND_API.G_TRUE THEN
178: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
179: COMMIT;
180: ELSE
181: ROLLBACK TO S_Process_Sourcing_Rule ;
182: END IF;
180: ELSE
181: ROLLBACK TO S_Process_Sourcing_Rule ;
182: END IF;
183: ELSE
184: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
185: ROLLBACK TO S_Process_Sourcing_Rule ;
186: END IF;
187: END IF;
188:
186: END IF;
187: END IF;
188:
189: /** Bug 2263575 **/
190: /* IF p_commit = FND_API.G_FALSE THEN
191: ROLLBACK;
192: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
193: COMMIT;
194: ELSE
188:
189: /** Bug 2263575 **/
190: /* IF p_commit = FND_API.G_FALSE THEN
191: ROLLBACK;
192: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
193: COMMIT;
194: ELSE
195: ROLLBACK;
196: END IF;
198:
199:
200: EXCEPTION
201:
202: WHEN FND_API.G_EXC_ERROR THEN
203:
204: x_return_status := FND_API.G_RET_STS_ERROR;
205:
206: -- Get message count and data
200: EXCEPTION
201:
202: WHEN FND_API.G_EXC_ERROR THEN
203:
204: x_return_status := FND_API.G_RET_STS_ERROR;
205:
206: -- Get message count and data
207:
208: FND_MSG_PUB.Count_And_Get
209: ( p_count => x_msg_count
210: , p_data => x_msg_data
211: );
212:
213: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
214:
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
216:
217: -- Get message count and data
211: );
212:
213: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
214:
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
216:
217: -- Get message count and data
218:
219: FND_MSG_PUB.Count_And_Get
222: );
223:
224: WHEN OTHERS THEN
225:
226: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
227:
228: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
229: THEN
230: FND_MSG_PUB.Add_Exc_Msg
259: -- End of Comments
260:
261: PROCEDURE Lock_Sourcing_Rule
262: ( p_api_version_number IN NUMBER
263: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
264: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
265: , x_return_status OUT NOCOPY VARCHAR2
266: , x_msg_count OUT NOCOPY NUMBER
267: , x_msg_data OUT NOCOPY VARCHAR2
260:
261: PROCEDURE Lock_Sourcing_Rule
262: ( p_api_version_number IN NUMBER
263: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
264: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
265: , x_return_status OUT NOCOPY VARCHAR2
266: , x_msg_count OUT NOCOPY NUMBER
267: , x_msg_data OUT NOCOPY VARCHAR2
268: , p_Sourcing_Rule_rec IN Sourcing_Rule_Rec_Type :=
299: BEGIN
300:
301: -- Standard call to check for call compatibility
302:
303: IF NOT FND_API.Compatible_API_Call
304: ( l_api_version_number
305: , p_api_version_number
306: , l_api_name
307: , G_PKG_NAME
306: , l_api_name
307: , G_PKG_NAME
308: )
309: THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;
312:
313: -- Perform Value to Id conversion
314:
324: , x_Receiving_Org_tbl => l_Receiving_Org_tbl
325: , x_Shipping_Org_tbl => l_Shipping_Org_tbl
326: );
327:
328: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: END IF;
325: , x_Shipping_Org_tbl => l_Shipping_Org_tbl
326: );
327:
328: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: END IF;
333:
326: );
327:
328: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: END IF;
333:
334:
327:
328: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: END IF;
333:
334:
335: -- Call MRP_Sourcing_Rule_PVT.Lock_Sourcing_Rule
360: x_Shipping_Org_tbl := l_Shipping_Org_tbl;
361:
362: -- If p_return_values is TRUE then convert Ids to Values.
363:
364: IF FND_API.to_Boolean(p_return_values) THEN
365:
366: Id_To_Value
367: ( p_Sourcing_Rule_rec => l_Sourcing_Rule_rec
368: , p_Receiving_Org_tbl => l_Receiving_Org_tbl
375: END IF;
376:
377: EXCEPTION
378:
379: WHEN FND_API.G_EXC_ERROR THEN
380:
381: x_return_status := FND_API.G_RET_STS_ERROR;
382:
383: -- Get message count and data
377: EXCEPTION
378:
379: WHEN FND_API.G_EXC_ERROR THEN
380:
381: x_return_status := FND_API.G_RET_STS_ERROR;
382:
383: -- Get message count and data
384:
385: FND_MSG_PUB.Count_And_Get
386: ( p_count => x_msg_count
387: , p_data => x_msg_data
388: );
389:
390: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
391:
392: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
393:
394: -- Get message count and data
388: );
389:
390: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
391:
392: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
393:
394: -- Get message count and data
395:
396: FND_MSG_PUB.Count_And_Get
399: );
400:
401: WHEN OTHERS THEN
402:
403: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
404:
405: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
406: THEN
407: FND_MSG_PUB.Add_Exc_Msg
436: -- End of Comments
437:
438: PROCEDURE Get_Sourcing_Rule
439: ( p_api_version_number IN NUMBER
440: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
441: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
442: , x_return_status OUT NOCOPY VARCHAR2
443: , x_msg_count OUT NOCOPY NUMBER
444: , x_msg_data OUT NOCOPY VARCHAR2
437:
438: PROCEDURE Get_Sourcing_Rule
439: ( p_api_version_number IN NUMBER
440: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
441: , p_return_values IN VARCHAR2 := FND_API.G_FALSE
442: , x_return_status OUT NOCOPY VARCHAR2
443: , x_msg_count OUT NOCOPY NUMBER
444: , x_msg_data OUT NOCOPY VARCHAR2
445: , p_Sourcing_Rule_Id IN NUMBER :=
442: , x_return_status OUT NOCOPY VARCHAR2
443: , x_msg_count OUT NOCOPY NUMBER
444: , x_msg_data OUT NOCOPY VARCHAR2
445: , p_Sourcing_Rule_Id IN NUMBER :=
446: FND_API.G_MISS_NUM
447: , x_Sourcing_Rule_rec OUT NOCOPY Sourcing_Rule_Rec_Type
448: , x_Sourcing_Rule_val_rec OUT NOCOPY Sourcing_Rule_Val_Rec_Type
449: , x_Receiving_Org_tbl OUT NOCOPY Receiving_Org_Tbl_Type
450: , x_Receiving_Org_val_tbl OUT NOCOPY Receiving_Org_Val_Tbl_Type
466: BEGIN
467:
468: -- Standard call to check for call compatibility
469:
470: IF NOT FND_API.Compatible_API_Call
471: ( l_api_version_number
472: , p_api_version_number
473: , l_api_name
474: , G_PKG_NAME
473: , l_api_name
474: , G_PKG_NAME
475: )
476: THEN
477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
478: END IF;
479:
480: -- Value to ID conversion
481:
480: -- Value to ID conversion
481:
482: -- If p_return_values is TRUE then query read views
483:
484: IF FND_API.TO_BOOLEAN(p_return_values) THEN
485:
486: -- Get Sourcing_Rule
487:
488: MRP_Sourcing_Rule_Handlers.Query_Entity
557: END IF;
558:
559: -- Set return status
560:
561: x_return_status := FND_API.G_RET_STS_SUCCESS;
562:
563: -- Get message count and data
564:
565: FND_MSG_PUB.Count_And_Get
569:
570:
571: EXCEPTION
572:
573: WHEN FND_API.G_EXC_ERROR THEN
574:
575: x_return_status := FND_API.G_RET_STS_ERROR;
576:
577: -- Get message count and data
571: EXCEPTION
572:
573: WHEN FND_API.G_EXC_ERROR THEN
574:
575: x_return_status := FND_API.G_RET_STS_ERROR;
576:
577: -- Get message count and data
578:
579: FND_MSG_PUB.Count_And_Get
580: ( p_count => x_msg_count
581: , p_data => x_msg_data
582: );
583:
584: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
585:
586: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
587:
588: -- Get message count and data
582: );
583:
584: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
585:
586: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
587:
588: -- Get message count and data
589:
590: FND_MSG_PUB.Count_And_Get
593: );
594:
595: WHEN OTHERS THEN
596:
597: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
598:
599: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
600: THEN
601: FND_MSG_PUB.Add_Exc_Msg
655: , 'Id_To_Value'
656: );
657: END IF;
658:
659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
660:
661: END Id_To_Value;
662:
663: -- Procedure Value_To_Id
682: BEGIN
683:
684: -- Init x_return_status.
685:
686: x_return_status := FND_API.G_RET_STS_SUCCESS;
687:
688: -- Convert Sourcing_Rule
689:
690: l_Sourcing_Rule_rec := MRP_Sourcing_Rule_Util.Get_Ids
693: );
694:
695: x_Sourcing_Rule_rec := l_Sourcing_Rule_rec;
696:
697: IF l_Sourcing_Rule_rec.return_status = FND_API.G_RET_STS_ERROR THEN
698: x_return_status := FND_API.G_RET_STS_ERROR;
699: END IF;
700:
701: -- Convert Receiving_Org
694:
695: x_Sourcing_Rule_rec := l_Sourcing_Rule_rec;
696:
697: IF l_Sourcing_Rule_rec.return_status = FND_API.G_RET_STS_ERROR THEN
698: x_return_status := FND_API.G_RET_STS_ERROR;
699: END IF;
700:
701: -- Convert Receiving_Org
702:
712: );
713:
714: x_Receiving_Org_tbl(l_index) := l_Receiving_Org_rec;
715:
716: IF l_Receiving_Org_rec.return_status = FND_API.G_RET_STS_ERROR THEN
717: x_return_status := FND_API.G_RET_STS_ERROR;
718: END IF;
719:
720: l_index := p_Receiving_Org_val_tbl.NEXT(l_index);
713:
714: x_Receiving_Org_tbl(l_index) := l_Receiving_Org_rec;
715:
716: IF l_Receiving_Org_rec.return_status = FND_API.G_RET_STS_ERROR THEN
717: x_return_status := FND_API.G_RET_STS_ERROR;
718: END IF;
719:
720: l_index := p_Receiving_Org_val_tbl.NEXT(l_index);
721:
735: );
736:
737: x_Shipping_Org_tbl(l_index) := l_Shipping_Org_rec;
738:
739: IF l_Shipping_Org_rec.return_status = FND_API.G_RET_STS_ERROR THEN
740: x_return_status := FND_API.G_RET_STS_ERROR;
741: END IF;
742:
743: l_index := p_Shipping_Org_val_tbl.NEXT(l_index);
736:
737: x_Shipping_Org_tbl(l_index) := l_Shipping_Org_rec;
738:
739: IF l_Shipping_Org_rec.return_status = FND_API.G_RET_STS_ERROR THEN
740: x_return_status := FND_API.G_RET_STS_ERROR;
741: END IF;
742:
743: l_index := p_Shipping_Org_val_tbl.NEXT(l_index);
744:
755: , 'Value_To_Id'
756: );
757: END IF;
758:
759: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
760:
761: END Value_To_Id;
762:
763: END MRP_Sourcing_Rule_PUB;