DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_PRICE_LIST_PUB

Source


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