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