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