[Home] [Help]
PACKAGE BODY: APPS.WSH_TRIPS_PUB
Source
1 PACKAGE BODY WSH_TRIPS_PUB as
2 /* $Header: WSHTRPBB.pls 120.1 2005/07/28 10:26:15 parkhj noship $ */
3
4 --===================
5 -- CONSTANTS
6 --===================
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WSH_TRIPS_PUB';
8 -- add your constants here if any
9
10 --===================
11 -- PROCEDURES
12 --===================
13
14 --========================================================================
15 -- PROCEDURE : Trip_Action PUBLIC
16 --
17 -- PARAMETERS: p_api_version_number known api version error number
18 -- p_init_msg_list FND_API.G_TRUE to reset list
19 -- x_return_status return status
20 -- x_msg_count number of messages in the list
21 -- x_msg_data text of messages
22 -- p_action_code Trip action code. Valid action codes are
23 -- 'PLAN','UNPLAN',
24 -- 'WT-VOL'
25 -- 'PICK-RELEASE'
26 -- 'DELETE'
27 -- p_trip_id Trip identifier
28 -- p_trip_name Trip name
29 -- p_wv_override_flag Override flag for weight/volume calc
30 -- VERSION : current version 1.0
31 -- initial version 1.0
32 -- COMMENT : This procedure is used to perform an action specified in p_action_code
33 -- on an existing trip identified by p_trip_id or trip_name
34 --
35 --========================================================================
36
37 PROCEDURE Trip_Action
38 ( p_api_version_number IN NUMBER,
39 p_init_msg_list IN VARCHAR2,
40 x_return_status OUT NOCOPY VARCHAR2,
41 x_msg_count OUT NOCOPY NUMBER,
42 x_msg_data OUT NOCOPY VARCHAR2,
43 p_action_code IN VARCHAR2,
44 p_trip_id IN NUMBER DEFAULT NULL,
45 p_trip_name IN VARCHAR2 DEFAULT NULL,
46 p_wv_override_flag IN VARCHAR2 DEFAULT 'N',
47 p_report_set_name IN varchar2 ) IS
48
49 l_api_version_number CONSTANT NUMBER := 1.0;
50 l_api_name CONSTANT VARCHAR2(30):= 'Trip_Action';
51 l_trip_out_rec WSH_TRIPS_GRP.tripActionOutRecType;
52 l_action_prms WSH_TRIPS_GRP.action_parameters_rectype;
53 l_entity_id_tab wsh_util_core.id_tab_type;
54 l_num_warning NUMBER := 0;
55 l_num_errors NUMBER := 0;
56 l_return_status varchar2(1000);
57 l_report_set_id NUMBER;
58
59 l_debug_on BOOLEAN;
60 --
61 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.'
62 || 'TRIP_ACTION';
63 trip_action_error EXCEPTION;
64
65 l_trip_id NUMBER := p_trip_id;
66
67 BEGIN
68 -- Standard call to check for call compatibility
69 --
70 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
71 --
72 IF l_debug_on IS NULL
73 THEN
74 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
75 END IF;
76 --
77 IF l_debug_on THEN
78 wsh_debug_sv.push (l_module_name);
79 wsh_debug_sv.log (l_module_name,'p_api_version_number',
80 p_api_version_number);
81 wsh_debug_sv.log (l_module_name,'p_init_msg_list',p_init_msg_list);
82 wsh_debug_sv.log (l_module_name,'p_action_code',p_action_code);
83 wsh_debug_sv.log (l_module_name,'p_trip_id',p_trip_id);
84 wsh_debug_sv.log (l_module_name,'p_trip_name',p_trip_name);
85 wsh_debug_sv.log (l_module_name,'p_wv_override_flag',
86 p_wv_override_flag);
87 wsh_debug_sv.log (l_module_name,'p_report_set_name',
88 p_report_set_name);
89 END IF;
90
91 IF NOT FND_API.Compatible_API_Call
92 ( l_api_version_number
93 , p_api_version_number
94 , l_api_name
95 , G_PKG_NAME
96 )
97 THEN
98 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99 END IF;
100
101 -- Initialize message stack if required
102 IF FND_API.to_Boolean(p_init_msg_list) THEN
103 FND_MSG_PUB.initialize;
104 END IF;
105
106 -- <begin procedure logic>
107
108
109 wsh_util_validate.validate_trip_name( l_trip_id,
110 p_trip_name,
111 x_return_status);
112
113 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
114 raise trip_action_error;
115 END IF;
116
117 IF p_report_set_name IS NOT NULL
118 AND p_report_set_name <> fnd_api.G_MISS_CHAR
119 AND p_action_code = 'PRINT-DOC-SETS' THEN
120 WSH_UTIL_VALIDATE.validate_report_set(
121 p_report_set_id => l_report_set_id,
122 p_report_set_name => p_report_set_name,
123 x_return_status => x_return_status);
124
125 IF l_debug_on THEN
126 wsh_debug_sv.log (l_module_name,'l_report_set_id',l_report_set_id);
127 END IF;
128
129 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
130 raise trip_action_error;
131 END IF;
132
133 l_action_prms.report_set_id := l_report_set_id;
134
135 END IF;
136
137 l_entity_id_tab(1) := l_trip_id;
138
139 l_action_prms.action_code := p_action_code;
140 l_action_prms.caller := 'WSH_API';
141
142 l_action_prms.override_flag := p_wv_override_flag;
143
144 WSH_INTERFACE_GRP.Trip_Action(
145 p_api_version_number => 1.0,
146 p_init_msg_list => FND_API.G_FALSE,
147 p_commit => FND_API.G_TRUE,
148 p_entity_id_tab => l_entity_id_tab,
149 p_action_prms => l_action_prms,
150 x_trip_out_rec => l_trip_out_rec,
151 x_return_status => l_return_status,
152 x_msg_count => x_msg_count,
153 x_msg_data => x_msg_data);
154
155 wsh_util_core.api_post_call(p_return_status =>l_return_status,
156 x_num_warnings =>l_num_warning,
157 x_num_errors =>l_num_errors);
158
159 x_return_status := l_return_status;
160
161 FND_MSG_PUB.Count_And_Get
162 ( p_count => x_msg_count
163 , p_data => x_msg_data
164 ,p_encoded => FND_API.G_FALSE
165 );
166
167 IF l_debug_on THEN
168 WSH_DEBUG_SV.pop(l_module_name);
169 END IF;
170
171
172 EXCEPTION
173
174 WHEN trip_action_error THEN
175 FND_MESSAGE.SET_NAME('WSH','WSH_OI_TRIP_ACTION_ERROR');
176 FND_MESSAGE.SET_TOKEN('TRIP_NAME', wsh_trips_pvt.get_name(l_trip_id));
177 FND_MESSAGE.SET_TOKEN('ACTION', wsh_util_core.get_action_meaning('TRIP',p_action_code));
178 wsh_util_core.add_message(x_return_status,l_module_name);
179 FND_MSG_PUB.Count_And_Get
180 ( p_count => x_msg_count
181 , p_data => x_msg_data
182 ,p_encoded => FND_API.G_FALSE
183 );
184 IF l_debug_on THEN
185 wsh_debug_sv.log (l_module_name,'EXCEPTION:trip_action_error');
186 WSH_DEBUG_SV.pop(l_module_name);
187 END IF;
188
189 WHEN FND_API.G_EXC_ERROR THEN
190 x_return_status := FND_API.G_RET_STS_ERROR;
191 -- Get message count and data
192 FND_MSG_PUB.Count_And_Get
193 ( p_count => x_msg_count
194 , p_data => x_msg_data
195 ,p_encoded => FND_API.G_FALSE
196 );
197 IF l_debug_on THEN
198 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_EXC_ERROR');
199 WSH_DEBUG_SV.pop(l_module_name);
200 END IF;
201
202 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
204 -- Get message count and data
205 FND_MSG_PUB.Count_And_Get
206 ( p_count => x_msg_count
207 , p_data => x_msg_data
208 ,p_encoded => FND_API.G_FALSE
209 );
210 IF l_debug_on THEN
211 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_RET_STS_UNEXP_ERROR');
212 WSH_DEBUG_SV.pop(l_module_name);
213 END IF;
214
215 WHEN WSH_UTIL_CORE.G_EXC_WARNING THEN
216
217 x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
218 -- Get message count and data
219 FND_MSG_PUB.Count_And_Get
220 ( p_count => x_msg_count
221 , p_data => x_msg_data
222 ,p_encoded => FND_API.G_FALSE
223 );
224 IF l_debug_on THEN
225 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_RET_STS_WARNING');
226 WSH_DEBUG_SV.pop(l_module_name);
227 END IF;
228
229
230 WHEN OTHERS THEN
231 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
232 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
233 THEN
234 FND_MSG_PUB.Add_Exc_Msg
235 ( G_PKG_NAME
236 , '_x_'
237 );
238 END IF;
239 -- Get message count and data
240 FND_MSG_PUB.Count_And_Get
241 ( p_count => x_msg_count
242 , p_data => x_msg_data
243 ,p_encoded => FND_API.G_FALSE
244 );
245 IF l_debug_on THEN
246 wsh_debug_sv.log (l_module_name,'Others',substr(sqlerrm,1,200));
247 WSH_DEBUG_SV.pop(l_module_name);
248 END IF;
249
250 END Trip_Action;
251
252
253 --========================================================================
254 -- PROCEDURE : Trip_Action PUBLIC
255 --
256 -- PARAMETERS: p_api_version_number known api version error number
257 -- p_init_msg_list FND_API.G_TRUE to reset list
258 -- p_commit FND_API.G_TRUE to commit
259 -- x_return_status return status
260 -- x_msg_count number of messages in the list
261 -- x_msg_data text of messages
262 -- p_action_param_rec Action Parameters Valid action codes are
263 -- 'PLAN','UNPLAN',
264 -- 'WT-VOL'
265 -- 'PICK-RELEASE'
266 -- 'DELETE'
267 -- 'TRIP-CONFIRM'
268 -- p_trip_id Trip identifier
269 -- p_trip_name Trip name
270 -- VERSION : current version 1.0
271 -- initial version 1.0
272 -- COMMENT : This procedure is used to perform an action specified in p_action_param_rec
273 -- on an existing trip identified by p_trip_id or trip_name
274 --
275 --========================================================================
276
277 PROCEDURE Trip_Action
278 ( p_api_version_number IN NUMBER,
279 p_init_msg_list IN VARCHAR2,
280 p_commit IN VARCHAR2,
281 x_return_status OUT NOCOPY VARCHAR2,
282 x_msg_count OUT NOCOPY NUMBER,
283 x_msg_data OUT NOCOPY VARCHAR2,
284 p_action_param_rec IN WSH_TRIPS_PUB.Action_Param_Rectype,
285 p_trip_id IN NUMBER ,
286 p_trip_name IN VARCHAR2 ) IS
287
288 l_api_version_number CONSTANT NUMBER := 1.0;
289 l_api_name CONSTANT VARCHAR2(30):= 'Trip_Action';
290 l_trip_out_rec WSH_TRIPS_GRP.tripActionOutRecType;
291 l_action_prms WSH_TRIPS_GRP.action_parameters_rectype;
292 l_entity_id_tab wsh_util_core.id_tab_type;
293 l_num_warning NUMBER := 0;
294 l_num_errors NUMBER := 0;
295 l_return_status varchar2(1000);
296 l_report_set_id NUMBER;
297
298 l_debug_on BOOLEAN;
299 --
300 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.'
301 || 'TRIP_ACTION';
302 trip_action_error EXCEPTION;
303
304 l_trip_id NUMBER := p_trip_id;
305
306 BEGIN
307 -- Standard call to check for call compatibility
308 --
309 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
310 --
311 IF l_debug_on IS NULL
312 THEN
313 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
314 END IF;
315 --
316 IF l_debug_on THEN
317 wsh_debug_sv.push (l_module_name);
318 wsh_debug_sv.log (l_module_name,'p_api_version_number', p_api_version_number);
319 wsh_debug_sv.log (l_module_name,'p_init_msg_list',p_init_msg_list);
320 wsh_debug_sv.log (l_module_name,'p_commit',p_commit);
321 wsh_debug_sv.log (l_module_name,'action_code',p_action_param_rec.action_code);
322 wsh_debug_sv.log (l_module_name,'organization_id',p_action_param_rec.organization_id);
323 wsh_debug_sv.log (l_module_name,'report_set_name',p_action_param_rec.report_set_name);
324 wsh_debug_sv.log (l_module_name,'report_set_id',p_action_param_rec.report_set_id);
325 wsh_debug_sv.log (l_module_name,'override_flag',p_action_param_rec.override_flag);
326 wsh_debug_sv.log (l_module_name,'actual_date',p_action_param_rec.actual_date);
327 wsh_debug_sv.log (l_module_name,'action_flag',p_action_param_rec.action_flag);
328 wsh_debug_sv.log (l_module_name,'autointransit_flag',p_action_param_rec.autointransit_flag);
329 wsh_debug_sv.log (l_module_name,'autoclose_flag',p_action_param_rec.autoclose_flag);
330 wsh_debug_sv.log (l_module_name,'stage_del_flag',p_action_param_rec.stage_del_flag);
331 wsh_debug_sv.log (l_module_name,'ship_method',p_action_param_rec.ship_method);
332 wsh_debug_sv.log (l_module_name,'bill_of_lading_flag',p_action_param_rec.bill_of_lading_flag);
333 wsh_debug_sv.log (l_module_name,'defer_interface_flag',p_action_param_rec.defer_interface_flag);
334 wsh_debug_sv.log (l_module_name,'actual_departure_date',p_action_param_rec.actual_departure_date);
335 wsh_debug_sv.log (l_module_name,'p_trip_id',p_trip_id);
336 wsh_debug_sv.log (l_module_name,'p_trip_name',p_trip_name);
337 END IF;
338
339 IF NOT FND_API.Compatible_API_Call
340 ( l_api_version_number
341 , p_api_version_number
342 , l_api_name
343 , G_PKG_NAME
344 )
345 THEN
346 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
347 END IF;
348
349 -- Initialize message stack if required
350 IF FND_API.to_Boolean(p_init_msg_list) THEN
351 FND_MSG_PUB.initialize;
352 END IF;
353
354 -- <begin procedure logic>
355
356
357 wsh_util_validate.validate_trip_name( l_trip_id,
358 p_trip_name,
359 x_return_status);
360
361 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
362 raise trip_action_error;
363 END IF;
364
365
366 IF p_action_param_rec.report_set_name IS NOT NULL
367 AND p_action_param_rec.report_set_name <> fnd_api.G_MISS_CHAR
368 AND p_action_param_rec.action_code = 'PRINT-DOC-SETS' THEN
369 WSH_UTIL_VALIDATE.validate_report_set(
370 p_report_set_id => l_report_set_id,
371 p_report_set_name => p_action_param_rec.report_set_name,
372 x_return_status => x_return_status);
373
374
375 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
376 raise trip_action_error;
377 END IF;
378
379 l_action_prms.report_set_id := l_report_set_id;
380
381 ELSE
382
383 l_action_prms.report_set_id := p_action_param_rec.report_set_id;
384
385 END IF;
386
387 IF l_debug_on THEN
388 wsh_debug_sv.log (l_module_name,'l_report_set_id',l_report_set_id);
389 END IF;
390
391 l_entity_id_tab(1) := l_trip_id;
392 l_action_prms.action_code := p_action_param_rec.action_code;
393 l_action_prms.caller := 'WSH_API';
394
395 l_action_prms.organization_id := p_action_param_rec.organization_id;
396 l_action_prms.override_flag := p_action_param_rec.override_flag;
397 l_action_prms.actual_date := p_action_param_rec.actual_date;
398 l_action_prms.action_flag := p_action_param_rec.action_flag;
399 l_action_prms.autointransit_flag := p_action_param_rec.autointransit_flag;
400 l_action_prms.autoclose_flag := p_action_param_rec.autoclose_flag;
401 l_action_prms.stage_del_flag := p_action_param_rec.stage_del_flag;
402 l_action_prms.ship_method := p_action_param_rec.ship_method;
403 l_action_prms.bill_of_lading_flag := p_action_param_rec.bill_of_lading_flag;
404 l_action_prms.defer_interface_flag := p_action_param_rec.defer_interface_flag;
405 l_action_prms.actual_departure_date := p_action_param_rec.actual_departure_date;
406
407 WSH_INTERFACE_GRP.Trip_Action(
408 p_api_version_number => 1.0,
409 p_init_msg_list => FND_API.G_FALSE,
410 p_commit => FND_API.G_FALSE,
411 p_entity_id_tab => l_entity_id_tab,
412 p_action_prms => l_action_prms,
413 x_trip_out_rec => l_trip_out_rec,
414 x_return_status => l_return_status,
415 x_msg_count => x_msg_count,
416 x_msg_data => x_msg_data);
417
418 wsh_util_core.api_post_call(p_return_status =>l_return_status,
419 x_num_warnings =>l_num_warning,
420 x_num_errors =>l_num_errors);
421
422 x_return_status := l_return_status;
423
424 FND_MSG_PUB.Count_And_Get
425 ( p_count => x_msg_count
426 , p_data => x_msg_data
427 ,p_encoded => FND_API.G_FALSE
428 );
429
430 IF FND_API.to_boolean(p_commit) AND x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
431 COMMIT;
432 END IF;
433
434 IF l_debug_on THEN
435 WSH_DEBUG_SV.pop(l_module_name);
436 END IF;
437
438
439 EXCEPTION
440
441 WHEN trip_action_error THEN
442 FND_MESSAGE.SET_NAME('WSH','WSH_OI_TRIP_ACTION_ERROR');
443 FND_MESSAGE.SET_TOKEN('TRIP_NAME', wsh_trips_pvt.get_name(l_trip_id));
444 FND_MESSAGE.SET_TOKEN('ACTION',wsh_util_core.get_action_meaning('TRIP', p_action_param_rec.action_code));
445 wsh_util_core.add_message(x_return_status,l_module_name);
446 FND_MSG_PUB.Count_And_Get
447 ( p_count => x_msg_count
448 , p_data => x_msg_data
449 ,p_encoded => FND_API.G_FALSE
450 );
451 IF l_debug_on THEN
452 wsh_debug_sv.log (l_module_name,'EXCEPTION:trip_action_error');
453 WSH_DEBUG_SV.pop(l_module_name);
454 END IF;
455
456 WHEN FND_API.G_EXC_ERROR THEN
457 x_return_status := FND_API.G_RET_STS_ERROR;
458 -- Get message count and data
459 FND_MSG_PUB.Count_And_Get
460 ( p_count => x_msg_count
461 , p_data => x_msg_data
462 ,p_encoded => FND_API.G_FALSE
463 );
464 IF l_debug_on THEN
465 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_EXC_ERROR');
466 WSH_DEBUG_SV.pop(l_module_name);
467 END IF;
468
469 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
470 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
471 -- Get message count and data
472 FND_MSG_PUB.Count_And_Get
473 ( p_count => x_msg_count
474 , p_data => x_msg_data
475 ,p_encoded => FND_API.G_FALSE
476 );
477 IF l_debug_on THEN
478 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_RET_STS_UNEXP_ERROR');
479 WSH_DEBUG_SV.pop(l_module_name);
480 END IF;
481
482 WHEN WSH_UTIL_CORE.G_EXC_WARNING THEN
483
484 x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
485 -- Get message count and data
486 FND_MSG_PUB.Count_And_Get
487 ( p_count => x_msg_count
488 , p_data => x_msg_data
489 ,p_encoded => FND_API.G_FALSE
490 );
491 IF l_debug_on THEN
492 wsh_debug_sv.log (l_module_name,'EXCEPTION:G_RET_STS_WARNING');
493 WSH_DEBUG_SV.pop(l_module_name);
494 END IF;
495
496
497 WHEN OTHERS THEN
498 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
499 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
500 THEN
501 FND_MSG_PUB.Add_Exc_Msg
502 ( G_PKG_NAME
503 , '_x_'
504 );
505 END IF;
506 -- Get message count and data
507 FND_MSG_PUB.Count_And_Get
508 ( p_count => x_msg_count
509 , p_data => x_msg_data
510 ,p_encoded => FND_API.G_FALSE
511 );
512 IF l_debug_on THEN
513 wsh_debug_sv.log (l_module_name,'Others',substr(sqlerrm,1,200));
514 WSH_DEBUG_SV.pop(l_module_name);
515 END IF;
516
517 END Trip_Action;
518
519
520 --Harmonizing Project **heali
521 PROCEDURE map_trippub_to_pvt(
522 p_pub_trip_rec IN WSH_TRIPS_PUB.TRIP_PUB_REC_TYPE,
523 x_pvt_trip_rec OUT NOCOPY WSH_TRIPS_PVT.TRIP_REC_TYPE,
524 x_return_status OUT NOCOPY VARCHAR2) IS
525
526 l_debug_on BOOLEAN;
527 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'MAP_TRIPPUB_TO_GRP';
528
529 l_return_status VARCHAR2(1);
530 l_num_warnings NUMBER;
531 l_num_errors NUMBER;
532 l_freight_terms_code VARCHAR2(30);
533
534 BEGIN
535 --
536 --
537 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
538 --
539 IF l_debug_on IS NULL
540 THEN
541 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
542 END IF;
543 --
544 IF l_debug_on THEN
545 WSH_DEBUG_SV.push(l_module_name);
546 WSH_DEBUG_SV.log(l_module_name,'p_pub_trip_rec.TRIP_ID',p_pub_trip_rec.TRIP_ID);
547 WSH_DEBUG_SV.log(l_module_name,'p_pub_trip_rec.NAME',p_pub_trip_rec.NAME);
548 END IF;
549 --
550 x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
551
552 x_pvt_trip_rec.TRIP_ID := p_pub_trip_rec.TRIP_ID;
553 x_pvt_trip_rec.NAME := p_pub_trip_rec.NAME;
554 x_pvt_trip_rec.PLANNED_FLAG := FND_API.G_MISS_CHAR;
555 x_pvt_trip_rec.ARRIVE_AFTER_TRIP_ID := p_pub_trip_rec.ARRIVE_AFTER_TRIP_ID;
556 x_pvt_trip_rec.STATUS_CODE := FND_API.G_MISS_CHAR;
557 x_pvt_trip_rec.VEHICLE_ITEM_ID := p_pub_trip_rec.VEHICLE_ITEM_ID;
558 x_pvt_trip_rec.VEHICLE_ORGANIZATION_ID := p_pub_trip_rec.VEHICLE_ORGANIZATION_ID;
559 x_pvt_trip_rec.VEHICLE_NUMBER := p_pub_trip_rec.VEHICLE_NUMBER;
560 x_pvt_trip_rec.VEHICLE_NUM_PREFIX := p_pub_trip_rec.VEHICLE_NUM_PREFIX;
561 x_pvt_trip_rec.CARRIER_ID := p_pub_trip_rec.CARRIER_ID;
562 x_pvt_trip_rec.SHIP_METHOD_CODE := p_pub_trip_rec.SHIP_METHOD_CODE;
563 x_pvt_trip_rec.ROUTE_ID := p_pub_trip_rec.ROUTE_ID;
564 x_pvt_trip_rec.ROUTING_INSTRUCTIONS := p_pub_trip_rec.ROUTING_INSTRUCTIONS;
565 x_pvt_trip_rec.ATTRIBUTE_CATEGORY := p_pub_trip_rec.ATTRIBUTE_CATEGORY;
566 x_pvt_trip_rec.ATTRIBUTE1 := p_pub_trip_rec.ATTRIBUTE1;
567 x_pvt_trip_rec.ATTRIBUTE2 := p_pub_trip_rec.ATTRIBUTE2;
568 x_pvt_trip_rec.ATTRIBUTE3 := p_pub_trip_rec.ATTRIBUTE3;
569 x_pvt_trip_rec.ATTRIBUTE4 := p_pub_trip_rec.ATTRIBUTE4;
570 x_pvt_trip_rec.ATTRIBUTE5 := p_pub_trip_rec.ATTRIBUTE5;
571 x_pvt_trip_rec.ATTRIBUTE6 := p_pub_trip_rec.ATTRIBUTE6;
572 x_pvt_trip_rec.ATTRIBUTE7 := p_pub_trip_rec.ATTRIBUTE7;
573 x_pvt_trip_rec.ATTRIBUTE8 := p_pub_trip_rec.ATTRIBUTE8;
574 x_pvt_trip_rec.ATTRIBUTE9 := p_pub_trip_rec.ATTRIBUTE9;
575 x_pvt_trip_rec.ATTRIBUTE10 := p_pub_trip_rec.ATTRIBUTE10;
576 x_pvt_trip_rec.ATTRIBUTE11 := p_pub_trip_rec.ATTRIBUTE11;
577 x_pvt_trip_rec.ATTRIBUTE12 := p_pub_trip_rec.ATTRIBUTE12;
578 x_pvt_trip_rec.ATTRIBUTE13 := p_pub_trip_rec.ATTRIBUTE13;
579 x_pvt_trip_rec.ATTRIBUTE14 := p_pub_trip_rec.ATTRIBUTE14;
580 x_pvt_trip_rec.ATTRIBUTE15 := p_pub_trip_rec.ATTRIBUTE15;
581 x_pvt_trip_rec.CREATION_DATE := p_pub_trip_rec.CREATION_DATE;
582 x_pvt_trip_rec.CREATED_BY := p_pub_trip_rec.CREATED_BY;
583 x_pvt_trip_rec.LAST_UPDATE_DATE := p_pub_trip_rec.LAST_UPDATE_DATE;
584 x_pvt_trip_rec.LAST_UPDATED_BY := p_pub_trip_rec.LAST_UPDATED_BY;
585 x_pvt_trip_rec.LAST_UPDATE_LOGIN := p_pub_trip_rec.LAST_UPDATE_LOGIN;
586 x_pvt_trip_rec.PROGRAM_APPLICATION_ID := p_pub_trip_rec.PROGRAM_APPLICATION_ID;
587 x_pvt_trip_rec.PROGRAM_ID := p_pub_trip_rec.PROGRAM_ID;
588 x_pvt_trip_rec.PROGRAM_UPDATE_DATE := p_pub_trip_rec.PROGRAM_UPDATE_DATE;
589 x_pvt_trip_rec.REQUEST_ID := p_pub_trip_rec.REQUEST_ID;
590 x_pvt_trip_rec.SERVICE_LEVEL := p_pub_trip_rec.SERVICE_LEVEL;
591 x_pvt_trip_rec.MODE_OF_TRANSPORT := p_pub_trip_rec.MODE_OF_TRANSPORT;
592
593 IF p_pub_trip_rec.freight_terms_name <> FND_API.G_MISS_CHAR
594 AND p_pub_trip_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
595 --
596 l_freight_terms_code := NULL;
597 wsh_util_validate.validate_freight_terms(
598 p_freight_terms_code => l_freight_terms_code,
599 p_freight_terms_name => p_pub_trip_rec.freight_terms_name,
600 x_return_status => l_return_status);
601 --
602 IF l_debug_on THEN
603 wsh_debug_sv.log(l_module_name,'Return Status After Calling validate_freight_terms',l_return_status);
604 END IF;
605 --
606 WSH_UTIL_CORE.api_post_call(
607 p_return_status => l_return_status,
608 x_num_warnings => l_num_warnings,
609 x_num_errors => l_num_errors);
610 --
611 ELSE
612 IF p_pub_trip_rec.freight_terms_name IS NULL
613 AND p_pub_trip_rec.freight_Terms_code = FND_API.G_MISS_CHAR THEN
614 l_freight_terms_code := NULL;
615 ELSE
616 l_freight_terms_code := p_pub_trip_rec.freight_terms_code;
617 END IF;
618 END IF;
619
620 x_pvt_trip_rec.FREIGHT_TERMS_CODE := l_freight_terms_code;
621 x_pvt_trip_rec.CONSOLIDATION_ALLOWED := FND_API.G_MISS_CHAR;
622 x_pvt_trip_rec.LOAD_TENDER_STATUS := FND_API.G_MISS_CHAR;
623 x_pvt_trip_rec.ROUTE_LANE_ID := FND_API.G_MISS_NUM;
624 x_pvt_trip_rec.LANE_ID := FND_API.G_MISS_NUM;
625 x_pvt_trip_rec.SCHEDULE_ID := FND_API.G_MISS_NUM;
626 x_pvt_trip_rec.BOOKING_NUMBER := FND_API.G_MISS_CHAR;
627 --x_pvt_trip_rec.ROWID := FND_API.G_MISS_CHAR;
628 x_pvt_trip_rec.ARRIVE_AFTER_TRIP_NAME := p_pub_trip_rec.ARRIVE_AFTER_TRIP_NAME;
629 x_pvt_trip_rec.SHIP_METHOD_NAME := p_pub_trip_rec.SHIP_METHOD_NAME;
630 x_pvt_trip_rec.VEHICLE_ITEM_DESC := p_pub_trip_rec.VEHICLE_ITEM_DESC;
631 x_pvt_trip_rec.VEHICLE_ORGANIZATION_CODE := p_pub_trip_rec.VEHICLE_ORGANIZATION_CODE;
632 x_pvt_trip_rec.OPERATOR := p_pub_trip_rec.OPERATOR;
633 x_pvt_trip_rec.SEAL_CODE := p_pub_trip_rec.SEAL_CODE;
634 x_pvt_trip_rec.CARRIER_REFERENCE_NUMBER := p_pub_trip_rec.CARRIER_REFERENCE_NUMBER;
635 x_pvt_trip_rec.CONSIGNEE_CARRIER_AC_NO := p_pub_trip_rec.CONSIGNEE_CARRIER_AC_NO;
636
637 IF l_debug_on THEN
638 WSH_DEBUG_SV.pop(l_module_name);
639 END IF;
640 --
641 EXCEPTION
642 WHEN FND_API.G_EXC_ERROR THEN
643 x_return_status := FND_API.G_RET_STS_ERROR;
644 -- caller will handle this exception
645 IF l_debug_on THEN
646 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
647 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
648 END IF;
649 --
650 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
651 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
652 -- caller will handle this exception
653
654 IF l_debug_on THEN
655 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
656 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
657 END IF;
658 --
659
660 WHEN OTHERS THEN
661 WSH_UTIL_CORE.DEFAULT_HANDLER('WSH_FTE_INTEGRATION.map_trippub_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;
670
671
672 --========================================================================
673 -- PROCEDURE : Create_Update_Trip PUBLIC
674 --
675 -- PARAMETERS: p_api_version_number known api versionerror buffer
676 -- p_init_msg_list FND_API.G_TRUE to reset list
677 -- x_return_status return status
678 -- x_msg_count number of messages in the list
679 -- x_msg_data text of messages
680 -- p_trip_info Attributes for the trip entity
681 -- p_trip_name Trip name for update
682 -- x_trip_id Trip id of new trip
683 -- x_trip_name Trip name of new trip
684 -- VERSION : current version 1.0
685 -- initial version 1.0
686 -- COMMENT : Creates or updates a record in wsh_trips table with information
687 -- specified in p_trip_info
688 --========================================================================
689
690 PROCEDURE Create_Update_Trip
691 ( p_api_version_number IN NUMBER,
692 p_init_msg_list IN VARCHAR2,
693 x_return_status OUT NOCOPY VARCHAR2,
694 x_msg_count OUT NOCOPY NUMBER,
695 x_msg_data OUT NOCOPY VARCHAR2,
696 p_action_code IN VARCHAR2,
697 p_trip_info IN OUT NOCOPY Trip_Pub_Rec_Type,
698 p_trip_name IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
699 x_trip_id OUT NOCOPY NUMBER,
700 x_trip_name OUT NOCOPY VARCHAR2) IS
701
702 l_api_version_number CONSTANT NUMBER := 1.0;
703 l_api_name CONSTANT VARCHAR2(30):= 'Create_Update_Trip';
704
705 l_debug_on BOOLEAN;
706 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'Create_Update_Trip';
707
708 l_commit VARCHAR2(1):='F';
709
710 l_pvt_trip_rec WSH_TRIPS_PVT.TRIP_REC_TYPE;
711 l_trip_info_tab WSH_TRIPS_PVT.Trip_Attr_Tbl_Type;
712 l_out_tab WSH_TRIPS_GRP.trip_out_tab_type;
713 l_in_rec WSH_TRIPS_GRP.TripInRecType;
714
715 BEGIN
716 --
717 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
718 --
719 IF l_debug_on IS NULL
720 THEN
721 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
722 END IF;
723 --
724 IF l_debug_on THEN
725 wsh_debug_sv.push (l_module_name, 'Create_Update_Trip');
726 END IF;
727
728 IF NOT FND_API.Compatible_API_Call (l_api_version_number,p_api_version_number ,l_api_name ,G_PKG_NAME) THEN
729 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
730 END IF;
731
732 IF FND_API.to_Boolean(p_init_msg_list) THEN
733 FND_MSG_PUB.initialize;
734 END IF;
735
736 map_trippub_to_pvt (
737 p_pub_trip_rec => p_trip_info,
738 x_pvt_trip_rec => l_pvt_trip_rec,
739 x_return_status => x_return_status);
740
741 IF ( x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS ) THEN
742 raise FND_API.G_EXC_ERROR;
743 END IF;
744
745 l_in_rec.caller:='WSH_PUB';
746 l_in_rec.phase:= 1;
747 l_in_rec.action_code:= p_action_code;
748
749 IF (p_trip_name IS NOT NULL) AND (p_trip_name <> FND_API.G_MISS_CHAR) THEN
750 l_pvt_trip_rec.name := p_trip_name;
751 END IF;
752
753 IF (l_pvt_trip_rec.name IS NOT NULL AND l_pvt_trip_rec.name <> FND_API.G_MISS_CHAR
754 and l_in_rec.action_code <> 'CREATE') THEN
755 wsh_util_validate.validate_trip_name( l_pvt_trip_rec.trip_id,
756 l_pvt_trip_rec.name,
757 x_return_status);
758
759 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
760 raise FND_API.G_EXC_ERROR;
761 END IF;
762 END IF;
763
764 IF (l_pvt_trip_rec.arrive_after_trip_name IS NOT NULL
765 AND l_pvt_trip_rec.arrive_after_trip_name <> FND_API.G_MISS_CHAR) THEN
766 wsh_util_validate.validate_trip_name( l_pvt_trip_rec.arrive_after_trip_id,
767 l_pvt_trip_rec.arrive_after_trip_name,
768 x_return_status);
769
770 IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
771 raise FND_API.G_EXC_ERROR;
772 END IF;
773 END IF;
774
775 l_trip_info_tab(1):= l_pvt_trip_rec;
776
777 WSH_INTERFACE_GRP.Create_Update_Trip(
778 p_api_version_number => p_api_version_number,
779 p_init_msg_list => p_init_msg_list,
780 p_commit => l_commit,
781 x_return_status => x_return_status,
782 x_msg_count => x_msg_count,
783 x_msg_data => x_msg_data,
784 p_trip_info_tab => l_trip_info_tab,
785 p_In_rec => l_In_rec,
786 x_Out_tab => l_Out_Tab);
787
788 IF l_debug_on THEN
789 wsh_debug_sv.log (l_module_name,'WSH_INTERFACE_GRP.Create_Update_Trip x_return_status',x_return_status);
790 END IF;
791 IF (x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS and l_Out_Tab.count > 0) THEN
792 x_trip_id := l_out_tab(l_out_tab.FIRST).trip_id;
793 x_trip_name := l_out_tab(l_out_tab.FIRST).trip_name;
794 END IF;
795
796 FND_MSG_PUB.Count_And_Get (
797 p_count => x_msg_count,
798 p_data => x_msg_data);
799
800 IF l_debug_on THEN
801 WSH_DEBUG_SV.pop(l_module_name);
802 END IF;
803
804 EXCEPTION
805 WHEN FND_API.G_EXC_ERROR THEN
806 x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR ;
807 FND_MSG_PUB.Count_And_Get (
808 p_count => x_msg_count,
809 p_data => x_msg_data,
810 p_encoded => FND_API.G_FALSE);
811 IF l_debug_on THEN
812 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_ERROR exception has occured.',
813 WSH_DEBUG_SV.C_EXCEP_LEVEL);
814 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_ERROR');
815 END IF;
816
817 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
818 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
819 FND_MSG_PUB.Count_And_Get (
820 p_count => x_msg_count,
821 p_data => x_msg_data,
822 p_encoded => FND_API.G_FALSE);
823 IF l_debug_on THEN
824 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',
825 WSH_DEBUG_SV.C_EXCEP_LEVEL);
826 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
827 END IF;
828
829 WHEN WSH_UTIL_CORE.G_EXC_WARNING THEN
830 x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
831 FND_MSG_PUB.Count_And_Get (
832 p_count => x_msg_count,
833 p_data => x_msg_data,
834 p_encoded => FND_API.G_FALSE);
835 IF l_debug_on THEN
836 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_UTIL_CORE.G_EXC_WARNING exception has occured.',
837 WSH_DEBUG_SV.C_EXCEP_LEVEL);
838 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_UTIL_CORE.G_EXC_WARNING');
839 END IF;
840
841 WHEN OTHERS THEN
842 x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
843 wsh_util_core.default_handler ('WSH_TRIP_STOPS_GRP.CREATE_UPDATE_STOP');
844 FND_MSG_PUB.Count_And_Get (
845 p_count => x_msg_count,
846 p_data => x_msg_data,
847 p_encoded => FND_API.G_FALSE);
848 IF l_debug_on THEN
849 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '||
850 SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
851 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
852 END IF;
853
854 END Create_Update_Trip;
855 --Harmonizing Project **heali
856
857
858 END WSH_TRIPS_PUB;