DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_INTERFACE_EXT_GRP

Source


1 PACKAGE BODY WSH_INTERFACE_EXT_GRP as
2 /* $Header: WSHEXGPB.pls 120.4.12010000.2 2010/02/10 11:22:06 anvarshn ship $ */
3 
4 --===================
5 -- CONSTANTS
6 --===================
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WSH_INTERFACE_EXT_GRP';
8 -- add your constants here if any
9 --===================
10 -- PUBLIC VARS
11 --===================
12 
13 
14 
15 FUNCTION Handle_missing_info
16                   (p_value        IN  NUMBER,
17                    p_entity	  IN  VARCHAR2 DEFAULT NULL,
18 		   p_action       IN  VARCHAR2 DEFAULT NULL
19                   ) RETURN NUMBER  IS
20 
21  l_debug_on BOOLEAN;
22  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'Handle_missing_info';
23  l_value NUMBER;
24 
25 BEGIN
26  l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
27 
28  IF l_debug_on IS NULL THEN
29     l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
30  END IF;
31     --
32 /*
33  IF l_debug_on THEN
34     WSH_DEBUG_SV.push(l_module_name);
35     WSH_DEBUG_SV.log(l_module_name,'p_value',p_value);
36  END IF;
37 */
38 
39  l_value := p_value;
40  IF (nvl(p_entity,'$$') = 'DLVB' and nvl(p_action,'$$')= 'CREATE') THEN
41     IF (p_value = fnd_api.g_miss_num) THEN
42        l_value := NULL;
43     END IF;
44  ELSE
45     IF (p_value = fnd_api.g_miss_num) THEN
46       l_value := NULL;
47     ELSIF (p_value IS NULL) THEN
48       l_value := fnd_api.g_miss_num;
49     END IF;
50  END IF;
51 
52 /*
53  IF l_debug_on THEN
54    WSH_DEBUG_SV.log(l_module_name,'l_value',l_value);
55    WSH_DEBUG_SV.pop(l_module_name);
56  END IF;
57 */
58  return l_value;
59 EXCEPTION
60  WHEN OTHERS THEN
61     IF l_debug_on THEN
62        WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
63        WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
64     END IF;
65     raise;
66 END Handle_missing_info;
67 
68 
69 FUNCTION Handle_missing_info
70                   (p_value        IN  VARCHAR2,
71                    p_entity	  IN  VARCHAR2 DEFAULT NULL,
72 		   p_action       IN  VARCHAR2 DEFAULT NULL
73                   ) RETURN VARCHAR2 IS
74 
75  l_debug_on BOOLEAN;
76  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'Handle_missing_info';
77  l_value VARCHAR2(32767);
78 
79 BEGIN
80  l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
81 
82  IF l_debug_on IS NULL THEN
83     l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
84  END IF;
85     --
86 /*
87  IF l_debug_on THEN
88     WSH_DEBUG_SV.push(l_module_name);
89     WSH_DEBUG_SV.log(l_module_name,'p_value',p_value);
90  END IF;
91 */
92 
93  l_value := p_value;
94  IF (nvl(p_entity,'$$') = 'DLVB' and nvl(p_action,'$$')='CREATE') THEN
95     IF (p_value = fnd_api.g_miss_char) THEN
96        l_value := NULL;
97     END IF;
98  ELSE
99     IF (p_value = fnd_api.g_miss_char) THEN
100       l_value := NULL;
101     ELSIF (p_value IS NULL) THEN
102       l_value := fnd_api.g_miss_char;
103     END IF;
104  END IF;
105  /*
106  IF l_debug_on THEN
107    WSH_DEBUG_SV.log(l_module_name,'l_value',l_value);
108    WSH_DEBUG_SV.pop(l_module_name);
109  END IF;
110 */
111  return l_value;
112 EXCEPTION
113  WHEN OTHERS THEN
114     IF l_debug_on THEN
115        WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
116        WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
117     END IF;
118     raise;
119 END Handle_missing_info;
120 
121 
122 FUNCTION Handle_missing_info
123                   (p_value        IN  DATE,
124                    p_entity	  IN  VARCHAR2 DEFAULT NULL,
125 		   p_action       IN  VARCHAR2 DEFAULT NULL
126                   ) RETURN DATE  IS
127 
128  l_debug_on BOOLEAN;
129  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'Handle_missing_info';
130  l_value DATE;
131 
132 BEGIN
133  l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
134 
135  IF l_debug_on IS NULL THEN
136     l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
137  END IF;
138     --
139 /*
140  IF l_debug_on THEN
141     WSH_DEBUG_SV.push(l_module_name);
142     WSH_DEBUG_SV.log(l_module_name,'p_value',p_value);
143  END IF;
144 */
145 
146  l_value := p_value;
147  IF (nvl(p_entity,'$$') = 'DLVB' and nvl(p_action,'$$')='CREATE') THEN
148     IF (p_value = fnd_api.g_miss_date) THEN
149        l_value := NULL;
150     END IF;
151  ELSE
152     IF (p_value = fnd_api.g_miss_date) THEN
153       l_value := NULL;
154     ELSIF (p_value IS NULL) THEN
155       l_value := fnd_api.g_miss_date;
156     END IF;
157  END IF;
158 
159 /*
160 IF l_debug_on THEN
161    WSH_DEBUG_SV.log(l_module_name,'l_value',l_value);
162    WSH_DEBUG_SV.pop(l_module_name);
163  END IF;
164 */
165  return l_value;
166 EXCEPTION
167  WHEN OTHERS THEN
168     IF l_debug_on THEN
169        WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
170        WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
171     END IF;
172     raise;
173 END Handle_missing_info;
174 
175 Procedure Map_del_act_params_rectype(
176   p_in_rec IN WSH_INTERFACE_EXT_GRP.del_action_parameters_rectype,
177   x_out_rec OUT NOCOPY WSH_DELIVERIES_GRP.action_parameters_rectype) IS
178 
179 Begin
180   x_out_rec.caller                          := p_in_rec.caller               ;
181   x_out_rec.phase    			    := p_in_rec.phase    			;
182   x_out_rec.action_code  		    := p_in_rec.action_code  		;
183   x_out_rec.trip_id  			    := p_in_rec.trip_id  			;
184   x_out_rec.trip_name  			    := p_in_rec.trip_name  		;
185   x_out_rec.pickup_stop_id   		    := p_in_rec.pickup_stop_id   		;
186   x_out_rec.pickup_loc_id   		    := p_in_rec.pickup_loc_id   		;
187   x_out_rec.pickup_stop_seq   	  	    := p_in_rec.pickup_stop_seq   	;
188   x_out_rec.pickup_loc_code  		    := p_in_rec.pickup_loc_code  		;
189   x_out_rec.pickup_arr_date   	  	    := p_in_rec.pickup_arr_date   	;
190   x_out_rec.pickup_dep_date  		    := p_in_rec.pickup_dep_date  		;
191   x_out_rec.pickup_stop_status   	    := p_in_rec.pickup_stop_status   ;
192   x_out_rec.dropoff_stop_id   	  	    := p_in_rec.dropoff_stop_id   	;
193   x_out_rec.dropoff_loc_id    	  	    := p_in_rec.dropoff_loc_id    	;
194   x_out_rec.dropoff_stop_seq  	  	    := p_in_rec.dropoff_stop_seq  	;
195   x_out_rec.dropoff_loc_code  	  	    := p_in_rec.dropoff_loc_code  	;
196   x_out_rec.dropoff_arr_date  	  	    := p_in_rec.dropoff_arr_date  	;
197   x_out_rec.dropoff_dep_date 		    := p_in_rec.dropoff_dep_date 		;
198   x_out_rec.dropoff_stop_status    	    := p_in_rec.dropoff_stop_status   ;
199   x_out_rec.action_flag   		    := p_in_rec.action_flag   		;
200   x_out_rec.intransit_flag   		    := p_in_rec.intransit_flag   		;
201   x_out_rec.close_trip_flag  		    := p_in_rec.close_trip_flag  		;
202   x_out_rec.stage_del_flag   		    := p_in_rec.stage_del_flag   		;
203   x_out_rec.bill_of_lading_flag 	    := p_in_rec.bill_of_lading_flag ;
204   x_out_rec.mc_bill_of_lading_flag  	    := p_in_rec.mc_bill_of_lading_flag;
205   x_out_rec.override_flag   		    := p_in_rec.override_flag   		;
206   x_out_rec.defer_interface_flag 	    := p_in_rec.defer_interface_flag ;
207   x_out_rec.ship_method_code  	  	    := p_in_rec.ship_method_code  	;
208   x_out_rec.actual_dep_date 		    := p_in_rec.actual_dep_date 		;
209   x_out_rec.report_set_id  		    := p_in_rec.report_set_id  		;
210   x_out_rec.report_set_name   	  	    := p_in_rec.report_set_name   	;
211   x_out_rec.send_945_flag  		    := p_in_rec.send_945_flag  		;
212   x_out_rec.action_type   		    := p_in_rec.action_type   		;
213   x_out_rec.document_type   		    := p_in_rec.document_type   		;
214   x_out_rec.organization_id  		    := p_in_rec.organization_id  		;
215   x_out_rec.reason_of_transport 	    := p_in_rec.reason_of_transport ;
216   x_out_rec.description  		    := p_in_rec.description  		;
217   x_out_rec.event    		            := p_in_rec.event 		;
218 
219 
220 
221 End Map_del_act_params_rectype;
222 
223 
224 Procedure Map_del_act_OutRecType(
225    p_in_rec   IN   WSH_DELIVERIES_GRP.Delivery_Action_Out_Rec_Type,
226    x_out_rec  OUT  NOCOPY WSH_INTERFACE_EXT_GRP.Del_Action_Out_Rec_Type) IS
227 
228 
229    Begin
230 
231      x_out_rec.packing_slip_number          := p_in_rec.packing_slip_number  ;
232      x_out_rec.valid_ids_tab         	    := p_in_rec.valid_ids_tab        ;
233      x_out_rec.result_id_tab         	    := p_in_rec.result_id_tab        ;
234      x_out_rec.selection_issue_flag  	    := p_in_rec.selection_issue_flag ;
235 
236 
237 End Map_del_act_OutRecType;
238 
239 
240 --========================================================================
241 -- PROCEDURE : Delivery_Action         Wrapper API      PUBLIC
242 --
243 -- PARAMETERS: p_api_version_number    known api version error number
244 --             p_init_msg_list         FND_API.G_TRUE to reset list
245 --             x_return_status         return status
246 --             x_msg_count             number of messages in the list
247 --             x_msg_data              text of messages
248 --             p_action_prms           Record of caller, phase, action_code and other
249 --                                     parameters specific to the actions.
250 --	       p_rec_attr_tab          Table of Attributes for the delivery entity
251 --             x_delivery_out_rec      Record of output parameters based on the actions.
252 -- VERSION   : current version         1.0
253 --             initial version         1.0
254 -- COMMENT   : This procedure is used to perform an action specified
255 --             in p_action_prms.action_code on an existing delivery identified
256 --             by p_rec_attr.delivery_id/p_rec_attr.name.
257 --========================================================================
258   PROCEDURE Delivery_Action
259   ( p_api_version_number     IN   NUMBER,
260     p_init_msg_list          IN   VARCHAR2,
261     p_commit                 IN   VARCHAR2 , -- default fnd_api.g_false
262     p_action_prms            IN   WSH_INTERFACE_EXT_GRP.del_action_parameters_rectype,
263     p_delivery_id_tab        IN   wsh_util_core.id_tab_type,
264     x_delivery_out_rec       OUT  NOCOPY WSH_INTERFACE_EXT_GRP.Del_Action_Out_Rec_Type,
265     x_return_status          OUT  NOCOPY VARCHAR2,
266     x_msg_count              OUT  NOCOPY NUMBER,
267     x_msg_data               OUT  NOCOPY VARCHAR2)
268   IS
269     --
270     l_del_act_params_rectype   WSH_DELIVERIES_GRP.action_parameters_rectype;
271     l_Del_Act_Out_Rec_Type         WSH_DELIVERIES_GRP.Delivery_Action_Out_Rec_Type;
272 
273 
274     --
275   BEGIN
276 
277  Map_del_act_params_rectype(p_action_prms, l_del_act_params_rectype);
278 
279  WSH_INTERFACE_GRP.Delivery_Action
280   ( p_api_version_number     =>   p_api_version_number,
281     p_init_msg_list          =>   p_init_msg_list,
282     p_commit                 =>   p_commit , -- default fnd_api.g_false
283     p_action_prms            =>   l_del_act_params_rectype,
284     p_delivery_id_tab        =>   p_delivery_id_tab,
285     x_delivery_out_rec       =>   l_Del_Act_Out_Rec_Type,
286     x_return_status          =>   x_return_status,
287     x_msg_count              =>   x_msg_count,
288     x_msg_data               =>   x_msg_data);
289 
290  Map_del_act_OutRecType(l_Del_Act_Out_Rec_Type, x_delivery_out_rec);
291     --
292   EXCEPTION
293       --
294     WHEN OTHERS THEN
295       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
296       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.DELIVERY_ACTION');
297       --
298   END Delivery_Action;
299 
300 Procedure Map_Del_InRecType(
301    p_in_rec  IN WSH_INTERFACE_EXT_GRP.Del_In_Rec_Type,
302    x_out_rec OUT NOCOPY WSH_DELIVERIES_GRP.Del_In_Rec_Type) IS
303 
304    Begin
305 
306      x_out_rec.caller          := p_in_rec.caller       ;
307      x_out_rec.phase           := p_in_rec.phase     ;
308      x_out_rec.action_code     := p_in_rec.action_code;
309 
310    End Map_Del_InRecType;
311 
312 Procedure Map_Del_Attr_Tbl_Type (
313     p_in_tab IN WSH_INTERFACE_EXT_GRP.Delivery_Attr_Tbl_Type,
314     x_out_tab OUT NOCOPY WSH_NEW_DELIVERIES_PVT.Delivery_Attr_Tbl_Type) Is
315 
316 Begin
317 
318 for i in 1..p_in_tab.count LOOP
319 
320 x_out_tab(i).DELIVERY_ID                      := handle_missing_info(p_in_tab(i).DELIVERY_ID );
321 x_out_tab(i).NAME                             := handle_missing_info(p_in_tab(i).NAME        );
322 x_out_tab(i).PLANNED_FLAG                     := handle_missing_info(p_in_tab(i).PLANNED_FLAG);
323 x_out_tab(i).STATUS_CODE                      := handle_missing_info(p_in_tab(i).STATUS_CODE );
324 x_out_tab(i).DELIVERY_TYPE                    := handle_missing_info(p_in_tab(i).DELIVERY_TYPE);
325 x_out_tab(i).LOADING_SEQUENCE                 := handle_missing_info(p_in_tab(i).LOADING_SEQUENCE);
326 x_out_tab(i).LOADING_ORDER_FLAG               := handle_missing_info(p_in_tab(i).LOADING_ORDER_FLAG);
327 x_out_tab(i).INITIAL_PICKUP_DATE              := handle_missing_info(p_in_tab(i).INITIAL_PICKUP_DATE);
328 x_out_tab(i).INITIAL_PICKUP_LOCATION_ID       := handle_missing_info(p_in_tab(i).INITIAL_PICKUP_LOCATION_ID);
329 x_out_tab(i).ORGANIZATION_ID                  := handle_missing_info(p_in_tab(i).ORGANIZATION_ID);
330 x_out_tab(i).ULTIMATE_DROPOFF_LOCATION_ID     := handle_missing_info(p_in_tab(i).ULTIMATE_DROPOFF_LOCATION_ID);
331 x_out_tab(i).ULTIMATE_DROPOFF_DATE            := handle_missing_info(p_in_tab(i).ULTIMATE_DROPOFF_DATE);
332 x_out_tab(i).CUSTOMER_ID                      := handle_missing_info(p_in_tab(i).CUSTOMER_ID );
333 x_out_tab(i).INTMED_SHIP_TO_LOCATION_ID       := handle_missing_info(p_in_tab(i).INTMED_SHIP_TO_LOCATION_ID);
334 x_out_tab(i).POOLED_SHIP_TO_LOCATION_ID       := handle_missing_info(p_in_tab(i).POOLED_SHIP_TO_LOCATION_ID);
335 x_out_tab(i).CARRIER_ID                       := handle_missing_info(p_in_tab(i).CARRIER_ID  );
336 x_out_tab(i).SHIP_METHOD_CODE                 := handle_missing_info(p_in_tab(i).SHIP_METHOD_CODE);
337 x_out_tab(i).FREIGHT_TERMS_CODE               := handle_missing_info(p_in_tab(i).FREIGHT_TERMS_CODE);
338 x_out_tab(i).FOB_CODE                         := handle_missing_info(p_in_tab(i).FOB_CODE    );
339 x_out_tab(i).FOB_LOCATION_ID                  := handle_missing_info(p_in_tab(i).FOB_LOCATION_ID);
340 x_out_tab(i).WAYBILL                          := handle_missing_info(p_in_tab(i).WAYBILL     );
341 x_out_tab(i).DOCK_CODE                        := handle_missing_info(p_in_tab(i).DOCK_CODE   );
342 x_out_tab(i).ACCEPTANCE_FLAG                  := handle_missing_info(p_in_tab(i).ACCEPTANCE_FLAG);
343 x_out_tab(i).ACCEPTED_BY                      := handle_missing_info(p_in_tab(i).ACCEPTED_BY );
344 x_out_tab(i).ACCEPTED_DATE                    := handle_missing_info(p_in_tab(i).ACCEPTED_DATE);
345 x_out_tab(i).ACKNOWLEDGED_BY                  := handle_missing_info(p_in_tab(i).ACKNOWLEDGED_BY);
346 x_out_tab(i).CONFIRMED_BY                     := handle_missing_info(p_in_tab(i).CONFIRMED_BY);
347 x_out_tab(i).CONFIRM_DATE                     := handle_missing_info(p_in_tab(i).CONFIRM_DATE);
348 x_out_tab(i).ASN_DATE_SENT                    := handle_missing_info(p_in_tab(i).ASN_DATE_SENT);
349 x_out_tab(i).ASN_STATUS_CODE                  := handle_missing_info(p_in_tab(i).ASN_STATUS_CODE);
350 x_out_tab(i).ASN_SEQ_NUMBER                   := handle_missing_info(p_in_tab(i).ASN_SEQ_NUMBER);
351 x_out_tab(i).GROSS_WEIGHT                     := handle_missing_info(p_in_tab(i).GROSS_WEIGHT);
352 x_out_tab(i).NET_WEIGHT                       := handle_missing_info(p_in_tab(i).NET_WEIGHT  );
353 x_out_tab(i).WEIGHT_UOM_CODE                  := handle_missing_info(p_in_tab(i).WEIGHT_UOM_CODE);
354 x_out_tab(i).VOLUME                           := handle_missing_info(p_in_tab(i).VOLUME      );
355 x_out_tab(i).VOLUME_UOM_CODE                  := handle_missing_info(p_in_tab(i).VOLUME_UOM_CODE);
356 x_out_tab(i).ADDITIONAL_SHIPMENT_INFO         := handle_missing_info(p_in_tab(i).ADDITIONAL_SHIPMENT_INFO);
357 x_out_tab(i).CURRENCY_CODE                    := handle_missing_info(p_in_tab(i).CURRENCY_CODE);
358 x_out_tab(i).ATTRIBUTE_CATEGORY               := handle_missing_info(p_in_tab(i).ATTRIBUTE_CATEGORY);
359 x_out_tab(i).ATTRIBUTE1                       := handle_missing_info(p_in_tab(i).ATTRIBUTE1  );
360 x_out_tab(i).ATTRIBUTE2                       := handle_missing_info(p_in_tab(i).ATTRIBUTE2  );
361 x_out_tab(i).ATTRIBUTE3                       := handle_missing_info(p_in_tab(i).ATTRIBUTE3  );
362 x_out_tab(i).ATTRIBUTE4                       := handle_missing_info(p_in_tab(i).ATTRIBUTE4  );
363 x_out_tab(i).ATTRIBUTE5                       := handle_missing_info(p_in_tab(i).ATTRIBUTE5  );
364 x_out_tab(i).ATTRIBUTE6                       := handle_missing_info(p_in_tab(i).ATTRIBUTE6  );
365 x_out_tab(i).ATTRIBUTE7                       := handle_missing_info(p_in_tab(i).ATTRIBUTE7  );
366 x_out_tab(i).ATTRIBUTE8                       := handle_missing_info(p_in_tab(i).ATTRIBUTE8  );
367 x_out_tab(i).ATTRIBUTE9                       := handle_missing_info(p_in_tab(i).ATTRIBUTE9  );
368 x_out_tab(i).ATTRIBUTE10                      := handle_missing_info(p_in_tab(i).ATTRIBUTE10 );
369 x_out_tab(i).ATTRIBUTE11                      := handle_missing_info(p_in_tab(i).ATTRIBUTE11 );
370 x_out_tab(i).ATTRIBUTE12                      := handle_missing_info(p_in_tab(i).ATTRIBUTE12 );
371 x_out_tab(i).ATTRIBUTE13                      := handle_missing_info(p_in_tab(i).ATTRIBUTE13 );
372 x_out_tab(i).ATTRIBUTE14                      := handle_missing_info(p_in_tab(i).ATTRIBUTE14 );
373 x_out_tab(i).ATTRIBUTE15                      := handle_missing_info(p_in_tab(i).ATTRIBUTE15 );
374 x_out_tab(i).TP_ATTRIBUTE_CATEGORY            := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE_CATEGORY);
375 x_out_tab(i).TP_ATTRIBUTE1                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE1);
376 x_out_tab(i).TP_ATTRIBUTE2                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE2);
377 x_out_tab(i).TP_ATTRIBUTE3                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE3);
378 x_out_tab(i).TP_ATTRIBUTE4                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE4);
379 x_out_tab(i).TP_ATTRIBUTE5                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE5);
380 x_out_tab(i).TP_ATTRIBUTE6                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE6);
381 x_out_tab(i).TP_ATTRIBUTE7                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE7);
382 x_out_tab(i).TP_ATTRIBUTE8                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE8);
383 x_out_tab(i).TP_ATTRIBUTE9                    := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE9);
384 x_out_tab(i).TP_ATTRIBUTE10                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE10);
385 x_out_tab(i).TP_ATTRIBUTE11                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE11);
386 x_out_tab(i).TP_ATTRIBUTE12                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE12);
387 x_out_tab(i).TP_ATTRIBUTE13                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE13);
388 x_out_tab(i).TP_ATTRIBUTE14                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE14);
389 x_out_tab(i).TP_ATTRIBUTE15                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE15);
390 x_out_tab(i).GLOBAL_ATTRIBUTE_CATEGORY        := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE_CATEGORY);
391 x_out_tab(i).GLOBAL_ATTRIBUTE1                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE1);
392 x_out_tab(i).GLOBAL_ATTRIBUTE2                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE2);
393 x_out_tab(i).GLOBAL_ATTRIBUTE3                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE3);
394 x_out_tab(i).GLOBAL_ATTRIBUTE4                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE4);
395 x_out_tab(i).GLOBAL_ATTRIBUTE5                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE5);
396 x_out_tab(i).GLOBAL_ATTRIBUTE6                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE6);
397 x_out_tab(i).GLOBAL_ATTRIBUTE7                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE7);
398 x_out_tab(i).GLOBAL_ATTRIBUTE8                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE8);
399 x_out_tab(i).GLOBAL_ATTRIBUTE9                := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE9);
400 x_out_tab(i).GLOBAL_ATTRIBUTE10               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE10);
401 x_out_tab(i).GLOBAL_ATTRIBUTE11               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE11);
402 x_out_tab(i).GLOBAL_ATTRIBUTE12               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE12);
403 x_out_tab(i).GLOBAL_ATTRIBUTE13               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE13);
404 x_out_tab(i).GLOBAL_ATTRIBUTE14               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE14);
405 x_out_tab(i).GLOBAL_ATTRIBUTE15               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE15);
406 x_out_tab(i).GLOBAL_ATTRIBUTE16               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE16);
407 x_out_tab(i).GLOBAL_ATTRIBUTE17               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE17);
408 x_out_tab(i).GLOBAL_ATTRIBUTE18               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE18);
409 x_out_tab(i).GLOBAL_ATTRIBUTE19               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE19);
410 x_out_tab(i).GLOBAL_ATTRIBUTE20               := handle_missing_info(p_in_tab(i).GLOBAL_ATTRIBUTE20);
411 x_out_tab(i).CREATION_DATE                    := handle_missing_info(p_in_tab(i).CREATION_DATE);
412 x_out_tab(i).CREATED_BY                       := handle_missing_info(p_in_tab(i).CREATED_BY  );
413 x_out_tab(i).LAST_UPDATE_DATE                 := handle_missing_info(p_in_tab(i).LAST_UPDATE_DATE);
414 x_out_tab(i).LAST_UPDATED_BY                  := handle_missing_info(p_in_tab(i).LAST_UPDATED_BY);
415 x_out_tab(i).LAST_UPDATE_LOGIN                := handle_missing_info(p_in_tab(i).LAST_UPDATE_LOGIN);
416 x_out_tab(i).PROGRAM_APPLICATION_ID           := handle_missing_info(p_in_tab(i).PROGRAM_APPLICATION_ID);
417 x_out_tab(i).PROGRAM_ID                       := handle_missing_info(p_in_tab(i).PROGRAM_ID  );
418 x_out_tab(i).PROGRAM_UPDATE_DATE              := handle_missing_info(p_in_tab(i).PROGRAM_UPDATE_DATE);
419 x_out_tab(i).REQUEST_ID                       := handle_missing_info(p_in_tab(i).REQUEST_ID  );
420 x_out_tab(i).BATCH_ID                         := handle_missing_info(p_in_tab(i).BATCH_ID    );
421 x_out_tab(i).HASH_VALUE                       := handle_missing_info(p_in_tab(i).HASH_VALUE  );
422 x_out_tab(i).SOURCE_HEADER_ID                 := handle_missing_info(p_in_tab(i).SOURCE_HEADER_ID);
423 x_out_tab(i).NUMBER_OF_LPN                    := handle_missing_info(p_in_tab(i).NUMBER_OF_LPN);
424 x_out_tab(i).COD_AMOUNT                       := handle_missing_info(p_in_tab(i).COD_AMOUNT  );
425 x_out_tab(i).COD_CURRENCY_CODE                := handle_missing_info(p_in_tab(i).COD_CURRENCY_CODE);
426 x_out_tab(i).COD_REMIT_TO                     := handle_missing_info(p_in_tab(i).COD_REMIT_TO);
427 x_out_tab(i).COD_CHARGE_PAID_BY               := handle_missing_info(p_in_tab(i).COD_CHARGE_PAID_BY);
428 x_out_tab(i).PROBLEM_CONTACT_REFERENCE        := handle_missing_info(p_in_tab(i).PROBLEM_CONTACT_REFERENCE);
429 x_out_tab(i).PORT_OF_LOADING                  := handle_missing_info(p_in_tab(i).PORT_OF_LOADING);
430 x_out_tab(i).PORT_OF_DISCHARGE                := handle_missing_info(p_in_tab(i).PORT_OF_DISCHARGE);
431 x_out_tab(i).FTZ_NUMBER                       := handle_missing_info(p_in_tab(i).FTZ_NUMBER  );
432 x_out_tab(i).ROUTED_EXPORT_TXN                := handle_missing_info(p_in_tab(i).ROUTED_EXPORT_TXN);
433 x_out_tab(i).ENTRY_NUMBER                     := handle_missing_info(p_in_tab(i).ENTRY_NUMBER);
434 x_out_tab(i).ROUTING_INSTRUCTIONS             := handle_missing_info(p_in_tab(i).ROUTING_INSTRUCTIONS);
435 x_out_tab(i).IN_BOND_CODE                     := handle_missing_info(p_in_tab(i).IN_BOND_CODE);
436 x_out_tab(i).SHIPPING_MARKS                   := handle_missing_info(p_in_tab(i).SHIPPING_MARKS);
437 x_out_tab(i).SERVICE_LEVEL                    := handle_missing_info(p_in_tab(i).SERVICE_LEVEL);
438 x_out_tab(i).MODE_OF_TRANSPORT                := handle_missing_info(p_in_tab(i).MODE_OF_TRANSPORT);
439 x_out_tab(i).ASSIGNED_TO_FTE_TRIPS            := handle_missing_info(p_in_tab(i).ASSIGNED_TO_FTE_TRIPS);
440 x_out_tab(i).AUTO_SC_EXCLUDE_FLAG             := handle_missing_info(p_in_tab(i).AUTO_SC_EXCLUDE_FLAG);
441 x_out_tab(i).AUTO_AP_EXCLUDE_FLAG             := handle_missing_info(p_in_tab(i).AUTO_AP_EXCLUDE_FLAG);
442 x_out_tab(i).AP_BATCH_ID                      := handle_missing_info(p_in_tab(i).AP_BATCH_ID );
443 x_out_tab(i).ROWID                            := p_in_tab(i).ROWID;
444 x_out_tab(i).LOADING_ORDER_DESC               := handle_missing_info(p_in_tab(i).LOADING_ORDER_DESC);
445 x_out_tab(i).ORGANIZATION_CODE                := handle_missing_info(p_in_tab(i).ORGANIZATION_CODE);
446 x_out_tab(i).ULTIMATE_DROPOFF_LOCATION_CODE   := handle_missing_info(p_in_tab(i).ULTIMATE_DROPOFF_LOCATION_CODE);
447 x_out_tab(i).INITIAL_PICKUP_LOCATION_CODE     := handle_missing_info(p_in_tab(i).INITIAL_PICKUP_LOCATION_CODE);
448 x_out_tab(i).CUSTOMER_NUMBER                  := handle_missing_info(p_in_tab(i).CUSTOMER_NUMBER);
449 x_out_tab(i).INTMED_SHIP_TO_LOCATION_CODE     := handle_missing_info(p_in_tab(i).INTMED_SHIP_TO_LOCATION_CODE);
450 x_out_tab(i).POOLED_SHIP_TO_LOCATION_CODE     := handle_missing_info(p_in_tab(i).POOLED_SHIP_TO_LOCATION_CODE);
451 x_out_tab(i).CARRIER_CODE                     := handle_missing_info(p_in_tab(i).CARRIER_CODE);
452 x_out_tab(i).SHIP_METHOD_NAME                 := handle_missing_info(p_in_tab(i).SHIP_METHOD_NAME);
453 x_out_tab(i).FREIGHT_TERMS_NAME               := handle_missing_info(p_in_tab(i).FREIGHT_TERMS_NAME);
454 x_out_tab(i).FOB_NAME                         := handle_missing_info(p_in_tab(i).FOB_NAME    );
455 x_out_tab(i).FOB_LOCATION_CODE                := handle_missing_info(p_in_tab(i).FOB_LOCATION_CODE);
456 x_out_tab(i).WEIGHT_UOM_DESC                  := handle_missing_info(p_in_tab(i).WEIGHT_UOM_DESC);
457 x_out_tab(i).VOLUME_UOM_DESC                  := handle_missing_info(p_in_tab(i).VOLUME_UOM_DESC);
458 x_out_tab(i).CURRENCY_NAME                    := handle_missing_info(p_in_tab(i).CURRENCY_NAME);
459 
460 END LOOP;
461 
462 END Map_Del_Attr_Tbl_Type;
463 
464 
465 Procedure Map_Del_OutTblType(
466    p_in_tab  IN  WSH_DELIVERIES_GRP.Del_Out_Tbl_Type,
467    x_out_tab OUT NOCOPY WSH_INTERFACE_EXT_GRP.Del_Out_Tbl_Type) IS
468 
469 
470 Begin
471 
472 for i in 1..p_in_tab.count LOOP
473  x_out_tab(i).delivery_id   := p_in_tab(i).delivery_id;
474  x_out_tab(i).name          := p_in_tab(i).name       ;
475  x_out_tab(i).rowid         := p_in_tab(i).rowid      ;
476 
477 END LOOP;
478 End  Map_Del_OutTblType;
479 
480 
481 --========================================================================
482 
483 -- I Harmonization: rvishnuv ******* Actions ******
484 
485 -- I Harmonization: rvishnuv ******* Create/Update ******
486 --========================================================================
487 -- PROCEDURE : Create_Update_Delivery  Wrapper API      PUBLIC
488 --
489 -- PARAMETERS: p_api_version_number    known api version error buffer
490 --             p_init_msg_list         FND_API.G_TRUE to reset list
491 --             x_return_status         return status
492 --             x_msg_count             number of messages in the list
493 --             x_msg_data              text of messages
494 --             p_in_rec                Record for caller, phase
495 --                                     and action_code ( CREATE-UPDATE )
496 --	       p_rec_attr_tab          Table of Attributes for the delivery entity
497 --  	       x_del_out_rec           Record of delivery_id, and name of new deliveries,
498 -- VERSION   : current version         1.0
499 --             initial version         1.0
500 -- COMMENT   : Creates or updates a record in wsh_new_deliveries table with information
501 --             specified in p_delivery_info
502 --========================================================================
503   PROCEDURE Create_Update_Delivery
504   ( p_api_version_number     IN   NUMBER,
505     p_init_msg_list          IN   VARCHAR2,
506     p_commit		     IN   VARCHAR2 , -- default fnd_api.g_false
507     p_in_rec                 IN   WSH_INTERFACE_EXT_GRP.Del_In_Rec_Type,
508     p_rec_attr_tab	     IN   WSH_INTERFACE_EXT_GRP.Delivery_Attr_Tbl_Type,
509     x_del_out_rec_tab        OUT  NOCOPY WSH_INTERFACE_EXT_GRP.Del_Out_Tbl_Type,
510     x_return_status          OUT  NOCOPY VARCHAR2,
511     x_msg_count              OUT  NOCOPY NUMBER,
512     x_msg_data               OUT  NOCOPY VARCHAR2)
513   IS
514     --
515 
516     l_Del_In_Rec_Type            WSH_DELIVERIES_GRP.Del_In_Rec_Type;
517     l_Del_Attr_Tbl_Type     WSH_NEW_DELIVERIES_PVT.Delivery_Attr_Tbl_Type;
518     l_Del_Out_Tbl_Type           WSH_DELIVERIES_GRP.Del_Out_Tbl_Type;
519 
520     --
521   BEGIN
522     --
523     Map_Del_InRecType(p_in_rec, l_Del_In_Rec_Type);
524     Map_Del_Attr_Tbl_Type(p_rec_attr_tab, l_Del_Attr_Tbl_Type);
525     --
526     WSH_INTERFACE_GRP.Create_Update_Delivery(
527     p_api_version_number     =>   p_api_version_number,
528     p_init_msg_list          =>   p_init_msg_list,
529     p_commit                 =>   p_commit , -- default fnd_api.g_false
530     p_in_rec                 =>   l_Del_In_Rec_Type,
531     p_rec_attr_tab           =>   l_Del_Attr_Tbl_Type,
532     x_del_out_rec_tab        =>   l_Del_Out_Tbl_Type,
533     x_return_status          =>   x_return_status,
534     x_msg_count              =>   x_msg_count,
535     x_msg_data               =>   x_msg_data);
536 
537     Map_Del_OutTblType(l_Del_Out_Tbl_Type, x_del_out_rec_tab);
538     --
539     --
540   EXCEPTION
541       --
542     WHEN OTHERS THEN
543       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
544       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.CREATE_UPDATE_DELIVERY');
545       --
546 
547 END Create_Update_Delivery;
548 --========================================================================
549 
550 -- I Harmonization: rvishnuv ******* Create/Update ******
551 
552 
553 Procedure map_det_act_params_rec_type(
554    p_in_rec  IN  WSH_INTERFACE_EXT_GRP.det_action_parameters_rec_type,
555    x_out_rec OUT NOCOPY wsh_glbl_var_strct_grp.dd_action_parameters_rec_type) IS
556 
557 Begin
558 
559                x_out_rec.Caller                     := p_in_rec.Caller       ;
560                x_out_rec.Action_Code  		    := p_in_rec.Action_Code  ;
561                x_out_rec.Phase        		    := p_in_rec.Phase        ;
562                x_out_rec.delivery_id  		    := p_in_rec.delivery_id  ;
563                x_out_rec.delivery_name 		    := p_in_rec.delivery_name ;
564                x_out_rec.wv_override_flag  	    := p_in_rec.wv_override_flag  ;
565                x_out_rec.quantity_to_split 	    := p_in_rec.quantity_to_split ;
566                x_out_rec.quantity2_to_split	    := p_in_rec.quantity2_to_split;
567                x_out_rec.container_name    	    := p_in_rec.container_name    ;
568                x_out_rec.container_instance_id 	    := p_in_rec.container_instance_id;
569                x_out_rec.container_flag    	    := p_in_rec.container_flag    ;
570                x_out_rec.delivery_flag     	    := p_in_rec.delivery_flag     ;
571                x_out_rec.group_id_tab      	    := p_in_rec.group_id_tab      ;
572                x_out_rec.split_quantity    	    := p_in_rec.split_quantity    ;
573                x_out_rec.split_quantity2   	    := p_in_rec.split_quantity2   ;
574 
575 
576 End map_det_act_params_rec_type;
577 
578 
579 
580 Procedure map_det_act_OutRecType(
581   p_in_rec   IN  wsh_glbl_var_strct_grp.dd_action_out_rec_type,
582   x_out_rec  OUT NOCOPY WSH_INTERFACE_EXT_GRP.det_action_out_rec_type) IS
583 
584 Begin
585 
586          x_out_rec.valid_id_tab          :=  p_in_rec.valid_id_tab        ;
587          x_out_rec.selection_issue_flag  :=  p_in_rec.selection_issue_flag;
588          x_out_rec.delivery_id_tab       :=  p_in_rec.delivery_id_tab     ;
589          x_out_rec.result_id_tab         :=  p_in_rec.result_id_tab       ;
590          x_out_rec.split_quantity        :=  p_in_rec.split_quantity      ;
591          x_out_rec.split_quantity2   	 :=  p_in_rec.split_quantity2   ;
592 
593 End map_det_act_OutRecType;
594 
595 
596     -- ---------------------------------------------------------------------
597     -- Procedure:	Delivery_Detail_Action	Wrapper API
598     --
599     -- Parameters:
600     --
601     -- Description:  This procedure is the wrapper(overloaded) version for the
602     --               main delivery_detail_group API. This is for use by public APIs
603     --		 and by other product APIs. This signature does not have
604     --               the form(UI) specific parameters
605     -- Created :  Patchset I : Harmonization Project
606     -- Created by: KVENKATE
607     -- -----------------------------------------------------------------------
608     PROCEDURE Delivery_Detail_Action
609     (
610     -- Standard Parameters
611        p_api_version_number        IN       NUMBER,
612        p_init_msg_list             IN 	    VARCHAR2,
613        p_commit                    IN 	    VARCHAR2,
614        x_return_status             OUT 	  NOCOPY  VARCHAR2,
615        x_msg_count                 OUT 	  NOCOPY  NUMBER,
616        x_msg_data                  OUT 	  NOCOPY  VARCHAR2,
617 
618     -- Procedure specific Parameters
619        p_detail_id_tab             IN	    WSH_UTIL_CORE.id_tab_type,
620        p_action_prms               IN	    WSH_INTERFACE_EXT_GRP.det_action_parameters_rec_type,
621        x_action_out_rec            OUT NOCOPY     WSH_INTERFACE_EXT_GRP.det_action_out_rec_type
622     ) IS
623 
624 	--
625        l_det_act_params_rec_type  wsh_glbl_var_strct_grp.dd_action_parameters_rec_type;
626        l_det_action_out_rec_type         wsh_glbl_var_strct_grp.dd_action_out_rec_type;
627 
628   BEGIN
629         -- Standard Start of API savepoint
630      map_det_act_params_rec_type(p_action_prms, l_det_act_params_rec_type);
631 
632      WSH_INTERFACE_GRP.Delivery_Detail_Action(
633     -- Standard Parameters
634        p_api_version_number        =>       p_api_version_number,
635        p_init_msg_list             =>       p_init_msg_list,
636        p_commit                    =>       p_commit,
637        x_return_status             =>       x_return_status,
638        x_msg_count                 =>       x_msg_count,
639        x_msg_data                  =>       x_msg_data,
640 
641     -- Procedure specific Parameters
642        p_detail_id_tab             =>       p_detail_id_tab,
643        p_action_prms               =>       l_det_act_params_rec_type,
644        x_action_out_rec            =>       l_det_action_out_rec_type
645     );
646 
647     map_det_act_OutRecType(l_det_action_out_rec_type, x_action_out_rec);
648         --
649   EXCEPTION
650       --
651         WHEN OTHERS THEN
652                WSH_UTIL_CORE.default_handler('WSH_INTERFACE_EXT_GRP.Delivery_Detail_Action');
653                 ROLLBACK TO DEL_DETAIL_ACTION_WRAP_GRP;
654                 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
655     --
656     END Delivery_Detail_Action;
657 
658 
659 Procedure map_det_Attr_tbl_Type(
660     p_in_tab   IN  WSH_INTERFACE_EXT_GRP.delivery_details_Attr_tbl_Type,
661     x_out_tab  OUT NOCOPY wsh_glbl_var_strct_grp.delivery_details_Attr_tbl_Type,
662     p_action   IN  VARCHAR2) IS
663 
664   l_entity	VARCHAR2(4):='DLVB';
665 Begin
666 
667 for i in 1..p_in_tab.count LOOP
668        x_out_tab(i).delivery_detail_id            := handle_missing_info(p_in_tab(i).delivery_detail_id,l_entity,p_action);
669        x_out_tab(i).source_code                	  := handle_missing_info(p_in_tab(i).source_code,l_entity,p_action);
670        x_out_tab(i).source_header_id           	  := handle_missing_info(p_in_tab(i).source_header_id,l_entity,p_action);
671        x_out_tab(i).source_line_id             	  := handle_missing_info(p_in_tab(i).source_line_id,l_entity,p_action);
672        x_out_tab(i).customer_id                	  := handle_missing_info(p_in_tab(i).customer_id,l_entity,p_action);
673        x_out_tab(i).sold_to_contact_id         	  := handle_missing_info(p_in_tab(i).sold_to_contact_id,l_entity,p_action);
674        x_out_tab(i).inventory_item_id          	  := handle_missing_info(p_in_tab(i).inventory_item_id,l_entity,p_action);
675        x_out_tab(i).item_description           	  := handle_missing_info(p_in_tab(i).item_description,l_entity,p_action);
676        x_out_tab(i).hazard_class_id            	  := handle_missing_info(p_in_tab(i).hazard_class_id,l_entity,p_action);
677        x_out_tab(i).country_of_origin          	  := handle_missing_info(p_in_tab(i).country_of_origin,l_entity,p_action);
678        x_out_tab(i).classification             	  := handle_missing_info(p_in_tab(i).classification,l_entity,p_action);
679        x_out_tab(i).ship_from_location_id      	  := handle_missing_info(p_in_tab(i).ship_from_location_id,l_entity,p_action);
680        x_out_tab(i).ship_to_location_id        	  := handle_missing_info(p_in_tab(i).ship_to_location_id,l_entity,p_action);
681        x_out_tab(i).ship_to_contact_id         	  := handle_missing_info(p_in_tab(i).ship_to_contact_id,l_entity,p_action);
682        x_out_tab(i).ship_to_site_use_id        	  := handle_missing_info(p_in_tab(i).ship_to_site_use_id,l_entity,p_action);
683        x_out_tab(i).deliver_to_location_id     	  := handle_missing_info(p_in_tab(i).deliver_to_location_id,l_entity,p_action);
684        x_out_tab(i).deliver_to_contact_id      	  := handle_missing_info(p_in_tab(i).deliver_to_contact_id,l_entity,p_action);
685        x_out_tab(i).deliver_to_site_use_id     	  := handle_missing_info(p_in_tab(i).deliver_to_site_use_id,l_entity,p_action);
686        x_out_tab(i).intmed_ship_to_location_id 	  := handle_missing_info(p_in_tab(i).intmed_ship_to_location_id,l_entity,p_action);
687        x_out_tab(i).intmed_ship_to_contact_id  	  := handle_missing_info(p_in_tab(i).intmed_ship_to_contact_id,l_entity,p_action);
688        x_out_tab(i).hold_code                  	  := handle_missing_info(p_in_tab(i).hold_code,l_entity,p_action);
689        x_out_tab(i).ship_tolerance_above       	  := handle_missing_info(p_in_tab(i).ship_tolerance_above,l_entity,p_action);
690        x_out_tab(i).ship_tolerance_below       	  := handle_missing_info(p_in_tab(i).ship_tolerance_below,l_entity,p_action);
691        x_out_tab(i).requested_quantity         	  := handle_missing_info(p_in_tab(i).requested_quantity,l_entity,p_action);
692        x_out_tab(i).shipped_quantity           	  := handle_missing_info(p_in_tab(i).shipped_quantity,l_entity,p_action);
693        x_out_tab(i).delivered_quantity         	  := handle_missing_info(p_in_tab(i).delivered_quantity,l_entity,p_action);
694        x_out_tab(i).requested_quantity_uom     	  := handle_missing_info(p_in_tab(i).requested_quantity_uom,l_entity,p_action);
695        x_out_tab(i).subinventory               	  := handle_missing_info(p_in_tab(i).subinventory,l_entity,p_action);
696        x_out_tab(i).revision                   	  := handle_missing_info(p_in_tab(i).revision,l_entity,p_action);
697        x_out_tab(i).lot_number                 	  := handle_missing_info(p_in_tab(i).lot_number ,l_entity,p_action);
698        x_out_tab(i).customer_requested_lot_flag	  := handle_missing_info(p_in_tab(i).customer_requested_lot_flag,l_entity,p_action);
699        x_out_tab(i).serial_number              	  := handle_missing_info(p_in_tab(i).serial_number,l_entity,p_action);
700        x_out_tab(i).locator_id                 	  := handle_missing_info(p_in_tab(i).locator_id ,l_entity,p_action);
701        x_out_tab(i).date_requested             	  := handle_missing_info(p_in_tab(i).date_requested,l_entity,p_action);
702        x_out_tab(i).date_scheduled             	  := handle_missing_info(p_in_tab(i).date_scheduled,l_entity,p_action);
703        x_out_tab(i).master_container_item_id   	  := handle_missing_info(p_in_tab(i).master_container_item_id,l_entity,p_action);
704        x_out_tab(i).detail_container_item_id   	  := handle_missing_info(p_in_tab(i).detail_container_item_id,l_entity,p_action);
705        x_out_tab(i).detail_container_item_id   	  := handle_missing_info(p_in_tab(i).detail_container_item_id,l_entity,p_action);
706        x_out_tab(i).load_seq_number            	  := handle_missing_info(p_in_tab(i).load_seq_number,l_entity,p_action);
707        x_out_tab(i).ship_method_code           	  := handle_missing_info(p_in_tab(i).ship_method_code,l_entity,p_action);
708        x_out_tab(i).carrier_id                 	  := handle_missing_info(p_in_tab(i).carrier_id ,l_entity,p_action);
709        x_out_tab(i).freight_terms_code         	  := handle_missing_info(p_in_tab(i).freight_terms_code,l_entity,p_action);
710        x_out_tab(i).shipment_priority_code     	  := handle_missing_info(p_in_tab(i).shipment_priority_code,l_entity,p_action);
711        x_out_tab(i).fob_code                   	  := handle_missing_info(p_in_tab(i).fob_code,l_entity,p_action);
712        x_out_tab(i).customer_item_id           	  := handle_missing_info(p_in_tab(i).customer_item_id,l_entity,p_action);
713        x_out_tab(i).dep_plan_required_flag     	  := handle_missing_info(p_in_tab(i).dep_plan_required_flag,l_entity,p_action);
714        x_out_tab(i).customer_prod_seq          	  := handle_missing_info(p_in_tab(i).customer_prod_seq,l_entity,p_action);
715        x_out_tab(i).customer_dock_code         	  := handle_missing_info(p_in_tab(i).customer_dock_code,l_entity,p_action);
716        x_out_tab(i).cust_model_serial_number   	  := handle_missing_info(p_in_tab(i).cust_model_serial_number,l_entity,p_action);
717        x_out_tab(i).customer_job               	  := handle_missing_info(p_in_tab(i).customer_job,l_entity,p_action);
718        x_out_tab(i).customer_production_line   	  := handle_missing_info(p_in_tab(i).customer_production_line,l_entity,p_action);
719        x_out_tab(i).net_weight                 	  := handle_missing_info(p_in_tab(i).net_weight ,l_entity,p_action);
720        x_out_tab(i).weight_uom_code            	  := handle_missing_info(p_in_tab(i).weight_uom_code,l_entity,p_action);
721        x_out_tab(i).volume                     	  := handle_missing_info(p_in_tab(i).volume  ,l_entity,p_action);
722        x_out_tab(i).volume_uom_code            	  := handle_missing_info(p_in_tab(i).volume_uom_code,l_entity,p_action);
723        x_out_tab(i).tp_attribute_category      	  := handle_missing_info(p_in_tab(i).tp_attribute_category,l_entity,p_action);
724        x_out_tab(i).tp_attribute1              	  := handle_missing_info(p_in_tab(i).tp_attribute1,l_entity,p_action);
725        x_out_tab(i).tp_attribute2              	  := handle_missing_info(p_in_tab(i).tp_attribute2,l_entity,p_action);
726        x_out_tab(i).tp_attribute3              	  := handle_missing_info(p_in_tab(i).tp_attribute3,l_entity,p_action);
727        x_out_tab(i).tp_attribute4              	  := handle_missing_info(p_in_tab(i).tp_attribute4,l_entity,p_action);
728        x_out_tab(i).tp_attribute5              	  := handle_missing_info(p_in_tab(i).tp_attribute5,l_entity,p_action);
729        x_out_tab(i).tp_attribute6              	  := handle_missing_info(p_in_tab(i).tp_attribute6,l_entity,p_action);
730        x_out_tab(i).tp_attribute7              	  := handle_missing_info(p_in_tab(i).tp_attribute7,l_entity,p_action);
731        x_out_tab(i).tp_attribute8              	  := handle_missing_info(p_in_tab(i).tp_attribute8,l_entity,p_action);
732        x_out_tab(i).tp_attribute9              	  := handle_missing_info(p_in_tab(i).tp_attribute9,l_entity,p_action);
733        x_out_tab(i).tp_attribute10             	  := handle_missing_info(p_in_tab(i).tp_attribute10,l_entity,p_action);
734        x_out_tab(i).tp_attribute11             	  := handle_missing_info(p_in_tab(i).tp_attribute11,l_entity,p_action);
735        x_out_tab(i).tp_attribute12             	  := handle_missing_info(p_in_tab(i).tp_attribute12,l_entity,p_action);
736        x_out_tab(i).tp_attribute13             	  := handle_missing_info(p_in_tab(i).tp_attribute13,l_entity,p_action);
737        x_out_tab(i).tp_attribute14             	  := handle_missing_info(p_in_tab(i).tp_attribute14,l_entity,p_action);
738        x_out_tab(i).tp_attribute15             	  := handle_missing_info(p_in_tab(i).tp_attribute15,l_entity,p_action);
739        x_out_tab(i).attribute_category         	  := handle_missing_info(p_in_tab(i).attribute_category,l_entity,p_action);
740        x_out_tab(i).attribute1                 	  := handle_missing_info(p_in_tab(i).attribute1 ,l_entity,p_action);
741        x_out_tab(i).attribute2                 	  := handle_missing_info(p_in_tab(i).attribute2 ,l_entity,p_action);
742        x_out_tab(i).attribute3                 	  := handle_missing_info(p_in_tab(i).attribute3 ,l_entity,p_action);
743        x_out_tab(i).attribute3                 	  := handle_missing_info(p_in_tab(i).attribute3 ,l_entity,p_action);
744        x_out_tab(i).attribute4                 	  := handle_missing_info(p_in_tab(i).attribute4 ,l_entity,p_action);
745        x_out_tab(i).attribute5                 	  := handle_missing_info(p_in_tab(i).attribute5 ,l_entity,p_action);
746        x_out_tab(i).attribute6                 	  := handle_missing_info(p_in_tab(i).attribute6 ,l_entity,p_action);
747        x_out_tab(i).attribute7                 	  := handle_missing_info(p_in_tab(i).attribute7 ,l_entity,p_action);
748        x_out_tab(i).attribute8                 	  := handle_missing_info(p_in_tab(i).attribute8 ,l_entity,p_action);
749        x_out_tab(i).attribute9                 	  := handle_missing_info(p_in_tab(i).attribute9 ,l_entity,p_action);
750        x_out_tab(i).attribute10                	  := handle_missing_info(p_in_tab(i).attribute10,l_entity,p_action);
751        x_out_tab(i).attribute11                	  := handle_missing_info(p_in_tab(i).attribute11,l_entity,p_action);
752        x_out_tab(i).attribute12                	  := handle_missing_info(p_in_tab(i).attribute12,l_entity,p_action);
753        x_out_tab(i).attribute13                	  := handle_missing_info(p_in_tab(i).attribute13,l_entity,p_action);
754        x_out_tab(i).attribute14                	  := handle_missing_info(p_in_tab(i).attribute14,l_entity,p_action);
755        x_out_tab(i).attribute15                	  := handle_missing_info(p_in_tab(i).attribute15,l_entity,p_action);
756        x_out_tab(i).created_by                 	  := handle_missing_info(p_in_tab(i).created_by ,l_entity,p_action);
757        x_out_tab(i).creation_date              	  := handle_missing_info(p_in_tab(i).creation_date,l_entity,p_action);
758        x_out_tab(i).last_update_date           	  := handle_missing_info(p_in_tab(i).last_update_date,l_entity,p_action);
759        x_out_tab(i).last_update_login          	  := handle_missing_info(p_in_tab(i).last_update_login,l_entity,p_action);
760        x_out_tab(i).last_updated_by            	  := handle_missing_info(p_in_tab(i).last_updated_by,l_entity,p_action);
761        x_out_tab(i).program_application_id     	  := handle_missing_info(p_in_tab(i).program_application_id,l_entity,p_action);
762        x_out_tab(i).program_id                 	  := handle_missing_info(p_in_tab(i).program_id ,l_entity,p_action);
763        x_out_tab(i).program_update_date        	  := handle_missing_info(p_in_tab(i).program_update_date,l_entity,p_action);
764        x_out_tab(i).request_id                 	  := handle_missing_info(p_in_tab(i).request_id ,l_entity,p_action);
765        x_out_tab(i).mvt_stat_status            	  := handle_missing_info(p_in_tab(i).mvt_stat_status,l_entity,p_action);
766        x_out_tab(i).released_flag              	  := handle_missing_info(p_in_tab(i).released_flag,l_entity,p_action);
767        x_out_tab(i).organization_id            	  := handle_missing_info(p_in_tab(i).organization_id,l_entity,p_action);
768        x_out_tab(i).transaction_temp_id        	  := handle_missing_info(p_in_tab(i).transaction_temp_id,l_entity,p_action);
769        x_out_tab(i).ship_set_id                	  := handle_missing_info(p_in_tab(i).ship_set_id,l_entity,p_action);
770        x_out_tab(i).arrival_set_id             	  := handle_missing_info(p_in_tab(i).arrival_set_id,l_entity,p_action);
771        x_out_tab(i).ship_model_complete_flag   	  := handle_missing_info(p_in_tab(i).ship_model_complete_flag,l_entity,p_action);
772        x_out_tab(i).top_model_line_id          	  := handle_missing_info(p_in_tab(i).top_model_line_id,l_entity,p_action);
773        x_out_tab(i).source_header_number       	  := handle_missing_info(p_in_tab(i).source_header_number,l_entity,p_action);
774        x_out_tab(i).source_header_type_id      	  := handle_missing_info(p_in_tab(i).source_header_type_id,l_entity,p_action);
775        x_out_tab(i).source_header_type_name    	  := handle_missing_info(p_in_tab(i).source_header_type_name,l_entity,p_action);
776        x_out_tab(i).cust_po_number             	  := handle_missing_info(p_in_tab(i).cust_po_number,l_entity,p_action);
777        x_out_tab(i).ato_line_id                	  := handle_missing_info(p_in_tab(i).ato_line_id,l_entity,p_action);
778        x_out_tab(i).src_requested_quantity     	  := handle_missing_info(p_in_tab(i).src_requested_quantity,l_entity,p_action);
779        x_out_tab(i).src_requested_quantity_uom 	  := handle_missing_info(p_in_tab(i).src_requested_quantity_uom,l_entity,p_action);
780        x_out_tab(i).move_order_line_id         	  := handle_missing_info(p_in_tab(i).move_order_line_id,l_entity,p_action);
781        x_out_tab(i).cancelled_quantity         	  := handle_missing_info(p_in_tab(i).cancelled_quantity,l_entity,p_action);
782        x_out_tab(i).quality_control_quantity   	  := handle_missing_info(p_in_tab(i).quality_control_quantity,l_entity,p_action);
783        x_out_tab(i).cycle_count_quantity       	  := handle_missing_info(p_in_tab(i).cycle_count_quantity,l_entity,p_action);
784        x_out_tab(i).tracking_number            	  := handle_missing_info(p_in_tab(i).tracking_number,l_entity,p_action);
785        x_out_tab(i).movement_id                	  := handle_missing_info(p_in_tab(i).movement_id,l_entity,p_action);
786        x_out_tab(i).shipping_instructions      	  := handle_missing_info(p_in_tab(i).shipping_instructions,l_entity,p_action);
787        x_out_tab(i).packing_instructions       	  := handle_missing_info(p_in_tab(i).packing_instructions,l_entity,p_action);
788        x_out_tab(i).project_id                 	  := handle_missing_info(p_in_tab(i).project_id ,l_entity,p_action);
789        x_out_tab(i).task_id                    	  := handle_missing_info(p_in_tab(i).task_id ,l_entity,p_action);
790        x_out_tab(i).org_id                     	  := handle_missing_info(p_in_tab(i).org_id  ,l_entity,p_action);
791        x_out_tab(i).oe_interfaced_flag         	  := handle_missing_info(p_in_tab(i).oe_interfaced_flag,l_entity,p_action);
792        x_out_tab(i).split_from_detail_id       	  := handle_missing_info(p_in_tab(i).split_from_detail_id,l_entity,p_action);
793        x_out_tab(i).inv_interfaced_flag        	  := handle_missing_info(p_in_tab(i).inv_interfaced_flag,l_entity,p_action);
794        x_out_tab(i).source_line_number         	  := handle_missing_info(p_in_tab(i).source_line_number,l_entity,p_action);
795        x_out_tab(i).inspection_flag            	  := handle_missing_info(p_in_tab(i).inspection_flag,l_entity,p_action);
796        x_out_tab(i).released_status            	  := handle_missing_info(p_in_tab(i).released_status,l_entity,p_action);
797        x_out_tab(i).container_flag             	  := handle_missing_info(p_in_tab(i).container_flag,l_entity,p_action);
798        x_out_tab(i).container_type_code        	  := handle_missing_info(p_in_tab(i).container_type_code,l_entity,p_action);
799        x_out_tab(i).container_name             	  := handle_missing_info(p_in_tab(i).container_name,l_entity,p_action);
800        x_out_tab(i).fill_percent               	  := handle_missing_info(p_in_tab(i).fill_percent,l_entity,p_action);
801        x_out_tab(i).gross_weight               	  := handle_missing_info(p_in_tab(i).gross_weight,l_entity,p_action);
802        x_out_tab(i).master_serial_number       	  := handle_missing_info(p_in_tab(i).master_serial_number,l_entity,p_action);
803        x_out_tab(i).maximum_load_weight        	  := handle_missing_info(p_in_tab(i).maximum_load_weight,l_entity,p_action);
804        x_out_tab(i).maximum_volume             	  := handle_missing_info(p_in_tab(i).maximum_volume,l_entity,p_action);
805        x_out_tab(i).minimum_fill_percent       	  := handle_missing_info(p_in_tab(i).minimum_fill_percent,l_entity,p_action);
806        x_out_tab(i).seal_code                  	  := handle_missing_info(p_in_tab(i).seal_code,l_entity,p_action);
807        x_out_tab(i).unit_number                	  := handle_missing_info(p_in_tab(i).unit_number,l_entity,p_action);
808        x_out_tab(i).unit_price                 	  := handle_missing_info(p_in_tab(i).unit_price ,l_entity,p_action);
809        x_out_tab(i).currency_code              	  := handle_missing_info(p_in_tab(i).currency_code,l_entity,p_action);
810        x_out_tab(i).freight_class_cat_id       	  := handle_missing_info(p_in_tab(i).freight_class_cat_id,l_entity,p_action);
811        x_out_tab(i).commodity_code_cat_id      	  := handle_missing_info(p_in_tab(i).commodity_code_cat_id,l_entity,p_action);
812        x_out_tab(i).preferred_grade            	  := handle_missing_info(p_in_tab(i).preferred_grade,l_entity,p_action);
813        x_out_tab(i).src_requested_quantity2    	  := handle_missing_info(p_in_tab(i).src_requested_quantity2,l_entity,p_action);
814        x_out_tab(i).src_requested_quantity_uom2	  := handle_missing_info(p_in_tab(i).src_requested_quantity_uom2,l_entity,p_action);
815        x_out_tab(i).requested_quantity2        	  := handle_missing_info(p_in_tab(i).requested_quantity2,l_entity,p_action);
816        x_out_tab(i).shipped_quantity2          	  := handle_missing_info(p_in_tab(i).shipped_quantity2,l_entity,p_action);
817        x_out_tab(i).delivered_quantity2        	  := handle_missing_info(p_in_tab(i).delivered_quantity2,l_entity,p_action);
818        x_out_tab(i).cancelled_quantity2        	  := handle_missing_info(p_in_tab(i).cancelled_quantity2,l_entity,p_action);
819        x_out_tab(i).quality_control_quantity2  	  := handle_missing_info(p_in_tab(i).quality_control_quantity2,l_entity,p_action);
820        x_out_tab(i).cycle_count_quantity2      	  := handle_missing_info(p_in_tab(i).cycle_count_quantity2,l_entity,p_action);
821        x_out_tab(i).requested_quantity_uom2    	  := handle_missing_info(p_in_tab(i).requested_quantity_uom2,l_entity,p_action);
822 -- HW OPMCONV. No need for sublot anymore
823 --     x_out_tab(i).sublot_number              	  := handle_missing_info(p_in_tab(i).sublot_number ,l_entity,p_action);
824        x_out_tab(i).lpn_id                     	  := handle_missing_info(p_in_tab(i).lpn_id     ,l_entity,p_action);
825        x_out_tab(i).pickable_flag              	  := handle_missing_info(p_in_tab(i).pickable_flag,l_entity,p_action);
826        x_out_tab(i).original_subinventory      	  := handle_missing_info(p_in_tab(i).original_subinventory,l_entity,p_action);
827        x_out_tab(i).to_serial_number           	  := handle_missing_info(p_in_tab(i).to_serial_number,l_entity,p_action);
828        x_out_tab(i).picked_quantity            	  := handle_missing_info(p_in_tab(i).picked_quantity,l_entity,p_action);
829        x_out_tab(i).picked_quantity2           	  := handle_missing_info(p_in_tab(i).picked_quantity2,l_entity,p_action);
830        x_out_tab(i).received_quantity          	  := handle_missing_info(p_in_tab(i).received_quantity,l_entity,p_action);
831        x_out_tab(i).received_quantity2         	  := handle_missing_info(p_in_tab(i).received_quantity2,l_entity,p_action);
832        x_out_tab(i).source_line_set_id         	  := handle_missing_info(p_in_tab(i).source_line_set_id,l_entity,p_action);
833        -- X-dock requirement
834        x_out_tab(i).batch_id         	          := handle_missing_info(p_in_tab(i).batch_id,l_entity,p_action);
835        --bug# 6689448 (replenishment project)
836        x_out_tab(i).replenishment_status          := handle_missing_info(p_in_tab(i).replenishment_status,l_entity,p_action);
837 
838 END LOOP;
839 End map_det_Attr_tbl_Type;
840 
841 Procedure Map_detailInRecType(
842   p_in_rec  IN WSH_INTERFACE_EXT_GRP.detailInRecType,
843   x_out_rec OUT NOCOPY wsh_glbl_var_strct_grp.detailInRecType) IS
844 
845 Begin
846 
847              x_out_rec.caller                   :=  p_in_rec.caller             ;
848              x_out_rec.action_code         	:=  p_in_rec.action_code        ;
849              x_out_rec.phase               	:=  p_in_rec.phase              ;
850              x_out_rec.container_item_id   	:=  p_in_rec.container_item_id  ;
851              x_out_rec.container_item_name 	:=  p_in_rec.container_item_name;
852              x_out_rec.container_item_seg  	:=  p_in_rec.container_item_seg ;
853              x_out_rec.organization_id     	:=  p_in_rec.organization_id    ;
854              x_out_rec.organization_code   	:=  p_in_rec.organization_code  ;
855              x_out_rec.name_prefix         	:=  p_in_rec.name_prefix        ;
856              x_out_rec.name_suffix         	:=  p_in_rec.name_suffix        ;
857              x_out_rec.base_number         	:=  p_in_rec.base_number        ;
858              x_out_rec.num_digits          	:=  p_in_rec.num_digits         ;
859              x_out_rec.quantity            	:=  p_in_rec.quantity           ;
860              x_out_rec.container_name      	:=  p_in_rec.container_name     ;
861              x_out_rec.lpn_ids             	:=  p_in_rec.lpn_ids            ;
862 
863 End Map_detailInRecType;
864 
865 Procedure Map_detailOutRecType(
866    p_in_rec    IN   wsh_glbl_var_strct_grp.detailOutRecType,
867    x_out_rec   OUT  NOCOPY WSH_INTERFACE_EXT_GRP.detailOutRecType) IS
868 
869 BEGIN
870 
871    x_out_rec.detail_ids :=  p_in_rec.detail_ids;
872 
873 END Map_detailOutRecType;
874 
875 
876     -- ---------------------------------------------------------------------
877     -- Procedure:	Create_Update_Delivery_Detail	Wrapper API
878     --
879     -- Parameters:
880     --
881     -- Description:  This procedure is the new API for wrapping the logic of CREATE/UPDATE of delivery details
882     -- Created    : Patchset I - Harmonization Project
883     -- Created By : KVENKATE
884     -- -----------------------------------------------------------------------
885 
886     PROCEDURE Create_Update_Delivery_Detail
887     (
888        -- Standard Parameters
889        p_api_version_number	 IN	 NUMBER,
890        p_init_msg_list           IN 	 VARCHAR2,
891        p_commit                  IN 	 VARCHAR2,
892        x_return_status           OUT NOCOPY	 VARCHAR2,
893        x_msg_count               OUT NOCOPY	 NUMBER,
894        x_msg_data                OUT NOCOPY	 VARCHAR2,
895 
896        -- Procedure Specific Parameters
897        p_detail_info_tab         IN 	WSH_INTERFACE_EXT_GRP.delivery_details_Attr_tbl_Type,
898        p_IN_rec                  IN  	WSH_INTERFACE_EXT_GRP.detailInRecType,
899        x_OUT_rec                 OUT NOCOPY	WSH_INTERFACE_EXT_GRP.detailOutRecType
900     ) IS
901 
902        l_det_Attr_tbl_Type  wsh_glbl_var_strct_grp.delivery_details_Attr_tbl_Type;
903        l_detailInRecType                 wsh_glbl_var_strct_grp.detailInRecType;
904        l_detailOutRecType                wsh_glbl_var_strct_grp.detailOutRecType;
905 
906   BEGIN
907 
908     --bug # 6689448 (replenishment project): Valid values for replenishment flag are FND_API.G_MISS_CHAR/NULL/R/C only.
909     FOR i IN 1..p_detail_info_tab.COUNT LOOP
910     --{
911         IF ( (p_detail_info_tab(i).replenishment_status <> FND_API.G_MISS_CHAR)
912              AND (p_detail_info_tab(i).replenishment_status IS NOT NULL)
913              AND (p_detail_info_tab(i).replenishment_status <> 'R')
914              AND (p_detail_info_tab(i).replenishment_status <> 'C') )THEN
915         --{
916             FND_MESSAGE.SET_NAME('WSH','WSH_OI_INVALID_ATTRIBUTE');
917             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','replenishment_status');
918             x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
919             wsh_util_core.add_message(x_return_status);
920             return;
921         --}
922         END IF;
923     --}
924     END LOOP;
925     --bug # 6689448 (replenishment project): end
926 
927     map_det_Attr_tbl_Type(p_detail_info_tab, l_det_Attr_tbl_Type,p_IN_rec.action_code);
928     Map_detailInRecType(p_IN_rec, l_detailInRecType);
929 
930     WSH_INTERFACE_GRP.Create_Update_Delivery_Detail (
931        -- Standard Parameters
932        p_api_version_number      =>      p_api_version_number,
933        p_init_msg_list           =>      p_init_msg_list,
934        p_commit                  =>      p_commit,
935        x_return_status           =>      x_return_status,
936        x_msg_count               =>      x_msg_count,
937        x_msg_data                =>      x_msg_data,
938 
939        -- Procedure Specific Parameters
940        p_detail_info_tab         =>     l_det_Attr_tbl_Type,
941        p_IN_rec                  =>     l_detailInRecType,
942        x_OUT_rec                 =>     l_detailOutRecType
943     );
944 
945    Map_detailOutRecType(l_detailOutRecType,x_OUT_rec);
946 
947 --
948   EXCEPTION
949         WHEN OTHERS THEN
950                WSH_UTIL_CORE.default_handler('WSH_INTERFACE_EXT_GRP.Create_Update_Delivery_Detail');
951                 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
952   END Create_Update_Delivery_Detail;
953 
954 
955 Procedure Map_trip_act_params_rectype(
956   p_in_rec   IN  WSH_INTERFACE_EXT_GRP.trip_action_parameters_rectype,
957   x_out_rec  OUT NOCOPY WSH_TRIPS_GRP.action_parameters_rectype) IS
958 
959 Begin
960 
961 
962    x_out_rec.caller                              := p_in_rec.caller  ;
963    x_out_rec.phase                               := p_in_rec.phase        ;
964    x_out_rec.action_code                         := p_in_rec.action_code    ;
965    x_out_rec.organization_id                     := p_in_rec.organization_id  ;
966    x_out_rec.report_set_id                       := p_in_rec.report_set_id   ;
967    x_out_rec.override_flag                       := p_in_rec.override_flag  ;
968    x_out_rec.trip_name                           := p_in_rec.trip_name      ;
969    x_out_rec.actual_date                         := p_in_rec.actual_date ;
970    x_out_rec.stop_id                             := p_in_rec.stop_id         ;
971    x_out_rec.action_flag                         := p_in_rec.action_flag   ;
972    x_out_rec.autointransit_flag                  := p_in_rec.autointransit_flag      ;
973    x_out_rec.autoclose_flag                      := p_in_rec.autoclose_flag   ;
974    x_out_rec.stage_del_flag                      := p_in_rec.stage_del_flag  ;
975    x_out_rec.ship_method                         := p_in_rec.ship_method  ;
976    x_out_rec.bill_of_lading_flag                 := p_in_rec.bill_of_lading_flag    ;
977    x_out_rec.defer_interface_flag                := p_in_rec.defer_interface_flag  ;
978    x_out_rec.actual_departure_date               := p_in_rec.actual_departure_date   ;
979 
980 
981 End Map_trip_act_params_rectype;
982 
983 
984 Procedure map_tripActionOutRecType(
985   p_in_rec   IN  WSH_TRIPS_GRP.tripActionOutRecType,
986   x_out_rec  OUT NOCOPY WSH_INTERFACE_EXT_GRP.tripActionOutRecType) IS
987 
988 Begin
989 
990           x_out_rec.result_id_tab               := p_in_rec.result_id_tab       ;
991           x_out_rec.valid_ids_tab            	:= p_in_rec.valid_ids_tab      ;
992           x_out_rec.selection_issue_flag     	:= p_in_rec.selection_issue_flag;
993 
994 End map_tripActionOutRecType;
995 
996 
997 
998 /*------------------------------------------------------------
999   PROCEDURE Trip_Action  This is the wrapper for the
1000             Trip action
1001 -------------------------------------------------------------*/
1002 
1003 PROCEDURE Trip_Action
1004   ( p_api_version_number     IN   NUMBER,
1005     p_init_msg_list          IN   VARCHAR2,
1006     p_commit                 IN   VARCHAR2,
1007     p_entity_id_tab          IN   wsh_util_core.id_tab_type,
1008     p_action_prms            IN   WSH_INTERFACE_EXT_GRP.trip_action_parameters_rectype,
1009     x_trip_out_rec           OUT  NOCOPY WSH_INTERFACE_EXT_GRP.tripActionOutRecType,
1010     x_return_status          OUT  NOCOPY VARCHAR2,
1011     x_msg_count              OUT  NOCOPY NUMBER,
1012     x_msg_data               OUT  NOCOPY VARCHAR2)
1013 IS
1014 
1015     l_trip_act_params_rectype  WSH_TRIPS_GRP.action_parameters_rectype;
1016     l_tripActionOutRecType            WSH_TRIPS_GRP.tripActionOutRecType;
1017 
1018 BEGIN
1019    --
1020     Map_trip_act_params_rectype(p_action_prms, l_trip_act_params_rectype);
1021 
1022     WSH_INTERFACE_GRP.Trip_Action(
1023     p_api_version_number     =>   p_api_version_number,
1024     p_init_msg_list          =>   p_init_msg_list,
1025     p_commit                 =>   p_commit,
1026     p_entity_id_tab          =>   p_entity_id_tab,
1027     p_action_prms            =>   l_trip_act_params_rectype,
1028     x_trip_out_rec           =>   l_tripActionOutRecType,
1029     x_return_status          =>   x_return_status,
1030     x_msg_count              =>   x_msg_count,
1031     x_msg_data               =>   x_msg_data);
1032 
1033     map_tripActionOutRecType(l_tripActionOutRecType, x_trip_out_rec);
1034 
1035 EXCEPTION
1036    WHEN OTHERS THEN
1037      wsh_util_core.default_handler('WSH_TRIPS_GRP.TRIP_ACTION');
1038 
1039       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1040 
1041 END Trip_Action;
1042 
1043 
1044 Procedure map_stop_act_params_rectype(
1045   p_in_rec   IN   WSH_INTERFACE_EXT_GRP.stop_action_parameters_rectype,
1046   x_out_rec  OUT  NOCOPY WSH_TRIP_STOPS_GRP.action_parameters_rectype) IS
1047 
1048 Begin
1049 
1050         x_out_rec.caller                      := p_in_rec.caller                   ;
1051         x_out_rec.phase                       := p_in_rec.phase                    ;
1052         x_out_rec.action_code                 := p_in_rec.action_code              ;
1053         x_out_rec.stop_action                 := p_in_rec.stop_action              ;
1054         x_out_rec.organization_id             := p_in_rec.organization_id          ;
1055         x_out_rec.actual_date                 := p_in_rec.actual_date              ;
1056         x_out_rec.defer_interface_flag        := p_in_rec.defer_interface_flag     ;
1057         x_out_rec.report_set_id               := p_in_rec.report_set_id            ;
1058         x_out_rec.override_flag               := p_in_rec.override_flag            ;
1059 
1060 End map_stop_act_params_rectype;
1061 
1062 
1063 Procedure map_stopActionOutRecType(
1064    p_in_rec    IN   WSH_TRIP_STOPS_GRP.stopActionOutRecType,
1065    x_out_rec   OUT  NOCOPY WSH_INTERFACE_EXT_GRP.stopActionOutRecType) IS
1066 
1067 Begin
1068 
1069    x_out_rec.result_id_tab            := p_in_rec.result_id_tab       ;
1070    x_out_rec.valid_ids_tab            := p_in_rec.valid_ids_tab       ;
1071    x_out_rec.selection_issue_flag     := p_in_rec.selection_issue_flag;
1072 
1073 End map_stopActionOutRecType;
1074 
1075 /*------------------------------------------------------------
1076   PROCEDURE Stop_Action  This is the wrapper for the
1077             stop action
1078 -------------------------------------------------------------*/
1079 PROCEDURE Stop_Action
1080 (   p_api_version_number     IN   NUMBER,
1081     p_init_msg_list          IN   VARCHAR2,
1082     p_commit                 IN   VARCHAR2,
1083     p_entity_id_tab          IN   wsh_util_core.id_tab_type,
1084     p_action_prms            IN   WSH_INTERFACE_EXT_GRP.stop_action_parameters_rectype,
1085     x_stop_out_rec           OUT  NOCOPY WSH_INTERFACE_EXT_GRP.stopActionOutRecType,
1086     x_return_status          OUT  NOCOPY VARCHAR2,
1087     x_msg_count              OUT  NOCOPY NUMBER,
1088     x_msg_data               OUT  NOCOPY VARCHAR2)
1089 IS
1090 
1091     l_stop_act_params_rectype     WSH_TRIP_STOPS_GRP.action_parameters_rectype;
1092     l_stopActionOutRecType               WSH_TRIP_STOPS_GRP.stopActionOutRecType;
1093 
1094 BEGIN
1095    --
1096    map_stop_act_params_rectype(p_action_prms, l_stop_act_params_rectype);
1097 
1098 
1099    WSH_INTERFACE_GRP.Stop_Action(
1100     p_api_version_number     =>   p_api_version_number,
1101     p_init_msg_list          =>   p_init_msg_list,
1102     p_commit                 =>   p_commit,
1103     p_entity_id_tab          =>   p_entity_id_tab,
1104     p_action_prms            =>   l_stop_act_params_rectype,
1105     x_stop_out_rec           =>   l_stopActionOutRecType,
1106     x_return_status          =>   x_return_status,
1107     x_msg_count              =>   x_msg_count,
1108     x_msg_data               =>   x_msg_data);
1109 
1110   map_stopActionOutRecType(l_stopActionOutRecType, x_stop_out_rec);
1111 
1112 EXCEPTION
1113    WHEN OTHERS THEN
1114      wsh_util_core.default_handler('WSH_TRIP_STOPS_GRP.STOP_ACTION');
1115 
1116       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1117 
1118 END Stop_Action;
1119 
1120 --heali
1121 
1122 
1123 Procedure Map_stopInRecType(
1124   p_in_rec    IN   WSH_INTERFACE_EXT_GRP.stopInRecType,
1125   x_out_rec   OUT  NOCOPY WSH_TRIP_STOPS_GRP.stopInRecType)  IS
1126 
1127 Begin
1128 
1129   x_out_rec.caller         := p_in_rec.caller     ;
1130   x_out_rec.phase          := p_in_rec.phase      ;
1131   x_out_rec.action_code    := p_in_rec.action_code;
1132 
1133 END Map_stopInRecType;
1134 
1135 
1136 Procedure map_Stop_Attr_Tbl_Type(
1137   p_in_tab   IN   WSH_INTERFACE_EXT_GRP.Stop_Attr_Tbl_Type,
1138   x_out_tab  OUT  NOCOPY WSH_TRIP_STOPS_PVT.Stop_Attr_Tbl_Type) IS
1139 
1140 Begin
1141 
1142 
1143 for i in 1..p_in_tab.count LOOP
1144 x_out_tab(i).STOP_ID                         := handle_missing_info(p_in_tab(i).STOP_ID);
1145 x_out_tab(i).TRIP_ID                         := handle_missing_info(p_in_tab(i).TRIP_ID);
1146 x_out_tab(i).STOP_LOCATION_ID                := handle_missing_info(p_in_tab(i).STOP_LOCATION_ID);
1147 x_out_tab(i).STATUS_CODE                     := handle_missing_info(p_in_tab(i).STATUS_CODE);
1148 x_out_tab(i).STOP_SEQUENCE_NUMBER            := handle_missing_info(p_in_tab(i).STOP_SEQUENCE_NUMBER);
1149 x_out_tab(i).PLANNED_ARRIVAL_DATE            := handle_missing_info(p_in_tab(i).PLANNED_ARRIVAL_DATE);
1150 x_out_tab(i).PLANNED_DEPARTURE_DATE          := handle_missing_info(p_in_tab(i).PLANNED_DEPARTURE_DATE);
1151 x_out_tab(i).ACTUAL_ARRIVAL_DATE             := handle_missing_info(p_in_tab(i).ACTUAL_ARRIVAL_DATE);
1152 x_out_tab(i).ACTUAL_DEPARTURE_DATE           := handle_missing_info(p_in_tab(i).ACTUAL_DEPARTURE_DATE);
1153 x_out_tab(i).DEPARTURE_GROSS_WEIGHT          := handle_missing_info(p_in_tab(i).DEPARTURE_GROSS_WEIGHT);
1154 x_out_tab(i).DEPARTURE_NET_WEIGHT            := handle_missing_info(p_in_tab(i).DEPARTURE_NET_WEIGHT);
1155 x_out_tab(i).WEIGHT_UOM_CODE                 := handle_missing_info(p_in_tab(i).WEIGHT_UOM_CODE);
1156 x_out_tab(i).DEPARTURE_VOLUME                := handle_missing_info(p_in_tab(i).DEPARTURE_VOLUME);
1157 x_out_tab(i).VOLUME_UOM_CODE                 := handle_missing_info(p_in_tab(i).VOLUME_UOM_CODE);
1158 x_out_tab(i).DEPARTURE_SEAL_CODE             := handle_missing_info(p_in_tab(i).DEPARTURE_SEAL_CODE);
1159 x_out_tab(i).DEPARTURE_FILL_PERCENT          := handle_missing_info(p_in_tab(i).DEPARTURE_FILL_PERCENT);
1160 x_out_tab(i).TP_ATTRIBUTE_CATEGORY           := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE_CATEGORY);
1161 x_out_tab(i).TP_ATTRIBUTE1                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE1);
1162 x_out_tab(i).TP_ATTRIBUTE2                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE2);
1163 x_out_tab(i).TP_ATTRIBUTE3                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE3);
1164 x_out_tab(i).TP_ATTRIBUTE4                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE4);
1165 x_out_tab(i).TP_ATTRIBUTE5                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE5);
1166 x_out_tab(i).TP_ATTRIBUTE6                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE6);
1167 x_out_tab(i).TP_ATTRIBUTE7                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE7);
1168 x_out_tab(i).TP_ATTRIBUTE8                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE8);
1169 x_out_tab(i).TP_ATTRIBUTE9                   := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE9);
1170 x_out_tab(i).TP_ATTRIBUTE10                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE10);
1171 x_out_tab(i).TP_ATTRIBUTE11                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE11);
1172 x_out_tab(i).TP_ATTRIBUTE12                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE12);
1173 x_out_tab(i).TP_ATTRIBUTE13                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE13);
1174 x_out_tab(i).TP_ATTRIBUTE14                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE14);
1175 x_out_tab(i).TP_ATTRIBUTE15                  := handle_missing_info(p_in_tab(i).TP_ATTRIBUTE15);
1176 x_out_tab(i).ATTRIBUTE_CATEGORY              := handle_missing_info(p_in_tab(i).ATTRIBUTE_CATEGORY);
1177 x_out_tab(i).ATTRIBUTE1                      := handle_missing_info(p_in_tab(i).ATTRIBUTE1);
1178 x_out_tab(i).ATTRIBUTE2                      := handle_missing_info(p_in_tab(i).ATTRIBUTE2);
1179 x_out_tab(i).ATTRIBUTE3                      := handle_missing_info(p_in_tab(i).ATTRIBUTE3);
1180 x_out_tab(i).ATTRIBUTE4                      := handle_missing_info(p_in_tab(i).ATTRIBUTE4);
1181 x_out_tab(i).ATTRIBUTE5                      := handle_missing_info(p_in_tab(i).ATTRIBUTE5);
1182 x_out_tab(i).ATTRIBUTE6                      := handle_missing_info(p_in_tab(i).ATTRIBUTE6);
1183 x_out_tab(i).ATTRIBUTE7                      := handle_missing_info(p_in_tab(i).ATTRIBUTE7);
1184 x_out_tab(i).ATTRIBUTE8                      := handle_missing_info(p_in_tab(i).ATTRIBUTE8);
1185 x_out_tab(i).ATTRIBUTE9                      := handle_missing_info(p_in_tab(i).ATTRIBUTE9);
1186 x_out_tab(i).ATTRIBUTE10                     := handle_missing_info(p_in_tab(i).ATTRIBUTE10);
1187 x_out_tab(i).ATTRIBUTE11                     := handle_missing_info(p_in_tab(i).ATTRIBUTE11);
1188 x_out_tab(i).ATTRIBUTE12                     := handle_missing_info(p_in_tab(i).ATTRIBUTE12);
1189 x_out_tab(i).ATTRIBUTE13                     := handle_missing_info(p_in_tab(i).ATTRIBUTE13);
1190 x_out_tab(i).ATTRIBUTE14                     := handle_missing_info(p_in_tab(i).ATTRIBUTE14);
1191 x_out_tab(i).ATTRIBUTE15                     := handle_missing_info(p_in_tab(i).ATTRIBUTE15);
1192 x_out_tab(i).CREATION_DATE                   := handle_missing_info(p_in_tab(i).CREATION_DATE);
1193 x_out_tab(i).CREATED_BY                      := handle_missing_info(p_in_tab(i).CREATED_BY);
1194 x_out_tab(i).LAST_UPDATE_DATE                := handle_missing_info(p_in_tab(i).LAST_UPDATE_DATE);
1195 x_out_tab(i).LAST_UPDATED_BY                 := handle_missing_info(p_in_tab(i).LAST_UPDATED_BY);
1196 x_out_tab(i).LAST_UPDATE_LOGIN               := handle_missing_info(p_in_tab(i).LAST_UPDATE_LOGIN);
1197 x_out_tab(i).PROGRAM_APPLICATION_ID          := handle_missing_info(p_in_tab(i).PROGRAM_APPLICATION_ID);
1198 x_out_tab(i).PROGRAM_ID                      := handle_missing_info(p_in_tab(i).PROGRAM_ID);
1199 x_out_tab(i).PROGRAM_UPDATE_DATE             := handle_missing_info(p_in_tab(i).PROGRAM_UPDATE_DATE);
1200 x_out_tab(i).REQUEST_ID                      := handle_missing_info(p_in_tab(i).REQUEST_ID);
1201 x_out_tab(i).WSH_LOCATION_ID                 := handle_missing_info(p_in_tab(i).WSH_LOCATION_ID);
1202 x_out_tab(i).TRACKING_DRILLDOWN_FLAG         := handle_missing_info(p_in_tab(i).TRACKING_DRILLDOWN_FLAG);
1203 x_out_tab(i).TRACKING_REMARKS                := handle_missing_info(p_in_tab(i).TRACKING_REMARKS);
1204 x_out_tab(i).CARRIER_EST_DEPARTURE_DATE      := handle_missing_info(p_in_tab(i).CARRIER_EST_DEPARTURE_DATE);
1205 x_out_tab(i).CARRIER_EST_ARRIVAL_DATE        := handle_missing_info(p_in_tab(i).CARRIER_EST_ARRIVAL_DATE);
1206 x_out_tab(i).LOADING_START_DATETIME          := handle_missing_info(p_in_tab(i).LOADING_START_DATETIME);
1207 x_out_tab(i).LOADING_END_DATETIME            := handle_missing_info(p_in_tab(i).LOADING_END_DATETIME);
1208 x_out_tab(i).UNLOADING_START_DATETIME        := handle_missing_info(p_in_tab(i).UNLOADING_START_DATETIME);
1209 x_out_tab(i).UNLOADING_END_DATETIME          := handle_missing_info(p_in_tab(i).UNLOADING_END_DATETIME);
1210 x_out_tab(i).ROWID                           := p_in_tab(i).ROWID;
1211 x_out_tab(i).TRIP_NAME                       := handle_missing_info(p_in_tab(i).TRIP_NAME);
1212 x_out_tab(i).STOP_LOCATION_CODE              := handle_missing_info(p_in_tab(i).STOP_LOCATION_CODE);
1213 x_out_tab(i).WEIGHT_UOM_DESC                 := handle_missing_info(p_in_tab(i).WEIGHT_UOM_DESC);
1214 x_out_tab(i).VOLUME_UOM_DESC                 := handle_missing_info(p_in_tab(i).VOLUME_UOM_DESC);
1215 x_out_tab(i).LOCK_STOP_ID                    := handle_missing_info(p_in_tab(i).LOCK_STOP_ID);
1216 x_out_tab(i).PENDING_INTERFACE_FLAG          := handle_missing_info(p_in_tab(i).PENDING_INTERFACE_FLAG);
1217 x_out_tab(i).TRANSACTION_HEADER_ID           := handle_missing_info(p_in_tab(i).TRANSACTION_HEADER_ID);
1218 
1219 END LOOP;
1220 
1221 End Map_Stop_Attr_Tbl_Type;
1222 
1223 Procedure map_stop_out_tab_type(
1224   p_in_tab   IN  WSH_TRIP_STOPS_GRP.stop_out_tab_type,
1225   x_out_tab  OUT NOCOPY WSH_INTERFACE_EXT_GRP.stop_out_tab_type) IS
1226 
1227 Begin
1228 
1229 for i in 1..p_in_tab.count LOOP
1230   x_out_tab(i).parameter1    :=  p_in_tab(i).parameter1 ;
1231   x_out_tab(i).rowid         :=  p_in_tab(i).rowid     ;
1232   x_out_tab(i).stop_id       :=  p_in_tab(i).stop_id  ;
1233 
1234 END LOOP;
1235 End map_stop_out_tab_type;
1236 
1237 
1238 --========================================================================
1239 -- PROCEDURE : Create_Update_Stop      Wrapper  API
1240 --
1241 -- PARAMETERS: p_api_version_number    known api versionerror buffer
1242 --             p_init_msg_list         FND_API.G_TRUE to reset list
1243 --             p_commit                'T'/'F'
1244 --             p_in_rec                stopInRecType
1245 --             p_rec_attr_tab          Table of Attributes for the stop entity
1246 --             p_stop_OUT_tab          Table of Output Attributes for the stop entity
1247 --             x_return_status         return status
1248 --             x_msg_count             number of messages in the list
1249 --             x_msg_data              text of messages
1250 -- VERSION   : current version         1.0
1251 --             initial version         1.0
1252 -- COMMENT   : This calls core API WSH_TRIP_STOPS_GRP.CREATE_UPDATE_STOP
1253 --========================================================================
1254 PROCEDURE CREATE_UPDATE_STOP(
1255         p_api_version_number    IN NUMBER,
1256         p_init_msg_list         IN VARCHAR2,
1257         p_commit                IN VARCHAR2,
1258         p_in_rec                IN WSH_INTERFACE_EXT_GRP.stopInRecType,
1259         p_rec_attr_tab          IN WSH_INTERFACE_EXT_GRP.Stop_Attr_Tbl_Type,
1260         x_stop_out_tab          OUT NOCOPY WSH_INTERFACE_EXT_GRP.stop_out_tab_type,
1261         x_return_status         OUT NOCOPY VARCHAR2,
1262         x_msg_count             OUT NOCOPY NUMBER,
1263         x_msg_data              OUT NOCOPY VARCHAR2) IS
1264 
1265         l_stopInRecType             WSH_TRIP_STOPS_GRP.stopInRecType;
1266         l_Stop_Attr_Tbl_Type        WSH_TRIP_STOPS_PVT.Stop_Attr_Tbl_Type;
1267         l_stop_out_tab_type         WSH_TRIP_STOPS_GRP.stop_out_tab_type;
1268 BEGIN
1269    --
1270 Map_stopInRecType(p_in_rec, l_stopInRecType);
1271 Map_Stop_Attr_Tbl_Type(p_rec_attr_tab, l_Stop_Attr_Tbl_Type);
1272    --
1273 WSH_INTERFACE_GRP.CREATE_UPDATE_STOP(
1274         p_api_version_number    => p_api_version_number,
1275         p_init_msg_list         => p_init_msg_list,
1276         p_commit                => p_commit,
1277         p_in_rec                => l_stopInRecType,
1278         p_rec_attr_tab          => l_Stop_Attr_Tbl_Type,
1279         x_stop_out_tab          => l_stop_out_tab_type,
1280         x_return_status         => x_return_status,
1281         x_msg_count             => x_msg_count,
1282         x_msg_data              => x_msg_data) ;
1283 
1284 map_stop_out_tab_type(l_stop_out_tab_type, x_stop_out_tab);
1285     --
1286 EXCEPTION
1287     WHEN OTHERS THEN
1288       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1289       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.CREATE_UPDATE_STOP');
1290       --
1291 END Create_Update_Stop;
1292 
1293 
1294 Procedure Map_Trip_Attr_Tbl_Type(
1295    p_in_tab   IN  WSH_INTERFACE_EXT_GRP.Trip_Attr_Tbl_Type,
1296    x_out_tab  OUT NOCOPY WSH_TRIPS_PVT.Trip_Attr_Tbl_Type) IS
1297 
1298 Begin
1299 for i in 1..p_in_tab.count LOOP
1300  x_out_tab(i).TRIP_ID                   := handle_missing_info(p_in_tab(i).TRIP_ID                   );
1301  x_out_tab(i).NAME                      := handle_missing_info(p_in_tab(i).NAME                      );
1302  x_out_tab(i).PLANNED_FLAG              := handle_missing_info(p_in_tab(i).PLANNED_FLAG              );
1303  x_out_tab(i).ARRIVE_AFTER_TRIP_ID      := handle_missing_info(p_in_tab(i).ARRIVE_AFTER_TRIP_ID      );
1304  x_out_tab(i).STATUS_CODE               := handle_missing_info(p_in_tab(i).STATUS_CODE               );
1305  x_out_tab(i).VEHICLE_ITEM_ID           := handle_missing_info(p_in_tab(i).VEHICLE_ITEM_ID           );
1306  x_out_tab(i).VEHICLE_ORGANIZATION_ID   := handle_missing_info(p_in_tab(i).VEHICLE_ORGANIZATION_ID   );
1307  x_out_tab(i).VEHICLE_NUMBER            := handle_missing_info(p_in_tab(i).VEHICLE_NUMBER            );
1308  x_out_tab(i).VEHICLE_NUM_PREFIX        := handle_missing_info(p_in_tab(i).VEHICLE_NUM_PREFIX        );
1309  x_out_tab(i).CARRIER_ID                := handle_missing_info(p_in_tab(i).CARRIER_ID                );
1310  x_out_tab(i).SHIP_METHOD_CODE          := handle_missing_info(p_in_tab(i).SHIP_METHOD_CODE          );
1311  x_out_tab(i).ROUTE_ID                  := handle_missing_info(p_in_tab(i).ROUTE_ID                  );
1312  x_out_tab(i).ROUTING_INSTRUCTIONS      := handle_missing_info(p_in_tab(i).ROUTING_INSTRUCTIONS      );
1313  x_out_tab(i).ATTRIBUTE_CATEGORY        := handle_missing_info(p_in_tab(i).ATTRIBUTE_CATEGORY        );
1314  x_out_tab(i).ATTRIBUTE1                := handle_missing_info(p_in_tab(i).ATTRIBUTE1                );
1315  x_out_tab(i).ATTRIBUTE2                := handle_missing_info(p_in_tab(i).ATTRIBUTE2                );
1316  x_out_tab(i).ATTRIBUTE3                := handle_missing_info(p_in_tab(i).ATTRIBUTE3                );
1317  x_out_tab(i).ATTRIBUTE4                := handle_missing_info(p_in_tab(i).ATTRIBUTE4                );
1318  x_out_tab(i).ATTRIBUTE5                := handle_missing_info(p_in_tab(i).ATTRIBUTE5                );
1319  x_out_tab(i).ATTRIBUTE6                := handle_missing_info(p_in_tab(i).ATTRIBUTE6                );
1320  x_out_tab(i).ATTRIBUTE7                := handle_missing_info(p_in_tab(i).ATTRIBUTE7                );
1321  x_out_tab(i).ATTRIBUTE8                := handle_missing_info(p_in_tab(i).ATTRIBUTE8                );
1322  x_out_tab(i).ATTRIBUTE9                := handle_missing_info(p_in_tab(i).ATTRIBUTE9                );
1323  x_out_tab(i).ATTRIBUTE10               := handle_missing_info(p_in_tab(i).ATTRIBUTE10               );
1324  x_out_tab(i).ATTRIBUTE11               := handle_missing_info(p_in_tab(i).ATTRIBUTE11               );
1325  x_out_tab(i).ATTRIBUTE12               := handle_missing_info(p_in_tab(i).ATTRIBUTE12               );
1326  x_out_tab(i).ATTRIBUTE13               := handle_missing_info(p_in_tab(i).ATTRIBUTE13               );
1327  x_out_tab(i).ATTRIBUTE14               := handle_missing_info(p_in_tab(i).ATTRIBUTE14               );
1328  x_out_tab(i).ATTRIBUTE15               := handle_missing_info(p_in_tab(i).ATTRIBUTE15               );
1329  x_out_tab(i).CREATION_DATE             := handle_missing_info(p_in_tab(i).CREATION_DATE             );
1330  x_out_tab(i).CREATED_BY                := handle_missing_info(p_in_tab(i).CREATED_BY                );
1331  x_out_tab(i).LAST_UPDATE_DATE          := handle_missing_info(p_in_tab(i).LAST_UPDATE_DATE          );
1332  x_out_tab(i).LAST_UPDATED_BY           := handle_missing_info(p_in_tab(i).LAST_UPDATED_BY           );
1333  x_out_tab(i).LAST_UPDATE_LOGIN         := handle_missing_info(p_in_tab(i).LAST_UPDATE_LOGIN         );
1334  x_out_tab(i).PROGRAM_APPLICATION_ID    := handle_missing_info(p_in_tab(i).PROGRAM_APPLICATION_ID    );
1335  x_out_tab(i).PROGRAM_ID                := handle_missing_info(p_in_tab(i).PROGRAM_ID                );
1336  x_out_tab(i).PROGRAM_UPDATE_DATE       := handle_missing_info(p_in_tab(i).PROGRAM_UPDATE_DATE       );
1337  x_out_tab(i).REQUEST_ID                := handle_missing_info(p_in_tab(i).REQUEST_ID                );
1338  x_out_tab(i).SERVICE_LEVEL             := handle_missing_info(p_in_tab(i).SERVICE_LEVEL             );
1339  x_out_tab(i).MODE_OF_TRANSPORT         := handle_missing_info(p_in_tab(i).MODE_OF_TRANSPORT         );
1340  x_out_tab(i).FREIGHT_TERMS_CODE        := handle_missing_info(p_in_tab(i).FREIGHT_TERMS_CODE        );
1341  x_out_tab(i).CONSOLIDATION_ALLOWED     := handle_missing_info(p_in_tab(i).CONSOLIDATION_ALLOWED     );
1342  x_out_tab(i).LOAD_TENDER_STATUS        := handle_missing_info(p_in_tab(i).LOAD_TENDER_STATUS        );
1343  x_out_tab(i).ROUTE_LANE_ID             := handle_missing_info(p_in_tab(i).ROUTE_LANE_ID             );
1344  x_out_tab(i).LANE_ID                   := handle_missing_info(p_in_tab(i).LANE_ID                   );
1345  x_out_tab(i).SCHEDULE_ID               := handle_missing_info(p_in_tab(i).SCHEDULE_ID               );
1346  x_out_tab(i).BOOKING_NUMBER            := handle_missing_info(p_in_tab(i).BOOKING_NUMBER            );
1347  x_out_tab(i).ROWID                     :=  p_in_tab(i).ROWID;
1348  x_out_tab(i).ARRIVE_AFTER_TRIP_NAME    := handle_missing_info(p_in_tab(i).ARRIVE_AFTER_TRIP_NAME    );
1349  x_out_tab(i).SHIP_METHOD_NAME          := handle_missing_info(p_in_tab(i).SHIP_METHOD_NAME          );
1350  x_out_tab(i).VEHICLE_ITEM_DESC         := handle_missing_info(p_in_tab(i).VEHICLE_ITEM_DESC         );
1351  x_out_tab(i).VEHICLE_ORGANIZATION_CODE := handle_missing_info(p_in_tab(i).VEHICLE_ORGANIZATION_CODE );
1352  x_out_tab(i).LOAD_TENDER_NUMBER        := handle_missing_info(p_in_tab(i).LOAD_TENDER_NUMBER        );
1353  x_out_tab(i).VESSEL                    := handle_missing_info(p_in_tab(i).VESSEL                    );
1354  x_out_tab(i).VOYAGE_NUMBER             := handle_missing_info(p_in_tab(i).VOYAGE_NUMBER             );
1355  x_out_tab(i).PORT_OF_LOADING           := handle_missing_info(p_in_tab(i).PORT_OF_LOADING           );
1356  x_out_tab(i).PORT_OF_DISCHARGE         := handle_missing_info(p_in_tab(i).PORT_OF_DISCHARGE         );
1357  x_out_tab(i).WF_NAME                   := handle_missing_info(p_in_tab(i).WF_NAME                   );
1358  x_out_tab(i).WF_PROCESS_NAME           := handle_missing_info(p_in_tab(i).WF_PROCESS_NAME           );
1359  x_out_tab(i).WF_ITEM_KEY               := handle_missing_info(p_in_tab(i).WF_ITEM_KEY               );
1360  x_out_tab(i).CARRIER_CONTACT_ID        := handle_missing_info(p_in_tab(i).CARRIER_CONTACT_ID        );
1361  x_out_tab(i).SHIPPER_WAIT_TIME         := handle_missing_info(p_in_tab(i).SHIPPER_WAIT_TIME         );
1362  x_out_tab(i).WAIT_TIME_UOM             := handle_missing_info(p_in_tab(i).WAIT_TIME_UOM             );
1363  x_out_tab(i).LOAD_TENDERED_TIME        := handle_missing_info(p_in_tab(i).LOAD_TENDERED_TIME        );
1364  x_out_tab(i).CARRIER_RESPONSE          := handle_missing_info(p_in_tab(i).CARRIER_RESPONSE          );
1365 
1366 
1367 END LOOP;
1368 End Map_Trip_Attr_Tbl_Type;
1369 
1370 
1371 Procedure map_tripInRecType(
1372    p_in_rec   IN   WSH_INTERFACE_EXT_GRP.tripInRecType,
1373    x_out_rec  OUT  NOCOPY WSH_TRIPS_GRP.tripInRecType) IS
1374 
1375 Begin
1376 
1377  x_out_rec.caller        :=  p_in_rec.caller     ;
1378  x_out_rec.phase       	 :=  p_in_rec.phase      ;
1379  x_out_rec.action_code 	 :=  p_in_rec.action_code;
1380 
1381 
1382 End map_tripInRecType;
1383 
1384 Procedure map_trip_Out_Tab_Type(
1385    p_in_tab   IN   WSH_TRIPS_GRP.trip_Out_Tab_Type,
1386    x_out_tab  OUT  NOCOPY WSH_INTERFACE_EXT_GRP.trip_Out_Tab_Type) Is
1387 
1388 Begin
1389 
1390 for i in 1..p_in_tab.count LOOP
1391   x_out_tab(i).rowid         :=  p_in_tab(i).rowid     ;
1392   x_out_tab(i).trip_id       :=  p_in_tab(i).trip_id   ;
1393   x_out_tab(i).trip_name     :=  p_in_tab(i).trip_name ;
1394 
1395 END LOOP;
1396 End map_trip_Out_Tab_Type;
1397 
1398 
1399 --========================================================================
1400 -- PROCEDURE : Create_Update_Trip      Wrapper API
1401 --
1402 -- PARAMETERS: p_api_version_number    known api versionerror buffer
1403 --             p_init_msg_list         FND_API.G_TRUE to reset list
1404 --             x_return_status         return status
1405 --             x_msg_count             number of messages in the list
1406 --             x_msg_data              text of messages
1407 --             p_trip_info_tab         Table of Attributes for the trip entity
1408 --             p_IN_rec                Input Attributes for the trip entity
1409 --             p_OUT_rec               Table of output Attributes for the trip entity
1410 -- VERSION   : current version         1.0
1411 --             initial version         1.0
1412 -- COMMENT   : This calls Core API WSH_TRIPS_GRP.Create_Update_Trip.
1413 --========================================================================
1414 PROCEDURE Create_Update_Trip(
1415         p_api_version_number     IN     NUMBER,
1416         p_init_msg_list          IN     VARCHAR2,
1417         p_commit                 IN     VARCHAR2,
1418         x_return_status          OUT    NOCOPY VARCHAR2,
1419         x_msg_count              OUT    NOCOPY NUMBER,
1420         x_msg_data               OUT    NOCOPY VARCHAR2,
1421         p_trip_info_tab          IN     WSH_INTERFACE_EXT_GRP.Trip_Attr_Tbl_Type,
1422         p_In_rec                 IN     WSH_INTERFACE_EXT_GRP.tripInRecType,
1423         x_Out_Tab                OUT    NOCOPY WSH_INTERFACE_EXT_GRP.trip_Out_Tab_Type) IS
1424 
1425         l_Trip_Attr_Tbl_Type     WSH_TRIPS_PVT.Trip_Attr_Tbl_Type;
1426         l_tripInRecType          WSH_TRIPS_GRP.tripInRecType;
1427         l_trip_Out_Tab_Type      WSH_TRIPS_GRP.trip_Out_Tab_Type;
1428 BEGIN
1429     --
1430 Map_Trip_Attr_Tbl_Type(p_trip_info_tab, l_Trip_Attr_Tbl_Type);
1431 map_tripInRecType(p_In_rec, l_tripInRecType);
1432 
1433 WSH_INTERFACE_GRP.Create_Update_Trip(
1434         p_api_version_number     =>     p_api_version_number,
1435         p_init_msg_list          =>     p_init_msg_list,
1436         p_commit                 =>     p_commit,
1437         x_return_status          =>     x_return_status,
1438         x_msg_count              =>     x_msg_count,
1439         x_msg_data               =>     x_msg_data,
1440         p_trip_info_tab          =>     l_Trip_Attr_Tbl_Type,
1441         p_In_rec                 =>     l_tripInRecType,
1442         x_Out_Tab                =>     l_trip_Out_Tab_Type);
1443 
1444 map_trip_Out_Tab_Type(l_trip_Out_Tab_Type, x_Out_Tab);
1445 
1446 EXCEPTION
1447     WHEN OTHERS THEN
1448       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1449       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.CREATE_UPDATE_TRIP');
1450       --
1451 END Create_Update_Trip;
1452 
1453 
1454 Procedure map_freight_rec_tab_type(
1455    p_in_tab    IN    WSH_INTERFACE_EXT_GRP.freight_rec_tab_type,
1456    x_out_tab   OUT   NOCOPY WSH_FREIGHT_COSTS_GRP.freight_rec_tab_type) IS
1457 
1458 Begin
1459 
1460 for i in 1..p_in_tab.count LOOP
1461 x_out_tab(i).FREIGHT_COST_ID                 := handle_missing_info(p_in_tab(i).FREIGHT_COST_ID   );
1462 x_out_tab(i).FREIGHT_COST_TYPE_ID   	    := handle_missing_info(p_in_tab(i).FREIGHT_COST_TYPE_ID   );
1463 x_out_tab(i).UNIT_AMOUNT            	    := handle_missing_info(p_in_tab(i).UNIT_AMOUNT       );
1464 x_out_tab(i).CALCULATION_METHOD     	    := handle_missing_info(p_in_tab(i).CALCULATION_METHOD);
1465 x_out_tab(i).UOM                    	    := handle_missing_info(p_in_tab(i).UOM               );
1466 x_out_tab(i).QUANTITY               	    := handle_missing_info(p_in_tab(i).QUANTITY          );
1467 x_out_tab(i).TOTAL_AMOUNT           	    := handle_missing_info(p_in_tab(i).TOTAL_AMOUNT      );
1468 x_out_tab(i).CURRENCY_CODE          	    := handle_missing_info(p_in_tab(i).CURRENCY_CODE     );
1469 x_out_tab(i).CONVERSION_DATE        	    := handle_missing_info(p_in_tab(i).CONVERSION_DATE   );
1470 x_out_tab(i).CONVERSION_RATE        	    := handle_missing_info(p_in_tab(i).CONVERSION_RATE   );
1471 x_out_tab(i).CONVERSION_TYPE_CODE   	    := handle_missing_info(p_in_tab(i).CONVERSION_TYPE_CODE   );
1472 x_out_tab(i).TRIP_ID                	    := handle_missing_info(p_in_tab(i).TRIP_ID           );
1473 x_out_tab(i).STOP_ID                	    := handle_missing_info(p_in_tab(i).STOP_ID           );
1474 x_out_tab(i).DELIVERY_ID            	    := handle_missing_info(p_in_tab(i).DELIVERY_ID       );
1475 x_out_tab(i).DELIVERY_LEG_ID        	    := handle_missing_info(p_in_tab(i).DELIVERY_LEG_ID   );
1476 x_out_tab(i).DELIVERY_DETAIL_ID     	    := handle_missing_info(p_in_tab(i).DELIVERY_DETAIL_ID);
1477 x_out_tab(i).ATTRIBUTE_CATEGORY     	    := handle_missing_info(p_in_tab(i).ATTRIBUTE_CATEGORY);
1478 x_out_tab(i).ATTRIBUTE1             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE1        );
1479 x_out_tab(i).ATTRIBUTE2             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE2        );
1480 x_out_tab(i).ATTRIBUTE3             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE3        );
1481 x_out_tab(i).ATTRIBUTE4             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE4        );
1482 x_out_tab(i).ATTRIBUTE5             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE5        );
1483 x_out_tab(i).ATTRIBUTE6             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE6        );
1484 x_out_tab(i).ATTRIBUTE7             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE7        );
1485 x_out_tab(i).ATTRIBUTE8             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE8        );
1486 x_out_tab(i).ATTRIBUTE9             	    := handle_missing_info(p_in_tab(i).ATTRIBUTE9        );
1487 x_out_tab(i).ATTRIBUTE10            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE10       );
1488 x_out_tab(i).ATTRIBUTE11            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE11       );
1489 x_out_tab(i).ATTRIBUTE12            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE12       );
1490 x_out_tab(i).ATTRIBUTE13            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE13       );
1491 x_out_tab(i).ATTRIBUTE14            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE14       );
1492 x_out_tab(i).ATTRIBUTE15            	    := handle_missing_info(p_in_tab(i).ATTRIBUTE15       );
1493 x_out_tab(i).CREATION_DATE          	    := handle_missing_info(p_in_tab(i).CREATION_DATE     );
1494 x_out_tab(i).CREATED_BY             	    := handle_missing_info(p_in_tab(i).CREATED_BY        );
1495 x_out_tab(i).LAST_UPDATE_DATE       	    := handle_missing_info(p_in_tab(i).LAST_UPDATE_DATE  );
1496 x_out_tab(i).LAST_UPDATE_LOGIN      	    := handle_missing_info(p_in_tab(i).LAST_UPDATE_LOGIN );
1497 x_out_tab(i).PROGRAM_APPLICATION_ID 	    := handle_missing_info(p_in_tab(i).PROGRAM_APPLICATION_ID );
1498 x_out_tab(i).PROGRAM_ID             	    := handle_missing_info(p_in_tab(i).PROGRAM_ID        );
1499 x_out_tab(i).PROGRAM_UPDATE_DATE    	    := handle_missing_info(p_in_tab(i).PROGRAM_UPDATE_DATE    );
1500 x_out_tab(i).REQUEST_ID             	    := handle_missing_info(p_in_tab(i).REQUEST_ID        );
1501 x_out_tab(i).PRICING_LIST_HEADER_ID 	    := handle_missing_info(p_in_tab(i).PRICING_LIST_HEADER_ID );
1502 x_out_tab(i).PRICING_LIST_LINE_ID   	    := handle_missing_info(p_in_tab(i).PRICING_LIST_LINE_ID   );
1503 x_out_tab(i).APPLIED_TO_CHARGE_ID   	    := handle_missing_info(p_in_tab(i).APPLIED_TO_CHARGE_ID   );
1504 x_out_tab(i).CHARGE_UNIT_VALUE   	    := handle_missing_info(p_in_tab(i).CHARGE_UNIT_VALUE   );
1505 x_out_tab(i).CHARGE_SOURCE_CODE    	    := handle_missing_info(p_in_tab(i).CHARGE_SOURCE_CODE    );
1506 x_out_tab(i).LINE_TYPE_CODE    		    := handle_missing_info(p_in_tab(i).LINE_TYPE_CODE    );
1507 x_out_tab(i).ESTIMATED_FLAG    		    := handle_missing_info(p_in_tab(i).ESTIMATED_FLAG    );
1508 x_out_tab(i).FREIGHT_CODE           	    := handle_missing_info(p_in_tab(i).FREIGHT_CODE      );
1509 x_out_tab(i).TRIP_NAME              	    := handle_missing_info(p_in_tab(i).TRIP_NAME         );
1510 x_out_tab(i).DELIVERY_NAME          	    := handle_missing_info(p_in_tab(i).DELIVERY_NAME     );
1511 x_out_tab(i).FREIGHT_COST_TYPE      	    := handle_missing_info(p_in_tab(i).FREIGHT_COST_TYPE );
1512 x_out_tab(i).STOP_LOCATION_ID       	    := handle_missing_info(p_in_tab(i).STOP_LOCATION_ID  );
1513 x_out_tab(i).PLANNED_DEP_DATE       	    := handle_missing_info(p_in_tab(i).PLANNED_DEP_DATE  );
1514 x_out_tab(i).COMMODITY_CATEGORY_ID    	    := handle_missing_info(p_in_tab(i).COMMODITY_CATEGORY_ID  );
1515 
1516 
1517 END LOOP;
1518 End map_freight_rec_tab_type;
1519 
1520 
1521 Procedure map_freightInRecType(
1522   p_in_rec   IN   WSH_INTERFACE_EXT_GRP.freightInRecType,
1523   x_out_rec  OUT  NOCOPY WSH_FREIGHT_COSTS_GRP.freightInRecType) IS
1524 
1525 Begin
1526 
1527        x_out_rec.caller         := p_in_rec.caller       ;
1528        x_out_rec.action_code    := p_in_rec.action_code  ;
1529        x_out_rec.phase          := p_in_rec.phase      ;
1530 
1531 End map_freightInRecType;
1532 
1533 
1534 Procedure map_freight_out_tab_type(
1535    p_in_tab    IN  WSH_FREIGHT_COSTS_GRP.freight_out_tab_type,
1536    x_out_tab   OUT NOCOPY WSH_INTERFACE_EXT_GRP.freight_out_tab_type) IS
1537 
1538 Begin
1539 
1540 
1541 for i in 1..p_in_tab.count LOOP
1542         x_out_tab(i).freight_cost_id    := p_in_tab(i).freight_cost_id;
1543         x_out_tab(i).rowid              := p_in_tab(i).rowid;
1544 
1545 END LOOP;
1546 End map_freight_out_tab_type;
1547 
1548 
1549 
1550 PROCEDURE Create_Update_Freight_Costs(
1551         p_api_version_number     IN     NUMBER,
1552         p_init_msg_list          IN     VARCHAR2,
1553         p_commit                 IN     VARCHAR2,
1554         x_return_status          OUT    NOCOPY VARCHAR2,
1555         x_msg_count              OUT    NOCOPY NUMBER,
1556         x_msg_data               OUT    NOCOPY VARCHAR2,
1557         p_freight_info_tab       IN     WSH_INTERFACE_EXT_GRP.freight_rec_tab_type,
1558         p_in_rec                 IN     WSH_INTERFACE_EXT_GRP.freightInRecType,
1559         x_out_tab                OUT    NOCOPY WSH_INTERFACE_EXT_GRP.freight_out_tab_type) IS
1560 
1561         l_freight_rec_tab_type  WSH_FREIGHT_COSTS_GRP.freight_rec_tab_type;
1562         l_freightInRecType      WSH_FREIGHT_COSTS_GRP.freightInRecType;
1563         l_freight_out_tab_type  WSH_FREIGHT_COSTS_GRP.freight_out_tab_type;
1564 
1565 BEGIN
1566    --
1567 map_freight_rec_tab_type(p_freight_info_tab, l_freight_rec_tab_type);
1568 map_freightInRecType(p_in_rec, l_freightInRecType);
1569    --
1570 WSH_INTERFACE_GRP.Create_Update_Freight_Costs(
1571         p_api_version_number     =>     p_api_version_number,
1572         p_init_msg_list          =>     p_init_msg_list,
1573         p_commit                 =>     p_commit,
1574         x_return_status          =>     x_return_status,
1575         x_msg_count              =>     x_msg_count,
1576         x_msg_data               =>     x_msg_data,
1577         p_freight_info_tab       =>     l_freight_rec_tab_type,
1578         p_in_rec                 =>     l_freightInRecType,
1579         x_out_tab                =>     l_freight_out_tab_type);
1580 map_freight_out_tab_type(l_freight_out_tab_type, x_out_tab);
1581     --
1582 EXCEPTION
1583     WHEN OTHERS THEN
1584       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1585       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.CREATE_UPDATE_FREIGHT_COSTS');
1586 END Create_Update_Freight_costs;
1587 --heali
1588 
1589 PROCEDURE Get_Exceptions (
1590         -- Standard parameters
1591         p_api_version           IN      NUMBER,
1592         p_init_msg_list         IN      VARCHAR2  DEFAULT FND_API.G_FALSE,
1593         x_return_status         OUT NOCOPY      VARCHAR2,
1594         x_msg_count             OUT NOCOPY      NUMBER,
1595         x_msg_data              OUT NOCOPY      VARCHAR2,
1596 
1597         -- program specific parameters
1598         p_logging_entity_id	IN 	NUMBER,
1599 	p_logging_entity_name	IN	VARCHAR2,
1600 
1601         -- program specific out parameters
1602         x_exceptions_tab	OUT NOCOPY 	WSH_INTERFACE_EXT_GRP.XC_TAB_TYPE
1603 	)
1604 IS
1605 
1606 BEGIN
1607    --
1608    --
1609   x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1610     --
1611 EXCEPTION
1612     WHEN OTHERS THEN
1613       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1614       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.Get_Exceptions');
1615 END Get_Exceptions;
1616 
1617 
1618 PROCEDURE Exception_Action (
1619 	p_api_version	        IN	NUMBER,
1620 	p_init_msg_list		IN      VARCHAR2  DEFAULT FND_API.G_FALSE,
1621 	p_validation_level      IN      NUMBER    DEFAULT FND_API.G_VALID_LEVEL_FULL,
1622         p_commit                IN      VARCHAR2  DEFAULT FND_API.G_FALSE,
1623         x_msg_count             OUT NOCOPY      NUMBER,
1624         x_msg_data              OUT NOCOPY      VARCHAR2,
1625         x_return_status         OUT NOCOPY      VARCHAR2,
1626 
1627 	p_exception_rec         IN OUT  NOCOPY WSH_INTERFACE_EXT_GRP.XC_ACTION_REC_TYPE,
1628         p_action                IN              VARCHAR2
1629 	)
1630 
1631 IS
1632 
1633 BEGIN
1634    --
1635    --
1636   x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1637     --
1638 EXCEPTION
1639     WHEN OTHERS THEN
1640       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1641       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.Exception_Action');
1642 END Exception_Action;
1643 
1644 
1645 
1646 PROCEDURE Delivery_Leg_Action(
1647 	p_api_version_number	 	IN 	NUMBER,
1648 	p_init_msg_list			IN	VARCHAR2,
1649 	p_commit                 	IN 	VARCHAR2,
1650 	p_dlvy_leg_id_tab		IN	wsh_util_core.id_tab_type,
1651 	p_action_prms			IN	WSH_INTERFACE_EXT_GRP.dlvy_leg_action_prms_rectype,
1652 	x_action_out_rec		IN OUT  NOCOPY WSH_INTERFACE_EXT_GRP.dlvy_leg_action_out_rec_type,
1653 	x_return_status  		OUT 	NOCOPY VARCHAR2,
1654 	x_msg_count     		OUT 	NOCOPY NUMBER,
1655 	x_msg_data       		OUT 	NOCOPY VARCHAR2
1656 ) IS
1657 
1658 BEGIN
1659    --
1660    --
1661   x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1662     --
1663 EXCEPTION
1664     WHEN OTHERS THEN
1665       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
1666       wsh_util_core.default_handler('WSH_INTERFACE_EXT_GRP.Delivery_Leg_Action');
1667 END Delivery_Leg_Action;
1668 
1669 
1670   --OTM R12
1671   ----------------------------------------------------------
1672   -- PROCEDURE OTM_PRE_SHIP_CONFIRM
1673   --
1674   -- parameters:	p_delivery_id_tab	delivery id to process
1675   --                    p_delivery_name         delivery name
1676   --			p_tms_interface_flag    the tms interface flag value of the delivery
1677   --                    p_trip_id               trip id for the delivery
1678   --			x_return_status		return status
1679   --
1680   -- description:	This procedure checks the delivery exception to determine
1681   -- 			if ship confirm can proceed, log warning exception if necessary.
1682   ----------------------------------------------------------
1683   PROCEDURE OTM_PRE_SHIP_CONFIRM
1684   (p_delivery_id        IN         NUMBER,
1685    p_delivery_name      IN         VARCHAR2 DEFAULT NULL,
1686    p_tms_interface_flag IN         VARCHAR2,
1687    p_trip_id            IN         NUMBER,
1688    x_return_status      OUT NOCOPY VARCHAR2) IS
1689 
1690   l_exception_name    WSH_EXCEPTIONS.EXCEPTION_NAME%TYPE;
1691   l_severity          WSH_EXCEPTIONS.SEVERITY%TYPE;
1692   l_return_status     VARCHAR2(1);
1693   -- This table is used to pass delivery ids to Ignore_for_Plan during forced ship-confirm.
1694   l_otm_del_ids       WSH_UTIL_CORE.id_tab_type;
1695   l_num_warn          NUMBER;
1696   api_return_fail     EXCEPTION;
1697 
1698   l_debug_on          BOOLEAN;
1699   l_module_name       CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'OTM_PRE_SHIP_CONFIRM';
1700 
1701   BEGIN
1702 
1703     l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
1704     --
1705     IF l_debug_on IS NULL THEN
1706       l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
1707     END IF;
1708     --
1709     IF l_debug_on THEN
1710       WSH_DEBUG_SV.push(l_module_name);
1711       WSH_DEBUG_SV.log(l_module_name, 'delivery id', p_delivery_id);
1712       WSH_DEBUG_SV.log(l_module_name, 'tms interface flag', p_tms_interface_flag);
1713       WSH_DEBUG_SV.log(l_module_name, 'trip id', p_trip_id);
1714     END IF;
1715 
1716     x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
1717 
1718     l_exception_name := NULL;
1719     l_severity := NULL;
1720     l_num_warn := 0;
1721 
1722     --for delivery without trip and in CR/AW/UR/UP/CP status, we will check for exception and turn to
1723     --ignore for planning if doesn't have error OTM exception.
1724     IF (p_trip_id IS NULL AND p_tms_interface_flag IN (WSH_NEW_DELIVERIES_PVT.C_TMS_CREATE_REQUIRED,
1725                                                        WSH_NEW_DELIVERIES_PVT.C_TMS_AWAITING_ANSWER,
1726                                                        WSH_NEW_DELIVERIES_PVT.C_TMS_UPDATE_REQUIRED,
1727                                                        WSH_NEW_DELIVERIES_PVT.C_TMS_UPDATE_IN_PROCESS,
1728                                                        WSH_NEW_DELIVERIES_PVT.C_TMS_CREATE_IN_PROCESS)) THEN
1729 
1730       IF l_debug_on THEN
1731         WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION',WSH_DEBUG_SV.C_PROC_LEVEL);
1732       END IF;
1733 
1734       WSH_XC_UTIL.get_otm_delivery_exception(
1735         p_delivery_id	 =>  p_delivery_id,
1736         x_exception_name =>  l_exception_name,
1737         x_severity       =>  l_severity,
1738         x_return_status  =>  l_return_status);
1739 
1740       IF l_debug_on THEN
1741         WSH_DEBUG_SV.logmsg(l_module_name, 'return status from WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION: ' || l_return_status);
1742         WSH_DEBUG_SV.log(l_module_name, 'exception name', l_exception_name);
1743         WSH_DEBUG_SV.log(l_module_name, 'severity', l_severity);
1744       END IF;
1745 
1746       IF (l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR)) THEN
1747 
1748         IF l_debug_on THEN
1749           WSH_DEBUG_SV.logmsg(l_module_name, 'WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION procedure failed');
1750         END IF;
1751 
1752         RAISE api_return_fail;
1753 
1754       END IF;
1755 
1756       IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING) THEN
1757         l_num_warn := l_num_warn + 1 ;
1758       END IF;
1759 
1760       IF (l_severity IS NULL OR l_severity = 'WARNING') THEN
1761 
1762         --add the warning message before it is closed
1763         IF (l_severity = 'WARNING') THEN
1764           FND_MESSAGE.SET_NAME('WSH', l_exception_name);  --exception name is the same as the message name for this one
1765           IF (p_delivery_name IS NULL) THEN
1766             FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.get_name(p_delivery_id));
1767           ELSE
1768             FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', p_delivery_name);
1769           END IF;
1770           l_num_warn := l_num_warn + 1;
1771           wsh_util_core.add_message(WSH_UTIL_CORE.G_RET_STS_WARNING, l_module_name);
1772         END IF;
1773 
1774         l_otm_del_ids(1) := p_delivery_id;
1775 
1776         IF l_debug_on THEN
1777           WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_TP_RELEASE.CHANGE_IGNOREPLAN_STATUS',WSH_DEBUG_SV.C_PROC_LEVEL);
1778         END IF;
1779 
1780         WSH_TP_RELEASE.change_ignoreplan_status(
1781           p_entity        =>  'DLVY',
1782           p_in_ids        =>  l_otm_del_ids,
1783           p_action_code   =>  'IGNORE_PLAN',
1784           x_return_status =>  l_return_status);
1785 
1786         IF l_debug_on THEN
1787           WSH_DEBUG_SV.logmsg(l_module_name, 'return status from WSH_TP_RELEASE.CHANGE_IGNOREPLAN_STATUS: ' || l_return_status);
1788         END IF;
1789 
1790         IF (l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR)) THEN
1791 
1792           IF l_debug_on THEN
1793             WSH_DEBUG_SV.logmsg(l_module_name, 'WSH_TP_RELEASE.CHANGE_IGNOREPLAN_STATUS procedure failed');
1794           END IF;
1795           RAISE api_return_fail;
1796 
1797         ELSIF (l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING) THEN
1798        	  l_num_warn := l_num_warn + 1;
1799         END IF;
1800       END IF;
1801     END IF;
1802     --Bug 8571352 added warning message to stack so that it is displyed during ship confirm
1803     IF (p_trip_id IS NOT NULL AND p_tms_interface_flag IN (WSH_NEW_DELIVERIES_PVT.C_TMS_AWAITING_ANSWER,
1804                                                            WSH_NEW_DELIVERIES_PVT.C_TMS_UPDATE_REQUIRED,
1805                                                            WSH_NEW_DELIVERIES_PVT.C_TMS_UPDATE_IN_PROCESS
1806                                                           )) THEN
1807 
1808       IF l_debug_on THEN
1809         WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION',WSH_DEBUG_SV.C_PROC_LEVEL);
1810       END IF;
1811 
1812       WSH_XC_UTIL.get_otm_delivery_exception(
1813         p_delivery_id	 =>  p_delivery_id,
1814         x_exception_name =>  l_exception_name,
1815         x_severity       =>  l_severity,
1816         x_return_status  =>  l_return_status);
1817 
1818       IF l_debug_on THEN
1819         WSH_DEBUG_SV.logmsg(l_module_name, 'return status from WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION: ' || l_return_status);
1820         WSH_DEBUG_SV.log(l_module_name, 'exception name', l_exception_name);
1821         WSH_DEBUG_SV.log(l_module_name, 'severity', l_severity);
1822       END IF;
1823 
1824       IF (l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR)) THEN
1825 
1826         IF l_debug_on THEN
1827           WSH_DEBUG_SV.logmsg(l_module_name, 'WSH_XC_UTIL.GET_OTM_DELIVERY_EXCEPTION procedure failed');
1828         END IF;
1829 
1830         RAISE api_return_fail;
1831 
1832       END IF;
1833 
1834       IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING) THEN
1835         l_num_warn := l_num_warn + 1 ;
1836       END IF;
1837 
1838       IF (l_severity IS NULL OR l_severity = 'WARNING') THEN
1839 
1840         --add the warning message before it is closed
1841         IF (l_severity = 'WARNING') THEN
1842           FND_MESSAGE.SET_NAME('WSH', l_exception_name);  --exception name is the same as the message name for this one
1843           IF (p_delivery_name IS NULL) THEN
1844             FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.get_name(p_delivery_id));
1845           ELSE
1846             FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', p_delivery_name);
1847           END IF;
1848           l_num_warn := l_num_warn + 1;
1849           wsh_util_core.add_message(WSH_UTIL_CORE.G_RET_STS_WARNING, l_module_name);
1850         END IF;
1851       END IF;
1852     END IF;
1853     --Bug 8571352
1854     IF (l_num_warn > 0 AND x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
1855       x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
1856     END IF;
1857 
1858     --
1859     -- Debug Statements
1860     --
1861     IF l_debug_on THEN
1862       WSH_DEBUG_SV.log(l_module_name, 'x_return_status', x_return_status);
1863       WSH_DEBUG_SV.pop(l_module_name);
1864     END IF;
1865     --
1866   EXCEPTION
1867     WHEN api_return_fail THEN
1868       x_return_status := l_return_status;
1869       IF l_debug_on THEN
1870         WSH_DEBUG_SV.log(l_module_name, 'x_return_status', x_return_status);
1871         WSH_DEBUG_SV.pop(l_module_name);
1872       END IF;
1873 
1874     WHEN Others THEN
1875 
1876       WSH_UTIL_CORE.Default_Handler('WSH_INTERFACE_EXT_GRP.OTM_PRE_SHIP_CONFIRM', l_module_name);
1877       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1878 
1879       IF l_debug_on THEN
1880         WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1881         WSH_DEBUG_SV.pop(l_module_name);
1882       END IF;
1883 
1884   END OTM_PRE_SHIP_CONFIRM;
1885   --END OTM R12
1886 
1887 END WSH_INTERFACE_EXT_GRP;