DBA Data[Home] [Help]

PACKAGE BODY: APPS.MRP_SRC_ASSIGNMENT_PUB

Source


1 PACKAGE BODY MRP_Src_Assignment_PUB AS
2 /* $Header: MRPPASNB.pls 120.2 2005/06/27 17:09:55 ichoudhu noship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'MRP_Src_Assignment_PUB';
7 
8 --  Forward declaration of Procedure Id_To_Value
9 
10 PROCEDURE Id_To_Value
11 (   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type
12 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type
13 ,   x_Assignment_Set_val_rec        OUT NOCOPY Assignment_Set_Val_Rec_Type
14 ,   x_Assignment_val_tbl            OUT NOCOPY Assignment_Val_Tbl_Type
15 );
16 
17 --  Forward declaration of procedure Value_To_Id
18 
19 PROCEDURE Value_To_Id
20 (   x_return_status                 OUT NOCOPY VARCHAR2
21 ,   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type
22 ,   p_Assignment_Set_val_rec        IN  Assignment_Set_Val_Rec_Type
23 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type
24 ,   p_Assignment_val_tbl            IN  Assignment_Val_Tbl_Type
25 ,   x_Assignment_Set_rec            OUT NOCOPY Assignment_Set_Rec_Type
26 ,   x_Assignment_tbl                OUT NOCOPY Assignment_Tbl_Type
27 );
28 
29 --  Start of Comments
30 --  API name    Process_Assignment
31 --  Type        Public
32 --  Function
33 --
34 --  Pre-reqs
35 --
36 --  Parameters
37 --
38 --  Version     Current version = 1.0
39 --              Initial version = 1.0
40 --
41 --  Notes
42 --
43 --  End of Comments
44 
45 PROCEDURE Process_Assignment
46 (   p_api_version_number            IN  NUMBER
47 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
48 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
49 ,   p_commit                        IN  VARCHAR2 := FND_API.G_FALSE
50 ,   x_return_status                 OUT NOCOPY VARCHAR2
51 ,   x_msg_count                     OUT NOCOPY NUMBER
52 ,   x_msg_data                      OUT NOCOPY VARCHAR2
53 ,   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type :=
54                                         G_MISS_ASSIGNMENT_SET_REC
55 ,   p_Assignment_Set_val_rec        IN  Assignment_Set_Val_Rec_Type :=
56                                         G_MISS_ASSIGNMENT_SET_VAL_REC
57 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type :=
58                                         G_MISS_ASSIGNMENT_TBL
59 ,   p_Assignment_val_tbl            IN  Assignment_Val_Tbl_Type :=
60                                         G_MISS_ASSIGNMENT_VAL_TBL
61 ,   x_Assignment_Set_rec            OUT NOCOPY Assignment_Set_Rec_Type
62 ,   x_Assignment_Set_val_rec        OUT NOCOPY Assignment_Set_Val_Rec_Type
63 ,   x_Assignment_tbl                OUT NOCOPY Assignment_Tbl_Type
64 ,   x_Assignment_val_tbl            OUT NOCOPY Assignment_Val_Tbl_Type
65 )
66 IS
67 l_api_version_number          CONSTANT NUMBER := 1.0;
68 l_api_name                    CONSTANT VARCHAR2(30):= 'Process_Assignment';
69 l_control_rec                 MRP_GLOBALS.Control_Rec_Type;
70 l_return_status               VARCHAR2(1);
71 l_Assignment_Set_rec          Assignment_Set_Rec_Type;
72 l_Assignment_tbl              Assignment_Tbl_Type;
73 l_Assignment_Set_rec_out          Assignment_Set_Rec_Type;
74 l_Assignment_tbl_out              Assignment_Tbl_Type;
75 BEGIN
76 
77 
78     --  Standard call to check for call compatibility
79 
80     IF NOT FND_API.Compatible_API_Call
81            (   l_api_version_number
82            ,   p_api_version_number
83            ,   l_api_name
84            ,   G_PKG_NAME
85            )
86     THEN
87         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88     END IF;
89 
90     --  Perform Value to Id conversion
91 
92     Value_To_Id
93     (   x_return_status               => l_return_status
94     ,   p_Assignment_Set_rec          => p_Assignment_Set_rec
95     ,   p_Assignment_Set_val_rec      => p_Assignment_Set_val_rec
96     ,   p_Assignment_tbl              => p_Assignment_tbl
97     ,   p_Assignment_val_tbl          => p_Assignment_val_tbl
98     ,   x_Assignment_Set_rec          => l_Assignment_Set_rec
99     ,   x_Assignment_tbl              => l_Assignment_tbl
100     );
101 
102     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
103         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
104     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
105         RAISE FND_API.G_EXC_ERROR;
106     END IF;
107 
108 
109     --  Call MRP_Assignment_PVT.Process_Assignment
110 
111     MRP_Assignment_PVT.Process_Assignment
112     (   p_api_version_number          => 1.0
113     ,   p_init_msg_list               => p_init_msg_list
114     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
115     ,   p_commit                      => p_commit
116     ,   x_return_status               => x_return_status
117     ,   x_msg_count                   => x_msg_count
118     ,   x_msg_data                    => x_msg_data
119     ,   p_control_rec                 => l_control_rec
120     ,   p_Assignment_Set_rec          => l_Assignment_Set_rec
121     ,   p_Assignment_tbl              => l_Assignment_tbl
122     ,   x_Assignment_Set_rec          => l_Assignment_Set_rec_out
123     ,   x_Assignment_tbl              => l_Assignment_tbl_out
124     );
125 
126     l_Assignment_Set_rec := l_Assignment_Set_rec_out;
127     l_Assignment_tbl := l_Assignment_tbl_out;
128 
129     --  Load Id OUT parameters.
130 
131     x_Assignment_Set_rec           := l_Assignment_Set_rec;
132     x_Assignment_tbl               := l_Assignment_tbl;
133 
134     --  If p_return_values is TRUE then convert Ids to Values.
135 
136     IF FND_API.to_Boolean(p_return_values) THEN
137 
138         Id_To_Value
139         (   p_Assignment_Set_rec          => l_Assignment_Set_rec
140         ,   p_Assignment_tbl              => l_Assignment_tbl
141         ,   x_Assignment_Set_val_rec      => x_Assignment_Set_val_rec
142         ,   x_Assignment_val_tbl          => x_Assignment_val_tbl
143         );
144 
145     END IF;
146 
147 EXCEPTION
148 
149     WHEN FND_API.G_EXC_ERROR THEN
150 
151 
152         x_return_status := FND_API.G_RET_STS_ERROR;
153 
154         --  Get message count and data
155 
156         FND_MSG_PUB.Count_And_Get
157         (   p_count                       => x_msg_count
158         ,   p_data                        => x_msg_data
159         );
160 
161     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162 
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
169         (   p_count                       => x_msg_count
170         ,   p_data                        => x_msg_data
171         );
172 
173     WHEN OTHERS THEN
174 
175 
176         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
177 
178         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
179         THEN
180             FND_MSG_PUB.Add_Exc_Msg
181             (   G_PKG_NAME
182             ,   'Process_Assignment'
183             );
184         END IF;
185 
186         --  Get message count and data
187 
188         FND_MSG_PUB.Count_And_Get
189         (   p_count                       => x_msg_count
190         ,   p_data                        => x_msg_data
191         );
192 
193 END Process_Assignment;
194 
195 --  Start of Comments
196 --  API name    Lock_Assignment
197 --  Type        Public
198 --  Function
199 --
200 --  Pre-reqs
201 --
202 --  Parameters
203 --
204 --  Version     Current version = 1.0
205 --              Initial version = 1.0
206 --
207 --  Notes
208 --
209 --  End of Comments
210 
211 PROCEDURE Lock_Assignment
212 (   p_api_version_number            IN  NUMBER
213 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
214 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
215 ,   x_return_status                 OUT NOCOPY VARCHAR2
216 ,   x_msg_count                     OUT NOCOPY NUMBER
217 ,   x_msg_data                      OUT NOCOPY VARCHAR2
218 ,   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type :=
219                                         G_MISS_ASSIGNMENT_SET_REC
220 ,   p_Assignment_Set_val_rec        IN  Assignment_Set_Val_Rec_Type :=
221                                         G_MISS_ASSIGNMENT_SET_VAL_REC
222 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type :=
223                                         G_MISS_ASSIGNMENT_TBL
224 ,   p_Assignment_val_tbl            IN  Assignment_Val_Tbl_Type :=
225                                         G_MISS_ASSIGNMENT_VAL_TBL
226 ,   x_Assignment_Set_rec            OUT NOCOPY Assignment_Set_Rec_Type
227 ,   x_Assignment_Set_val_rec        OUT NOCOPY Assignment_Set_Val_Rec_Type
228 ,   x_Assignment_tbl                OUT NOCOPY Assignment_Tbl_Type
229 ,   x_Assignment_val_tbl            OUT NOCOPY Assignment_Val_Tbl_Type
230 )
231 IS
232 l_api_version_number          CONSTANT NUMBER := 1.0;
233 l_api_name                    CONSTANT VARCHAR2(30):= 'Lock_Assignment';
234 l_return_status               VARCHAR2(1);
235 l_Assignment_Set_rec          Assignment_Set_Rec_Type;
236 l_Assignment_tbl              Assignment_Tbl_Type;
237 l_Assignment_Set_rec_out          Assignment_Set_Rec_Type;
238 l_Assignment_tbl_out              Assignment_Tbl_Type;
239 BEGIN
240 
241 
242     --  Standard call to check for call compatibility
243 
244     IF NOT FND_API.Compatible_API_Call
245            (   l_api_version_number
246            ,   p_api_version_number
247            ,   l_api_name
248            ,   G_PKG_NAME
249            )
250     THEN
251         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252     END IF;
253 
254     --  Perform Value to Id conversion
255 
256     Value_To_Id
257     (   x_return_status               => l_return_status
258     ,   p_Assignment_Set_rec          => p_Assignment_Set_rec
259     ,   p_Assignment_Set_val_rec      => p_Assignment_Set_val_rec
260     ,   p_Assignment_tbl              => p_Assignment_tbl
261     ,   p_Assignment_val_tbl          => p_Assignment_val_tbl
262     ,   x_Assignment_Set_rec          => l_Assignment_Set_rec
263     ,   x_Assignment_tbl              => l_Assignment_tbl
264     );
265 
266     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
267         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
268     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
269         RAISE FND_API.G_EXC_ERROR;
270     END IF;
271 
272 
273     --  Call MRP_Assignment_PVT.Lock_Assignment
274 
275     MRP_Assignment_PVT.Lock_Assignment
276     (   p_api_version_number          => 1.0
277     ,   p_init_msg_list               => p_init_msg_list
278     ,   x_return_status               => x_return_status
279     ,   x_msg_count                   => x_msg_count
280     ,   x_msg_data                    => x_msg_data
281     ,   p_Assignment_Set_rec          => l_Assignment_Set_rec
282     ,   p_Assignment_tbl              => l_Assignment_tbl
283     ,   x_Assignment_Set_rec          => l_Assignment_Set_rec_out
284     ,   x_Assignment_tbl              => l_Assignment_tbl_out
285     );
286 
287     l_Assignment_Set_rec := l_Assignment_Set_rec_out;
288     l_Assignment_tbl := l_Assignment_tbl_out;
289     --  Load Id OUT parameters.
290 
291     x_Assignment_Set_rec           := l_Assignment_Set_rec;
292     x_Assignment_tbl               := l_Assignment_tbl;
293 
294     --  If p_return_values is TRUE then convert Ids to Values.
295 
296     IF FND_API.to_Boolean(p_return_values) THEN
297 
298         Id_To_Value
299         (   p_Assignment_Set_rec          => l_Assignment_Set_rec
300         ,   p_Assignment_tbl              => l_Assignment_tbl
301         ,   x_Assignment_Set_val_rec      => x_Assignment_Set_val_rec
302         ,   x_Assignment_val_tbl          => x_Assignment_val_tbl
303         );
304 
305     END IF;
306 
307 EXCEPTION
308 
309     WHEN FND_API.G_EXC_ERROR THEN
310 
311 
312         x_return_status := FND_API.G_RET_STS_ERROR;
313 
314         --  Get message count and data
315 
316         FND_MSG_PUB.Count_And_Get
317         (   p_count                       => x_msg_count
318         ,   p_data                        => x_msg_data
319         );
320 
321     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
322 
323 
324         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
325 
326         --  Get message count and data
327 
328         FND_MSG_PUB.Count_And_Get
329         (   p_count                       => x_msg_count
330         ,   p_data                        => x_msg_data
331         );
332 
333     WHEN OTHERS THEN
334 
335 
336         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
337 
338         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
339         THEN
340             FND_MSG_PUB.Add_Exc_Msg
341             (   G_PKG_NAME
342             ,   'Lock_Assignment'
343             );
344         END IF;
345 
346         --  Get message count and data
347 
348         FND_MSG_PUB.Count_And_Get
349         (   p_count                       => x_msg_count
350         ,   p_data                        => x_msg_data
351         );
352 
353 END Lock_Assignment;
354 
355 --  Start of Comments
356 --  API name    Get_Assignment
357 --  Type        Public
358 --  Function
359 --
360 --  Pre-reqs
361 --
362 --  Parameters
363 --
364 --  Version     Current version = 1.0
365 --              Initial version = 1.0
366 --
367 --  Notes
368 --
369 --  End of Comments
370 
371 PROCEDURE Get_Assignment
372 (   p_api_version_number            IN  NUMBER
373 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
374 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
375 ,   x_return_status                 OUT NOCOPY VARCHAR2
376 ,   x_msg_count                     OUT NOCOPY NUMBER
377 ,   x_msg_data                      OUT NOCOPY VARCHAR2
378 ,   p_Assignment_Set_Id             IN  NUMBER :=
379                                         FND_API.G_MISS_NUM
380 ,   x_Assignment_Set_rec            OUT NOCOPY Assignment_Set_Rec_Type
381 ,   x_Assignment_Set_val_rec        OUT NOCOPY Assignment_Set_Val_Rec_Type
382 ,   x_Assignment_tbl                OUT NOCOPY Assignment_Tbl_Type
383 ,   x_Assignment_val_tbl            OUT NOCOPY Assignment_Val_Tbl_Type
384 )
385 IS
386 l_api_version_number          CONSTANT NUMBER := 1.0;
387 l_api_name                    CONSTANT VARCHAR2(30):= 'Get_Assignment';
388 l_Assignment_Set_Id           NUMBER := p_Assignment_Set_Id;
389 l_Assignment_Set_rec          MRP_Src_Assignment_PUB.Assignment_Set_Rec_Type;
390 l_Assignment_Set_val_rec      MRP_Src_Assignment_PUB.Assignment_Set_Val_Rec_Type;
391 l_Assignment_tbl              MRP_Src_Assignment_PUB.Assignment_Tbl_Type;
392 l_Assignment_val_tbl          MRP_Src_Assignment_PUB.Assignment_Val_Tbl_Type;
393 BEGIN
394 
395 
396     --  Standard call to check for call compatibility
397 
398     IF NOT FND_API.Compatible_API_Call
399            (   l_api_version_number
400            ,   p_api_version_number
401            ,   l_api_name
402            ,   G_PKG_NAME
403            )
404     THEN
405         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
406     END IF;
407 
408     --  Value to ID conversion
409 
410 
411     --  If p_return_values is TRUE then query read views
412 
413     IF FND_API.TO_BOOLEAN(p_return_values) THEN
414 
415         --  Get Assignment_Set
416 
417         MRP_Assignment_Set_Handlers.Query_Entity
418         (   p_Assignment_Set_Id           => l_Assignment_Set_Id
419         ,   x_Assignment_Set_rec          => l_Assignment_Set_rec
420         ,   x_Assignment_Set_val_rec      => l_Assignment_Set_val_rec
421         );
422 
423         --  Get Assignment ( parent = Assignment_Set )
424 
425         MRP_Assignment_Handlers.Query_Entities
426         (   p_Assignment_Set_Id           => l_Assignment_Set_rec.Assignment_Set_Id
427         ,   x_Assignment_tbl              => l_Assignment_tbl
428         ,   x_Assignment_val_tbl          => l_Assignment_val_tbl
429         );
430 
431 
432         --  Load out parameters
433 
434         x_Assignment_Set_rec           := l_Assignment_Set_rec;
435         x_Assignment_Set_val_rec       := l_Assignment_Set_val_rec;
436         x_Assignment_tbl               := l_Assignment_tbl;
437         x_Assignment_val_tbl           := l_Assignment_val_tbl;
438 
439     ELSE
440 
441         --  Call MRP_Assignment_PVT.Get_Assignment
442 
443         MRP_Assignment_PVT.Get_Assignment
444         (   p_api_version_number          => 1.0
445         ,   p_init_msg_list               => p_init_msg_list
446         ,   x_return_status               => x_return_status
447         ,   x_msg_count                   => x_msg_count
448         ,   x_msg_data                    => x_msg_data
449         ,   p_Assignment_Set_Id           => l_Assignment_Set_Id
450         ,   x_Assignment_Set_rec          => l_Assignment_Set_rec
451         ,   x_Assignment_tbl              => l_Assignment_tbl
452         );
453 
454         --  Load Id OUT parameters.
455 
456         x_Assignment_Set_rec           := l_Assignment_Set_rec;
457         x_Assignment_tbl               := l_Assignment_tbl;
458 
459     END IF;
460 
461     --  Set return status
462 
463     x_return_status := FND_API.G_RET_STS_SUCCESS;
464 
465     --  Get message count and data
466 
467     FND_MSG_PUB.Count_And_Get
468     (   p_count                       => x_msg_count
469     ,   p_data                        => x_msg_data
470     );
471 
472 
473 EXCEPTION
474 
475     WHEN FND_API.G_EXC_ERROR THEN
476 
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 
490         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
491 
492         --  Get message count and data
493 
494         FND_MSG_PUB.Count_And_Get
495         (   p_count                       => x_msg_count
496         ,   p_data                        => x_msg_data
497         );
498 
499     WHEN OTHERS THEN
500 
501 
502         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
503 
504         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
505         THEN
506             FND_MSG_PUB.Add_Exc_Msg
507             (   G_PKG_NAME
508             ,   'Get_Assignment'
509             );
510         END IF;
511 
512         --  Get message count and data
513 
514         FND_MSG_PUB.Count_And_Get
515         (   p_count                       => x_msg_count
516         ,   p_data                        => x_msg_data
517         );
518 
519 END Get_Assignment;
520 
521 --  Procedure Id_To_Value
522 
523 PROCEDURE Id_To_Value
524 (   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type
525 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type
526 ,   x_Assignment_Set_val_rec        OUT NOCOPY Assignment_Set_Val_Rec_Type
527 ,   x_Assignment_val_tbl            OUT NOCOPY Assignment_Val_Tbl_Type
528 )
529 IS
530 BEGIN
531 
532 
533     --  Convert Assignment_Set
534 
535     x_Assignment_Set_val_rec := MRP_Assignment_Set_Util.Get_Values(p_Assignment_Set_rec);
536 
537     --  Convert Assignment
538 
539     FOR I IN 1..p_Assignment_tbl.COUNT LOOP
540         x_Assignment_val_tbl(I) :=
541             MRP_Assignment_Util.Get_Values(p_Assignment_tbl(I));
542     END LOOP;
543 
544 EXCEPTION
545 
546     WHEN OTHERS THEN
547 
548 
549         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
550         THEN
551             FND_MSG_PUB.Add_Exc_Msg
552             (   G_PKG_NAME
553             ,   'Id_To_Value'
554             );
555         END IF;
556 
557         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
558 
559 END Id_To_Value;
560 
561 --  Procedure Value_To_Id
562 
563 PROCEDURE Value_To_Id
564 (   x_return_status                 OUT NOCOPY VARCHAR2
565 ,   p_Assignment_Set_rec            IN  Assignment_Set_Rec_Type
566 ,   p_Assignment_Set_val_rec        IN  Assignment_Set_Val_Rec_Type
567 ,   p_Assignment_tbl                IN  Assignment_Tbl_Type
568 ,   p_Assignment_val_tbl            IN  Assignment_Val_Tbl_Type
569 ,   x_Assignment_Set_rec            OUT NOCOPY Assignment_Set_Rec_Type
570 ,   x_Assignment_tbl                OUT NOCOPY Assignment_Tbl_Type
571 )
572 IS
573 l_Assignment_Set_rec          Assignment_Set_Rec_Type;
574 l_Assignment_rec              Assignment_Rec_Type;
575 l_index                       BINARY_INTEGER;
576 BEGIN
577 
578 
579     --  Init x_return_status.
580 
581     x_return_status := FND_API.G_RET_STS_SUCCESS;
582 
583     --  Convert Assignment_Set
584 
585     l_Assignment_Set_rec := MRP_Assignment_Set_Util.Get_Ids
586     (   p_Assignment_Set_rec          => p_Assignment_Set_rec
587     ,   p_Assignment_Set_val_rec      => p_Assignment_Set_val_rec
588     );
589 
590     x_Assignment_Set_rec           := l_Assignment_Set_rec;
591 
592     IF l_Assignment_Set_rec.return_status = FND_API.G_RET_STS_ERROR THEN
593         x_return_status := FND_API.G_RET_STS_ERROR;
594     END IF;
595 
596     --  Convert Assignment
597 
598     x_Assignment_tbl := p_Assignment_tbl;
599 
600     l_index := p_Assignment_val_tbl.FIRST;
601 
602     WHILE l_index IS NOT NULL LOOP
603 
604         l_Assignment_rec := MRP_Assignment_Util.Get_Ids
605         (   p_Assignment_rec              => p_Assignment_tbl(l_index)
606         ,   p_Assignment_val_rec          => p_Assignment_val_tbl(l_index)
607         );
608 
609         x_Assignment_tbl(l_index)      := l_Assignment_rec;
610 
611         IF l_Assignment_rec.return_status = FND_API.G_RET_STS_ERROR THEN
612             x_return_status := FND_API.G_RET_STS_ERROR;
613         END IF;
614 
615         l_index := p_Assignment_val_tbl.NEXT(l_index);
616 
617     END LOOP;
618 
619 EXCEPTION
620 
621     WHEN OTHERS THEN
622 
623 
624         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
625         THEN
626             FND_MSG_PUB.Add_Exc_Msg
627             (   G_PKG_NAME
628             ,   'Value_To_Id'
629             );
630         END IF;
631 
632         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
633 
634 END Value_To_Id;
635 
636 END MRP_Src_Assignment_PUB;