DBA Data[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;