[Home] [Help]
PACKAGE BODY: APPS.WSH_U_TRACK
Source
1 PACKAGE BODY WSH_U_TRACK AS
2 /* $Header: WSHUTRKB.pls 120.0.12020000.4 2013/02/14 01:08:21 adagur ship $ */
3
4 -- standard global constants
5 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WSH_U_TRACK';
6 p_message_type CONSTANT VARCHAR2(1) := 'E';
7
8
9
10
11
12
13 -- -------------------------------------------------------------------
14 -- Start of comments
15 -- API name : EnhancedTracking
16 -- Type : public
17 -- Function : compose the input string, call UPS APIs and parse
18 -- the L_OUTPUT string, place them in the returning
19 --
20 -- Version : Initial version 1.0
21 -- Notes
22 --
23 -- End of comments
24
25 -- ---------------------------------------------------------------------
26 PROCEDURE EnhancedTracking
27 ( p_api_version IN NUMBER
28 , p_init_msg_list IN VARCHAR2
29 , x_return_status OUT NOCOPY VARCHAR2
30 , x_msg_count OUT NOCOPY NUMBER
31 , x_msg_data OUT NOCOPY VARCHAR2
32 , p_AppVersion IN VARCHAR2
33 , p_AcceptLicenseAgreement IN VARCHAR2
34 , p_ResponseType IN VARCHAR2
35 , p_request_in IN EnhancedTrackInRec
36 , x_track_header OUT NOCOPY TrackHeaderRec
37 , x_track_error OUT NOCOPY TrackErrorRec
38 , x_track_address OUT NOCOPY TrackAddressTblTyp
39 , x_multi_sum_header OUT NOCOPY MultiSumHdrTblTyp
40 , x_multi_sum_detail OUT NOCOPY MultiSumDtlTblTyp
41 , x_pkg_detail_segment OUT NOCOPY PkgDtlSegTblTyp
42 , x_pkg_progress OUT NOCOPY PkgProgressHdrRec
43 , x_activity_detail OUT NOCOPY ActivityDetailTblTyp)
44 IS
45
46 -- standard version infermation
47 l_api_version CONSTANT NUMBER := 1.0;
48 l_api_name CONSTANT VARCHAR2(30) := 'EnhancedTracking';
49
50 -- standard variables
51 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
52 l_msg_count NUMBER := 0;
53 l_msg_data VARCHAR2(2000) := NULL;
54 l_msg_summary VARCHAR2(2000) := NULL;
55 l_msg_details VARCHAR2(4000) := NULL;
56 l_trk_request_in EnhancedTrackInRec; --Added for Carrier Services Integration with Shipping project Bug 16095594
57
58 /* --Commented for Carrier Services Integration with Shipping project Bug 16095594
59 -- L_UPS_URL VARCHAR2(200) := 'http://wwwapps.ups.com/etracking/tracking.cgi';
60 L_UPS_URL VARCHAR2(1000) := NULL;
61 L_INTERNET_PROXY VARCHAR2(1000) := NULL;
62
63 l_boundary_string_start NUMBER := 0;
64 l_boundary_string_end NUMBER := 0;
65 l_boundary_string VARCHAR2(100) := NULL;
66
67 L_Content_Str_Len NUMBER := 0;
68 l_sub_str_len NUMBER := 0;
69 l_loop_counter_limit NUMBER := 0;
70 l_remainder NUMBER := 0;
71 j NUMBER := 0;
72
73 l_request_in EnhancedTrackInRec;
74
75 L_INPUT_STR VARCHAR2(2000);
76 L_OUTPUT_STR VARCHAR2(10000);
77 l_output_data utl_http.html_pieces;
78
79 L_Track_Message VARCHAR2(500);
80
81 L_Content_Type VARCHAR2(200);
82 L_Previous_Content_Type VARCHAR2(200);
83
84 l_date_string VARCHAR2(8) := NULL;
85 l_time_string VARCHAR2(6) := NULL;
86
87 L_Locate_boundary NUMBER := 1;
88 L_Locate_Str_Len NUMBER := 1;
89 L_Locate_Str_Len_End NUMBER := 0;
90 L_Locate_Content NUMBER :=1;
91 L_Locate_boundary_End NUMBER := 1;
92 L_Locate_Begin NUMBER := 1;
93 L_Token_Start NUMBER := 1;
94 L_Token_End NUMBER := 0;
95
96
97 l_track_address_i BINARY_INTEGER := 0;
98 l_multi_sum_header_i BINARY_INTEGER := 0;
99 l_multi_sum_detail_i BINARY_INTEGER := 0;
100 l_pkg_detail_segment_i BINARY_INTEGER := 0;
101 l_activity_detail_i BINARY_INTEGER := 0;
102
103
104
105 -- this is used to print the debug message only
106 l_outrec_index BINARY_INTEGER := 0;
107 l_char_index NUMBER;
108 l_find_error NUMBER := 0;
109 WSH_U_INPUT_PARAMETER exception;
110 WSH_U_CAR_URL exception;
111 WSH_U_PROXY exception;
112 WSH_U_APPVER exception;
113 WSH_U_LICAGRE exception;
114 WSH_U_RESTYP exception;
115 WSH_U_INQNO exception;
116 WSH_U_TYP_INQNO exception;
117 WSH_U_NO_HOST exception;
118 REQUEST_FAILED exception;
119 INIT_FAILED exception;
120 --End of Comment for Carrier Services Integration with Shipping project Bug 16095594 */
121
122 --
123 l_debug_on BOOLEAN;
124 --
125 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'ENHANCEDTRACKING';
126 --
127 BEGIN
128
129 -- Standard call to check for call compatibility.
130 --
131 -- Debug Statements
132 --
133 --
134 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
135 --
136 IF l_debug_on IS NULL
137 THEN
138 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
139 END IF;
140 --
141 IF l_debug_on THEN
142 WSH_DEBUG_SV.push(l_module_name);
143 --
144 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
145 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
146 WSH_DEBUG_SV.log(l_module_name,'P_APPVERSION',P_APPVERSION);
147 WSH_DEBUG_SV.log(l_module_name,'P_ACCEPTLICENSEAGREEMENT',P_ACCEPTLICENSEAGREEMENT);
148 WSH_DEBUG_SV.log(l_module_name,'P_RESPONSETYPE',P_RESPONSETYPE);
149 END IF;
150
151 --
152 IF NOT FND_API.compatible_api_call
153 ( l_api_version
154 , p_api_version
155 , l_api_name
156 , G_PKG_NAME)
157 THEN
158 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
159 END IF;
160
161 -- Check p_init_msg_list
162 IF FND_API.to_boolean(p_init_msg_list)
163 THEN
164 FND_MSG_PUB.initialize;
165 END IF;
166
167 -- initialize API return status to success
168 x_return_status := FND_API.G_RET_STS_SUCCESS;
169 x_msg_count := 0;
170 x_msg_data := NULL;
171
172 -- program specific logic begins here
173 --Code starts here for Carrier Services Integration with Shipping project Bug 16095594
174 l_trk_request_in := p_request_in;
175
176
177 IF l_debug_on THEN
178 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_CUSTOM_PUB.SHIPMENT_SERVICES',WSH_DEBUG_SV.C_PROC_LEVEL);
179 WSH_DEBUG_SV.logmsg(l_module_name,'InquiryNumber :'||l_trk_request_in.InquiryNumber);
180 WSH_DEBUG_SV.logmsg(l_module_name,'TypeOfInquiryNumber :'||l_trk_request_in.TypeOfInquiryNumber);
181 WSH_DEBUG_SV.logmsg(l_module_name,'InternalKey :'||l_trk_request_in.InternalKey);
182 WSH_DEBUG_SV.log(l_module_name,'Entity Called is '||l_trk_request_in.Entity);
183 WSH_DEBUG_SV.log(l_module_name,'EntityId is '||l_trk_request_in.Entity_Id);
184 END IF;
185
186 wsh_custom_pub.trk_shipment_services
187 ( p_request_in => l_trk_request_in
188 , x_track_address => x_track_address
189 , x_pkg_detail_segment => x_pkg_detail_segment
190 , x_activity_detail => x_activity_detail
191 , x_msg_count => l_msg_count
192 , x_msg_data => l_msg_data
193 , x_return_status => l_return_status);
194
195
196 IF l_return_status = FND_API.G_RET_STS_SUCCESS
197 THEN
198 x_return_status := l_return_status;
199 IF l_debug_on THEN
200 WSH_DEBUG_SV.logmsg(l_module_name,'Service Level is '||x_pkg_detail_segment(1).ServiceLevelDescription);
201 WSH_DEBUG_SV.logmsg(l_module_name,'City is '||x_track_address(1).City);
202 WSH_DEBUG_SV.logmsg(l_module_name,'State is '||x_track_address(1).StateProv);
203 WSH_DEBUG_SV.logmsg(l_module_name,'Country is '||x_track_address(1).Country);
204 WSH_DEBUG_SV.logmsg(l_module_name,'x_activity_detail(1).StatusType IS '||x_activity_detail(1).StatusType);
205 END IF;
206 ELSE
207 x_return_status := l_return_status;
208 x_msg_count := l_msg_count;
209 x_msg_data := l_msg_data;
210 IF l_debug_on THEN
211 WSH_DEBUG_SV.logmsg(l_module_name,'x_return_status :'||x_return_status);
212 WSH_DEBUG_SV.logmsg(l_module_name,'x_msg_count :'||x_msg_count);
213 WSH_DEBUG_SV.logmsg(l_module_name,'x_msg_data :'||x_msg_data);
214 END IF;
215 END IF;
216
217 /* --Commented for Carrier Services Integration with Shipping project Bug 16095594
218 l_request_in := p_request_in;
219
220
221 --
222 -- Debug Statements
223 --
224 IF l_debug_on THEN
225 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.GET_CARRIER_API_URL',WSH_DEBUG_SV.C_PROC_LEVEL);
226 END IF;
227 --
228 L_UPS_URL := WSH_U_UTIL.Get_Carrier_API_URL(
229 p_api_version => 1.0,
230 p_init_msg_list => FND_API.G_TRUE,
231 x_return_status => l_return_status,
232 x_msg_count => l_msg_count,
233 x_msg_data => l_msg_data,
234 p_Carrier_Name => 'UPS',
235 p_API_Name => 'ENHANCED_TRACKING');
236 if l_return_status <> FND_API.G_RET_STS_SUCCESS then
237 raise WSH_U_CAR_URL;
238 end if;
239
240 L_INPUT_STR := L_UPS_URL || '?';
241
242 -- ---------------------------------------------------------------
243 -- UPS standard parameters: AppVersion
244 -- AcceptLicenseAgreement
245 -- ResponseType
246 -- ---------------------------------------------------------------
247
248 -- AppVersion ---------------------------------------------------------
249 if( p_AppVersion IS NULL) then
250 raise WSH_U_APPVER;
251 -- l_request_in.AppVersion := '1.0';
252 end if;
253 L_INPUT_STR := L_INPUT_STR || 'AppVersion' ||'='|| p_AppVersion;
254
255 -- AcceptLicenseAgreement ---------------------------------------------
256 if( p_AcceptLicenseAgreement IS NULL) then
257 raise WSH_U_LICAGRE;
258 -- l_request_in.AcceptLicenseAgreement := 'YES';
259 end if;
260 L_INPUT_STR := L_INPUT_STR || '&' ||'AcceptUPSLicenseAgreement'||'=' || p_AcceptLicenseAgreement;
261
262 -- ResponseType --------------------------------------------------------
263 if( p_ResponseType IS NULL) then
264 raise WSH_U_RESTYP;
265 -- l_request_in.ResponseType := 'application/x-ups-tracking-full-response';
266 end if;
267 L_INPUT_STR := L_INPUT_STR || '&' || 'ResponseType' ||'='|| p_ResponseType;
268
269 -- ---------------------------------------------------------------
270 -- Program specific parameters start here
271 -- ---------------------------------------------------------------
272 -- Inquiry Number ------------------------------------------------
273 if(l_request_in.InquiryNumber IS NULL) then
274 -- l_request_in.InquiryNumber := '3';
275 raise WSH_U_INQNO;
276 end if;
277
278
279 L_INPUT_STR := L_INPUT_STR || '&' || 'InquiryNumber' ||'='|| l_request_in.InquiryNumber;
280
281 -- Type of Inquiry Number --------------------------------------------
282 if(l_request_in.TypeOfInquiryNumber IS NULL) then
283 -- l_request_in.TypeOfInquiryNumber := 'T';
284 raise WSH_U_TYP_INQNO;
285 end if;
286 L_INPUT_STR := L_INPUT_STR || '&' || 'TypeOfInquiryNumber'||'=' || l_request_in.TypeOfInquiryNumber;
287
288 -- if l_request_in is in (M, D, P), it is a follow up request, internalKey is required.
289 if((l_request_in.TypeOfInquiryNumber = 'M' OR
290 l_request_in.TypeOfInquiryNumber = 'D' OR
291 l_request_in.TypeOfInquiryNumber = 'P')AND
292 l_request_in.InternalKey is NULL) THEN
293 raise WSH_U_INPUT_PARAMETER;
294 end if;
295
296 -- -------------------------------------------------------------------
297 -- INternal Key is required for subsuccessive request, ignored in the
298 -- initial request
299 -- -------------------------------------------------------------------
300 if(l_request_in.InternalKey IS NOT NULL) then
301 L_INPUT_STR := L_INPUT_STR || '&' || 'InternalKey' ||'='|| l_request_in.InternalKey;
302 end if;
303
304
305 -- Sender Shipper Number ------------------------------------------------
306 if(l_request_in.SenderShipperNumber IS NOT NULL) then
307 L_INPUT_STR := L_INPUT_STR || '&' || 'SenderShipperNumber' ||'='|| l_request_in.SenderShipperNumber;
308 end if;
309
310
311 -- From Pickup Date -----------------------------------------------------
312 if(l_request_in.FromPickupDate IS NOT NULL) then
313 L_INPUT_STR := L_INPUT_STR || '&' || 'FromPickupDate' ||'='|| TO_CHAR(l_request_in.FromPickupDate, 'YYYYMMDD');
314 end if;
315
316
317 -- To Pickup Date -------------------------------------------------------
318 if(l_request_in.ToPickupDate IS NOT NULL) then
319 L_INPUT_STR := L_INPUT_STR || '&' || 'ToPickupDate' ||'='|| TO_CHAR(l_request_in.ToPickupDate, 'YYYYMMDD');
320 end if;
321
322
323 -- Destination Postal Code ----------------------------------------------
324 if(l_request_in.DestinationPostalCode IS NOT NULL) then
325 L_INPUT_STR := L_INPUT_STR || '&' || 'DestinationPostalCode'||'=' || l_request_in.DestinationPostalCode;
326 end if;
327
328
329 -- Destination Country --------------------------------------------------
330 if(l_request_in.DestinationCountry IS NOT NULL) then
331 L_INPUT_STR := L_INPUT_STR || '&' || 'DestinationCountry'||'=' || l_request_in.DestinationCountry;
332 end if;
333
334 L_INPUT_STR := REPLACE(L_INPUT_STR, ' ', '+');
335
336 -- DBMS_OUTPUT.PUT_LINE('========== request begin =========');
337 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,0,50));
338 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,51,50));
339 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,101,50));
340 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,151,50));
341 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,201,50));
342 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(L_INPUT_STR,251,50));
343 -- DBMS_OUTPUT.PUT_LINE('========== request end =========');
344
345 -- clear variables before calling subroutine
346 l_return_status := FND_API.G_RET_STS_SUCCESS;
347 l_msg_count := 0;
348 l_msg_data := NULL;
349
350
351 -- get proxy server URL
352 --
353 -- Debug Statements
354 --
355 IF l_debug_on THEN
356 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.GET_PROXY',WSH_DEBUG_SV.C_PROC_LEVEL);
357 END IF;
358 --
359 L_INTERNET_PROXY := WSH_U_UTIL.Get_PROXY(
360 p_api_version => 1.0,
361 p_init_msg_list => FND_API.G_TRUE,
362 x_return_status => l_return_status,
363 x_msg_count => l_msg_count,
364 x_msg_data => l_msg_data);
365
366 if l_return_status <> FND_API.G_RET_STS_SUCCESS then
367 raise WSH_U_PROXY;
368 end if;
369
370 -- send request to UPS site
371 if L_INTERNET_PROXY is not NULL then
372 l_output_data := utl_http.request_pieces(L_INPUT_STR,100,L_INTERNET_PROXY);
373 else
374 l_output_data := utl_http.request_pieces(L_INPUT_STR,100);
375 end if;
376 -- when no response is received from a request to a given URL
377 -- then a formatted HTML error message may be returned, it contains the
378 -- following error message
379 l_find_error := INSTR(l_output_data(1), 'Can''t locate remote host');
380 if l_find_error <> 0 then
381 raise WSH_U_NO_HOST;
382 end if;
383
384
385 -- It is only good for up to 100 iteration else it will fail.
386 -- DBMS_OUTPUT.PUT_LINE('======= result begin =============');
387 FOR i in 1 .. l_output_data.count LOOP
388 L_OUTPUT_STR := L_OUTPUT_STR || l_output_data(i);
389 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 1, 250));
390 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 251, 250));
391 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 501, 250));
392 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 751, 250));
393 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 1001, 250));
394 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 1251, 250));
395 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 1501, 250));
396 -- DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), 1751, 250));
397
398 /* l_sub_str_len := length(l_output_data(i));
399 l_loop_counter_limit := l_sub_str_len / 250;
400 l_remainder := MOD(l_sub_str_len,250);
401 j := 0;
402 DBMS_OUTPUT.PUT_LINE('******* Inner loop ********');
403 loop
404 if j < l_loop_counter_limit then
405 if l_remainder <> l_sub_str_len then
406 DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), j*250+1, l_remainder));
407 exit;
408 else
409 exit;
410 end if;
411 else
412 DBMS_OUTPUT.PUT_LINE(SUBSTR(l_output_data(i), j*250+1, 250));
413 j := j+1;
414 end if;
415
416 end loop;
417 DBMS_OUTPUT.PUT_LINE('******* Inner loop ********');
418
419 -- EXIT WHEN i = 100;
420 END LOOP;
421 -- DBMS_OUTPUT.PUT_LINE('========== result end ===========');
422 l_boundary_string_start := INSTR(L_OUTPUT_STR, 'boundary=', 1 , 1);
423 if l_boundary_string_start <> 0 then
424 l_boundary_string_start := l_boundary_string_start + 9;
425 -- l_boundary_string_end := INSTR(L_OUTPUT_STR, '--', l_boundary_string_start,1);
426 l_boundary_string_end := INSTR(L_OUTPUT_STR, FND_GLOBAL.LOCAL_CHR(13), l_boundary_string_start,1);
427 l_boundary_string := SUBSTR(L_OUTPUT_STR,
428 l_boundary_string_start ,
429 l_boundary_string_end - l_boundary_string_start);
430 else
431
432 l_boundary_string := 'UPSBOUNDARYUPS';
433 end if;
434 l_boundary_string := '--' || l_boundary_string;
435 -- DBMS_OUTPUT.PUT_LINE('Boundary String:'|| l_boundary_string);
436
437
438
439 LOOP
440
441 L_Locate_boundary :=INSTR(L_OUTPUT_STR, l_boundary_string ,L_Locate_boundary,1);
442 L_Locate_Content := INSTR(L_OUTPUT_STR,'Content-type',L_Locate_boundary,1);
443 -- DBMS_OUTPUT.PUT_LINE('LOCATE CONTENT IS************'||to_char(L_Locate_Content));
444 L_Locate_Str_Len := INSTR(L_OUTPUT_STR, 'Content-length',L_Locate_boundary,1);
445 -- DBMS_OUTPUT.PUT_LINE('LOCATE STR IS************'||to_char(L_Locate_Str_Len));
446 L_Locate_Begin := INSTR(L_OUTPUT_STR,'UPSOnLine',L_Locate_boundary,1);
447 -- DBMS_OUTPUT.PUT_LINE('LOCATE BEGIN IS************'||to_char(L_Locate_Begin));
448 L_Locate_boundary_End := INSTR(L_OUTPUT_STR, l_boundary_string ,L_Locate_boundary,2);
449 -- DBMS_OUTPUT.PUT_LINE('LOCATE boundary END************'||to_char(L_Locate_boundary_End));
450 IF(L_Locate_boundary_End > L_Locate_Begin) THEN
451
452 -- DBMS_OUTPUT.PUT_LINE('l_outrec_index BEGIN:' || to_char(l_outrec_index));
453 l_outrec_index := l_outrec_index + 1;
454 -- DBMS_OUTPUT.PUT_LINE('l_outrec_index END:' || to_char(l_outrec_index));
455
456
457 -- Get Content-length
458
459 L_Locate_Str_Len_End := INSTR(L_OUTPUT_STR, FND_GLOBAL.LOCAL_CHR(13), L_Locate_Str_Len, 1);
460 L_Content_Str_Len := TO_NUMBER(SUBSTR(L_OUTPUT_STR,(L_Locate_Str_Len+16),L_Locate_Str_Len_End - L_Locate_Str_Len - 16));
461
462 -- DBMS_OUTPUT.PUT_LINE('CONTENT STR LENGTH IS ***********'||to_char(L_Content_Str_Len));
463 L_Content_Type := SUBSTR(L_OUTPUT_STR,(L_Locate_Content + LENGTH('Content-type: application/')),(L_Locate_Str_Len - (L_Locate_Content + LENGTH('Content-type: application/'))));
464
465 L_Track_Message := SUBSTR(L_OUTPUT_STR, L_Locate_Begin, L_Content_Str_Len);
466 -- DBMS_OUTPUT.put_line('Message Is:'||L_Track_Message);
467 -- DBMS_OUTPUT.PUT_LINE('CONTENT_TYPE IS ************'||L_Content_Type||'*********');
468
469 if(SUBSTR(L_Content_Type,1,LENGTH('x-ups-tracking-full-response')) = 'x-ups-tracking-full-response') then
470 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-full-response ===');
471 L_Token_Start := 0;
472 L_Token_End := 0;
473
474 L_Previous_Content_Type := 'x-ups-tracking-full-response';
475
476 --
477 -- Debug Statements
478 --
479 IF l_debug_on THEN
480 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
481 END IF;
482 --
483 x_track_header.UPSOnLine :=
484 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
485 --
486 -- Debug Statements
487 --
488 IF l_debug_on THEN
489 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
490 END IF;
491 --
492 x_track_header.AppVersion :=
493 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
494 --
495 -- Debug Statements
496 --
497 IF l_debug_on THEN
498 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
499 END IF;
500 --
501 x_track_header.TypeofResponse :=
502 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
503 --
504 -- Debug Statements
505 --
506 IF l_debug_on THEN
507 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
508 END IF;
509 --
510 x_track_header.InquiryNumber :=
511 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
512 --
513 -- Debug Statements
514 --
515 IF l_debug_on THEN
516 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
517 END IF;
518 --
519 x_track_header.TypeOfInquiryNumber :=
520 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
521 --
522 -- Debug Statements
523 --
524 IF l_debug_on THEN
525 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
526 END IF;
527 --
528 x_track_header.SenderShiperNumber :=
529 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
530 --
531 -- Debug Statements
532 --
533 IF l_debug_on THEN
534 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
535 END IF;
536 --
537 x_track_header.InternalKey :=
538 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
539 --
540 -- Debug Statements
541 --
542 IF l_debug_on THEN
543 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
544 END IF;
545 --
546 x_track_header.FromPickupDate :=
547 TO_DATE(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End), 'YYYYMMDD');
548 --
549 -- Debug Statements
550 --
551 IF l_debug_on THEN
552 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
553 END IF;
554 --
555 x_track_header.ToPickupDate :=
556 TO_DATE(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End), 'YYYYMMDD');
557 --
558 -- Debug Statements
559 --
560 IF l_debug_on THEN
561 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
562 END IF;
563 --
564 x_track_header.DestinationPostalCode :=
565 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
566 -- DBMS_OUTPUT.put_line('PostalCode:'||x_track_header.DestinationPostalCode);
567 --
568 -- Debug Statements
569 --
570 IF l_debug_on THEN
571 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
572 END IF;
573 --
574 x_track_header.DestinationCountry :=
575 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
576 -- DBMS_OUTPUT.put_line('Country:'||x_track_header.DestinationCountry);
577
578 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-full-response ===');
579
580 elsif(SUBSTR(L_Content_Type,1,LENGTH('x-ups-error')) = 'x-ups-error') then
581 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-error ===');
582 L_Token_Start := 0;
583 L_Token_End := 0;
584
585 L_Previous_Content_Type := 'x-ups-error';
586
587 --
588 -- Debug Statements
589 --
590 IF l_debug_on THEN
591 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
592 END IF;
593 --
594 x_track_error.UPSOnLine :=
595 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
596 --
597 -- Debug Statements
598 --
599 IF l_debug_on THEN
600 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
601 END IF;
602 --
603 x_track_error.AppVersion :=
604 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
605 --
606 -- Debug Statements
607 --
608 IF l_debug_on THEN
609 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
610 END IF;
611 --
612 x_track_error.ReturnCode :=
613 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
614
615 --
616 -- Debug Statements
617 --
618 IF l_debug_on THEN
619 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
620 END IF;
621 --
622 x_track_error.MessageText :=
623 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
624 x_track_error.MessageNumber := SUBSTR(x_track_error.MessageText, 1,4 );
625 x_track_error.MessageText := SUBSTR(x_track_error.MessageText,
626 5,
627 LENGTH(x_track_error.MessageText) - 4);
628
629 x_msg_count := 1;
630 x_msg_data := 'Message ' || x_track_error.MessageNumber
631 || ': ' || x_track_error.MessageText;
632 x_return_status := FND_API.G_RET_STS_ERROR;
633
634 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-error ===');
635 elsif(SUBSTR(L_Content_Type,1,LENGTH('x-ups-address')) = 'x-ups-address') then
636 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-address ===');
637
638 L_Token_Start := 0;
639 L_Token_End := 0;
640
641
642 l_track_address_i := l_track_address_i + 1;
643
644 if(L_Previous_Content_Type = 'x-ups-tracking-multipiece-summary-hdr') then
645 x_multi_sum_header(l_multi_sum_header_i).ConsigneeAddressIndex := l_track_address_i;
646 elsif(L_Previous_Content_Type = 'x-ups-tracking-package-detail-hdr') then
647 x_pkg_detail_segment(l_pkg_detail_segment_i).ConsigneeAddressIndex := l_track_address_i;
648 elsif(L_Previous_Content_Type = 'x-ups-tracking-activity-detail') then
649 x_activity_detail(l_activity_detail_i).ActivityAddressIndex := l_track_address_i;
650 end if;
651
652 --L_Previous_Content_Type := 'x-ups-address';
653
654 --
655 -- Debug Statements
656 --
657 IF l_debug_on THEN
658 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
659 END IF;
660 --
661 x_track_address(l_track_address_i).UPSOnLine :=
662 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
663 --
664 -- Debug Statements
665 --
666 IF l_debug_on THEN
667 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
668 END IF;
669 --
670 x_track_address(l_track_address_i).AppVersion :=
671 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
672 --
673 -- Debug Statements
674 --
675 IF l_debug_on THEN
676 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
677 END IF;
678 --
679 x_track_address(l_track_address_i).TypeOfAddress :=
680 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
681 --
682 -- Debug Statements
683 --
684 IF l_debug_on THEN
685 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
686 END IF;
687 --
688 x_track_address(l_track_address_i).Name :=
689 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
690 --
691 -- Debug Statements
692 --
693 IF l_debug_on THEN
694 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
695 END IF;
696 --
697 x_track_address(l_track_address_i).Address1 :=
698 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
699 --
700 -- Debug Statements
701 --
702 IF l_debug_on THEN
703 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
704 END IF;
705 --
706 x_track_address(l_track_address_i).Address2 :=
707 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
708 --
709 -- Debug Statements
710 --
711 IF l_debug_on THEN
712 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
713 END IF;
714 --
715 x_track_address(l_track_address_i).Address3 :=
716 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
717 --
718 -- Debug Statements
719 --
720 IF l_debug_on THEN
721 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
722 END IF;
723 --
724 x_track_address(l_track_address_i).City :=
725 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
726 --
727 -- Debug Statements
728 --
729 IF l_debug_on THEN
730 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
731 END IF;
732 --
733 x_track_address(l_track_address_i).StateProv :=
734 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
735 --
736 -- Debug Statements
737 --
738 IF l_debug_on THEN
739 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
740 END IF;
741 --
742 x_track_address(l_track_address_i).PostalCode :=
743 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
744 --
745 -- Debug Statements
746 --
747 IF l_debug_on THEN
748 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
749 END IF;
750 --
751 x_track_address(l_track_address_i).Country :=
752 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
753 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-address ===');
754 elsif(SUBSTR(L_Content_Type,1,LENGTH( 'x-ups-tracking-multipiece-summary-hdr')) = 'x-ups-tracking-multipiece-summary-hdr') then
755
756 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-multipiece-summary-hdr ===');
757 L_Token_Start := 0;
758 L_Token_End := 0;
759
760 l_multi_sum_header_i := l_multi_sum_header_i + 1;
761 L_Previous_Content_Type := 'x-ups-tracking-multipiece-summary-hdr';
762
763 --
764 -- Debug Statements
765 --
766 IF l_debug_on THEN
767 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
768 END IF;
769 --
770 x_multi_sum_header(l_multi_sum_header_i).UPSOnLine :=
771 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
772 --
773 -- Debug Statements
774 --
775 IF l_debug_on THEN
776 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
777 END IF;
778 --
779 x_multi_sum_header(l_multi_sum_header_i).AppVersion :=
780 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
781 -- DBMS_OUTPUT.PUT_LINE('after AppVersion');
782
783 --
784 -- Debug Statements
785 --
786 IF l_debug_on THEN
787 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
788 END IF;
789 --
790 x_multi_sum_header(l_multi_sum_header_i).InternalShipmentKey :=
791 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
792 -- DBMS_OUTPUT.PUT_LINE('after InternalShipmentKey');
793
794 --
795 -- Debug Statements
796 --
797 IF l_debug_on THEN
798 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
799 END IF;
800 --
801 x_multi_sum_header(l_multi_sum_header_i).ServiceLevelDescription :=
802 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
803 -- DBMS_OUTPUT.PUT_LINE('after ServiceLevelDescription');
804
805 --
806 -- Debug Statements
807 --
808 IF l_debug_on THEN
809 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
810 END IF;
811 --
812 x_multi_sum_header(l_multi_sum_header_i).PickupDate :=
813 TO_DATE(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End), 'YYYYMMDD');
814 -- DBMS_OUTPUT.PUT_LINE('after PickupDate');
815
816 --
817 -- Debug Statements
818 --
819 IF l_debug_on THEN
820 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
821 END IF;
822 --
823 x_multi_sum_header(l_multi_sum_header_i).ScheduledDeliveryDate :=
824 TO_DATE(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End), 'YYYYMMDD');
825 --
826 -- Debug Statements
827 --
828 IF l_debug_on THEN
829 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
830 END IF;
831 --
832 x_multi_sum_header(l_multi_sum_header_i).TotalShipmentWeight :=
833 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End));
834 --
835 -- Debug Statements
836 --
837 IF l_debug_on THEN
838 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
839 END IF;
840 --
841 x_multi_sum_header(l_multi_sum_header_i).WeightUOM :=
842 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
843 --
844 -- Debug Statements
845 --
846 IF l_debug_on THEN
847 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
848 END IF;
849 --
850 x_multi_sum_header(l_multi_sum_header_i).NumberOfPackagesInShipment :=
851 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End));
852 --
853 -- Debug Statements
854 --
855 IF l_debug_on THEN
856 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
857 END IF;
858 --
859 x_multi_sum_header(l_multi_sum_header_i).NumberOfPackagesDelivered :=
860 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End));
861
862 -- ------------------------------------------------------------
863 -- to find all th details corresponding to the summary header
864 -- use the MPieceSummaryDtlIndex to find the first detail and
865 -- use the NumberOfPackagesActive to find the successive ones
866 -- ------------------------------------------------------------
867
868 --
869 -- Debug Statements
870 --
871 IF l_debug_on THEN
872 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
873 END IF;
874 --
875 x_multi_sum_header(l_multi_sum_header_i).NumberOfPackagesActive :=
876 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End));
877
878 x_multi_sum_header(l_multi_sum_header_i).ConsigneeAddressIndex := 9999;
879 x_multi_sum_header(l_multi_sum_header_i).MPieceSummaryDtlIndex := 9999;
880 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-multipiece-summary-hdr ===');
881
882 elsif(SUBSTR(L_Content_Type,1,LENGTH( 'x-ups-tracking-multipiece-summary-det')) = 'x-ups-tracking-multipiece-summary-det') then
883
884 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-multipiece-summary-det ===');
885 L_Token_Start := 0;
886 L_Token_End := 0;
887
888 l_multi_sum_detail_i:= l_multi_sum_detail_i+ 1;
889 -- DBMS_OUTPUT.PUT_LINE('Previous Content Type: ' || L_Previous_Content_Type);
890
891 if(L_Previous_Content_Type = 'x-ups-tracking-multipiece-summary-hdr') then
892 -- DBMS_OUTPUT.PUT_LINE(' added myself to the Summary Header index: ' || l_multi_sum_detail_i);
893 x_multi_sum_header(l_multi_sum_header_i).MPieceSummaryDtlIndex := l_multi_sum_detail_i;
894 end if;
895
896 L_Previous_Content_Type := 'x-ups-tracking-multipiece-summary-det';
897
898 --
899 -- Debug Statements
900 --
901 IF l_debug_on THEN
902 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
903 END IF;
904 --
905 x_multi_sum_detail(l_multi_sum_detail_i).UPSOnLine :=
906 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
907 --
908 -- Debug Statements
909 --
910 IF l_debug_on THEN
911 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
912 END IF;
913 --
914 x_multi_sum_detail(l_multi_sum_detail_i).AppVersion :=
915 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
916 --
917 -- Debug Statements
918 --
919 IF l_debug_on THEN
920 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
921 END IF;
922 --
923 x_multi_sum_detail(l_multi_sum_detail_i).TrackingNumber :=
924 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
925 --
926 -- Debug Statements
927 --
928 IF l_debug_on THEN
929 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
930 END IF;
931 --
932 x_multi_sum_detail(l_multi_sum_detail_i).InternalPackageKey :=
933 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
934
935 x_multi_sum_detail(l_multi_sum_detail_i).ActivityDetailIndex := 9999;
936 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-multipiece-summary-det ===');
937
938 elsif(SUBSTR(L_Content_Type,1,LENGTH( 'x-ups-tracking-package-detail-hdr')) = 'x-ups-tracking-package-detail-hdr') then
939
940 L_Token_Start := 0;
941 L_Token_End := 0;
942
943 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-package-detail-hdr ===');
944 -- DBMS_OUTPUT.put_line('Message Is:'||L_Track_Message);
945 -- DBMS_OUTPUT.PUT_LINE('PKG TBL INDEX:'||l_pkg_detail_segment_i);
946 l_pkg_detail_segment_i := l_pkg_detail_segment_i + 1;
947 -- DBMS_OUTPUT.PUT_LINE('PKG TBL INDEX:'||l_pkg_detail_segment_i);
948 L_Previous_Content_Type := 'x-ups-tracking-package-detail-hdr';
949
950 --
951 -- Debug Statements
952 --
953 IF l_debug_on THEN
954 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
955 END IF;
956 --
957 x_pkg_detail_segment(l_pkg_detail_segment_i).UPSOnLine :=
958 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
959
960 --
961 -- Debug Statements
962 --
963 IF l_debug_on THEN
964 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
965 END IF;
966 --
967 x_pkg_detail_segment(l_pkg_detail_segment_i).AppVersion :=
968 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
969
970 --
971 -- Debug Statements
972 --
973 IF l_debug_on THEN
974 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
975 END IF;
976 --
977 x_pkg_detail_segment(l_pkg_detail_segment_i).TrackingNumber :=
978 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
979
980 --
981 -- Debug Statements
982 --
983 IF l_debug_on THEN
984 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
985 END IF;
986 --
987 x_pkg_detail_segment(l_pkg_detail_segment_i).InternalPackageKey :=
988 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
989
990 --
991 -- Debug Statements
992 --
993 IF l_debug_on THEN
994 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
995 END IF;
996 --
997 x_pkg_detail_segment(l_pkg_detail_segment_i).ShipmentNumber :=
998 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
999
1000 --
1001 -- Debug Statements
1002 --
1003 IF l_debug_on THEN
1004 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1005 END IF;
1006 --
1007 x_pkg_detail_segment(l_pkg_detail_segment_i).InternalShipmentKey :=
1008 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1009
1010 --
1011 -- Debug Statements
1012 --
1013 IF l_debug_on THEN
1014 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1015 END IF;
1016 --
1017 x_pkg_detail_segment(l_pkg_detail_segment_i).PickupDate :=
1018 TO_DATE(WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End), 'YYYYMMDD');
1019
1020 --
1021 -- Debug Statements
1022 --
1023 IF l_debug_on THEN
1024 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1025 END IF;
1026 --
1027 x_pkg_detail_segment(l_pkg_detail_segment_i).NumberOfPackagesInShipment :=
1028 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
1029
1030 --
1031 -- Debug Statements
1032 --
1033 IF l_debug_on THEN
1034 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1035 END IF;
1036 --
1037 x_pkg_detail_segment(l_pkg_detail_segment_i).ServiceLevelDescription :=
1038 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1039
1040 --
1041 -- Debug Statements
1042 --
1043 IF l_debug_on THEN
1044 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1045 END IF;
1046 --
1047 x_pkg_detail_segment(l_pkg_detail_segment_i).PackageWeight :=
1048 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
1049
1050 --
1051 -- Debug Statements
1052 --
1053 IF l_debug_on THEN
1054 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1055 END IF;
1056 --
1057 x_pkg_detail_segment(l_pkg_detail_segment_i).WeightUOM :=
1058 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1059
1060 --
1061 -- Debug Statements
1062 --
1063 IF l_debug_on THEN
1064 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1065 END IF;
1066 --
1067 x_pkg_detail_segment(l_pkg_detail_segment_i).SignedForByName :=
1068 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1069
1070 --
1071 -- Debug Statements
1072 --
1073 IF l_debug_on THEN
1074 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1075 END IF;
1076 --
1077 x_pkg_detail_segment(l_pkg_detail_segment_i).Location :=
1078 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1079
1080 --
1081 -- Debug Statements
1082 --
1083 IF l_debug_on THEN
1084 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1085 END IF;
1086 --
1087 x_pkg_detail_segment(l_pkg_detail_segment_i).CusotmerReferenceNumber :=
1088 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1089
1090
1091
1092 x_pkg_detail_segment(l_pkg_detail_segment_i).ConsigneeAddressIndex := 9999;
1093
1094 x_pkg_detail_segment(l_pkg_detail_segment_i).ActivityDetailIndex := 9999;
1095 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-package-detail-hdr ===');
1096
1097 elsif(SUBSTR(L_Content_Type,1,LENGTH('x-ups-tracking-package-progress-hdr'))=
1098 'x-ups-tracking-package-progress-hdr') then
1099 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-package-progress-hdr ===');
1100 L_Token_Start := 0;
1101 L_Token_End := 0;
1102
1103 L_Previous_Content_Type := 'x-ups-tracking-package-progress-hdr';
1104
1105 --
1106 -- Debug Statements
1107 --
1108 IF l_debug_on THEN
1109 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1110 END IF;
1111 --
1112 x_pkg_progress.UPSOnLine :=
1113 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1114 --
1115 -- Debug Statements
1116 --
1117 IF l_debug_on THEN
1118 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1119 END IF;
1120 --
1121 x_pkg_progress.AppVersion :=
1122 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
1123
1124 -- ------------------------------------------------------------
1125 -- to find all th details corresponding to the summary header
1126 -- use the ActivityDetailIndex to find the first detail and
1127 -- use the NumberOfActivityDetailLines to find the successive ones
1128 -- ------------------------------------------------------------
1129
1130 --
1131 -- Debug Statements
1132 --
1133 IF l_debug_on THEN
1134 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1135 END IF;
1136 --
1137 x_pkg_progress.NumberOfActivityDetailLines :=
1138 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1139
1140 x_pkg_progress.ActivityDetailIndex := 9999;
1141 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-package-progress-hdr ===');
1142
1143 elsif(SUBSTR(L_Content_Type,1,LENGTH( 'x-ups-tracking-activity-detail')) = 'x-ups-tracking-activity-detail') then
1144 -- DBMS_OUTPUT.PUT_LINE('===<begin> === x-ups-tracking-activity-detail ===');
1145 L_Token_Start := 0;
1146 L_Token_End := 0;
1147
1148
1149 l_activity_detail_i := l_activity_detail_i + 1;
1150
1151 if(L_Previous_Content_Type = 'x-ups-tracking-multipiece-summary-det') then
1152 x_multi_sum_detail(l_multi_sum_detail_i).ActivityDetailIndex := l_activity_detail_i;
1153 elsif(L_Previous_Content_Type = 'x-ups-tracking-package-detail-hdr') then
1154 x_pkg_detail_segment(l_pkg_detail_segment_i).ActivityDetailIndex := l_activity_detail_i;
1155 elsif(L_Previous_Content_Type = 'x-ups-tracking-package-progress-hdr') then
1156 x_pkg_progress.ActivityDetailIndex := l_activity_detail_i;
1157 end if;
1158
1159 L_Previous_Content_Type := 'x-ups-tracking-activity-detail';
1160
1161 --
1162 -- Debug Statements
1163 --
1164 IF l_debug_on THEN
1165 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1166 END IF;
1167 --
1168 x_activity_detail(l_activity_detail_i).UPSOnLine :=
1169 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1170
1171 --
1172 -- Debug Statements
1173 --
1174 IF l_debug_on THEN
1175 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1176 END IF;
1177 --
1178 x_activity_detail(l_activity_detail_i).AppVersion :=
1179 TO_NUMBER(WSH_U_UTIL.Calculate_Token(L_Track_Message, L_Token_Start,L_Token_End));
1180
1181 --
1182 -- Debug Statements
1183 --
1184 IF l_debug_on THEN
1185 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1186 END IF;
1187 --
1188 x_activity_detail(l_activity_detail_i).StatusType :=
1189 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1190
1191 --
1192 -- Debug Statements
1193 --
1194 IF l_debug_on THEN
1195 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1196 END IF;
1197 --
1198 x_activity_detail(l_activity_detail_i).StatusLongDescription :=
1199 WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1200
1201 --
1202 -- Debug Statements
1203 --
1204 IF l_debug_on THEN
1205 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1206 END IF;
1207 --
1208 l_date_string := WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1209 --
1210 -- Debug Statements
1211 --
1212 IF l_debug_on THEN
1213 WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_U_UTIL.CALCULATE_TOKEN',WSH_DEBUG_SV.C_PROC_LEVEL);
1214 END IF;
1215 --
1216 l_time_string := WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1217
1218 x_activity_detail(l_activity_detail_i).ActivityDate :=
1219 TO_DATE(l_date_string || l_time_string, 'YYYYMMDDHH24MISS');
1220
1221 -- x_activity_detail(l_activity_detail_i).ActivityTime :=
1222 -- WSH_U_UTIL.Calculate_Token(L_Track_Message,L_Token_Start,L_Token_End);
1223
1224 -- DBMS_OUTPUT.PUT_LINE('===<end> === x-ups-tracking-activity-detail ===');
1225 end if;
1226
1227 END IF;
1228
1229 -- advance to next UPSBOUNDARYUPS section
1230 L_Locate_boundary := L_Locate_boundary_End;
1231
1232 EXIT WHEN L_Locate_Begin = 0;
1233
1234 END LOOP;
1235
1236 */ --Commented for Carrier Services Integration with Shipping project Bug 16095594
1237
1238
1239 --
1240 -- Debug Statements
1241 --
1242 IF l_debug_on THEN
1243 WSH_DEBUG_SV.pop(l_module_name);
1244 END IF;
1245 --
1246 EXCEPTION
1247 /* --Commented for Carrier Services Integration with Shipping project Bug 16095594
1248 WHEN WSH_U_CAR_URL THEN
1249 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_CAR_URL');
1250 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1251 x_return_status := FND_API.G_RET_STS_ERROR;
1252 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1253 if x_msg_count > 1 then
1254 x_msg_data := l_msg_summary || l_msg_details;
1255 else
1256 x_msg_data := l_msg_summary;
1257 end if;
1258
1259 --
1260 -- Debug Statements
1261 --
1262 IF l_debug_on THEN
1263 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_CAR_URL exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1264 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_CAR_URL');
1265 END IF;
1266 --
1267 WHEN WSH_U_PROXY THEN
1268 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_PROXY');
1269 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1270 x_return_status := FND_API.G_RET_STS_ERROR;
1271 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1272 if x_msg_count > 1 then
1273 x_msg_data := l_msg_summary || l_msg_details;
1274 else
1275 x_msg_data := l_msg_summary;
1276 end if;
1277
1278 -- this exception is produced by UTL_HTTP.REQUEST_PIECES
1279 -- The http call fails(for example, bacause of failure of the HTTP
1280 -- daemon, or bacause the argument to REQUEST_PIECES cannot be interpreted
1281 -- as a URL because it is NULL or has non-HTTP syntax)
1282 --
1283 -- Debug Statements
1284 --
1285 IF l_debug_on THEN
1286 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_PROXY exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1287 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_PROXY');
1288 END IF;
1289 --
1290 WHEN REQUEST_FAILED THEN
1291 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_REQ_FAILED');
1292 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1293 x_return_status := FND_API.G_RET_STS_ERROR;
1294 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1295 if x_msg_count > 1 then
1296 x_msg_data := l_msg_summary || l_msg_details;
1297 else
1298 x_msg_data := l_msg_summary;
1299 end if;
1300
1301 -- this exception is produced by UTL_HTTP.REQUEST_PIECES
1302 -- Initialization of the HTTP callout subsystem failed
1303 -- for invironmental reasons such as lack of available memory
1304 --
1305 -- Debug Statements
1306 --
1307 IF l_debug_on THEN
1308 WSH_DEBUG_SV.logmsg(l_module_name,'REQUEST_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1309 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:REQUEST_FAILED');
1310 END IF;
1311 --
1312 WHEN INIT_FAILED THEN
1313 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_INIT_FAILED');
1314 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1315 x_return_status := FND_API.G_RET_STS_ERROR;
1316 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1317 if x_msg_count > 1 then
1318 x_msg_data := l_msg_summary || l_msg_details;
1319 else
1320 x_msg_data := l_msg_summary;
1321 end if;
1322
1323 --
1324 -- Debug Statements
1325 --
1326 IF l_debug_on THEN
1327 WSH_DEBUG_SV.logmsg(l_module_name,'INIT_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1328 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:INIT_FAILED');
1329 END IF;
1330 --
1331 WHEN WSH_U_NO_HOST THEN
1332 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_NO_HOST');
1333 WSH_UTIL_CORE.ADD_MESSAGE('E');
1334 x_return_status := FND_API.G_RET_STS_ERROR;
1335 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1336 if x_msg_count > 1 then
1337 x_msg_data := l_msg_summary || l_msg_details;
1338 else
1339 x_msg_data := l_msg_summary;
1340 end if;
1341
1342 --
1343 -- Debug Statements
1344 --
1345 IF l_debug_on THEN
1346 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_NO_HOST exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1347 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_NO_HOST');
1348 END IF;
1349 --
1350 WHEN WSH_U_APPVER THEN
1351 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_APPVER');
1352 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1353 x_return_status := FND_API.G_RET_STS_ERROR;
1354 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1355 if x_msg_count > 1 then
1356 x_msg_data := l_msg_summary || l_msg_details;
1357 else
1358 x_msg_data := l_msg_summary;
1359 end if;
1360
1361
1362
1363 --
1364 -- Debug Statements
1365 --
1366 IF l_debug_on THEN
1367 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_APPVER exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1368 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_APPVER');
1369 END IF;
1370 --
1371 WHEN WSH_U_LICAGRE THEN
1372 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_LICAGRE');
1373 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1374 x_return_status := FND_API.G_RET_STS_ERROR;
1375 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1376 if x_msg_count > 1 then
1377 x_msg_data := l_msg_summary || l_msg_details;
1378 else
1379 x_msg_data := l_msg_summary;
1380 end if;
1381
1382
1383
1384 --
1385 -- Debug Statements
1386 --
1387 IF l_debug_on THEN
1388 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_LICAGRE exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1389 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_LICAGRE');
1390 END IF;
1391 --
1392 WHEN WSH_U_RESTYP THEN
1393 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_RESTYP');
1394 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1395 x_return_status := FND_API.G_RET_STS_ERROR;
1396 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1397 if x_msg_count > 1 then
1398 x_msg_data := l_msg_summary || l_msg_details;
1399 else
1400 x_msg_data := l_msg_summary;
1401 end if;
1402
1403
1404
1405 --
1406 -- Debug Statements
1407 --
1408 IF l_debug_on THEN
1409 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_RESTYP exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1410 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_RESTYP');
1411 END IF;
1412 --
1413 WHEN WSH_U_INPUT_PARAMETER THEN
1414 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_INPUT_PARAMETER');
1415 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1416 x_return_status := FND_API.G_RET_STS_ERROR;
1417 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1418 if x_msg_count > 1 then
1419 x_msg_data := l_msg_summary || l_msg_details;
1420 else
1421 x_msg_data := l_msg_summary;
1422 end if;
1423
1424
1425
1426 --
1427 -- Debug Statements
1428 --
1429 IF l_debug_on THEN
1430 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_INPUT_PARAMETER exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1431 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_INPUT_PARAMETER');
1432 END IF;
1433 --
1434 WHEN WSH_U_INQNO THEN
1435 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_INQNO');
1436 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1437 x_return_status := FND_API.G_RET_STS_ERROR;
1438 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1439 if x_msg_count > 1 then
1440 x_msg_data := l_msg_summary || l_msg_details;
1441 else
1442 x_msg_data := l_msg_summary;
1443 end if;
1444
1445
1446
1447 --
1448 -- Debug Statements
1449 --
1450 IF l_debug_on THEN
1451 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_INQNO exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1452 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_INQNO');
1453 END IF;
1454 --
1455 WHEN WSH_U_TYP_INQNO THEN
1456 FND_MESSAGE.SET_NAME('WSH', 'WSH_U_TYP_INQNO');
1457 WSH_UTIL_CORE.ADD_MESSAGE(p_message_type);
1458 x_return_status := FND_API.G_RET_STS_ERROR;
1459 WSH_UTIL_CORE.get_messages( 'Y', l_msg_summary, l_msg_details, x_msg_count);
1460 if x_msg_count > 1 then
1461 x_msg_data := l_msg_summary || l_msg_details;
1462 else
1463 x_msg_data := l_msg_summary;
1464 end if;
1465
1466
1467 --
1468 -- Debug Statements
1469 --
1470 IF l_debug_on THEN
1471 WSH_DEBUG_SV.logmsg(l_module_name,'WSH_U_TYP_INQNO exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1472 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:WSH_U_TYP_INQNO');
1473 END IF;
1474 --
1475 --End of Comment for Carrier Services Integration with Shipping project Bug 16095594 */
1476 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
1477 THEN
1478 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1479 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1480 THEN
1481 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1482 END IF;
1483 FND_MSG_PUB.count_and_get ( p_count => x_msg_count, p_data => x_msg_data);
1484 --
1485 -- Debug Statements
1486 --
1487 IF l_debug_on
1488 THEN
1489 WSH_DEBUG_SV.logmsg(l_module_name,'FND_API.G_EXC_UNEXPECTED_ERROR exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1490 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:FND_API.G_EXC_UNEXPECTED_ERROR');
1491 END IF;
1492 --
1493 WHEN OTHERS
1494 THEN
1495 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1496 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1497 THEN
1498 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1499 END IF;
1500 FND_MSG_PUB.count_and_get ( p_count => x_msg_count, p_data => x_msg_data);
1501 --
1502 -- Debug Statements
1503 --
1504 IF l_debug_on
1505 THEN
1506 WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1507 WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
1508 END IF;
1509 --
1510 END EnhancedTracking;
1511
1512
1513 END WSH_U_TRACK;