[Home] [Help]
PACKAGE BODY: APPS.WSH_DELIVERIES_PUB
Source
1 PACKAGE BODY WSH_DELIVERIES_PUB as
2 /* $Header: WSHDEPBB.pls 120.1 2007/01/05 00:27:45 anxsharm noship $ */
3
4 --===================
5 -- CONSTANTS
6 --===================
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WSH_DELIVERIES_PUB';
8 -- add your constants here if any
9
10 --===================
11 -- PROCEDURES
12 --===================
13
14 PROCEDURE Rtrim_delivery (
15 p_in_rec IN WSH_DELIVERIES_PUB.Delivery_Pub_Rec_Type,
16 p_out_rec OUT NOCOPY WSH_DELIVERIES_PUB.Delivery_Pub_Rec_Type)
17 IS
18 l_debug_on BOOLEAN;
19 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' ||
20 G_PKG_NAME || '.' || 'Rtrim_delivery';
21 BEGIN
22
23 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
24 --
25 IF l_debug_on IS NULL
26 THEN
27 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
28 END IF;
29 --
30 IF l_debug_on THEN
31 wsh_debug_sv.push (l_module_name, 'Rtrim_delivery');
32 END IF;
33
34 p_out_rec := p_in_rec;
35
36
37 p_out_rec.NAME :=RTRIM(p_in_rec.NAME);
38 p_out_rec.DELIVERY_TYPE :=RTRIM(p_in_rec.DELIVERY_TYPE);
39 p_out_rec.LOADING_ORDER_FLAG :=RTRIM(p_in_rec.LOADING_ORDER_FLAG);
40 p_out_rec.LOADING_ORDER_DESC :=RTRIM(p_in_rec.LOADING_ORDER_DESC);
41 p_out_rec.INITIAL_PICKUP_LOCATION_CODE :=RTRIM(p_in_rec.INITIAL_PICKUP_LOCATION_CODE);
42 p_out_rec.ORGANIZATION_CODE :=RTRIM(p_in_rec.ORGANIZATION_CODE);
43 p_out_rec.ULTIMATE_DROPOFF_LOCATION_CODE :=RTRIM(p_in_rec.ULTIMATE_DROPOFF_LOCATION_CODE);
44 p_out_rec.CUSTOMER_NUMBER :=RTRIM(p_in_rec.CUSTOMER_NUMBER);
45 p_out_rec.INTMED_SHIP_TO_LOCATION_CODE :=RTRIM(p_in_rec.INTMED_SHIP_TO_LOCATION_CODE);
46 p_out_rec.POOLED_SHIP_TO_LOCATION_CODE :=RTRIM(p_in_rec.POOLED_SHIP_TO_LOCATION_CODE);
47 p_out_rec.CARRIER_CODE :=RTRIM(p_in_rec.CARRIER_CODE);
48 p_out_rec.SHIP_METHOD_CODE :=RTRIM(p_in_rec.SHIP_METHOD_CODE);
49 p_out_rec.SHIP_METHOD_NAME :=RTRIM(p_in_rec.SHIP_METHOD_NAME);
50 p_out_rec.FREIGHT_TERMS_CODE :=RTRIM(p_in_rec.FREIGHT_TERMS_CODE);
51 p_out_rec.FREIGHT_TERMS_NAME :=RTRIM(p_in_rec.FREIGHT_TERMS_NAME);
52 p_out_rec.FOB_CODE :=RTRIM(p_in_rec.FOB_CODE);
53 p_out_rec.FOB_NAME :=RTRIM(p_in_rec.FOB_NAME);
54 p_out_rec.FOB_LOCATION_CODE :=RTRIM(p_in_rec.FOB_LOCATION_CODE);
55 p_out_rec.WAYBILL :=RTRIM(p_in_rec.WAYBILL);
56 p_out_rec.DOCK_CODE :=RTRIM(p_in_rec.DOCK_CODE);
57 p_out_rec.ACCEPTANCE_FLAG :=RTRIM(p_in_rec.ACCEPTANCE_FLAG);
58 p_out_rec.ACCEPTED_BY :=RTRIM(p_in_rec.ACCEPTED_BY);
59 p_out_rec.ACKNOWLEDGED_BY :=RTRIM(p_in_rec.ACKNOWLEDGED_BY);
60 p_out_rec.CONFIRMED_BY :=RTRIM(p_in_rec.CONFIRMED_BY);
61 p_out_rec.ASN_STATUS_CODE :=RTRIM(p_in_rec.ASN_STATUS_CODE);
62 p_out_rec.WEIGHT_UOM_CODE :=RTRIM(p_in_rec.WEIGHT_UOM_CODE);
63 p_out_rec.WEIGHT_UOM_DESC :=RTRIM(p_in_rec.WEIGHT_UOM_DESC);
64 p_out_rec.VOLUME_UOM_CODE :=RTRIM(p_in_rec.VOLUME_UOM_CODE);
65 p_out_rec.VOLUME_UOM_DESC :=RTRIM(p_in_rec.VOLUME_UOM_DESC);
66 p_out_rec.ADDITIONAL_SHIPMENT_INFO :=RTRIM(p_in_rec.ADDITIONAL_SHIPMENT_INFO);
67 p_out_rec.CURRENCY_CODE :=RTRIM(p_in_rec.CURRENCY_CODE);
68 p_out_rec.CURRENCY_NAME :=RTRIM(p_in_rec.CURRENCY_NAME);
69 p_out_rec.ATTRIBUTE_CATEGORY :=RTRIM(p_in_rec.ATTRIBUTE_CATEGORY);
70 p_out_rec.ATTRIBUTE1 :=RTRIM(p_in_rec.ATTRIBUTE1);
71 p_out_rec.ATTRIBUTE2 :=RTRIM(p_in_rec.ATTRIBUTE2);
72 p_out_rec.ATTRIBUTE3 :=RTRIM(p_in_rec.ATTRIBUTE3);
73 p_out_rec.ATTRIBUTE4 :=RTRIM(p_in_rec.ATTRIBUTE4);
74 p_out_rec.ATTRIBUTE5 :=RTRIM(p_in_rec.ATTRIBUTE5);
75 p_out_rec.ATTRIBUTE6 :=RTRIM(p_in_rec.ATTRIBUTE6);
76 p_out_rec.ATTRIBUTE7 :=RTRIM(p_in_rec.ATTRIBUTE7);
77 p_out_rec.ATTRIBUTE8 :=RTRIM(p_in_rec.ATTRIBUTE8);
78 p_out_rec.ATTRIBUTE9 :=RTRIM(p_in_rec.ATTRIBUTE9);
79 p_out_rec.ATTRIBUTE10 :=RTRIM(p_in_rec.ATTRIBUTE10);
80 p_out_rec.ATTRIBUTE11 :=RTRIM(p_in_rec.ATTRIBUTE11);
81 p_out_rec.ATTRIBUTE12 :=RTRIM(p_in_rec.ATTRIBUTE12);
82 p_out_rec.ATTRIBUTE13 :=RTRIM(p_in_rec.ATTRIBUTE13);
83 p_out_rec.ATTRIBUTE14 :=RTRIM(p_in_rec.ATTRIBUTE14);
84 p_out_rec.ATTRIBUTE15 :=RTRIM(p_in_rec.ATTRIBUTE15);
85 p_out_rec.TP_ATTRIBUTE_CATEGORY :=RTRIM(p_in_rec.TP_ATTRIBUTE_CATEGORY);
86 p_out_rec.TP_ATTRIBUTE1 :=RTRIM(p_in_rec.TP_ATTRIBUTE1);
87 p_out_rec.TP_ATTRIBUTE2 :=RTRIM(p_in_rec.TP_ATTRIBUTE2);
88 p_out_rec.TP_ATTRIBUTE3 :=RTRIM(p_in_rec.TP_ATTRIBUTE3);
89 p_out_rec.TP_ATTRIBUTE4 :=RTRIM(p_in_rec.TP_ATTRIBUTE4);
90 p_out_rec.TP_ATTRIBUTE5 :=RTRIM(p_in_rec.TP_ATTRIBUTE5);
91 p_out_rec.TP_ATTRIBUTE6 :=RTRIM(p_in_rec.TP_ATTRIBUTE6);
92 p_out_rec.TP_ATTRIBUTE7 :=RTRIM(p_in_rec.TP_ATTRIBUTE7);
93 p_out_rec.TP_ATTRIBUTE8 :=RTRIM(p_in_rec.TP_ATTRIBUTE8);
94 p_out_rec.TP_ATTRIBUTE9 :=RTRIM(p_in_rec.TP_ATTRIBUTE9);
95 p_out_rec.TP_ATTRIBUTE10 :=RTRIM(p_in_rec.TP_ATTRIBUTE10);
96 p_out_rec.TP_ATTRIBUTE11 :=RTRIM(p_in_rec.TP_ATTRIBUTE11);
97 p_out_rec.TP_ATTRIBUTE12 :=RTRIM(p_in_rec.TP_ATTRIBUTE12);
98 p_out_rec.TP_ATTRIBUTE13 :=RTRIM(p_in_rec.TP_ATTRIBUTE13);
99 p_out_rec.TP_ATTRIBUTE14 :=RTRIM(p_in_rec.TP_ATTRIBUTE14);
100 p_out_rec.TP_ATTRIBUTE15 :=RTRIM(p_in_rec.TP_ATTRIBUTE15);
101 p_out_rec.GLOBAL_ATTRIBUTE_CATEGORY :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE_CATEGORY);
102 p_out_rec.GLOBAL_ATTRIBUTE1 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE1);
103 p_out_rec.GLOBAL_ATTRIBUTE2 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE2);
104 p_out_rec.GLOBAL_ATTRIBUTE3 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE3);
105 p_out_rec.GLOBAL_ATTRIBUTE4 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE4);
106 p_out_rec.GLOBAL_ATTRIBUTE5 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE5);
107 p_out_rec.GLOBAL_ATTRIBUTE6 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE6);
108 p_out_rec.GLOBAL_ATTRIBUTE7 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE7);
109 p_out_rec.GLOBAL_ATTRIBUTE8 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE8);
110 p_out_rec.GLOBAL_ATTRIBUTE9 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE9);
111 p_out_rec.GLOBAL_ATTRIBUTE10 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE10);
112 p_out_rec.GLOBAL_ATTRIBUTE11 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE11);
113 p_out_rec.GLOBAL_ATTRIBUTE12 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE12);
114 p_out_rec.GLOBAL_ATTRIBUTE13 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE13);
115 p_out_rec.GLOBAL_ATTRIBUTE14 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE14);
116 p_out_rec.GLOBAL_ATTRIBUTE15 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE15);
117 p_out_rec.GLOBAL_ATTRIBUTE16 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE16);
118 p_out_rec.GLOBAL_ATTRIBUTE17 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE17);
119 p_out_rec.GLOBAL_ATTRIBUTE18 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE18);
120 p_out_rec.GLOBAL_ATTRIBUTE19 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE19);
121 p_out_rec.GLOBAL_ATTRIBUTE20 :=RTRIM(p_in_rec.GLOBAL_ATTRIBUTE20);
122 p_out_rec.COD_CURRENCY_CODE :=RTRIM(p_in_rec.COD_CURRENCY_CODE);
123 p_out_rec.COD_REMIT_TO :=RTRIM(p_in_rec.COD_REMIT_TO);
124 p_out_rec.COD_CHARGE_PAID_BY :=RTRIM(p_in_rec.COD_CHARGE_PAID_BY);
125 p_out_rec.PROBLEM_CONTACT_REFERENCE :=RTRIM(p_in_rec.PROBLEM_CONTACT_REFERENCE);
126 p_out_rec.PORT_OF_LOADING :=RTRIM(p_in_rec.PORT_OF_LOADING);
127 p_out_rec.PORT_OF_DISCHARGE :=RTRIM(p_in_rec.PORT_OF_DISCHARGE);
128 p_out_rec.FTZ_NUMBER :=RTRIM(p_in_rec.FTZ_NUMBER);
129 p_out_rec.ROUTED_EXPORT_TXN :=RTRIM(p_in_rec.ROUTED_EXPORT_TXN);
130 p_out_rec.ENTRY_NUMBER :=RTRIM(p_in_rec.ENTRY_NUMBER);
131 p_out_rec.ROUTING_INSTRUCTIONS :=RTRIM(p_in_rec.ROUTING_INSTRUCTIONS);
132 p_out_rec.IN_BOND_CODE :=RTRIM(p_in_rec.IN_BOND_CODE);
133 p_out_rec.SHIPPING_MARKS :=RTRIM(p_in_rec.SHIPPING_MARKS);
134 p_out_rec.SERVICE_LEVEL :=RTRIM(p_in_rec.SERVICE_LEVEL);
135 p_out_rec.MODE_OF_TRANSPORT :=RTRIM(p_in_rec.MODE_OF_TRANSPORT);
136 p_out_rec.ASSIGNED_TO_FTE_TRIPS :=RTRIM(p_in_rec.ASSIGNED_TO_FTE_TRIPS);
137 p_out_rec.AUTO_SC_EXCLUDE_FLAG :=RTRIM(p_in_rec.AUTO_SC_EXCLUDE_FLAG);
138 p_out_rec.AUTO_AP_EXCLUDE_FLAG :=RTRIM(p_in_rec.AUTO_AP_EXCLUDE_FLAG);
139
140
141 IF l_debug_on THEN
142 WSH_DEBUG_SV.pop(l_module_name);
143 END IF;
144
145 EXCEPTION
146
147 WHEN OTHERS THEN
148 wsh_util_core.default_handler (
149 'WSH_TRIP_STOPS_GRP.Rtrim_delivery', l_module_name);
150 IF l_debug_on THEN
151 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured.'||
152 ' Oracle error message is '|| SQLERRM,
153 WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
154 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
155 END IF;
156 RAISE;
157
158 END Rtrim_delivery;
159
160
161 --========================================================================
162 -- PROCEDURE : Validate_Delivery PRIVATE
163 --
164 -- PARAMETERS: p_delivery_info Attributes for the delivery entity
165 -- p_action_code 'CREATE', 'UPDATE'
166 -- x_return_status Return status of API
167 -- COMMENT : Validates p_delivery_info by calling column specific validations
168 --========================================================================
169 PROCEDURE Validate_Delivery
170 (p_delivery_info IN OUT NOCOPY delivery_pub_rec_type,
171 p_action_code IN VARCHAR2,
172 x_return_status OUT NOCOPY VARCHAR2) IS
173
174 l_assigned_to_trip VARCHAR2(1);
175
176 -- OTM R12, glog proj
177 l_adjusted_amount NUMBER;
178
179 BEGIN
180 --
181 --
182 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
183
184 IF (p_action_code <> 'CREATE') THEN
185
186 IF (p_delivery_info.delivery_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.name <> FND_API.G_MISS_CHAR) THEN
187
188 IF (p_delivery_info.name <> FND_API.G_MISS_CHAR) THEN
189 p_delivery_info.delivery_id := NULL;
190 END IF;
191
192 wsh_util_validate.validate_delivery_name(
193 p_delivery_info.delivery_id,
194 p_delivery_info.name,
195 x_return_status);
196
197 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
198 RETURN;
199 END IF;
200
201 END IF;
202
203 END IF;
204
205 IF (p_delivery_info.organization_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.organization_code <> FND_API.G_MISS_CHAR) THEN
206
207 IF (p_delivery_info.organization_code <> FND_API.G_MISS_CHAR) THEN
208 p_delivery_info.organization_id := NULL;
209 END IF;
210
211 wsh_util_validate.validate_org(
212 p_delivery_info.organization_id,
213 p_delivery_info.organization_code,
214 x_return_status);
215
216 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
217 RETURN;
218 END IF;
219 END IF;
220
221 IF (nvl(p_delivery_info.delivery_type,'STANDARD') NOT IN ('STANDARD','CONSOLIDATED')) THEN
222 p_delivery_info.delivery_type := 'STANDARD';
223
224 END IF;
225
226 IF (p_delivery_info.loading_order_flag <> FND_API.G_MISS_CHAR) OR (p_delivery_info.loading_order_desc <> FND_API.G_MISS_CHAR) THEN
227
228 IF (p_delivery_info.loading_order_desc <> FND_API.G_MISS_CHAR) THEN
229 p_delivery_info.loading_order_flag := NULL;
230 END IF;
231
232 wsh_util_validate.validate_loading_order(
233 p_delivery_info.loading_order_flag,
234 p_delivery_info.loading_order_desc,
235 x_return_status);
236
237 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
238 RETURN;
239 END IF;
240 END IF;
241
242 IF (p_delivery_info.initial_pickup_location_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.initial_pickup_location_code <> FND_API.G_MISS_CHAR) THEN
243
244 IF (p_delivery_info.initial_pickup_location_code <> FND_API.G_MISS_CHAR) THEN
245 p_delivery_info.initial_pickup_location_id := NULL;
246 END IF;
247
248 wsh_util_validate.validate_location(
249 p_delivery_info.initial_pickup_location_id,
250 p_delivery_info.initial_pickup_location_code,
251 x_return_status);
252
253 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
254 RETURN;
255 END IF;
256 END IF;
257
258 IF (p_delivery_info.ultimate_dropoff_location_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.ultimate_dropoff_location_code <> FND_API.G_MISS_CHAR) THEN
259
260 IF (p_delivery_info.ultimate_dropoff_location_code <> FND_API.G_MISS_CHAR) THEN
261 p_delivery_info.ultimate_dropoff_location_id := NULL;
262 END IF;
263
264 wsh_util_validate.validate_location(
265 p_delivery_info.ultimate_dropoff_location_id,
269 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
266 p_delivery_info.ultimate_dropoff_location_code,
267 x_return_status);
268
270 RETURN;
271 END IF;
272 END IF;
273
274 IF (p_delivery_info.intmed_ship_to_location_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.intmed_ship_to_location_code <> FND_API.G_MISS_CHAR) THEN
275
276 IF (p_delivery_info.intmed_ship_to_location_code <> FND_API.G_MISS_CHAR) THEN
277 p_delivery_info.intmed_ship_to_location_id := NULL;
278 END IF;
279
280 wsh_util_validate.validate_location(
281 p_delivery_info.intmed_ship_to_location_id,
282 p_delivery_info.intmed_ship_to_location_code,
283 x_return_status);
284
285 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
286 RETURN;
287 END IF;
288 END IF;
289
290 IF (p_delivery_info.pooled_ship_to_location_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.pooled_ship_to_location_code <> FND_API.G_MISS_CHAR) THEN
291
292 IF (p_delivery_info.pooled_ship_to_location_code <> FND_API.G_MISS_CHAR) THEN
293 p_delivery_info.pooled_ship_to_location_id := NULL;
294 END IF;
295
296 wsh_util_validate.validate_location(
297 p_delivery_info.pooled_ship_to_location_id,
298 p_delivery_info.pooled_ship_to_location_code,
299 x_return_status);
300
301 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
302 RETURN;
303 END IF;
304 END IF;
305
306 IF (p_delivery_info.customer_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.customer_number <> FND_API.G_MISS_CHAR) THEN
307
308 IF (p_delivery_info.customer_number <> FND_API.G_MISS_CHAR) THEN
309 p_delivery_info.customer_id := NULL;
310 END IF;
311
312 wsh_util_validate.validate_customer(
313 p_delivery_info.customer_id,
314 p_delivery_info.customer_number,
315 x_return_status);
316
317 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
318 RETURN;
319 END IF;
320 END IF;
321
322 -- Carrier ID is not validated as it is not used...Ship method is used instead.
323
324 IF (p_delivery_info.ship_method_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.ship_method_name <> FND_API.G_MISS_CHAR) THEN
325
326 IF (p_delivery_info.ship_method_code <> FND_API.G_MISS_CHAR) THEN
327 p_delivery_info.ship_method_name := NULL;
328 END IF;
329
330 wsh_util_validate.validate_ship_method(
331 p_delivery_info.ship_method_code,
332 p_delivery_info.ship_method_name,
333 x_return_status);
334
335 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
336 RETURN;
337 END IF;
338 END IF;
339
340 IF (p_delivery_info.freight_terms_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.freight_terms_name <> FND_API.G_MISS_CHAR) THEN
341
342 IF (p_delivery_info.freight_terms_name <> FND_API.G_MISS_CHAR) THEN
343 p_delivery_info.freight_terms_name := NULL;
344 END IF;
345
346 wsh_util_validate.validate_freight_terms(
347 p_delivery_info.freight_terms_code,
348 p_delivery_info.freight_terms_name,
349 x_return_status);
350
351 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
352 RETURN;
353 END IF;
354 END IF;
355
356 IF (p_delivery_info.fob_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.fob_name <> FND_API.G_MISS_CHAR) THEN
357
358 IF (p_delivery_info.fob_name <> FND_API.G_MISS_CHAR) THEN
359 p_delivery_info.fob_code := NULL;
360 END IF;
361
362 wsh_util_validate.validate_fob(
363 p_delivery_info.fob_code,
364 p_delivery_info.fob_name,
365 x_return_status);
366
367 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
368 RETURN;
369 END IF;
370 END IF;
371
372 IF (p_delivery_info.fob_location_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.fob_location_code <> FND_API.G_MISS_CHAR) THEN
373
374 IF (p_delivery_info.fob_location_code <> FND_API.G_MISS_CHAR) THEN
375 p_delivery_info.fob_location_id := NULL;
376 END IF;
377
378 wsh_util_validate.validate_location(
379 p_delivery_info.fob_location_id,
380 p_delivery_info.fob_location_code,
381 x_return_status);
382
383 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
384 RETURN;
385 END IF;
386 END IF;
387
388 IF (p_delivery_info.weight_uom_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.weight_uom_desc <> FND_API.G_MISS_CHAR) THEN
389
390 IF (p_delivery_info.weight_uom_desc <> FND_API.G_MISS_CHAR) THEN
391 p_delivery_info.weight_uom_code := NULL;
392 END IF;
393
394 wsh_util_validate.validate_uom(
395 'WEIGHT',
396 p_delivery_info.organization_id,
397 p_delivery_info.weight_uom_code,
398 p_delivery_info.weight_uom_desc,
399 x_return_status);
400
404 END IF;
401 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
402 RETURN;
403 END IF;
405
406 IF (p_delivery_info.volume_uom_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.volume_uom_desc <> FND_API.G_MISS_CHAR) THEN
407
408 IF (p_delivery_info.volume_uom_desc <> FND_API.G_MISS_CHAR) THEN
409 p_delivery_info.volume_uom_code := NULL;
410 END IF;
411
412 wsh_util_validate.validate_uom(
413 'VOLUME',
414 p_delivery_info.organization_id,
415 p_delivery_info.volume_uom_code,
416 p_delivery_info.volume_uom_desc,
417 x_return_status);
418
419 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
420 RETURN;
421 END IF;
422 END IF;
423
424 IF (p_delivery_info.currency_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.currency_name <> FND_API.G_MISS_CHAR) THEN
425
426 IF (p_delivery_info.currency_name <> FND_API.G_MISS_CHAR) THEN
427 p_delivery_info.currency_code := NULL;
428 END IF;
429
430 -- OTM R12, glog project changes, to use name value notation
431 WSH_UTIL_VALIDATE.validate_currency(
432 p_currency_code => p_delivery_info.currency_code,
433 p_currency_name => p_delivery_info.currency_name,
434 p_amount => NULL,
435 x_return_status => x_return_status,
436 x_adjusted_amount => l_adjusted_amount); -- OTM R12,glog project
437
438 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
439 RETURN;
440 END IF;
441 END IF;
442
443
444 --
445 -- manifesting code changes
446 -- disallow update of ship method or its components if the delivery is assigned to trip.
447 --
448
449 IF (p_delivery_info.ship_method_code <> FND_API.G_MISS_CHAR) OR (p_delivery_info.ship_method_code IS NULL) OR
450 (p_delivery_info.carrier_id <> FND_API.G_MISS_NUM) OR (p_delivery_info.carrier_id IS NULL) OR
451 (p_delivery_info.service_level <> FND_API.G_MISS_CHAR) OR (p_delivery_info.service_level IS NULL) OR
452 (p_delivery_info.mode_of_transport <> FND_API.G_MISS_CHAR) OR (p_delivery_info.mode_of_transport IS NULL) THEN
453
454 l_assigned_to_trip := WSH_Delivery_Validations.Del_Assigned_To_Trip
455 (p_delivery_id => p_delivery_info.delivery_id,
456 x_return_status => x_return_status);
457
458 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
459
460 RETURN;
461
462 ELSIF l_assigned_to_trip = 'Y' THEN
463 FND_MESSAGE.SET_NAME('WSH','WSH_DEL_ASSIGNED_ERROR');
464 FND_MESSAGE.SET_TOKEN('DEL_NAME',wsh_new_deliveries_pvt.get_name(p_delivery_info.delivery_id));
465 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
466 wsh_util_core.add_message(x_return_status);
467 RETURN;
468 END IF;
469 END IF;
470
471
472 EXCEPTION
473 WHEN others THEN
474 wsh_util_core.default_handler('WSH_DELIVERIES_PUB.Validate_Delivery');
475 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
476
477 END Validate_Delivery;
478
479 /* I Harmonization -- rvishnuv */
480 PROCEDURE map_pub_to_pvt(
481 p_pub_rec IN delivery_pub_rec_type,
482 x_pvt_rec OUT NOCOPY wsh_new_deliveries_pvt.delivery_rec_type,
483 x_return_status OUT NOCOPY VARCHAR2)
484 IS
485 --
486 l_debug_on BOOLEAN;
487 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'MAP_PUB_TO_PVT';
488
489 BEGIN
490 --
491 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
492 --
493 IF l_debug_on IS NULL
494 THEN
495 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
496 END IF;
497 --
498 IF l_debug_on THEN
499 WSH_DEBUG_SV.push(l_module_name);
500 END IF;
501 x_return_status := wsh_util_core.g_ret_sts_success;
502 --
503 x_pvt_rec.DELIVERY_ID := p_pub_rec.DELIVERY_ID;
504 x_pvt_rec.NAME := p_pub_rec.NAME;
505 x_pvt_rec.DELIVERY_TYPE := p_pub_rec.DELIVERY_TYPE;
506 x_pvt_rec.LOADING_SEQUENCE := p_pub_rec.LOADING_SEQUENCE;
507 x_pvt_rec.LOADING_ORDER_FLAG := p_pub_rec.LOADING_ORDER_FLAG;
508 x_pvt_rec.LOADING_ORDER_DESC := p_pub_rec.LOADING_ORDER_DESC;
509 x_pvt_rec.INITIAL_PICKUP_DATE := p_pub_rec.INITIAL_PICKUP_DATE;
510 x_pvt_rec.INITIAL_PICKUP_LOCATION_ID := p_pub_rec.INITIAL_PICKUP_LOCATION_ID;
511 x_pvt_rec.INITIAL_PICKUP_LOCATION_CODE := p_pub_rec.INITIAL_PICKUP_LOCATION_CODE;
512 x_pvt_rec.ORGANIZATION_ID := p_pub_rec.ORGANIZATION_ID;
513 x_pvt_rec.ORGANIZATION_CODE := p_pub_rec.ORGANIZATION_CODE;
514 x_pvt_rec.ULTIMATE_DROPOFF_LOCATION_ID := p_pub_rec.ULTIMATE_DROPOFF_LOCATION_ID;
515 x_pvt_rec.ULTIMATE_DROPOFF_LOCATION_CODE := p_pub_rec.ULTIMATE_DROPOFF_LOCATION_CODE;
516 x_pvt_rec.ULTIMATE_DROPOFF_DATE := p_pub_rec.ULTIMATE_DROPOFF_DATE;
517 x_pvt_rec.CUSTOMER_ID := p_pub_rec.CUSTOMER_ID;
518 x_pvt_rec.CUSTOMER_NUMBER := p_pub_rec.CUSTOMER_NUMBER;
519 x_pvt_rec.INTMED_SHIP_TO_LOCATION_ID := p_pub_rec.INTMED_SHIP_TO_LOCATION_ID;
523 x_pvt_rec.CARRIER_ID := p_pub_rec.CARRIER_ID;
520 x_pvt_rec.INTMED_SHIP_TO_LOCATION_CODE := p_pub_rec.INTMED_SHIP_TO_LOCATION_CODE;
521 x_pvt_rec.POOLED_SHIP_TO_LOCATION_ID := p_pub_rec.POOLED_SHIP_TO_LOCATION_ID;
522 x_pvt_rec.POOLED_SHIP_TO_LOCATION_CODE := p_pub_rec.POOLED_SHIP_TO_LOCATION_CODE;
524 x_pvt_rec.CARRIER_CODE := p_pub_rec.CARRIER_CODE;
525 x_pvt_rec.SHIP_METHOD_CODE := p_pub_rec.SHIP_METHOD_CODE;
526 x_pvt_rec.SHIP_METHOD_NAME := p_pub_rec.SHIP_METHOD_NAME;
527 x_pvt_rec.FREIGHT_TERMS_CODE := p_pub_rec.FREIGHT_TERMS_CODE;
528 x_pvt_rec.FREIGHT_TERMS_NAME := p_pub_rec.FREIGHT_TERMS_NAME;
529 x_pvt_rec.FOB_CODE := p_pub_rec.FOB_CODE;
530 x_pvt_rec.FOB_NAME := p_pub_rec.FOB_NAME;
531 x_pvt_rec.FOB_LOCATION_ID := p_pub_rec.FOB_LOCATION_ID;
532 x_pvt_rec.FOB_LOCATION_CODE := p_pub_rec.FOB_LOCATION_CODE;
533 x_pvt_rec.WAYBILL := p_pub_rec.WAYBILL;
534 x_pvt_rec.DOCK_CODE := p_pub_rec.DOCK_CODE;
535 x_pvt_rec.ACCEPTANCE_FLAG := p_pub_rec.ACCEPTANCE_FLAG;
536 x_pvt_rec.ACCEPTED_BY := p_pub_rec.ACCEPTED_BY;
537 x_pvt_rec.ACCEPTED_DATE := p_pub_rec.ACCEPTED_DATE;
538 x_pvt_rec.ACKNOWLEDGED_BY := p_pub_rec.ACKNOWLEDGED_BY;
539 x_pvt_rec.CONFIRMED_BY := p_pub_rec.CONFIRMED_BY;
540 x_pvt_rec.CONFIRM_DATE := p_pub_rec.CONFIRM_DATE;
541 x_pvt_rec.ASN_DATE_SENT := p_pub_rec.ASN_DATE_SENT;
542 x_pvt_rec.ASN_STATUS_CODE := p_pub_rec.ASN_STATUS_CODE;
543 x_pvt_rec.ASN_SEQ_NUMBER := p_pub_rec.ASN_SEQ_NUMBER;
544 x_pvt_rec.GROSS_WEIGHT := p_pub_rec.GROSS_WEIGHT;
545 x_pvt_rec.NET_WEIGHT := p_pub_rec.NET_WEIGHT;
546 x_pvt_rec.WEIGHT_UOM_CODE := p_pub_rec.WEIGHT_UOM_CODE;
547 x_pvt_rec.WEIGHT_UOM_DESC := p_pub_rec.WEIGHT_UOM_DESC;
548 x_pvt_rec.VOLUME := p_pub_rec.VOLUME;
549 x_pvt_rec.VOLUME_UOM_CODE := p_pub_rec.VOLUME_UOM_CODE;
550 x_pvt_rec.VOLUME_UOM_DESC := p_pub_rec.VOLUME_UOM_DESC;
551 x_pvt_rec.ADDITIONAL_SHIPMENT_INFO := p_pub_rec.ADDITIONAL_SHIPMENT_INFO;
552 x_pvt_rec.CURRENCY_CODE := p_pub_rec.CURRENCY_CODE;
553 x_pvt_rec.CURRENCY_NAME := p_pub_rec.CURRENCY_NAME;
554 x_pvt_rec.ATTRIBUTE_CATEGORY := p_pub_rec.ATTRIBUTE_CATEGORY;
555 x_pvt_rec.ATTRIBUTE1 := p_pub_rec.ATTRIBUTE1;
556 x_pvt_rec.ATTRIBUTE2 := p_pub_rec.ATTRIBUTE2;
557 x_pvt_rec.ATTRIBUTE3 := p_pub_rec.ATTRIBUTE3;
558 x_pvt_rec.ATTRIBUTE4 := p_pub_rec.ATTRIBUTE4;
559 x_pvt_rec.ATTRIBUTE5 := p_pub_rec.ATTRIBUTE5;
560 x_pvt_rec.ATTRIBUTE6 := p_pub_rec.ATTRIBUTE6;
561 x_pvt_rec.ATTRIBUTE7 := p_pub_rec.ATTRIBUTE7;
562 x_pvt_rec.ATTRIBUTE8 := p_pub_rec.ATTRIBUTE8;
563 x_pvt_rec.ATTRIBUTE9 := p_pub_rec.ATTRIBUTE9;
564 x_pvt_rec.ATTRIBUTE10 := p_pub_rec.ATTRIBUTE10;
565 x_pvt_rec.ATTRIBUTE11 := p_pub_rec.ATTRIBUTE11;
566 x_pvt_rec.ATTRIBUTE12 := p_pub_rec.ATTRIBUTE12;
567 x_pvt_rec.ATTRIBUTE13 := p_pub_rec.ATTRIBUTE13;
568 x_pvt_rec.ATTRIBUTE14 := p_pub_rec.ATTRIBUTE14;
569 x_pvt_rec.ATTRIBUTE15 := p_pub_rec.ATTRIBUTE15;
570 x_pvt_rec.TP_ATTRIBUTE_CATEGORY := p_pub_rec.TP_ATTRIBUTE_CATEGORY;
571 x_pvt_rec.TP_ATTRIBUTE1 := p_pub_rec.TP_ATTRIBUTE1;
572 x_pvt_rec.TP_ATTRIBUTE2 := p_pub_rec.TP_ATTRIBUTE2;
573 x_pvt_rec.TP_ATTRIBUTE3 := p_pub_rec.TP_ATTRIBUTE3;
574 x_pvt_rec.TP_ATTRIBUTE4 := p_pub_rec.TP_ATTRIBUTE4;
575 x_pvt_rec.TP_ATTRIBUTE5 := p_pub_rec.TP_ATTRIBUTE5;
576 x_pvt_rec.TP_ATTRIBUTE6 := p_pub_rec.TP_ATTRIBUTE6;
577 x_pvt_rec.TP_ATTRIBUTE7 := p_pub_rec.TP_ATTRIBUTE7;
578 x_pvt_rec.TP_ATTRIBUTE8 := p_pub_rec.TP_ATTRIBUTE8;
579 x_pvt_rec.TP_ATTRIBUTE9 := p_pub_rec.TP_ATTRIBUTE9;
580 x_pvt_rec.TP_ATTRIBUTE10 := p_pub_rec.TP_ATTRIBUTE10;
581 x_pvt_rec.TP_ATTRIBUTE11 := p_pub_rec.TP_ATTRIBUTE11;
582 x_pvt_rec.TP_ATTRIBUTE12 := p_pub_rec.TP_ATTRIBUTE12;
583 x_pvt_rec.TP_ATTRIBUTE13 := p_pub_rec.TP_ATTRIBUTE13;
584 x_pvt_rec.TP_ATTRIBUTE14 := p_pub_rec.TP_ATTRIBUTE14;
585 x_pvt_rec.TP_ATTRIBUTE15 := p_pub_rec.TP_ATTRIBUTE15;
586 x_pvt_rec.GLOBAL_ATTRIBUTE_CATEGORY := p_pub_rec.GLOBAL_ATTRIBUTE_CATEGORY;
587 x_pvt_rec.GLOBAL_ATTRIBUTE1 := p_pub_rec.GLOBAL_ATTRIBUTE1;
588 x_pvt_rec.GLOBAL_ATTRIBUTE2 := p_pub_rec.GLOBAL_ATTRIBUTE2;
589 x_pvt_rec.GLOBAL_ATTRIBUTE3 := p_pub_rec.GLOBAL_ATTRIBUTE3;
590 x_pvt_rec.GLOBAL_ATTRIBUTE4 := p_pub_rec.GLOBAL_ATTRIBUTE4;
591 x_pvt_rec.GLOBAL_ATTRIBUTE5 := p_pub_rec.GLOBAL_ATTRIBUTE5;
592 x_pvt_rec.GLOBAL_ATTRIBUTE6 := p_pub_rec.GLOBAL_ATTRIBUTE6;
593 x_pvt_rec.GLOBAL_ATTRIBUTE7 := p_pub_rec.GLOBAL_ATTRIBUTE7;
594 x_pvt_rec.GLOBAL_ATTRIBUTE8 := p_pub_rec.GLOBAL_ATTRIBUTE8;
595 x_pvt_rec.GLOBAL_ATTRIBUTE9 := p_pub_rec.GLOBAL_ATTRIBUTE9;
596 x_pvt_rec.GLOBAL_ATTRIBUTE10 := p_pub_rec.GLOBAL_ATTRIBUTE10;
597 x_pvt_rec.GLOBAL_ATTRIBUTE11 := p_pub_rec.GLOBAL_ATTRIBUTE11;
598 x_pvt_rec.GLOBAL_ATTRIBUTE12 := p_pub_rec.GLOBAL_ATTRIBUTE12;
599 x_pvt_rec.GLOBAL_ATTRIBUTE13 := p_pub_rec.GLOBAL_ATTRIBUTE13;
600 x_pvt_rec.GLOBAL_ATTRIBUTE14 := p_pub_rec.GLOBAL_ATTRIBUTE14;
601 x_pvt_rec.GLOBAL_ATTRIBUTE15 := p_pub_rec.GLOBAL_ATTRIBUTE15;
602 x_pvt_rec.GLOBAL_ATTRIBUTE16 := p_pub_rec.GLOBAL_ATTRIBUTE16;
603 x_pvt_rec.GLOBAL_ATTRIBUTE17 := p_pub_rec.GLOBAL_ATTRIBUTE17;
604 x_pvt_rec.GLOBAL_ATTRIBUTE18 := p_pub_rec.GLOBAL_ATTRIBUTE18;
605 x_pvt_rec.GLOBAL_ATTRIBUTE19 := p_pub_rec.GLOBAL_ATTRIBUTE19;
609 x_pvt_rec.LAST_UPDATE_DATE := p_pub_rec.LAST_UPDATE_DATE;
606 x_pvt_rec.GLOBAL_ATTRIBUTE20 := p_pub_rec.GLOBAL_ATTRIBUTE20;
607 x_pvt_rec.CREATION_DATE := p_pub_rec.CREATION_DATE;
608 x_pvt_rec.CREATED_BY := p_pub_rec.CREATED_BY;
610 x_pvt_rec.LAST_UPDATED_BY := p_pub_rec.LAST_UPDATED_BY;
611 x_pvt_rec.LAST_UPDATE_LOGIN := p_pub_rec.LAST_UPDATE_LOGIN;
612 x_pvt_rec.PROGRAM_APPLICATION_ID := p_pub_rec.PROGRAM_APPLICATION_ID;
613 x_pvt_rec.PROGRAM_ID := p_pub_rec.PROGRAM_ID;
614 x_pvt_rec.PROGRAM_UPDATE_DATE := p_pub_rec.PROGRAM_UPDATE_DATE;
615 x_pvt_rec.REQUEST_ID := p_pub_rec.REQUEST_ID;
616 x_pvt_rec.NUMBER_OF_LPN := p_pub_rec.NUMBER_OF_LPN;
617 x_pvt_rec.COD_AMOUNT := p_pub_rec.COD_AMOUNT;
618 x_pvt_rec.COD_CURRENCY_CODE := p_pub_rec.COD_CURRENCY_CODE;
619 x_pvt_rec.COD_REMIT_TO := p_pub_rec.COD_REMIT_TO;
620 x_pvt_rec.COD_CHARGE_PAID_BY := p_pub_rec.COD_CHARGE_PAID_BY;
621 x_pvt_rec.PROBLEM_CONTACT_REFERENCE := p_pub_rec.PROBLEM_CONTACT_REFERENCE;
622 x_pvt_rec.PORT_OF_LOADING := p_pub_rec.PORT_OF_LOADING;
623 x_pvt_rec.PORT_OF_DISCHARGE := p_pub_rec.PORT_OF_DISCHARGE;
624 x_pvt_rec.FTZ_NUMBER := p_pub_rec.FTZ_NUMBER;
625 x_pvt_rec.ROUTED_EXPORT_TXN := p_pub_rec.ROUTED_EXPORT_TXN;
626 x_pvt_rec.ENTRY_NUMBER := p_pub_rec.ENTRY_NUMBER;
627 x_pvt_rec.ROUTING_INSTRUCTIONS := p_pub_rec.ROUTING_INSTRUCTIONS;
628 x_pvt_rec.IN_BOND_CODE := p_pub_rec.IN_BOND_CODE;
629 x_pvt_rec.SHIPPING_MARKS := p_pub_rec.SHIPPING_MARKS;
630 x_pvt_rec.SERVICE_LEVEL := p_pub_rec.SERVICE_LEVEL;
631 x_pvt_rec.MODE_OF_TRANSPORT := p_pub_rec.MODE_OF_TRANSPORT;
632 x_pvt_rec.ASSIGNED_TO_FTE_TRIPS := p_pub_rec.ASSIGNED_TO_FTE_TRIPS;
633 x_pvt_rec.PLANNED_FLAG := FND_API.G_MISS_CHAR;
634 x_pvt_rec.STATUS_CODE := FND_API.G_MISS_CHAR;
635 x_pvt_rec.BATCH_ID := FND_API.G_MISS_NUM;
636 x_pvt_rec.HASH_VALUE := FND_API.G_MISS_NUM;
637 x_pvt_rec.SOURCE_HEADER_ID := FND_API.G_MISS_NUM;
638 x_pvt_rec.AUTO_SC_EXCLUDE_FLAG := p_pub_rec.AUTO_SC_EXCLUDE_FLAG;
639 x_pvt_rec.AUTO_AP_EXCLUDE_FLAG := p_pub_rec.AUTO_AP_EXCLUDE_FLAG;
640 x_pvt_rec.AP_BATCH_ID := FND_API.G_MISS_NUM;
641 /*3667348*/
642 x_pvt_rec.REASON_OF_TRANSPORT := p_pub_rec.REASON_OF_TRANSPORT;
643 x_pvt_rec.DESCRIPTION := p_pub_rec.DESCRIPTION;
644 -- Non Database field added for "Proration of weight from Delivery to delivery lines" Project(Bug#4254552).
645 IF p_pub_rec.prorate_wt_flag = FND_API.G_MISS_CHAR THEN
646 --{
647 x_pvt_rec.prorate_wt_flag := WSH_UTIL_CORE.FTE_Is_Installed ;
648 ELSIF p_pub_rec.prorate_wt_flag = 'Y' THEN
649 x_pvt_rec.prorate_wt_flag := 'Y';
650 ELSE
651 x_pvt_rec.prorate_wt_flag := 'N';
652 --}
653 END IF;
654 --
655
656 IF l_debug_on THEN
657 WSH_DEBUG_SV.pop(l_module_name);
658 END IF;
659 EXCEPTION
660 WHEN OTHERS THEN
661 WSH_UTIL_CORE.DEFAULT_HANDLER('WSH_DELIVERIES_PUB.map_pub_to_pvt',l_module_name);
662 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
663 --
664 IF l_debug_on THEN
665 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
666 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
667 END IF;
668 --
669 END map_pub_to_pvt;
670
671 --========================================================================
672 -- PROCEDURE : Create_Update_Delivery PUBLIC
673 --
674 -- PARAMETERS: p_api_version_number known api versionerror buffer
675 -- p_init_msg_list FND_API.G_TRUE to reset list
676 -- x_return_status return status
677 -- x_msg_count number of messages in the list
678 -- x_msg_data text of messages
679 -- p_delivery_info Attributes for the delivery entity
680 -- p_delivery_name Delivery name for update
681 -- x_delivery_id - delivery_Id of new delivery,
682 -- x_name - Name of delivery
683 -- VERSION : current version 1.0
684 -- initial version 1.0
685 -- COMMENT : Creates or updates a record in wsh_new_deliveries table
686 -- with information specified in p_delivery_info
687 --========================================================================
688
689 PROCEDURE Create_Update_Delivery(
690 p_api_version_number IN NUMBER,
691 p_init_msg_list IN VARCHAR2,
692 x_return_status OUT NOCOPY VARCHAR2,
693 x_msg_count OUT NOCOPY NUMBER,
694 x_msg_data OUT NOCOPY VARCHAR2,
695 p_action_code IN VARCHAR2,
696 p_delivery_info IN OUT NOCOPY Delivery_Pub_Rec_Type,
697 p_delivery_name IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
698 x_delivery_id OUT NOCOPY NUMBER,
699 x_name OUT NOCOPY VARCHAR2)
700
701 IS
702
703 l_api_version_number CONSTANT NUMBER := 1.0;
704 l_api_name CONSTANT VARCHAR2(30):= 'Create_Update_Delivery';
705
706 -- <insert here your local variables declaration>
707 l_message VARCHAR2(50);
708 l_num_errors NUMBER;
709 l_num_warnings NUMBER;
710 l_rec_attr_tab wsh_new_deliveries_pvt.delivery_attr_tbl_type;
711 l_delivery_in_rec wsh_deliveries_grp.Del_In_Rec_Type;
715 --
712 l_del_out_rec_tab wsh_deliveries_grp.Del_Out_Tbl_Type;
713 l_return_status VARCHAR2(1);
714 l_commit VARCHAR2(100) := FND_API.G_FALSE;
716 l_debug_on BOOLEAN;
717 --
718 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'CREATE_UPDATE_DELIVERY_PUB';
719
720 BEGIN
721 --
722 --
723 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
724 --
725 IF l_debug_on IS NULL
726 THEN
727 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
728 END IF;
729 --
730 IF l_debug_on THEN
731 wsh_debug_sv.push(l_module_name);
732 END IF;
733 -- Standard call to check for call compatibility
734 IF NOT FND_API.Compatible_API_Call
735 ( l_api_version_number
736 , p_api_version_number
737 , l_api_name
738 , G_PKG_NAME
739 )
740 THEN
741 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
742 END IF;
743
744 -- Initialize message stack if required
745 IF FND_API.to_Boolean(p_init_msg_list) THEN
746 FND_MSG_PUB.initialize;
747 END IF;
748
749
750 IF (p_action_code = 'UPDATE') THEN
751 IF (p_delivery_name IS NOT NULL) OR (p_delivery_name <> FND_API.G_MISS_CHAR) THEN
752 p_delivery_info.name := p_delivery_name;
753 END IF;
754 ELSIF ( p_action_code <> 'CREATE' ) THEN
755 FND_MESSAGE.SET_NAME('WSH','WSH_INVALID_ACTION_CODE');
756 FND_MESSAGE.SET_TOKEN('ACTION_CODE',p_action_code);
757 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
758 wsh_util_core.add_message(x_return_status);
759 END IF;
760 --
761 map_pub_to_pvt(
762 p_pub_rec => p_delivery_info,
763 x_pvt_rec => l_rec_attr_tab(1),
764 x_return_status => l_return_status);
765 --
766 IF l_debug_on THEN
767 wsh_debug_sv.log(l_module_name,'Return Status After Calling map_pub_to_pvt',l_return_status);
768 END IF;
769 --
770 wsh_util_core.api_post_call(
771 p_return_status => l_return_status,
772 x_num_errors => l_num_errors,
773 x_num_warnings => l_num_warnings);
774 --
775 IF (p_action_code = 'UPDATE') THEN
776 --
777 wsh_util_validate.validate_delivery_name(
778 p_delivery_id => l_rec_attr_tab(1).delivery_id,
779 p_delivery_name => l_rec_attr_tab(1).name,
780 x_return_status => l_return_status);
781 --
782 IF l_debug_on THEN
783 wsh_debug_sv.log(l_module_name,'Return Status After Calling validate_delivery_name',l_return_status);
784 END IF;
785 --
786 wsh_util_core.api_post_call(
787 p_return_status => l_return_status,
788 x_num_errors => l_num_errors,
789 x_num_warnings => l_num_warnings);
790 --
791 -- bug 3666967 : else if p_action_code is 'CREATE'
792 -- treating non passed parameters as FND_API.G_MISS_NUM
793 ELSIF (p_action_code = 'CREATE') THEN
794 IF (l_rec_attr_tab(1).gross_weight = FND_API.G_MISS_NUM AND
795 l_rec_attr_tab(1).net_weight = FND_API.G_MISS_NUM AND
796 l_rec_attr_tab(1).volume = FND_API.G_MISS_NUM) THEN
797 l_rec_attr_tab(1).wv_frozen_flag := 'N';
798 ELSE
799 l_rec_attr_tab(1).wv_frozen_flag := 'Y';
800 END IF;
801 END IF;
802 --
803 l_delivery_in_rec.action_code := p_action_code;
804 l_delivery_in_rec.caller := 'WSH_PUB';
805 wsh_interface_grp.create_update_delivery(
806 p_api_version_number => p_api_version_number,
807 p_init_msg_list => p_init_msg_list,
808 p_commit => l_commit,
809 p_in_rec => l_delivery_in_rec,
810 p_rec_attr_tab => l_rec_attr_tab,
811 x_del_out_rec_tab => l_del_out_rec_tab,
812 x_return_status => l_return_status,
813 x_msg_count => x_msg_count,
814 x_msg_data => x_msg_data);
815 --
816 IF l_debug_on THEN
817 wsh_debug_sv.log(l_module_name,'Return Status After Calling create_update_delivery',l_return_status);
818 END IF;
819 --
820 wsh_util_core.api_post_call(
821 p_return_status => l_return_status,
822 x_num_errors => l_num_errors,
823 x_num_warnings => l_num_warnings,
824 p_msg_data => x_msg_data);
825 --
826 --
827 IF l_del_out_rec_tab.COUNT <> 0 THEN
828 --
829 x_delivery_id := l_del_out_rec_tab(l_del_out_rec_tab.COUNT).delivery_id;
830 x_name := l_del_out_rec_tab(l_del_out_rec_tab.COUNT).name;
831 --
832 END IF;
833 --
834 IF l_num_warnings > 0 THEN
835 x_return_status := wsh_util_core.g_ret_sts_warning;
836 ELSE
837 x_return_status := wsh_util_core.g_ret_sts_success; --bug 2398628
838 END IF;
839 --
840 FND_MSG_PUB.Count_And_Get
841 ( p_count => x_msg_count
842 , p_data => x_msg_data
843 );
844 --
845 IF l_debug_on THEN
846 WSH_DEBUG_SV.pop(l_module_name);
847 END IF;
848 --
849 EXCEPTION
850 WHEN FND_API.G_EXC_ERROR THEN
851 x_return_status := FND_API.G_RET_STS_ERROR;
852 -- Get message count and data
853 FND_MSG_PUB.Count_And_Get
854 ( p_count => x_msg_count
858 IF l_debug_on THEN
855 , p_data => x_msg_data
856 );
857 --
859 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_EXCEP_LEVEL);
860 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
861 END IF;
862 --
863 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
864 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
865 -- Get message count and data
866 FND_MSG_PUB.Count_And_Get
867 ( p_count => x_msg_count
868 , p_data => x_msg_data
869 );
870 --
871 IF l_debug_on THEN
872 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
873 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
874 END IF;
875 --
876 WHEN OTHERS THEN
877 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
878 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
879 THEN
880 FND_MSG_PUB.Add_Exc_Msg
881 ( G_PKG_NAME
882 , '_x_'
883 );
884 END IF;
885 -- Get message count and data
886 FND_MSG_PUB.Count_And_Get
887 ( p_count => x_msg_count
888 , p_data => x_msg_data
889 );
890 --
891 IF l_debug_on THEN
892 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
893 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
894 END IF;
895 --
896 END Create_Update_Delivery;
897
898 PROCEDURE Delivery_Action
899 ( p_api_version_number IN NUMBER,
900 p_init_msg_list IN VARCHAR2,
901 x_return_status OUT NOCOPY VARCHAR2,
902 x_msg_count OUT NOCOPY NUMBER,
903 x_msg_data OUT NOCOPY VARCHAR2,
904 p_action_code IN VARCHAR2,
905 p_delivery_id IN NUMBER DEFAULT NULL,
906 p_delivery_name IN VARCHAR2 DEFAULT NULL,
907 p_asg_trip_id IN NUMBER DEFAULT NULL,
908 p_asg_trip_name IN VARCHAR2 DEFAULT NULL,
909 p_asg_pickup_stop_id IN NUMBER DEFAULT NULL,
910 p_asg_pickup_loc_id IN NUMBER DEFAULT NULL,
911 p_asg_pickup_stop_seq IN NUMBER DEFAULT NULL,
912 p_asg_pickup_loc_code IN VARCHAR2 DEFAULT NULL,
913 p_asg_pickup_arr_date IN DATE DEFAULT NULL,
914 p_asg_pickup_dep_date IN DATE DEFAULT NULL,
915 p_asg_dropoff_stop_id IN NUMBER DEFAULT NULL,
916 p_asg_dropoff_loc_id IN NUMBER DEFAULT NULL,
917 p_asg_dropoff_stop_seq IN NUMBER DEFAULT NULL,
918 p_asg_dropoff_loc_code IN VARCHAR2 DEFAULT NULL,
919 p_asg_dropoff_arr_date IN DATE DEFAULT NULL,
920 p_asg_dropoff_dep_date IN DATE DEFAULT NULL,
921 p_sc_action_flag IN VARCHAR2 DEFAULT 'S',
922 p_sc_intransit_flag IN VARCHAR2 DEFAULT 'N',
923 p_sc_close_trip_flag IN VARCHAR2 DEFAULT 'N',
924 p_sc_create_bol_flag IN VARCHAR2 DEFAULT 'N',
925 p_sc_stage_del_flag IN VARCHAR2 DEFAULT 'Y',
926 p_sc_trip_ship_method IN VARCHAR2 DEFAULT NULL,
927 p_sc_actual_dep_date IN DATE DEFAULT NULL,
928 p_sc_report_set_id IN NUMBER DEFAULT NULL,
929 p_sc_report_set_name IN VARCHAR2 DEFAULT NULL,
930 p_sc_defer_interface_flag IN VARCHAR2 DEFAULT 'Y',
931 p_sc_send_945_flag IN VARCHAR2 DEFAULT NULL,
932 p_sc_rule_id IN NUMBER DEFAULT NULL,
933 p_sc_rule_name IN VARCHAR2 DEFAULT NULL,
934 p_wv_override_flag IN VARCHAR2 DEFAULT 'N',
935 x_trip_id OUT NOCOPY VARCHAR2,
936 x_trip_name OUT NOCOPY VARCHAR2)
937 --
938 IS
939 --
940 l_api_version_number CONSTANT NUMBER := 1.0;
941 l_api_name CONSTANT VARCHAR2(30):= 'Delivery_Action';
942 --
943 l_debug_on BOOLEAN;
944 --
945 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'DELIVERY_ACTION_PUB';
946 --
947 --
948 l_action_prms wsh_deliveries_grp.action_parameters_rectype;
949 l_del_action_out_rec wsh_deliveries_grp.Delivery_Action_Out_Rec_Type;
950 l_delivery_id_tab wsh_util_core.id_tab_type;
951 --
952 l_delivery_id NUMBER := p_delivery_id;
953 --
954 l_num_errors NUMBER := 0;
955 l_num_warnings NUMBER := 0;
956 l_return_status VARCHAR2(1);
957 l_first NUMBER := 0;
958 l_commit VARCHAR2(100) := FND_API.G_FALSE;
959 --
960 BEGIN
961 --
962 --
963 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
964 --
965 IF l_debug_on IS NULL
966 THEN
967 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
968 END IF;
969 --
970 IF l_debug_on THEN
971 wsh_debug_sv.push(l_module_name);
972 END IF;
973 --
974 -- Standard call to check for call compatibility
975 IF NOT FND_API.Compatible_API_Call
976 ( l_api_version_number
977 , p_api_version_number
978 , l_api_name
979 , G_PKG_NAME
980 )
981 THEN
985 -- Initialize message stack if required
982 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
983 END IF;
984
986 IF FND_API.to_Boolean(p_init_msg_list) THEN
987 FND_MSG_PUB.initialize;
988 END IF;
989
990 wsh_util_validate.validate_delivery_name(
991 p_delivery_id => l_delivery_id,
992 p_delivery_name => p_delivery_name,
993 x_return_status => l_return_status);
994 --
995 IF l_debug_on THEN
996 wsh_debug_sv.log(l_module_name,'Return Status After Calling validate_delivery_name',l_return_status);
997 END IF;
998 --
999 wsh_util_core.api_post_call(
1000 p_return_status => l_return_status,
1001 x_num_errors => l_num_errors,
1002 x_num_warnings => l_num_warnings);
1003 --
1004 l_action_prms.caller := 'WSH_PUB';
1005 l_action_prms.action_code := p_action_code;
1006 --
1007 -- initializing the action specific parameters
1008 l_action_prms.trip_id := p_asg_trip_id;
1009 l_action_prms.trip_name := p_asg_trip_name;
1010 l_action_prms.pickup_stop_id := p_asg_pickup_stop_id;
1011 l_action_prms.pickup_loc_id := p_asg_pickup_loc_id;
1012 l_action_prms.pickup_stop_seq := p_asg_pickup_stop_seq;
1013 l_action_prms.pickup_loc_code := p_asg_pickup_loc_code;
1014 l_action_prms.pickup_arr_date := p_asg_pickup_arr_date;
1015 l_action_prms.pickup_dep_date := p_asg_pickup_dep_date;
1016 l_action_prms.dropoff_stop_id := p_asg_dropoff_stop_id;
1017 l_action_prms.dropoff_loc_id := p_asg_dropoff_loc_id;
1018 l_action_prms.dropoff_stop_seq := p_asg_dropoff_stop_seq;
1019 l_action_prms.dropoff_loc_code := p_asg_dropoff_loc_code;
1020 l_action_prms.dropoff_arr_date := p_asg_dropoff_arr_date;
1021 l_action_prms.dropoff_dep_date := p_asg_dropoff_dep_date;
1022 l_action_prms.action_flag := p_sc_action_flag;
1023 l_action_prms.intransit_flag := p_sc_intransit_flag;
1024 l_action_prms.close_trip_flag := p_sc_close_trip_flag;
1025 l_action_prms.bill_of_lading_flag := p_sc_create_bol_flag;
1026 l_action_prms.stage_del_flag := p_sc_stage_del_flag;
1027 l_action_prms.ship_method_code := p_sc_trip_ship_method;
1028 l_action_prms.actual_dep_date := p_sc_actual_dep_date;
1029 l_action_prms.report_set_id := p_sc_report_set_id;
1030 l_action_prms.report_set_name := p_sc_report_set_name;
1031 l_action_prms.defer_interface_flag := p_sc_defer_interface_flag;
1032 l_action_prms.send_945_flag := p_sc_send_945_flag;
1033 l_action_prms.sc_rule_id := p_sc_rule_id;
1034 l_action_prms.sc_rule_name := p_sc_rule_name;
1035 l_action_prms.override_flag := p_wv_override_flag;
1036 IF p_action_code = 'WT-VOL' THEN
1037 l_action_prms.override_flag := 'Y';
1038 END IF;
1039 --
1040 l_delivery_id_tab(1) := l_delivery_id;
1041 --
1042 wsh_interface_grp.Delivery_Action(
1043 p_api_version_number => p_api_version_number,
1044 p_init_msg_list => p_init_msg_list,
1045 p_commit => l_commit,
1046 p_action_prms => l_action_prms,
1047 p_delivery_id_tab => l_delivery_id_tab,
1048 x_delivery_out_rec => l_del_action_out_rec,
1049 x_return_status => x_return_status,
1050 x_msg_count => x_msg_count,
1051 x_msg_data => x_msg_data);
1052 --
1053 IF l_debug_on THEN
1054 wsh_debug_sv.log(l_module_name,'Return Status After Calling Delivery_Action Wrapper',x_return_status);
1055 END IF;
1056 --
1057 wsh_util_core.api_post_call(
1058 p_return_status => x_return_status,
1059 x_num_errors => l_num_errors,
1060 x_num_warnings => l_num_warnings);
1061 --
1062 IF p_action_code = 'AUTOCREATE-TRIP' THEN
1063 IF l_del_action_out_rec.result_id_tab.count > 0 THEN
1064 l_first := l_del_action_out_rec.result_id_tab.first;
1065 IF l_del_action_out_rec.result_id_tab(l_first) IS NOT NULL THEN
1066 x_trip_id := l_del_action_out_rec.result_id_tab(l_first);
1067 x_trip_name := wsh_trips_pvt.get_name(l_del_action_out_rec.result_id_tab(l_first));
1068 END IF;
1069 END IF;
1070 END IF;
1071 --
1072 IF l_num_warnings > 0 THEN
1073 x_return_status := wsh_util_core.g_ret_sts_warning;
1074 ELSE
1075 x_return_status := wsh_util_core.g_ret_sts_success; --bug 2398628
1076 END IF;
1077 --
1078 FND_MSG_PUB.Count_And_Get
1079 ( p_count => x_msg_count
1080 , p_data => x_msg_data
1081 );
1082 --
1083 IF l_debug_on THEN
1084 WSH_DEBUG_SV.pop(l_module_name);
1085 END IF;
1086 --
1087 EXCEPTION
1088 WHEN FND_API.G_EXC_ERROR THEN
1089 x_return_status := FND_API.G_RET_STS_ERROR;
1090 -- Get message count and data
1091 FND_MSG_PUB.Count_And_Get
1092 ( p_count => x_msg_count
1093 , p_data => x_msg_data
1094 );
1095 --
1096 IF l_debug_on THEN
1097 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_EXCEP_LEVEL);
1098 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
1099 END IF;
1100 --
1101 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1102 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1106 , p_data => x_msg_data
1103 -- Get message count and data
1104 FND_MSG_PUB.Count_And_Get
1105 ( p_count => x_msg_count
1107 );
1108 --
1109 IF l_debug_on THEN
1110 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1111 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
1112 END IF;
1113 --
1114 WHEN OTHERS THEN
1115 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1116 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1117 THEN
1118 FND_MSG_PUB.Add_Exc_Msg
1119 ( G_PKG_NAME
1120 , '_x_'
1121 );
1122 END IF;
1123 -- Get message count and data
1124 FND_MSG_PUB.Count_And_Get
1125 ( p_count => x_msg_count
1126 , p_data => x_msg_data
1127 );
1128 --
1129 IF l_debug_on THEN
1130 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1131 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
1132 END IF;
1133 --
1134
1135 END Delivery_Action;
1136
1137 --============================================================================
1138 -- PROCEDURE : Generate_Documents PUBLIC API
1139 --
1140 -- PARAMETERS : p_report_set_name Report Set Name
1141 -- p_organization_code Organization Code
1142 -- p_delivery_name Delivery Name's
1143 -- x_msg_count Error Message Count
1144 -- x_msg_data Error Message
1145 -- x_return_status Return Status
1146 --
1147 -- VERSION : current version 1.0
1148 -- initial version 1.0
1149 --
1150 -- COMMENT : This Procedure is created for Backward Compatability.
1151 -- This procedure inturn calls procedure Delivery_Actions for
1152 -- generating documents.
1153 --
1154 -- CREATED BY : version 1.0.1 UESHANKA
1155 -- CREATION DT : version 1.0.1 12/MAR/2003
1156 --
1157 --============================================================================
1158
1159 PROCEDURE Generate_Documents
1160 ( p_report_set_name IN VARCHAR2,
1161 p_organization_code IN VARCHAR2,
1162 p_delivery_name IN WSH_UTIL_CORE.Column_Tab_Type,
1163 x_msg_count OUT NOCOPY NUMBER,
1164 x_msg_data OUT NOCOPY VARCHAR2,
1165 x_return_status OUT NOCOPY VARCHAR2
1166 ) IS
1167 -- Local Variables
1168 l_delivery_count NUMBER;
1169 l_count NUMBER;
1170 l_delivery_id NUMBER;
1171 l_delivery_name WSH_NEW_DELIVERIES.Name%TYPE;
1172 l_num_errors NUMBER;
1173 l_num_warnings NUMBER;
1174
1175 -- Debug Variables
1176 l_debug_on BOOLEAN;
1177 l_module_name CONSTANT VARCHAR2(75) := 'WSH.PLSQL.' ||
1178 G_PKG_NAME ||
1179 '.Generate_Documents';
1180
1181 -- Parameter Variables for WSH_DOCUMENT_SET.Print_Document_Sets
1182 l_report_set_id NUMBER;
1183 l_organization_id NUMBER;
1184 l_trip_id WSH_TRIPS.Trip_Id%TYPE;
1185 l_trip_name WSH_TRIPS.Name%TYPE;
1186 l_msg_count NUMBER;
1187 l_msg_data VARCHAR2(500);
1188 l_return_status VARCHAR2(1);
1189 l_delivery_ids WSH_UTIL_CORE.Id_Tab_Type;
1190 l_document_param_info WSH_DOCUMENT_SETS.Document_Set_Tab_Type;
1191
1192 -- Exception
1193 WSH_INVALID_ORGANIZATION EXCEPTION;
1194 WSH_INVALID_DELIVERY EXCEPTION;
1195 BEGIN
1196 -- Enabling Debug Starts
1197 l_debug_on := WSH_DEBUG_INTERFACE.G_DEBUG;
1198
1199 IF ( l_debug_on IS NULL ) THEN
1200 l_debug_on := WSH_DEBUG_SV.Is_Debug_Enabled;
1201 END IF;
1202
1203 IF l_debug_on THEN
1204 WSH_DEBUG_SV.Push(l_module_name, 'Generate_Documents');
1205 WSH_DEBUG_SV.Logmsg(l_module_name, 'Parameters passed to Generate_Documents');
1206 WSH_DEBUG_SV.Logmsg(l_module_name, 'P_Report_Set_Name => ' || p_report_set_name);
1207 WSH_DEBUG_SV.Logmsg(l_module_name, 'P_Organization_Code => ' || p_organization_code);
1208 IF p_delivery_name.count > 0 THEN
1209 WSH_DEBUG_SV.Logmsg(l_module_name, 'Delivery Names Passed : ');
1210 FOR i IN 1..p_delivery_name.count LOOP
1211 WSH_DEBUG_SV.Logmsg(l_module_name, 'P_Delivery_Name(' || i || ') => '
1212 || p_delivery_name(i));
1213 END LOOP;
1214 END IF;
1215 END IF;
1216
1217 -- Assigning Success to x_return_status Initially
1218 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
1219 l_count := 0;
1220
1221 -- Validation of Organization_Code
1222 WSH_UTIL_VALIDATE.Validate_Org(
1223 l_organization_id ,
1224 p_organization_code,
1225 x_return_status );
1226 IF l_debug_on THEN
1230 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
1227 WSH_DEBUG_SV.Logmsg(l_module_name, 'Return status from Validate_Org : ' || x_return_status);
1228 END IF;
1229
1231 RAISE WSH_INVALID_ORGANIZATION;
1232 END IF;
1233
1234 -- Validation of Delivery Names
1235 l_delivery_count := p_delivery_name.count;
1236
1237 IF (nvl(l_delivery_count, 0) > 0) THEN
1238 BEGIN
1239 FOR i in 1..l_delivery_count LOOP
1240
1241 l_delivery_name := p_delivery_name(i);
1242 l_delivery_id := NULL;
1243 WSH_UTIL_VALIDATE.Validate_Delivery_Name(
1244 l_delivery_id ,
1245 l_delivery_name,
1246 x_return_status);
1247 IF l_debug_on THEN
1248 WSH_DEBUG_SV.Logmsg(l_module_name, 'Return status for Delivery Name (' ||
1249 l_delivery_name || ') : ' || x_return_status);
1250 END IF;
1251
1252 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
1253 FND_MESSAGE.Set_Name('WSH', 'WSH_INVALID_DELIVERY');
1254 FND_MESSAGE.Set_Token('DELIVERY', l_delivery_name);
1255 WSH_UTIL_CORE.Add_Message(x_return_status);
1256 ELSE
1257 l_count := l_count + 1;
1258 l_delivery_ids(l_count) := l_delivery_id;
1259 END IF;
1260
1261 END LOOP;
1262 END;
1263 ELSE
1264 RAISE WSH_INVALID_DELIVERY;
1265 END IF;
1266
1267 -- WSH_DELIVERIES_PUB.Delivery_Actions called for generating and printing reports.
1268 IF (l_count > 0) THEN
1269 FOR i IN 1..l_count LOOP -- { l_Count For Loop
1270
1271 l_delivery_id := l_delivery_ids(i);
1272 WSH_DELIVERIES_PUB.Delivery_Action(
1273 p_api_version_number => 1.0,
1274 p_init_msg_list => 'F',
1275 p_action_code => 'PRINT-DOC-SETS',
1276 p_sc_report_set_name => p_report_set_name,
1277 p_delivery_id => l_delivery_id ,
1278 x_msg_count => l_msg_count,
1279 x_msg_data => l_msg_data,
1280 x_trip_id => l_trip_id ,
1281 x_trip_name => l_trip_name,
1282 x_return_status => l_return_status);
1283
1284 WSH_UTIL_CORE.Api_Post_Call(
1285 p_return_status => l_return_status,
1286 x_num_errors => l_num_errors ,
1287 x_num_warnings => l_num_warnings );
1288
1289 IF l_debug_on THEN
1290 WSH_DEBUG_SV.Logmsg(l_module_name, 'Return status for Delivery Id (' ||
1291 l_delivery_id || ') : ' || l_return_status);
1292 END IF;
1293
1294 END LOOP; -- } l_Count For Loop.
1295
1296 IF l_num_warnings > 0 THEN
1297 x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
1298 ELSE
1299 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
1300 END IF;
1301
1302 ELSE
1303 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1304 IF l_debug_on THEN
1305 WSH_DEBUG_SV.Logmsg(l_module_name,
1306 'Deliveries passed are Invalid for generating ' || upper(p_report_set_name));
1307 END IF;
1308
1309 END IF;
1310
1311 FND_MSG_PUB.Count_And_Get(
1312 p_count => x_msg_count,
1313 p_data => x_msg_data );
1314
1315 IF l_debug_on THEN
1316 WSH_DEBUG_SV.Pop(l_module_name);
1317 END IF;
1318
1319 -- Exception Handling Block
1320 EXCEPTION
1321 WHEN FND_API.G_EXC_ERROR THEN
1322 x_return_status := FND_API.G_RET_STS_ERROR;
1323 IF l_debug_on THEN
1324 WSH_DEBUG_SV.Logmsg(l_module_name,
1325 'Expected error occured. Oracle error message is ' || SQLERRM,
1326 WSH_DEBUG_SV.C_EXCEP_LEVEL);
1327 WSH_DEBUG_SV.Pop(l_module_name, 'EXCEPTION: FND_API.G_EXC_ERROR');
1328 END IF;
1329 FND_MSG_PUB.Count_And_Get(
1330 p_count => x_msg_count,
1331 p_data => x_msg_data );
1332
1333 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1334 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1335 IF l_debug_on THEN
1336 WSH_DEBUG_SV.Logmsg(l_module_name,
1337 'Unexpected error occured. Oracle error message is ' || SQLERRM,
1338 WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1339 WSH_DEBUG_SV.Pop(l_module_name, 'EXCEPTION: FND_API.G_EXC_UNEXPECTED_ERROR');
1340 END IF;
1341 FND_MSG_PUB.Count_And_Get(
1342 p_count => x_msg_count,
1343 p_data => x_msg_data );
1344
1345 WHEN WSH_INVALID_ORGANIZATION THEN
1346 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1347 IF l_debug_on THEN
1348 WSH_DEBUG_SV.Logmsg(l_module_name, 'WSH_INVALID_ORGANIZATION : ' || x_return_status);
1349 END IF;
1350 FND_MSG_PUB.Count_And_Get(
1351 p_count => x_msg_count,
1352 p_data => x_msg_data );
1353
1354 WHEN WSH_INVALID_DELIVERY THEN
1355 FND_MESSAGE.Set_Name('WSH', 'WSH_DOC_INVALID_DELIVERY');
1356 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1357 IF l_debug_on THEN
1358 WSH_DEBUG_SV.Logmsg(l_module_name, 'WSH_INVALID_DELIVERY : ' || x_return_status);
1359 END IF;
1360 WSH_UTIL_CORE.Add_Message(x_return_status);
1361 FND_MSG_PUB.Count_And_Get(
1362 p_count => x_msg_count,
1363 p_data => x_msg_data );
1364
1365 WHEN OTHERS THEN
1366 WSH_UTIL_CORE.Default_Handler('WSH_DELIVERIES_PUB.GENEREATE_DOCUMENTS');
1367 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
1368 IF l_debug_on THEN
1369 WSH_DEBUG_SV.Logmsg(l_module_name, 'Unexpected Error : ' || x_return_status);
1370 WSH_DEBUG_SV.Logmsg(l_module_name, 'Error Message : ' || SQLERRM);
1371 END IF;
1372 FND_MSG_PUB.Count_And_Get(
1373 p_count => x_msg_count,
1374 p_data => x_msg_data );
1375 END Generate_Documents;
1376
1377
1378
1379 END WSH_DELIVERIES_PUB;