[Home] [Help]
PACKAGE BODY: APPS.DPP_UIWRAPPER_PVT
Source
1 PACKAGE BODY DPP_UIWRAPPER_PVT as
2 /* $Header: dppvuiwb.pls 120.16 2008/05/29 05:37:06 sdasan noship $ */
3 PROCEDURE check_transaction(
4 p_transaction_header_id IN NUMBER
5 ,p_status_change IN VARCHAR2
6 ,x_rec_count OUT NOCOPY NUMBER
7 ,x_msg_data OUT NOCOPY VARCHAR2
8 ,x_return_status OUT NOCOPY VARCHAR2)
9 IS
10
11 BEGIN
12 --Call Dpp_utility_pvt.check_txnclose
13 DPP_UTILITY_PVT.check_transaction(p_transaction_header_id => p_transaction_header_id
14 ,p_status_change => p_status_change
15 ,x_rec_count => x_rec_count
16 ,x_msg_data => x_msg_data
17 ,x_return_status => x_return_status);
18
19 EXCEPTION
20 WHEN FND_API.G_EXC_ERROR THEN
21 x_return_status := FND_API.G_RET_STS_ERROR;
22
23 WHEN OTHERS THEN
24 x_return_status := fnd_api.g_ret_sts_unexp_error;
25
26 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
27 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
28 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.check_txnclose');
29 fnd_message.set_token('ERRNO', sqlcode);
30 fnd_message.set_token('REASON', sqlerrm);
31 FND_MSG_PUB.ADD;
32 END IF;
33 END check_transaction;
34
35 PROCEDURE search_vendors(
36 p_search_criteria IN search_criteria_tbl_type
37 ,x_vendor_tbl OUT NOCOPY vendor_tbl_type
38 ,x_rec_count OUT NOCOPY NUMBER
39 ,x_return_status OUT NOCOPY VARCHAR2
40 )
41 IS
42
43 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
44 l_vendor_tbl DPP_UTILITY_PVT.vendor_tbl_type;
45
46 BEGIN
47
48 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
49 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
50 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
51 END LOOP;
52
53 DPP_UTILITY_PVT.search_vendors(
54 p_search_criteria => l_search_criteria_tbl
55 ,x_vendor_tbl => l_vendor_tbl
56 ,x_rec_count => x_rec_count
57 ,x_return_status => x_return_status
58 );
59
60 IF x_rec_count > 0 THEN
61 FOR j IN l_vendor_tbl.FIRST..l_vendor_tbl.LAST LOOP
62 x_vendor_tbl(j).vendor_id := l_vendor_tbl(j).vendor_id;
63 x_vendor_tbl(j).vendor_number := l_vendor_tbl(j).vendor_number;
64 x_vendor_tbl(j).vendor_name := l_vendor_tbl(j).vendor_name;
65 END LOOP;
66 END IF;
67
68 EXCEPTION
69 WHEN OTHERS THEN
70 x_return_status := fnd_api.g_ret_sts_unexp_error;
71
72 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
73 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
74 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_vendors');
75 fnd_message.set_token('ERRNO', sqlcode);
76 fnd_message.set_token('REASON', sqlerrm);
77 FND_MSG_PUB.add;
78 END IF;
79 END search_vendors;
80
81 PROCEDURE search_vendor_sites(
82 p_search_criteria IN search_criteria_tbl_type
83 ,x_vendor_site_tbl OUT NOCOPY vendor_site_tbl_type
84 ,x_rec_count OUT NOCOPY NUMBER
85 ,x_return_status OUT NOCOPY VARCHAR2
86 )
87 IS
88 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
89 l_vendor_site_tbl DPP_UTILITY_PVT.vendor_site_tbl_type;
90 BEGIN
91 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
92 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
93 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
94 END LOOP;
95
96 DPP_UTILITY_PVT.search_vendor_sites(
97 p_search_criteria => l_search_criteria_tbl
98 ,x_vendor_site_tbl => l_vendor_site_tbl
99 ,x_rec_count => x_rec_count
100 ,x_return_status => x_return_status
101 );
102
103 IF x_rec_count > 0 THEN
104
105 FOR j IN l_vendor_site_tbl.FIRST..l_vendor_site_tbl.LAST LOOP
106
107 x_vendor_site_tbl(j).vendor_id := l_vendor_site_tbl(j).vendor_id;
108 x_vendor_site_tbl(j).vendor_site_id := l_vendor_site_tbl(j).vendor_site_id;
109 x_vendor_site_tbl(j).vendor_site_code := l_vendor_site_tbl(j).vendor_site_code;
110 x_vendor_site_tbl(j).address_line1 := l_vendor_site_tbl(j).address_line1;
111 x_vendor_site_tbl(j).address_line2 := l_vendor_site_tbl(j).address_line2;
112 x_vendor_site_tbl(j).address_line3 := l_vendor_site_tbl(j).address_line3;
113 x_vendor_site_tbl(j).city := l_vendor_site_tbl(j).city;
114 x_vendor_site_tbl(j).state := l_vendor_site_tbl(j).state;
115 x_vendor_site_tbl(j).zip := l_vendor_site_tbl(j).zip;
116 x_vendor_site_tbl(j).country := l_vendor_site_tbl(j).country;
117
118 END LOOP;
119 END IF;
120
121 EXCEPTION
122 WHEN OTHERS THEN
123 x_return_status := fnd_api.g_ret_sts_unexp_error;
124
125 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
126 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
127 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_vendor_sites');
128 fnd_message.set_token('ERRNO', sqlcode);
129 fnd_message.set_token('REASON', sqlerrm);
130 FND_MSG_PUB.add;
131 END IF;
132 END search_vendor_sites;
133
134 PROCEDURE search_vendor_contacts(
135 p_search_criteria IN search_criteria_tbl_type
136 ,x_vendor_contact_tbl OUT NOCOPY vendor_contact_tbl_type
137 ,x_rec_count OUT NOCOPY NUMBER
138 ,x_return_status OUT NOCOPY VARCHAR2
139 )
140 IS
141 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
142 l_vendor_contact_tbl DPP_UTILITY_PVT.vendor_contact_tbl_type;
143 BEGIN
144 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
145 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
146 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
147 END LOOP;
148 DPP_UTILITY_PVT.search_vendor_contacts(
149 p_search_criteria => l_search_criteria_tbl
150 ,x_vendor_contact_tbl => l_vendor_contact_tbl
151 ,x_rec_count => x_rec_count
152 ,x_return_status => x_return_status
153 );
154
155 IF x_rec_count > 0 THEN
156
157 FOR j IN l_vendor_contact_tbl.FIRST..l_vendor_contact_tbl.LAST LOOP
158 x_vendor_contact_tbl(j).vendor_site_id := l_vendor_contact_tbl(j).vendor_site_id;
159 x_vendor_contact_tbl(j).vendor_contact_id := l_vendor_contact_tbl(j).vendor_contact_id;
160 x_vendor_contact_tbl(j).contact_first_name := l_vendor_contact_tbl(j).contact_first_name;
161 x_vendor_contact_tbl(j).contact_middle_name := l_vendor_contact_tbl(j).contact_middle_name;
162 x_vendor_contact_tbl(j).contact_last_name := l_vendor_contact_tbl(j).contact_last_name;
163 x_vendor_contact_tbl(j).contact_phone := l_vendor_contact_tbl(j).contact_phone;
164 x_vendor_contact_tbl(j).contact_email_address := l_vendor_contact_tbl(j).contact_email_address;
165 x_vendor_contact_tbl(j).contact_fax := l_vendor_contact_tbl(j).contact_fax;
166
167 END LOOP;
168 END IF;
169
170 EXCEPTION
171 WHEN OTHERS THEN
172 x_return_status := fnd_api.g_ret_sts_unexp_error;
173
174 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
175 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
176 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_vendor_contacts');
177 fnd_message.set_token('ERRNO', sqlcode);
178 fnd_message.set_token('REASON', sqlerrm);
179 FND_MSG_PUB.add;
180 END IF;
181 END search_vendor_contacts;
182
183 PROCEDURE search_items(
184 p_search_criteria IN search_criteria_tbl_type
185 ,x_item_tbl OUT NOCOPY itemnum_tbl_type
186 ,x_rec_count OUT NOCOPY NUMBER
187 ,x_return_status OUT NOCOPY VARCHAR2
188 )
189 IS
190 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
191 l_itemnum_tbl DPP_UTILITY_PVT.itemnum_tbl_type;
192 BEGIN
193 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
194 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
195 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
196 END LOOP;
197
198 DPP_UTILITY_PVT.search_items(
199 p_search_criteria => l_search_criteria_tbl
200 ,x_item_tbl => l_itemnum_tbl
201 ,x_rec_count => x_rec_count
202 ,x_return_status => x_return_status
203 );
204
205 IF x_rec_count > 0 THEN
206
207 FOR j IN l_itemnum_tbl.FIRST..l_itemnum_tbl.LAST LOOP
208
209 x_item_tbl(j).inventory_item_id := l_itemnum_tbl(j).inventory_item_id;
210 x_item_tbl(j).item_number := l_itemnum_tbl(j).item_number;
211 x_item_tbl(j).description := l_itemnum_tbl(j).description;
212 x_item_tbl(j).vendor_part_no := l_itemnum_tbl(j).vendor_part_no;
213
214 END LOOP;
215 END IF;
216
217 EXCEPTION
218 WHEN OTHERS THEN
219 x_return_status := fnd_api.g_ret_sts_unexp_error;
220
221 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
222 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
223 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_items');
224 fnd_message.set_token('ERRNO', sqlcode);
225 fnd_message.set_token('REASON', sqlerrm);
226 FND_MSG_PUB.add;
227 END IF;
228 END search_items;
229
230 PROCEDURE search_customer_items(
231 p_search_criteria IN search_criteria_tbl_type
232 ,x_customer_item_tbl OUT NOCOPY item_tbl_type
233 ,x_rec_count OUT NOCOPY NUMBER
234 ,x_return_status OUT NOCOPY VARCHAR2
235 )
236 IS
237 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
238 l_customer_item_tbl DPP_UTILITY_PVT.item_tbl_type;
239 BEGIN
240 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
241 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
242 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
243 END LOOP;
244
245 DPP_UTILITY_PVT.search_customer_items(
246 p_search_criteria => l_search_criteria_tbl
247 ,x_customer_item_tbl => l_customer_item_tbl
248 ,x_rec_count => x_rec_count
249 ,x_return_status => x_return_status
250 );
251
252 IF x_rec_count > 0 THEN
253
254 FOR j IN l_customer_item_tbl.FIRST..l_customer_item_tbl.LAST LOOP
255
256 x_customer_item_tbl(j).inventory_item_id := l_customer_item_tbl(j).inventory_item_id;
257 x_customer_item_tbl(j).item_number := l_customer_item_tbl(j).item_number;
258 x_customer_item_tbl(j).description := l_customer_item_tbl(j).description;
259
260 END LOOP;
261 END IF;
262
263 EXCEPTION
264 WHEN OTHERS THEN
265 x_return_status := fnd_api.g_ret_sts_unexp_error;
266
267 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
268 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
269 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_customer_items');
270 fnd_message.set_token('ERRNO', sqlcode);
271 fnd_message.set_token('REASON', sqlerrm);
272 FND_MSG_PUB.add;
273 END IF;
274 END search_customer_items;
275
276 PROCEDURE search_warehouses(
277 p_search_criteria IN search_criteria_tbl_type
278 ,x_warehouse_tbl OUT NOCOPY warehouse_tbl_type
279 ,x_rec_count OUT NOCOPY NUMBER
280 ,x_return_status OUT NOCOPY VARCHAR2
281 )
282 IS
283 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
284 l_warehouse_tbl DPP_UTILITY_PVT.warehouse_tbl_type;
285 BEGIN
286 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
287 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
288 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
289 END LOOP;
290
291 DPP_UTILITY_PVT.search_warehouses(
292 p_search_criteria => l_search_criteria_tbl
293 ,x_warehouse_tbl => l_warehouse_tbl
294 ,x_rec_count => x_rec_count
295 ,x_return_status => x_return_status
296 );
297
298 IF x_rec_count > 0 THEN
299
300 FOR j IN l_warehouse_tbl.FIRST..l_warehouse_tbl.LAST LOOP
301
302 x_warehouse_tbl(j).warehouse_id := l_warehouse_tbl(j).warehouse_id;
303 x_warehouse_tbl(j).warehouse_code := l_warehouse_tbl(j).warehouse_code;
304 x_warehouse_tbl(j).Warehouse_Name := l_warehouse_tbl(j).Warehouse_Name;
305
306 END LOOP;
307 END IF;
308
309 EXCEPTION
310 WHEN OTHERS THEN
311 x_return_status := fnd_api.g_ret_sts_unexp_error;
312
313 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
314 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
315 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_warehouses');
316 fnd_message.set_token('ERRNO', sqlcode);
317 fnd_message.set_token('REASON', sqlerrm);
318 FND_MSG_PUB.add;
319 END IF;
320 END search_warehouses;
321
322 PROCEDURE Get_InventoryDetails(
323 p_hdr_rec IN dpp_inv_hdr_rec_type
324 ,p_inventorydetails_tbl IN OUT NOCOPY inventorydetails_tbl_type
325 ,x_rec_count OUT NOCOPY NUMBER
326 ,x_return_status OUT NOCOPY VARCHAR2
327 )
328 IS
329 l_inventorydetails_tbl DPP_UTILITY_PVT.inventorydetails_tbl_type;
330 l_hdr_rec DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
331
332 BEGIN
333
334 l_hdr_rec.org_id := p_hdr_rec.org_id;
335 l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
336 l_hdr_rec.effective_end_date := p_hdr_rec.effective_end_date;
337 l_hdr_rec.currency_code := p_hdr_rec.currency_code;
338
339 FOR i IN p_inventorydetails_tbl.FIRST..p_inventorydetails_tbl.LAST LOOP
340 l_inventorydetails_tbl(i).Transaction_Line_Id := p_inventorydetails_tbl(i).Transaction_Line_Id;
341 l_inventorydetails_tbl(i).Inventory_Item_ID := p_inventorydetails_tbl(i).Inventory_Item_ID;
342
343 END LOOP;
344
345 DPP_UTILITY_PVT.Get_InventoryDetails(
346 p_hdr_rec => l_hdr_rec
347 ,p_inventorydetails_tbl => l_inventorydetails_tbl
348 ,x_rec_count => x_rec_count
349 ,x_return_status => x_return_status
350 );
351
352 FOR i IN l_inventorydetails_tbl.FIRST..l_inventorydetails_tbl.LAST LOOP
353 p_inventorydetails_tbl(i).Transaction_Line_Id := l_inventorydetails_tbl(i).Transaction_Line_Id;
354 p_inventorydetails_tbl(i).Inventory_Item_ID := l_inventorydetails_tbl(i).Inventory_Item_ID;
355 p_inventorydetails_tbl(i).Onhand_Quantity := l_inventorydetails_tbl(i).Onhand_Quantity;
356 p_inventorydetails_tbl(i).Covered_quantity := l_inventorydetails_tbl(i).Covered_quantity;
357 p_inventorydetails_tbl(i).UOM_Code := l_inventorydetails_tbl(i).UOM_Code;
358 END LOOP;
359
360 EXCEPTION
361 WHEN OTHERS THEN
362 x_return_status := fnd_api.g_ret_sts_unexp_error;
363
364 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
365 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
366 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_InventoryDetails');
367 fnd_message.set_token('ERRNO', sqlcode);
368 fnd_message.set_token('REASON', sqlerrm);
369 FND_MSG_PUB.add;
370 END IF;
371 END Get_InventoryDetails;
372
373 PROCEDURE Get_CustomerInventory(
374 p_hdr_rec IN dpp_inv_hdr_rec_type
375 ,p_cust_inv_tbl IN OUT NOCOPY dpp_cust_inv_tbl_type
376 ,x_rec_count OUT NOCOPY NUMBER
377 ,x_return_status OUT NOCOPY VARCHAR2
378 )
379 IS
380 l_hdr_rec DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
381 l_cust_inv_tbl DPP_UTILITY_PVT.dpp_cust_inv_tbl_type;
382 BEGIN
383 l_hdr_rec.org_id := p_hdr_rec.org_id;
384 l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
385 l_hdr_rec.effective_end_date := p_hdr_rec.effective_end_date;
386 l_hdr_rec.currency_code := p_hdr_rec.currency_code;
387
388 FOR i IN p_cust_inv_tbl.FIRST..p_cust_inv_tbl.LAST LOOP
389 l_cust_inv_tbl(i).Customer_ID := p_cust_inv_tbl(i).Customer_ID;
390 l_cust_inv_tbl(i).Inventory_Item_ID := p_cust_inv_tbl(i).Inventory_Item_ID;
391 l_cust_inv_tbl(i).UOM_Code := p_cust_inv_tbl(i).UOM_Code;
392
393 END LOOP;
394
395 DPP_UTILITY_PVT.Get_CustomerInventory(
396 p_hdr_rec => l_hdr_rec
397 ,p_cust_inv_tbl => l_cust_inv_tbl
398 ,x_rec_count => x_rec_count
399 ,x_return_status => x_return_status
400 );
401
402 FOR i IN l_cust_inv_tbl.FIRST..l_cust_inv_tbl.LAST LOOP
403 p_cust_inv_tbl(i).Customer_ID := l_cust_inv_tbl(i).Customer_ID;
404 p_cust_inv_tbl(i).Inventory_Item_ID := l_cust_inv_tbl(i).Inventory_Item_ID;
405 p_cust_inv_tbl(i).UOM_Code := l_cust_inv_tbl(i).UOM_Code;
406 p_cust_inv_tbl(i).Onhand_Quantity := l_cust_inv_tbl(i).Onhand_Quantity;
407 END LOOP;
408
409 EXCEPTION
410 WHEN OTHERS THEN
411 x_return_status := fnd_api.g_ret_sts_unexp_error;
412
413 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
414 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
415 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_CustomerInventory');
416 fnd_message.set_token('ERRNO', sqlcode);
417 fnd_message.set_token('REASON', sqlerrm);
418 FND_MSG_PUB.add;
419 END IF;
420 END Get_CustomerInventory;
421
422 PROCEDURE search_customers(
423 p_search_criteria IN search_criteria_tbl_type
424 ,x_customer_tbl OUT NOCOPY customer_tbl_type
425 ,x_rec_count OUT NOCOPY NUMBER
426 ,x_return_status OUT NOCOPY VARCHAR2
427 )
428 IS
429 l_search_criteria_tbl DPP_UTILITY_PVT.search_criteria_tbl_type;
430 l_customer_tbl DPP_UTILITY_PVT.customer_tbl_type;
431 BEGIN
432 FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
433 l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
434 l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
435 END LOOP;
436
437 DPP_UTILITY_PVT.search_customers(
438 p_search_criteria => l_search_criteria_tbl
439 ,x_customer_tbl => l_customer_tbl
440 ,x_rec_count => x_rec_count
441 ,x_return_status => x_return_status
442 );
443
444 IF x_rec_count > 0 THEN
445
446 FOR j IN l_customer_tbl.FIRST..l_customer_tbl.LAST LOOP
447
448 x_customer_tbl(j).customer_id := l_customer_tbl(j).customer_id;
449 x_customer_tbl(j).customer_number := l_customer_tbl(j).customer_number;
450 x_customer_tbl(j).customer_name := l_customer_tbl(j).customer_name;
451
452 END LOOP;
453 END IF;
454 EXCEPTION
455 WHEN OTHERS THEN
456 x_return_status := fnd_api.g_ret_sts_unexp_error;
457
458 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
459 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
460 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_customers');
461 fnd_message.set_token('ERRNO', sqlcode);
462 fnd_message.set_token('REASON', sqlerrm);
463 FND_MSG_PUB.add;
464 END IF;
465 END search_customers;
466
467 PROCEDURE Get_LastPrice(
468 p_hdr_rec IN dpp_inv_hdr_rec_type
469 ,p_cust_price_tbl IN OUT NOCOPY dpp_cust_price_tbl_type
470 ,x_rec_count OUT NOCOPY NUMBER
471 ,x_return_status OUT NOCOPY VARCHAR2
472 )
473 IS
474 l_hdr_rec DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
475 l_cust_price_tbl DPP_UTILITY_PVT.dpp_cust_price_tbl_type;
476
477 BEGIN
478 l_hdr_rec.org_id := p_hdr_rec.org_id;
479 l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
480 l_hdr_rec.effective_end_date := p_hdr_rec.effective_end_date;
481 l_hdr_rec.currency_code := p_hdr_rec.currency_code;
482
483 FOR i IN p_cust_price_tbl.FIRST..p_cust_price_tbl.LAST LOOP
484 l_cust_price_tbl(i).Customer_ID := p_cust_price_tbl(i).Customer_ID;
485 l_cust_price_tbl(i).Inventory_Item_ID := p_cust_price_tbl(i).Inventory_Item_ID;
486 l_cust_price_tbl(i).UOM_Code := p_cust_price_tbl(i).UOM_Code;
487 l_cust_price_tbl(i).price_change := p_cust_price_tbl(i).price_change;
488
489 END LOOP;
490
491 DPP_UTILITY_PVT.Get_LastPrice(
492 p_hdr_rec => l_hdr_rec
493 ,p_cust_price_tbl => l_cust_price_tbl
494 ,x_rec_count => x_rec_count
495 ,x_return_status => x_return_status
496 );
497
498 FOR i IN l_cust_price_tbl.FIRST..l_cust_price_tbl.LAST LOOP
499 p_cust_price_tbl(i).Customer_ID := l_cust_price_tbl(i).Customer_ID;
500 p_cust_price_tbl(i).Inventory_Item_ID := l_cust_price_tbl(i).Inventory_Item_ID;
501 p_cust_price_tbl(i).UOM_Code := l_cust_price_tbl(i).UOM_Code;
502 p_cust_price_tbl(i).Last_Price := l_cust_price_tbl(i).Last_Price;
503 p_cust_price_tbl(i).invoice_currency_code := l_cust_price_tbl(i).invoice_currency_code;
504 p_cust_price_tbl(i).converted_price_change := l_cust_price_tbl(i).converted_price_change;
505 END LOOP;
506
507 EXCEPTION
508 WHEN OTHERS THEN
509 x_return_status := fnd_api.g_ret_sts_unexp_error;
510
511 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
512 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
513 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_LastPrice');
514 fnd_message.set_token('ERRNO', sqlcode);
515 fnd_message.set_token('REASON', sqlerrm);
516 FND_MSG_PUB.add;
517 END IF;
518 END Get_LastPrice;
519
520 PROCEDURE Get_ListPrice(
521 p_hdr_rec IN dpp_inv_hdr_rec_type
522 ,p_listprice_tbl IN OUT NOCOPY dpp_list_price_tbl_type
523 ,x_rec_count OUT NOCOPY NUMBER
524 ,x_return_status OUT NOCOPY VARCHAR2
525 )
526 IS
527 l_hdr_rec DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
528 l_listprice_tbl DPP_UTILITY_PVT.dpp_list_price_tbl_type;
529 BEGIN
530 l_hdr_rec.org_id := p_hdr_rec.org_id;
531 l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
532 l_hdr_rec.effective_end_date := p_hdr_rec.effective_end_date;
533 l_hdr_rec.currency_code := p_hdr_rec.currency_code;
534
535 FOR i IN p_listprice_tbl.FIRST..p_listprice_tbl.LAST LOOP
536 l_listprice_tbl(i).Inventory_Item_ID := p_listprice_tbl(i).Inventory_Item_ID;
537
538 END LOOP;
539
540 DPP_UTILITY_PVT.Get_ListPrice(
541 p_hdr_rec => l_hdr_rec
542 ,p_listprice_tbl => l_listprice_tbl
543 ,x_rec_count => x_rec_count
544 ,x_return_status => x_return_status
545 );
546
547 FOR i IN l_listprice_tbl.FIRST..l_listprice_tbl.LAST LOOP
548 p_listprice_tbl(i).Inventory_Item_ID := l_listprice_tbl(i).Inventory_Item_ID;
549 p_listprice_tbl(i).List_Price := l_listprice_tbl(i).List_Price;
550 END LOOP;
551
552 EXCEPTION
553 WHEN OTHERS THEN
554 x_return_status := fnd_api.g_ret_sts_unexp_error;
555
556 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
557 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
558 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_ListPrice');
559 fnd_message.set_token('ERRNO', sqlcode);
560 fnd_message.set_token('REASON', sqlerrm);
561 FND_MSG_PUB.add;
562 END IF;
563 END Get_ListPrice;
564
565 PROCEDURE Get_Vendor(
566 p_vendor_rec IN OUT NOCOPY vendor_rec_type
567 ,x_rec_count OUT NOCOPY NUMBER
568 ,x_return_status OUT NOCOPY VARCHAR2
569 )
570 IS
571 l_vendor_rec DPP_UTILITY_PVT.vendor_rec_type;
572 BEGIN
573 l_vendor_rec.vendor_id := p_vendor_rec.vendor_id;
574
575 DPP_UTILITY_PVT.Get_Vendor(
576 p_vendor_rec => l_vendor_rec
577 ,x_rec_count => x_rec_count
578 ,x_return_status => x_return_status
579 );
580
581 p_vendor_rec.vendor_number := l_vendor_rec.vendor_number;
582 p_vendor_rec.vendor_name := l_vendor_rec.vendor_name;
583
584 EXCEPTION
585 WHEN OTHERS THEN
586 x_return_status := fnd_api.g_ret_sts_unexp_error;
587
588 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
589 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
590 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor');
591 fnd_message.set_token('ERRNO', sqlcode);
592 fnd_message.set_token('REASON', sqlerrm);
593 FND_MSG_PUB.add;
594 END IF;
595 END Get_Vendor;
596
597 PROCEDURE Get_Vendor_Site(
598 p_vendor_site_rec IN OUT NOCOPY vendor_site_rec_type
599 ,x_rec_count OUT NOCOPY NUMBER
600 ,x_return_status OUT NOCOPY VARCHAR2
601 )
602 IS
603 l_vendor_site_rec DPP_UTILITY_PVT.vendor_site_rec_type;
604 BEGIN
605
606 l_vendor_site_rec.vendor_id := p_vendor_site_rec.vendor_id;
607 l_vendor_site_rec.vendor_site_id := p_vendor_site_rec.vendor_site_id;
608
609 DPP_UTILITY_PVT.Get_Vendor_Site(
610 p_vendor_site_rec => l_vendor_site_rec
611 ,x_rec_count => x_rec_count
612 ,x_return_status => x_return_status
613 );
614
615 p_vendor_site_rec.vendor_site_code := l_vendor_site_rec.vendor_site_code;
616 p_vendor_site_rec.address_line1 := l_vendor_site_rec.address_line1;
617 p_vendor_site_rec.address_line2 := l_vendor_site_rec.address_line2;
618 p_vendor_site_rec.address_line3 := l_vendor_site_rec.address_line3;
619 p_vendor_site_rec.city := l_vendor_site_rec.city;
620 p_vendor_site_rec.state := l_vendor_site_rec.state;
621 p_vendor_site_rec.zip := l_vendor_site_rec.zip;
622 p_vendor_site_rec.country := l_vendor_site_rec.country;
623
624 EXCEPTION
625 WHEN OTHERS THEN
626 x_return_status := fnd_api.g_ret_sts_unexp_error;
627
628 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
629 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
630 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor_Site');
631 fnd_message.set_token('ERRNO', sqlcode);
632 fnd_message.set_token('REASON', sqlerrm);
633 FND_MSG_PUB.add;
634 END IF;
635 END Get_Vendor_Site;
636
637 PROCEDURE Get_Vendor_Contact(
638 p_vendor_contact_rec IN OUT NOCOPY vendor_contact_rec_type
639 ,x_rec_count OUT NOCOPY NUMBER
640 ,x_return_status OUT NOCOPY VARCHAR2
641 )
642 IS
643 l_vendor_contact_rec DPP_UTILITY_PVT.vendor_contact_rec_type;
644 BEGIN
645
646 l_vendor_contact_rec.vendor_site_id := p_vendor_contact_rec.vendor_site_id;
647 l_vendor_contact_rec.vendor_contact_id := p_vendor_contact_rec.vendor_contact_id;
648
649 DPP_UTILITY_PVT.Get_Vendor_Contact(
650 p_vendor_contact_rec => l_vendor_contact_rec
651 ,x_rec_count => x_rec_count
652 ,x_return_status => x_return_status
653 );
654
655 p_vendor_contact_rec.contact_first_name := l_vendor_contact_rec.contact_first_name;
656 p_vendor_contact_rec.contact_middle_name := l_vendor_contact_rec.contact_middle_name;
657 p_vendor_contact_rec.contact_last_name := l_vendor_contact_rec.contact_last_name;
658 p_vendor_contact_rec.contact_phone := l_vendor_contact_rec.contact_phone;
659 p_vendor_contact_rec.contact_email_address := l_vendor_contact_rec.contact_email_address;
660 p_vendor_contact_rec.contact_fax := l_vendor_contact_rec.contact_fax;
661
662 EXCEPTION
663 WHEN OTHERS THEN
664 x_return_status := fnd_api.g_ret_sts_unexp_error;
665
666 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
667 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
668 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor_Contact');
669 fnd_message.set_token('ERRNO', sqlcode);
670 fnd_message.set_token('REASON', sqlerrm);
671 FND_MSG_PUB.add;
672 END IF;
673 END Get_Vendor_Contact;
674
675 PROCEDURE Get_Warehouse(
676 p_warehouse_tbl IN OUT NOCOPY warehouse_tbl_type
677 ,x_rec_count OUT NOCOPY NUMBER
678 ,x_return_status OUT NOCOPY VARCHAR2
679 )
680 IS
681
682 l_warehouse_tbl DPP_UTILITY_PVT.warehouse_tbl_type;
683 BEGIN
684
685 FOR i IN p_warehouse_tbl.FIRST..p_warehouse_tbl.LAST LOOP
686 l_warehouse_tbl(i).warehouse_id := p_warehouse_tbl(i).warehouse_id;
687 END LOOP;
688
689 DPP_UTILITY_PVT.Get_Warehouse(
690 p_warehouse_tbl => l_warehouse_tbl
691 ,x_rec_count => x_rec_count
692 ,x_return_status => x_return_status
693 );
694
695 FOR i IN l_warehouse_tbl.FIRST..l_warehouse_tbl.LAST LOOP
696 p_warehouse_tbl(i).warehouse_id := l_warehouse_tbl(i).warehouse_id;
697 p_warehouse_tbl(i).warehouse_code := l_warehouse_tbl(i).warehouse_code;
698 p_warehouse_tbl(i).Warehouse_Name := l_warehouse_tbl(i).Warehouse_Name;
699 END LOOP;
700
701 EXCEPTION
702 WHEN OTHERS THEN
703 x_return_status := fnd_api.g_ret_sts_unexp_error;
704
705 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
706 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
707 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Warehouse');
708 fnd_message.set_token('ERRNO', sqlcode);
709 fnd_message.set_token('REASON', sqlerrm);
710 FND_MSG_PUB.add;
711 END IF;
712 END Get_Warehouse;
713
714 PROCEDURE Get_Customer(
715 p_customer_tbl IN OUT NOCOPY customer_tbl_type
716 ,x_rec_count OUT NOCOPY NUMBER
717 ,x_return_status OUT NOCOPY VARCHAR2
718 )
719 IS
720
721 l_customer_tbl DPP_UTILITY_PVT.customer_tbl_type;
722 BEGIN
723
724 FOR i IN p_customer_tbl.FIRST..p_customer_tbl.LAST LOOP
725 l_customer_tbl(i).customer_id := p_customer_tbl(i).customer_id;
726 END LOOP;
727
728 DPP_UTILITY_PVT.Get_Customer(
729 p_customer_tbl => l_customer_tbl
730 ,x_rec_count => x_rec_count
731 ,x_return_status => x_return_status
732 );
733
734 FOR i IN l_customer_tbl.FIRST..l_customer_tbl.LAST LOOP
735 p_customer_tbl(i).customer_id := l_customer_tbl(i).customer_id;
736 p_customer_tbl(i).customer_number := l_customer_tbl(i).customer_number;
737 p_customer_tbl(i).customer_name := l_customer_tbl(i).customer_name;
738 END LOOP;
739
740 EXCEPTION
741 WHEN OTHERS THEN
742 x_return_status := fnd_api.g_ret_sts_unexp_error;
743
744 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
745 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
746 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Customer');
747 fnd_message.set_token('ERRNO', sqlcode);
748 fnd_message.set_token('REASON', sqlerrm);
749 FND_MSG_PUB.add;
750 END IF;
751 END Get_Customer;
752
753 PROCEDURE Get_Product(
754 p_item_tbl IN OUT NOCOPY item_tbl_type
755 ,p_org_id IN NUMBER
756 ,x_rec_count OUT NOCOPY NUMBER
757 ,x_return_status OUT NOCOPY VARCHAR2
758 )
759 IS
760
761 l_item_tbl DPP_UTILITY_PVT.item_tbl_type;
762 BEGIN
763
764 FOR i IN p_item_tbl.FIRST..p_item_tbl.LAST LOOP
765 l_item_tbl(i).inventory_item_id := p_item_tbl(i).inventory_item_id;
766 END LOOP;
767
768 DPP_UTILITY_PVT.Get_Product(
769 p_item_tbl => l_item_tbl
770 ,p_org_id => p_org_id
771 ,x_rec_count => x_rec_count
772 ,x_return_status => x_return_status
773 );
774
775 FOR i IN l_item_tbl.FIRST..l_item_tbl.LAST LOOP
776 p_item_tbl(i).inventory_item_id := l_item_tbl(i).inventory_item_id;
777 p_item_tbl(i).item_number := l_item_tbl(i).item_number;
778 p_item_tbl(i).description := l_item_tbl(i).description;
779 END LOOP;
780
781 EXCEPTION
782 WHEN OTHERS THEN
783 x_return_status := fnd_api.g_ret_sts_unexp_error;
784
785 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
786 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
787 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Product');
788 fnd_message.set_token('ERRNO', sqlcode);
789 fnd_message.set_token('REASON', sqlerrm);
790 FND_MSG_PUB.add;
791 END IF;
792 END Get_Product;
793 --- for AME
794
795 PROCEDURE Get_AllApprovers(
796 p_api_version IN NUMBER
797 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
798 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
799
800 ,x_return_status OUT NOCOPY VARCHAR2
801 ,x_msg_data OUT NOCOPY VARCHAR2
802 ,x_msg_count OUT NOCOPY NUMBER
803
804 ,p_approval_rec IN approval_rec_type
805 ,p_approversOut OUT NOCOPY approversTable
806 )
807 IS
808 l_approversOut DPP_APPROVAL_PVT.approversTable;
809 l_approval_rec DPP_APPROVAL_PVT.approval_rec_type;
810 BEGIN
811 l_approval_rec.object_type := p_approval_rec.object_type;
812 l_approval_rec.object_id := p_approval_rec.object_id;
813 l_approval_rec.status_code := p_approval_rec.status_code;
814 l_approval_rec.action_code := p_approval_rec.action_code;
815 l_approval_rec.action_performed_by := p_approval_rec.action_performed_by;
816 DPP_APPROVAL_PVT.Get_AllApprovers(p_api_version => p_api_version
817 ,p_init_msg_list => p_init_msg_list
818 ,p_validation_level => p_validation_level
819 ,x_return_status => x_return_status
820 ,x_msg_data => x_msg_data
821 ,x_msg_count => x_msg_count
822 ,p_approval_rec => l_approval_rec
823 ,p_approversOut => l_approversOut
824 );
825 IF l_approversOut.COUNT > 0 THEN
826 FOR i IN l_approversOut.FIRST..l_approversOut.LAST LOOP
827 p_approversOut(i).user_id := l_approversOut(i).user_id;
828 p_approversOut(i).person_id := l_approversOut(i).person_id;
829 p_approversOut(i).first_name := l_approversOut(i).first_name;
830 p_approversOut(i).last_name := l_approversOut(i).last_name;
831 p_approversOut(i).api_insertion := l_approversOut(i).api_insertion;
832 p_approversOut(i).authority := l_approversOut(i).authority;
833 p_approversOut(i).approval_status := l_approversOut(i).approval_status;
834 p_approversOut(i).approval_type_id := l_approversOut(i).approval_type_id;
835 p_approversOut(i).group_or_chain_id := l_approversOut(i).group_or_chain_id;
836 p_approversOut(i).occurrence := l_approversOut(i).occurrence;
837 p_approversOut(i).source := l_approversOut(i).source;
838 p_approversOut(i).approver_email := l_approversOut(i).approver_email;
839 p_approversOut(i).approver_group_name := l_approversOut(i).approver_group_name;
840 p_approversOut(i).approver_sequence := l_approversOut(i).approver_sequence;
841 END LOOP;
842 END IF;
843
844 EXCEPTION
845 WHEN OTHERS THEN
846 x_return_status := fnd_api.g_ret_sts_unexp_error;
847
848 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
849 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
850 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_AllApprovers');
851 fnd_message.set_token('ERRNO', sqlcode);
852 fnd_message.set_token('REASON', sqlerrm);
853 FND_MSG_PUB.add;
854 END IF;
855 END Get_AllApprovers;
856
857 PROCEDURE Process_User_Action (
858 p_api_version IN NUMBER
859 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
860 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
861 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
862
863 ,x_return_status OUT NOCOPY VARCHAR2
864 ,x_msg_data OUT NOCOPY VARCHAR2
865 ,x_msg_count OUT NOCOPY NUMBER
866
867 ,p_approval_rec IN approval_rec_type
868 ,p_approver_id IN NUMBER
869 ,x_final_approval_flag OUT NOCOPY VARCHAR2
870 )
871 IS
872
873 l_approval_rec DPP_APPROVAL_PVT.approval_rec_type;
874
875 BEGIN
876
877 l_approval_rec.object_type := p_approval_rec.object_type;
878 l_approval_rec.object_id := p_approval_rec.object_id;
879 l_approval_rec.status_code := p_approval_rec.status_code;
880 l_approval_rec.action_code := p_approval_rec.action_code;
881 l_approval_rec.action_performed_by := p_approval_rec.action_performed_by;
882
883 DPP_APPROVAL_PVT.Process_User_Action(
884 p_api_version => p_api_version
885 ,p_init_msg_list => p_init_msg_list
886 ,p_validation_level => p_validation_level
887 ,x_return_status => x_return_status
888 ,x_msg_data => x_msg_data
889 ,x_msg_count => x_msg_count
890 ,p_approval_rec => l_approval_rec
891 ,p_approver_id => p_approver_id
892 ,x_final_approval_flag => x_final_approval_flag
893 );
894
895 EXCEPTION
896 WHEN OTHERS THEN
897 x_return_status := fnd_api.g_ret_sts_unexp_error;
898
899 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
900 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
901 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Process_User_Action');
902 fnd_message.set_token('ERRNO', sqlcode);
903 fnd_message.set_token('REASON', sqlerrm);
904 FND_MSG_PUB.add;
905 END IF;
906 END Process_User_Action;
907
908 PROCEDURE Raise_Business_Event(
909 p_api_version IN NUMBER
910 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
911 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
912 ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
913
914 ,x_return_status OUT NOCOPY VARCHAR2
915 ,x_msg_count OUT NOCOPY NUMBER
916 ,x_msg_data OUT NOCOPY VARCHAR2
917
918 ,p_txn_hdr_rec IN dpp_txn_hdr_rec_type
919 ,p_txn_line_id IN dpp_txn_line_tbl_type
920 )
921 IS
922 l_txn_hdr_rec DPP_BUSINESSEVENTS_PVT.dpp_txn_hdr_rec_type;
923 l_txn_line_id DPP_BUSINESSEVENTS_PVT.dpp_txn_line_tbl_type;
924 BEGIN
925
926 l_txn_hdr_rec.Transaction_Header_ID := p_txn_hdr_rec.Transaction_Header_ID;
927 l_txn_hdr_rec.Transaction_number := p_txn_hdr_rec.Transaction_number;
928 l_txn_hdr_rec.Process_code := p_txn_hdr_rec.Process_code;
929 l_txn_hdr_rec.claim_id := p_txn_hdr_rec.claim_id;
930 l_txn_hdr_rec.claim_type_flag := p_txn_hdr_rec.claim_type_flag;
931 l_txn_hdr_rec.claim_creation_source := p_txn_hdr_rec.claim_creation_source;
932
933 FOR i IN p_txn_line_id.FIRST..p_txn_line_id.LAST LOOP
934 l_txn_line_id(i) := p_txn_line_id(i);
935 END LOOP;
936
937 --Raise business event for updating the on hand inventory
938 DPP_BUSINESSEVENTS_PVT.Raise_Business_Event( p_api_version => p_api_version
939 ,p_init_msg_list => p_init_msg_list
940 ,p_commit => p_commit
941 ,p_validation_level => p_validation_level
942 ,x_return_status => x_return_status
943 ,x_msg_count => x_msg_count
944 ,x_msg_data => x_msg_data
945 ,p_txn_hdr_rec => l_txn_hdr_rec
946 ,p_txn_line_id => l_txn_line_id
947 );
948 EXCEPTION
949 WHEN OTHERS THEN
950 x_return_status := fnd_api.g_ret_sts_unexp_error;
951
952 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
953 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
954 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Raise_Business_Event');
955 fnd_message.set_token('ERRNO', sqlcode);
956 fnd_message.set_token('REASON', sqlerrm);
957 FND_MSG_PUB.add;
958 END IF;
959 END Raise_Business_Event;
960
961 PROCEDURE convert_currency(
962 p_from_currency IN VARCHAR2
963 ,p_to_currency IN VARCHAR2
964 ,p_conv_type IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR
965 ,p_conv_rate IN NUMBER DEFAULT FND_API.G_MISS_NUM
966 ,p_conv_date IN DATE DEFAULT SYSDATE
967 ,p_from_amount IN NUMBER
968 ,x_return_status OUT NOCOPY VARCHAR2
969 ,x_to_amount OUT NOCOPY NUMBER
970 ,x_rate OUT NOCOPY NUMBER
971 )
972 IS
973 BEGIN
974 --Clearing the msg stack and Initialize the message stack.
975 fnd_message.clear();
976 FND_MSG_PUB.initialize;
977 --Call Dpp_utility_pvt.convert_currency
978 DPP_UTILITY_PVT.convert_currency(p_from_currency => p_from_currency
979 ,p_to_currency => p_to_currency
980 ,p_conv_type => FND_API.G_MISS_CHAR
981 ,p_conv_rate => FND_API.G_MISS_NUM
982 ,p_conv_date => sysdate
983 ,p_from_amount => p_from_amount
984 ,x_return_status => x_return_status
985 ,x_to_amount => x_to_amount
986 ,x_rate => x_rate);
987 EXCEPTION
988 WHEN FND_API.G_EXC_ERROR THEN
989 x_return_status := FND_API.G_RET_STS_ERROR;
990
991 WHEN OTHERS THEN
992 x_return_status := fnd_api.g_ret_sts_unexp_error;
993
994 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
995 fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
996 fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.convert_currency');
997 fnd_message.set_token('ERRNO', sqlcode);
998 fnd_message.set_token('REASON', sqlerrm);
999 FND_MSG_PUB.ADD;
1000 END IF;
1001
1002 END convert_currency;
1003
1004 END DPP_UIWRAPPER_PVT;