DBA Data[Home] [Help]

PACKAGE BODY: APPS.DPP_UIWRAPPER_PVT

Source


1 PACKAGE BODY DPP_UIWRAPPER_PVT as
2 /* $Header: dppvuiwb.pls 120.16.12010000.2 2010/03/26 12:21:28 rvkondur ship $ */
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 
277 PROCEDURE search_customer_items_all(
278     p_search_criteria IN  search_criteria_tbl_type
279    ,x_customer_item_tbl OUT NOCOPY item_tbl_type
280    ,x_rec_count	OUT NOCOPY NUMBER
281    ,x_return_status OUT NOCOPY VARCHAR2
282    )
283 IS
284     l_search_criteria_tbl		DPP_UTILITY_PVT.search_criteria_tbl_type;
285     l_customer_item_tbl   	DPP_UTILITY_PVT.item_tbl_type;
286 BEGIN
287    FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
288 				l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
289 				l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
290    END LOOP;
291 
292    		DPP_UTILITY_PVT.search_customer_items_all(
293 	 				p_search_criteria 		=> l_search_criteria_tbl
294 	 			 ,x_customer_item_tbl 	=> l_customer_item_tbl
295 	 			 ,x_rec_count						=> x_rec_count
296 	 			 ,x_return_status 			=> x_return_status
297 	 			 );
298 
299 	    IF x_rec_count > 0 THEN
300 
301 	      FOR j IN l_customer_item_tbl.FIRST..l_customer_item_tbl.LAST LOOP
302 
303 	 				x_customer_item_tbl(j).inventory_item_id 	:= l_customer_item_tbl(j).inventory_item_id;
304 	 				x_customer_item_tbl(j).item_number 				:= l_customer_item_tbl(j).item_number;
305 	        x_customer_item_tbl(j).description 				:= l_customer_item_tbl(j).description;
306 
307 	      END LOOP;
308    END IF;
309 
310 EXCEPTION
311    WHEN OTHERS THEN
312       x_return_status := fnd_api.g_ret_sts_unexp_error;
313 
314       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
315          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
316          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_customer_items_all');
317          fnd_message.set_token('ERRNO', sqlcode);
318          fnd_message.set_token('REASON', sqlerrm);
319          FND_MSG_PUB.add;
320       END IF;
321 END search_customer_items_all;
322 
323 
324 PROCEDURE search_warehouses(
325     p_search_criteria IN  search_criteria_tbl_type
326    ,x_warehouse_tbl OUT NOCOPY warehouse_tbl_type
327    ,x_rec_count	OUT NOCOPY NUMBER
328    ,x_return_status OUT NOCOPY VARCHAR2
329    )
330 IS
331     l_search_criteria_tbl	DPP_UTILITY_PVT.search_criteria_tbl_type;
332     l_warehouse_tbl   		DPP_UTILITY_PVT.warehouse_tbl_type;
333 BEGIN
334    FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
335 				l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
336 				l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
337    END LOOP;
338 
339    		DPP_UTILITY_PVT.search_warehouses(
340 	 				p_search_criteria 		=> l_search_criteria_tbl
341 	 			 ,x_warehouse_tbl 			=> l_warehouse_tbl
342 	 			 ,x_rec_count						=> x_rec_count
343 	 			 ,x_return_status 			=> x_return_status
344 	 			 );
345 
346 	    IF x_rec_count > 0 THEN
347 
348 	      FOR j IN l_warehouse_tbl.FIRST..l_warehouse_tbl.LAST LOOP
349 
350 	 				x_warehouse_tbl(j).warehouse_id 	:= l_warehouse_tbl(j).warehouse_id;
351 	 				x_warehouse_tbl(j).warehouse_code := l_warehouse_tbl(j).warehouse_code;
352 	        x_warehouse_tbl(j).Warehouse_Name := l_warehouse_tbl(j).Warehouse_Name;
353 
354 	      END LOOP;
355      END IF;
356 
357 EXCEPTION
358    WHEN OTHERS THEN
359       x_return_status := fnd_api.g_ret_sts_unexp_error;
360 
361       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
362          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
363          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_warehouses');
364          fnd_message.set_token('ERRNO', sqlcode);
365          fnd_message.set_token('REASON', sqlerrm);
366          FND_MSG_PUB.add;
367       END IF;
368 END search_warehouses;
369 
370 PROCEDURE Get_InventoryDetails(
371 		p_hdr_rec								IN dpp_inv_hdr_rec_type
372 	 ,p_inventorydetails_tbl	IN OUT NOCOPY inventorydetails_tbl_type
373 	 ,x_rec_count							OUT NOCOPY NUMBER
374    ,x_return_status	     		OUT 	  NOCOPY VARCHAR2
375 )
376 IS
377     l_inventorydetails_tbl   		DPP_UTILITY_PVT.inventorydetails_tbl_type;
378     l_hdr_rec  									DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
379 
380 BEGIN
381 
382    l_hdr_rec.org_id 							:= p_hdr_rec.org_id;
383    l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
384    l_hdr_rec.effective_end_date 	:= p_hdr_rec.effective_end_date;
385    l_hdr_rec.currency_code 				:= p_hdr_rec.currency_code;
386 
387    FOR i IN p_inventorydetails_tbl.FIRST..p_inventorydetails_tbl.LAST LOOP
388 				l_inventorydetails_tbl(i).Transaction_Line_Id := p_inventorydetails_tbl(i).Transaction_Line_Id;
389 				l_inventorydetails_tbl(i).Inventory_Item_ID 	:= p_inventorydetails_tbl(i).Inventory_Item_ID;
390 
391    END LOOP;
392 
393    		DPP_UTILITY_PVT.Get_InventoryDetails(
394 	 				p_hdr_rec 							=> l_hdr_rec
395 	 			 ,p_inventorydetails_tbl 	=> l_inventorydetails_tbl
396 	 			 ,x_rec_count							=> x_rec_count
397 	 			 ,x_return_status 				=> x_return_status
398 	 			 );
399 
400    FOR i IN l_inventorydetails_tbl.FIRST..l_inventorydetails_tbl.LAST LOOP
401 				p_inventorydetails_tbl(i).Transaction_Line_Id := l_inventorydetails_tbl(i).Transaction_Line_Id;
402 				p_inventorydetails_tbl(i).Inventory_Item_ID 	:= l_inventorydetails_tbl(i).Inventory_Item_ID;
403 				p_inventorydetails_tbl(i).Onhand_Quantity 		:= l_inventorydetails_tbl(i).Onhand_Quantity;
404 				p_inventorydetails_tbl(i).Covered_quantity 		:= l_inventorydetails_tbl(i).Covered_quantity;
405 				p_inventorydetails_tbl(i).UOM_Code				 		:= l_inventorydetails_tbl(i).UOM_Code;
406    END LOOP;
407 
408 EXCEPTION
409    WHEN OTHERS THEN
410       x_return_status := fnd_api.g_ret_sts_unexp_error;
411 
412       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
413          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
414          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_InventoryDetails');
415          fnd_message.set_token('ERRNO', sqlcode);
416          fnd_message.set_token('REASON', sqlerrm);
417          FND_MSG_PUB.add;
418       END IF;
419 END Get_InventoryDetails;
420 
421 PROCEDURE Get_CustomerInventory(
422 		p_hdr_rec			IN dpp_inv_hdr_rec_type
423 	 ,p_cust_inv_tbl	     IN OUT NOCOPY dpp_cust_inv_tbl_type
424 	 ,x_rec_count	OUT NOCOPY NUMBER
425    ,x_return_status	     OUT 	  NOCOPY VARCHAR2
426 )
427 IS
428     l_hdr_rec  									DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
429     l_cust_inv_tbl   						DPP_UTILITY_PVT.dpp_cust_inv_tbl_type;
430 BEGIN
431    l_hdr_rec.org_id 							:= p_hdr_rec.org_id;
432    l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
433    l_hdr_rec.effective_end_date 	:= p_hdr_rec.effective_end_date;
434    l_hdr_rec.currency_code 				:= p_hdr_rec.currency_code;
435 
436    FOR i IN p_cust_inv_tbl.FIRST..p_cust_inv_tbl.LAST LOOP
437 				l_cust_inv_tbl(i).Customer_ID 				:= p_cust_inv_tbl(i).Customer_ID;
438 				l_cust_inv_tbl(i).Inventory_Item_ID 	:= p_cust_inv_tbl(i).Inventory_Item_ID;
439 				l_cust_inv_tbl(i).UOM_Code 						:= p_cust_inv_tbl(i).UOM_Code;
440 
441    END LOOP;
442 
443    		DPP_UTILITY_PVT.Get_CustomerInventory(
444 	 				p_hdr_rec 							=> l_hdr_rec
445 	 			 ,p_cust_inv_tbl 					=> l_cust_inv_tbl
446 	 			 ,x_rec_count							=> x_rec_count
447 	 			 ,x_return_status 				=> x_return_status
448 	 			 );
449 
450    FOR i IN l_cust_inv_tbl.FIRST..l_cust_inv_tbl.LAST LOOP
451 				p_cust_inv_tbl(i).Customer_ID 				:= l_cust_inv_tbl(i).Customer_ID;
452 				p_cust_inv_tbl(i).Inventory_Item_ID 	:= l_cust_inv_tbl(i).Inventory_Item_ID;
453 				p_cust_inv_tbl(i).UOM_Code 						:= l_cust_inv_tbl(i).UOM_Code;
454 				p_cust_inv_tbl(i).Onhand_Quantity 		:= l_cust_inv_tbl(i).Onhand_Quantity;
455    END LOOP;
456 
457 EXCEPTION
458    WHEN OTHERS THEN
459       x_return_status := fnd_api.g_ret_sts_unexp_error;
460 
461       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
462          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
463          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_CustomerInventory');
464          fnd_message.set_token('ERRNO', sqlcode);
465          fnd_message.set_token('REASON', sqlerrm);
466          FND_MSG_PUB.add;
467       END IF;
468 END Get_CustomerInventory;
469 
470 PROCEDURE search_customers(
471     p_search_criteria IN  search_criteria_tbl_type
472    ,x_customer_tbl OUT NOCOPY customer_tbl_type
473    ,x_rec_count	OUT NOCOPY NUMBER
474    ,x_return_status OUT NOCOPY VARCHAR2
475    )
476 IS
477     l_search_criteria_tbl	DPP_UTILITY_PVT.search_criteria_tbl_type;
478     l_customer_tbl				DPP_UTILITY_PVT.customer_tbl_type;
479 BEGIN
480    FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
481 				l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
482 				l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
483    END LOOP;
484 
485    		DPP_UTILITY_PVT.search_customers(
486 	 				p_search_criteria 		=> l_search_criteria_tbl
487 	 			 ,x_customer_tbl 				=> l_customer_tbl
488 	 			 ,x_rec_count						=> x_rec_count
489 	 			 ,x_return_status 			=> x_return_status
490 	 			 );
491 
492 	    IF x_rec_count > 0 THEN
493 
494 	      FOR j IN l_customer_tbl.FIRST..l_customer_tbl.LAST LOOP
495 
496 	 				x_customer_tbl(j).customer_id 		:= l_customer_tbl(j).customer_id;
497 	 				x_customer_tbl(j).customer_number := l_customer_tbl(j).customer_number;
498 	        x_customer_tbl(j).customer_name 	:= l_customer_tbl(j).customer_name;
499 
500 	      END LOOP;
501      END IF;
502 EXCEPTION
503    WHEN OTHERS THEN
504       x_return_status := fnd_api.g_ret_sts_unexp_error;
505 
506       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
507          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
508          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_customers');
509          fnd_message.set_token('ERRNO', sqlcode);
510          fnd_message.set_token('REASON', sqlerrm);
511          FND_MSG_PUB.add;
512       END IF;
513 END search_customers;
514 
515 
516 PROCEDURE search_customers_all(
517     p_search_criteria IN  search_criteria_tbl_type
518    ,x_customer_tbl OUT NOCOPY customer_tbl_type
519    ,x_rec_count	OUT NOCOPY NUMBER
520    ,x_return_status OUT NOCOPY VARCHAR2
521    )
522 IS
523     l_search_criteria_tbl	DPP_UTILITY_PVT.search_criteria_tbl_type;
524     l_customer_tbl				DPP_UTILITY_PVT.customer_tbl_type;
525 BEGIN
526    FOR i IN p_search_criteria.FIRST..p_search_criteria.LAST LOOP
527 				l_search_criteria_tbl(i).search_criteria := p_search_criteria(i).search_criteria;
528 				l_search_criteria_tbl(i).search_text := p_search_criteria(i).search_text;
529    END LOOP;
530 
531    		DPP_UTILITY_PVT.search_customers_all(
532 	 				p_search_criteria 		=> l_search_criteria_tbl
533 	 			 ,x_customer_tbl 				=> l_customer_tbl
534 	 			 ,x_rec_count						=> x_rec_count
535 	 			 ,x_return_status 			=> x_return_status
536 	 			 );
537 
538 	    IF x_rec_count > 0 THEN
539 
540 	      FOR j IN l_customer_tbl.FIRST..l_customer_tbl.LAST LOOP
541 
542 	 				x_customer_tbl(j).customer_id 		:= l_customer_tbl(j).customer_id;
543 	 				x_customer_tbl(j).customer_number := l_customer_tbl(j).customer_number;
544 	        x_customer_tbl(j).customer_name 	:= l_customer_tbl(j).customer_name;
545 
546 	      END LOOP;
547      END IF;
548 EXCEPTION
549    WHEN OTHERS THEN
550       x_return_status := fnd_api.g_ret_sts_unexp_error;
551 
552       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
553          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
554          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.search_customers_all');
555          fnd_message.set_token('ERRNO', sqlcode);
556          fnd_message.set_token('REASON', sqlerrm);
557          FND_MSG_PUB.add;
558       END IF;
559 END search_customers_all;
560 
561 PROCEDURE Get_LastPrice(
562 		p_hdr_rec			IN dpp_inv_hdr_rec_type
563 	 ,p_cust_price_tbl	IN OUT NOCOPY dpp_cust_price_tbl_type
564 	 ,x_rec_count	OUT NOCOPY NUMBER
565    ,x_return_status	     OUT 	  NOCOPY VARCHAR2
566 )
567 IS
568     l_hdr_rec  									DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
569     l_cust_price_tbl   					DPP_UTILITY_PVT.dpp_cust_price_tbl_type;
570 
571 BEGIN
572    l_hdr_rec.org_id 							:= p_hdr_rec.org_id;
573    l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
574    l_hdr_rec.effective_end_date 	:= p_hdr_rec.effective_end_date;
575    l_hdr_rec.currency_code 				:= p_hdr_rec.currency_code;
576 
577    FOR i IN p_cust_price_tbl.FIRST..p_cust_price_tbl.LAST LOOP
578 				l_cust_price_tbl(i).Customer_ID 				:= p_cust_price_tbl(i).Customer_ID;
579 				l_cust_price_tbl(i).Inventory_Item_ID 	:= p_cust_price_tbl(i).Inventory_Item_ID;
580 				l_cust_price_tbl(i).UOM_Code 						:= p_cust_price_tbl(i).UOM_Code;
581                                 l_cust_price_tbl(i).price_change 	:= p_cust_price_tbl(i).price_change;
582 
583    END LOOP;
584 
585    		DPP_UTILITY_PVT.Get_LastPrice(
586 	 				p_hdr_rec 							=> l_hdr_rec
587 	 			 ,p_cust_price_tbl 				=> l_cust_price_tbl
588 	 			 ,x_rec_count							=> x_rec_count
589 	 			 ,x_return_status 				=> x_return_status
590 	 			 );
591 
592    FOR i IN l_cust_price_tbl.FIRST..l_cust_price_tbl.LAST LOOP
593 				p_cust_price_tbl(i).Customer_ID 					:= l_cust_price_tbl(i).Customer_ID;
594 				p_cust_price_tbl(i).Inventory_Item_ID 		:= l_cust_price_tbl(i).Inventory_Item_ID;
595 				p_cust_price_tbl(i).UOM_Code 							:= l_cust_price_tbl(i).UOM_Code;
596 				p_cust_price_tbl(i).Last_Price 						:= l_cust_price_tbl(i).Last_Price;
597 				p_cust_price_tbl(i).invoice_currency_code		:= l_cust_price_tbl(i).invoice_currency_code;
598                                 p_cust_price_tbl(i).converted_price_change		:= l_cust_price_tbl(i).converted_price_change;
599    END LOOP;
600 
601 EXCEPTION
602    WHEN OTHERS THEN
603       x_return_status := fnd_api.g_ret_sts_unexp_error;
604 
605       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
606          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
607          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_LastPrice');
608          fnd_message.set_token('ERRNO', sqlcode);
609          fnd_message.set_token('REASON', sqlerrm);
610          FND_MSG_PUB.add;
611       END IF;
612 END Get_LastPrice;
613 
614 PROCEDURE Get_ListPrice(
615 		p_hdr_rec			IN dpp_inv_hdr_rec_type
616 	 ,p_listprice_tbl	     IN OUT NOCOPY dpp_list_price_tbl_type
617 	 ,x_rec_count	OUT NOCOPY NUMBER
618    ,x_return_status	     OUT NOCOPY	  VARCHAR2
619 )
620 IS
621     l_hdr_rec  									DPP_UTILITY_PVT.dpp_inv_hdr_rec_type;
622     l_listprice_tbl   					DPP_UTILITY_PVT.dpp_list_price_tbl_type;
623 BEGIN
624    l_hdr_rec.org_id 							:= p_hdr_rec.org_id;
625    l_hdr_rec.effective_start_date := p_hdr_rec.effective_start_date;
626    l_hdr_rec.effective_end_date 	:= p_hdr_rec.effective_end_date;
627    l_hdr_rec.currency_code 				:= p_hdr_rec.currency_code;
628 
629    FOR i IN p_listprice_tbl.FIRST..p_listprice_tbl.LAST LOOP
630 				l_listprice_tbl(i).Inventory_Item_ID 	:= p_listprice_tbl(i).Inventory_Item_ID;
631 
632    END LOOP;
633 
634    		DPP_UTILITY_PVT.Get_ListPrice(
635 	 				p_hdr_rec 							=> l_hdr_rec
636 	 			 ,p_listprice_tbl 				=> l_listprice_tbl
637 	 			 ,x_rec_count							=> x_rec_count
638 	 			 ,x_return_status 				=> x_return_status
639 	 			 );
640 
641    FOR i IN l_listprice_tbl.FIRST..l_listprice_tbl.LAST LOOP
642 				p_listprice_tbl(i).Inventory_Item_ID 		:= l_listprice_tbl(i).Inventory_Item_ID;
643 				p_listprice_tbl(i).List_Price 					:= l_listprice_tbl(i).List_Price;
644    END LOOP;
645 
646 EXCEPTION
647    WHEN OTHERS THEN
648       x_return_status := fnd_api.g_ret_sts_unexp_error;
649 
650       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
651          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
652          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_ListPrice');
653          fnd_message.set_token('ERRNO', sqlcode);
654          fnd_message.set_token('REASON', sqlerrm);
655          FND_MSG_PUB.add;
656       END IF;
657 END Get_ListPrice;
658 
659 PROCEDURE Get_Vendor(
660 	p_vendor_rec IN OUT NOCOPY vendor_rec_type
661 	,x_rec_count		OUT NOCOPY NUMBER
662   ,x_return_status	OUT NOCOPY	  VARCHAR2
663 )
664 IS
665     l_vendor_rec  									DPP_UTILITY_PVT.vendor_rec_type;
666 BEGIN
667    l_vendor_rec.vendor_id 							:= p_vendor_rec.vendor_id;
668 
669    DPP_UTILITY_PVT.Get_Vendor(
670 	 	 				p_vendor_rec						=> l_vendor_rec
671 	 	 			 ,x_rec_count							=> x_rec_count
672 	 	 			 ,x_return_status 				=> x_return_status
673 	 			 );
674 
675    p_vendor_rec.vendor_number 	:= l_vendor_rec.vendor_number;
676    p_vendor_rec.vendor_name 		:= l_vendor_rec.vendor_name;
677 
678 EXCEPTION
679    WHEN OTHERS THEN
680       x_return_status := fnd_api.g_ret_sts_unexp_error;
681 
682       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
683          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
684          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor');
685          fnd_message.set_token('ERRNO', sqlcode);
686          fnd_message.set_token('REASON', sqlerrm);
687          FND_MSG_PUB.add;
688       END IF;
689 END Get_Vendor;
690 
691 PROCEDURE Get_Vendor_Site(
692 	p_vendor_site_rec IN OUT NOCOPY vendor_site_rec_type
693 	,x_rec_count		OUT NOCOPY NUMBER
694   ,x_return_status	OUT NOCOPY	  VARCHAR2
695 )
696 IS
697     l_vendor_site_rec  									DPP_UTILITY_PVT.vendor_site_rec_type;
698 BEGIN
699 
700    l_vendor_site_rec.vendor_id 				:= p_vendor_site_rec.vendor_id;
701    l_vendor_site_rec.vendor_site_id 	:= p_vendor_site_rec.vendor_site_id;
702 
703    DPP_UTILITY_PVT.Get_Vendor_Site(
704 	 	 				p_vendor_site_rec				=> l_vendor_site_rec
705 	 	 			 ,x_rec_count							=> x_rec_count
706 	 	 			 ,x_return_status 				=> x_return_status
707 	 			 );
708 
709    p_vendor_site_rec.vendor_site_code := l_vendor_site_rec.vendor_site_code;
710    p_vendor_site_rec.address_line1 		:= l_vendor_site_rec.address_line1;
711    p_vendor_site_rec.address_line2 		:= l_vendor_site_rec.address_line2;
712    p_vendor_site_rec.address_line3 		:= l_vendor_site_rec.address_line3;
713    p_vendor_site_rec.city 						:= l_vendor_site_rec.city;
714    p_vendor_site_rec.state 						:= l_vendor_site_rec.state;
715    p_vendor_site_rec.zip 							:= l_vendor_site_rec.zip;
716    p_vendor_site_rec.country					:= l_vendor_site_rec.country;
717 
718 EXCEPTION
719    WHEN OTHERS THEN
720       x_return_status := fnd_api.g_ret_sts_unexp_error;
721 
722       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
723          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
724          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor_Site');
725          fnd_message.set_token('ERRNO', sqlcode);
726          fnd_message.set_token('REASON', sqlerrm);
727          FND_MSG_PUB.add;
728       END IF;
729 END Get_Vendor_Site;
730 
731 PROCEDURE Get_Vendor_Contact(
732 	 p_vendor_contact_rec IN OUT NOCOPY vendor_contact_rec_type
733 	,x_rec_count		OUT NOCOPY NUMBER
734   ,x_return_status	OUT NOCOPY	  VARCHAR2
735 )
736 IS
737     l_vendor_contact_rec						DPP_UTILITY_PVT.vendor_contact_rec_type;
738 BEGIN
739 
740    l_vendor_contact_rec.vendor_site_id 		:= p_vendor_contact_rec.vendor_site_id;
741    l_vendor_contact_rec.vendor_contact_id := p_vendor_contact_rec.vendor_contact_id;
742 
743    DPP_UTILITY_PVT.Get_Vendor_Contact(
744 	 	 				p_vendor_contact_rec		=> l_vendor_contact_rec
745 	 	 			 ,x_rec_count							=> x_rec_count
746 	 	 			 ,x_return_status 				=> x_return_status
747 	 			 );
748 
749    p_vendor_contact_rec.contact_first_name 	:= l_vendor_contact_rec.contact_first_name;
750    p_vendor_contact_rec.contact_middle_name := l_vendor_contact_rec.contact_middle_name;
751    p_vendor_contact_rec.contact_last_name 	:= l_vendor_contact_rec.contact_last_name;
752    p_vendor_contact_rec.contact_phone 			:= l_vendor_contact_rec.contact_phone;
753    p_vendor_contact_rec.contact_email_address 	:= l_vendor_contact_rec.contact_email_address;
754    p_vendor_contact_rec.contact_fax 			:= l_vendor_contact_rec.contact_fax;
755 
756 EXCEPTION
757    WHEN OTHERS THEN
758       x_return_status := fnd_api.g_ret_sts_unexp_error;
759 
760       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
761          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
762          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Vendor_Contact');
763          fnd_message.set_token('ERRNO', sqlcode);
764          fnd_message.set_token('REASON', sqlerrm);
765          FND_MSG_PUB.add;
766       END IF;
767 END Get_Vendor_Contact;
768 
769 PROCEDURE Get_Warehouse(
770 	  p_warehouse_tbl	     	IN OUT NOCOPY warehouse_tbl_type
771 	 ,x_rec_count		OUT NOCOPY NUMBER
772    ,x_return_status	OUT NOCOPY	  VARCHAR2
773 )
774 IS
775 
776     l_warehouse_tbl   					DPP_UTILITY_PVT.warehouse_tbl_type;
777 BEGIN
778 
779    FOR i IN p_warehouse_tbl.FIRST..p_warehouse_tbl.LAST LOOP
780 				l_warehouse_tbl(i).warehouse_id 	:= p_warehouse_tbl(i).warehouse_id;
781    END LOOP;
782 
783    		DPP_UTILITY_PVT.Get_Warehouse(
784 	 			 p_warehouse_tbl 				=> l_warehouse_tbl
785 	 			 ,x_rec_count							=> x_rec_count
786 	 			 ,x_return_status 				=> x_return_status
787 	 			 );
788 
789    FOR i IN l_warehouse_tbl.FIRST..l_warehouse_tbl.LAST LOOP
790 				p_warehouse_tbl(i).warehouse_id 		:= l_warehouse_tbl(i).warehouse_id;
791 				p_warehouse_tbl(i).warehouse_code 	:= l_warehouse_tbl(i).warehouse_code;
792 				p_warehouse_tbl(i).Warehouse_Name 	:= l_warehouse_tbl(i).Warehouse_Name;
793    END LOOP;
794 
795 EXCEPTION
796    WHEN OTHERS THEN
797       x_return_status := fnd_api.g_ret_sts_unexp_error;
798 
799       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
800          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
801          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Warehouse');
802          fnd_message.set_token('ERRNO', sqlcode);
803          fnd_message.set_token('REASON', sqlerrm);
804          FND_MSG_PUB.add;
805       END IF;
806 END Get_Warehouse;
807 
808 PROCEDURE Get_Customer(
809 	  p_customer_tbl IN OUT NOCOPY customer_tbl_type
810 	 ,x_rec_count		OUT NOCOPY NUMBER
811    	,x_return_status	OUT NOCOPY	  VARCHAR2
812 )
813 IS
814 
815     l_customer_tbl   					DPP_UTILITY_PVT.customer_tbl_type;
816 BEGIN
817 
818    FOR i IN p_customer_tbl.FIRST..p_customer_tbl.LAST LOOP
819 				l_customer_tbl(i).customer_id 	:= p_customer_tbl(i).customer_id;
820    END LOOP;
821 
822    		DPP_UTILITY_PVT.Get_Customer(
823 	 			  p_customer_tbl 					=> l_customer_tbl
824 	 			 ,x_rec_count							=> x_rec_count
825 	 			 ,x_return_status 				=> x_return_status
826 	 			 );
827 
828    FOR i IN l_customer_tbl.FIRST..l_customer_tbl.LAST LOOP
829 				p_customer_tbl(i).customer_id 		:= l_customer_tbl(i).customer_id;
830 				p_customer_tbl(i).customer_number := l_customer_tbl(i).customer_number;
831 				p_customer_tbl(i).customer_name 	:= l_customer_tbl(i).customer_name;
832    END LOOP;
833 
834 EXCEPTION
835    WHEN OTHERS THEN
836       x_return_status := fnd_api.g_ret_sts_unexp_error;
837 
838       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
839          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
840          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Customer');
841          fnd_message.set_token('ERRNO', sqlcode);
842          fnd_message.set_token('REASON', sqlerrm);
843          FND_MSG_PUB.add;
844       END IF;
845 END Get_Customer;
846 
847 PROCEDURE Get_Product(
848 	  p_item_tbl	     	IN OUT NOCOPY item_tbl_type
849   	,p_org_id    IN    NUMBER
850 	 ,x_rec_count		OUT NOCOPY NUMBER
851    	,x_return_status	OUT NOCOPY	  VARCHAR2
852 )
853 IS
854 
855     l_item_tbl   					DPP_UTILITY_PVT.item_tbl_type;
856 BEGIN
857 
858    FOR i IN p_item_tbl.FIRST..p_item_tbl.LAST LOOP
859 				l_item_tbl(i).inventory_item_id 	:= p_item_tbl(i).inventory_item_id;
860    END LOOP;
861 
862    		DPP_UTILITY_PVT.Get_Product(
863 	 			  p_item_tbl		 					=> l_item_tbl
864 				 ,p_org_id                                                      => p_org_id
865 	 			 ,x_rec_count							=> x_rec_count
866 	 			 ,x_return_status 				=> x_return_status
867 	 			 );
868 
869    FOR i IN l_item_tbl.FIRST..l_item_tbl.LAST LOOP
870 				p_item_tbl(i).inventory_item_id := l_item_tbl(i).inventory_item_id;
871 				p_item_tbl(i).item_number 			:= l_item_tbl(i).item_number;
872 				p_item_tbl(i).description 			:= l_item_tbl(i).description;
873    END LOOP;
874 
875 EXCEPTION
876    WHEN OTHERS THEN
877       x_return_status := fnd_api.g_ret_sts_unexp_error;
878 
879       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
880          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
881          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_Product');
882          fnd_message.set_token('ERRNO', sqlcode);
883          fnd_message.set_token('REASON', sqlerrm);
884          FND_MSG_PUB.add;
885       END IF;
886 END Get_Product;
887 --- for AME
888 
889 PROCEDURE Get_AllApprovers(
890     p_api_version       IN  NUMBER
891    ,p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE
892    ,p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL
893 
894    ,x_return_status     OUT NOCOPY VARCHAR2
895    ,x_msg_data          OUT NOCOPY VARCHAR2
896    ,x_msg_count         OUT NOCOPY NUMBER
897 
898    ,p_approval_rec        IN  approval_rec_type
899    ,p_approversOut        OUT NOCOPY approversTable
900 )
901 IS
902 l_approversOut   		DPP_APPROVAL_PVT.approversTable;
903 l_approval_rec  		DPP_APPROVAL_PVT.approval_rec_type;
904 BEGIN
905    l_approval_rec.object_type 	        := p_approval_rec.object_type;
906    l_approval_rec.object_id 	        := p_approval_rec.object_id;
907    l_approval_rec.status_code 	        := p_approval_rec.status_code;
908    l_approval_rec.action_code 		:= p_approval_rec.action_code;
909    l_approval_rec.action_performed_by 	:= p_approval_rec.action_performed_by;
910    DPP_APPROVAL_PVT.Get_AllApprovers(p_api_version       => p_api_version
911                                     ,p_init_msg_list     => p_init_msg_list
912                                     ,p_validation_level  => p_validation_level
913                                     ,x_return_status     => x_return_status
914                                     ,x_msg_data          => x_msg_data
915                                     ,x_msg_count         => x_msg_count
916                                     ,p_approval_rec      => l_approval_rec
917                                     ,p_approversOut      => l_approversOut
918                                     );
919   IF l_approversOut.COUNT > 0  THEN
920      FOR i IN l_approversOut.FIRST..l_approversOut.LAST LOOP
921        p_approversOut(i).user_id 	     := l_approversOut(i).user_id;
922        p_approversOut(i).person_id 	     := l_approversOut(i).person_id;
923        p_approversOut(i).first_name 	     := l_approversOut(i).first_name;
924        p_approversOut(i).last_name 	     := l_approversOut(i).last_name;
925        p_approversOut(i).api_insertion        := l_approversOut(i).api_insertion;
926        p_approversOut(i).authority 		:= l_approversOut(i).authority;
927        p_approversOut(i).approval_status 		:= l_approversOut(i).approval_status;
928        p_approversOut(i).approval_type_id 		:= l_approversOut(i).approval_type_id;
929        p_approversOut(i).group_or_chain_id 	:= l_approversOut(i).group_or_chain_id;
930        p_approversOut(i).occurrence 		:= l_approversOut(i).occurrence;
931        p_approversOut(i).source 				:= l_approversOut(i).source;
932        p_approversOut(i).approver_email := l_approversOut(i).approver_email;
933        p_approversOut(i).approver_group_name := l_approversOut(i).approver_group_name;
934        p_approversOut(i).approver_sequence := l_approversOut(i).approver_sequence;
935      END LOOP;
936   END IF;
937 
938 EXCEPTION
939    WHEN OTHERS THEN
940       x_return_status := fnd_api.g_ret_sts_unexp_error;
941 
942       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
943          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
944          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Get_AllApprovers');
945          fnd_message.set_token('ERRNO', sqlcode);
946          fnd_message.set_token('REASON', sqlerrm);
947          FND_MSG_PUB.add;
948       END IF;
949 END Get_AllApprovers;
950 
951 PROCEDURE  Process_User_Action (
952    p_api_version            IN  NUMBER
953   ,p_init_msg_list          IN  VARCHAR2 := FND_API.G_FALSE
954   ,p_commit                 IN  VARCHAR2 := FND_API.G_FALSE
955   ,p_validation_level       IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL
956 
957   ,x_return_status          OUT NOCOPY   VARCHAR2
958   ,x_msg_data               OUT NOCOPY   VARCHAR2
959   ,x_msg_count              OUT NOCOPY   NUMBER
960 
961   ,p_approval_rec           IN  approval_rec_type
962   ,p_approver_id            IN  NUMBER
963   ,x_final_approval_flag    OUT NOCOPY VARCHAR2
964 )
965 IS
966 
967    l_approval_rec  		DPP_APPROVAL_PVT.approval_rec_type;
968 
969 BEGIN
970 
971    l_approval_rec.object_type 					:= p_approval_rec.object_type;
972    l_approval_rec.object_id 						:= p_approval_rec.object_id;
973    l_approval_rec.status_code 					:= p_approval_rec.status_code;
974    l_approval_rec.action_code 					:= p_approval_rec.action_code;
975    l_approval_rec.action_performed_by 	:= p_approval_rec.action_performed_by;
976 
977  		DPP_APPROVAL_PVT.Process_User_Action(
978 				p_api_version       => p_api_version
979 			 ,p_init_msg_list     => p_init_msg_list
980 			 ,p_validation_level  => p_validation_level
981 			 ,x_return_status     => x_return_status
982 			 ,x_msg_data          => x_msg_data
983 			 ,x_msg_count         => x_msg_count
984 			 ,p_approval_rec      => l_approval_rec
985   		 ,p_approver_id       => p_approver_id
986   		 ,x_final_approval_flag => x_final_approval_flag
987 	 		 );
988 
989 EXCEPTION
990    WHEN OTHERS THEN
991       x_return_status := fnd_api.g_ret_sts_unexp_error;
992 
993       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
994          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
995          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Process_User_Action');
996          fnd_message.set_token('ERRNO', sqlcode);
997          fnd_message.set_token('REASON', sqlerrm);
998          FND_MSG_PUB.add;
999       END IF;
1000 END Process_User_Action;
1001 
1002 PROCEDURE Raise_Business_Event(
1003 	 p_api_version   	 IN 	        NUMBER
1004   	,p_init_msg_list	 IN 	        VARCHAR2     := FND_API.G_FALSE
1005    	,p_commit	         IN 	        VARCHAR2     := FND_API.G_FALSE
1006    	,p_validation_level	 IN 	        NUMBER       := FND_API.G_VALID_LEVEL_FULL
1007 
1008    	,x_return_status	 OUT NOCOPY     VARCHAR2
1009         ,x_msg_count	         OUT NOCOPY     NUMBER
1010         ,x_msg_data	         OUT NOCOPY     VARCHAR2
1011 
1012    	,p_txn_hdr_rec           IN       dpp_txn_hdr_rec_type
1013         ,p_txn_line_id           IN       dpp_txn_line_tbl_type
1014      )
1015 IS
1016 l_txn_hdr_rec  DPP_BUSINESSEVENTS_PVT.dpp_txn_hdr_rec_type;
1017 l_txn_line_id  DPP_BUSINESSEVENTS_PVT.dpp_txn_line_tbl_type;
1018 BEGIN
1019 
1020    l_txn_hdr_rec.Transaction_Header_ID := p_txn_hdr_rec.Transaction_Header_ID;
1021    l_txn_hdr_rec.Transaction_number := p_txn_hdr_rec.Transaction_number;
1022    l_txn_hdr_rec.Process_code := p_txn_hdr_rec.Process_code;
1023    l_txn_hdr_rec.claim_id := p_txn_hdr_rec.claim_id;
1024    l_txn_hdr_rec.claim_type_flag := p_txn_hdr_rec.claim_type_flag;
1025    l_txn_hdr_rec.claim_creation_source := p_txn_hdr_rec.claim_creation_source;
1026 
1027    FOR i IN p_txn_line_id.FIRST..p_txn_line_id.LAST LOOP
1028       l_txn_line_id(i) := p_txn_line_id(i);
1029    END LOOP;
1030 
1031   --Raise business event for updating the on hand inventory
1032           DPP_BUSINESSEVENTS_PVT.Raise_Business_Event( p_api_version         =>    p_api_version
1033                                                       ,p_init_msg_list	     =>    p_init_msg_list
1034                                                       ,p_commit	             =>    p_commit
1035                                                       ,p_validation_level    =>    p_validation_level
1036                                                       ,x_return_status	     =>    x_return_status
1037                                                       ,x_msg_count	     =>    x_msg_count
1038                                                       ,x_msg_data	     =>    x_msg_data
1039                                                       ,p_txn_hdr_rec         =>    l_txn_hdr_rec
1040                                                       ,p_txn_line_id         =>    l_txn_line_id
1041                                                       );
1042 EXCEPTION
1043 WHEN OTHERS THEN
1044       x_return_status := fnd_api.g_ret_sts_unexp_error;
1045 
1046       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1047          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1048          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.Raise_Business_Event');
1049          fnd_message.set_token('ERRNO', sqlcode);
1050          fnd_message.set_token('REASON', sqlerrm);
1051          FND_MSG_PUB.add;
1052       END IF;
1053 END Raise_Business_Event;
1054 
1055 PROCEDURE convert_currency(
1056    p_from_currency   IN       VARCHAR2
1057   ,p_to_currency     IN       VARCHAR2
1058   ,p_conv_type       IN       VARCHAR2 DEFAULT FND_API.G_MISS_CHAR
1059   ,p_conv_rate       IN       NUMBER   DEFAULT FND_API.G_MISS_NUM
1060   ,p_conv_date       IN       DATE     DEFAULT SYSDATE
1061   ,p_from_amount     IN       NUMBER
1062   ,x_return_status   OUT NOCOPY      VARCHAR2
1063   ,x_to_amount       OUT NOCOPY      NUMBER
1064   ,x_rate            OUT NOCOPY      NUMBER
1065   )
1066 IS
1067 BEGIN
1068 --Clearing the msg stack and Initialize the message stack.
1069   fnd_message.clear();
1070   FND_MSG_PUB.initialize;
1071 --Call Dpp_utility_pvt.convert_currency
1072 DPP_UTILITY_PVT.convert_currency(p_from_currency => p_from_currency
1073                                 ,p_to_currency => p_to_currency
1074                                 ,p_conv_type  =>      FND_API.G_MISS_CHAR
1075                                 ,p_conv_rate   =>      FND_API.G_MISS_NUM
1076                                 ,p_conv_date   =>      sysdate
1077                                 ,p_from_amount   =>      p_from_amount
1078                                 ,x_return_status   =>      x_return_status
1079                                 ,x_to_amount   =>      x_to_amount
1080                                 ,x_rate   =>      x_rate);
1081 EXCEPTION
1082    WHEN FND_API.G_EXC_ERROR THEN
1083       x_return_status := FND_API.G_RET_STS_ERROR;
1084 
1085    WHEN OTHERS THEN
1086       x_return_status := fnd_api.g_ret_sts_unexp_error;
1087 
1088       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1089          fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1090          fnd_message.set_token('ROUTINE', 'DPP_UIWRAPPER_PVT.convert_currency');
1091          fnd_message.set_token('ERRNO', sqlcode);
1092          fnd_message.set_token('REASON', sqlerrm);
1093          FND_MSG_PUB.ADD;
1094       END IF;
1095 
1096 END convert_currency;
1097 
1098 END DPP_UIWRAPPER_PVT;