[Home] [Help]
PACKAGE BODY: APPS.WSH_U_UTIL
Source
1 PACKAGE BODY WSH_U_UTIL AS
2 /* $Header: WSHUUTLB.pls 115.9 2002/11/12 02:04:26 nparikh ship $ */
3 -- standard global constants
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WSH_U_UTL';
5 p_message_type CONSTANT VARCHAR2(1) := 'E';
6
7
8
9 -- -------------------------------------------------------------------
10 -- Start of comments
11 -- API name : Calculate_Token
12 -- Type : private
13 -- Function : use '%' as delimiter, strip off the first token.
14 -- if '%' is not found, just return the substring
15 -- starting from x_Start_Token till the end.
16 --
17 -- Version : Initial version 1.0
18 -- Notes
19 --
20 --
21 -- End of comments
22 -- ---------------------------------------------------------------------
23
24 FUNCTION Calculate_Token(x_In_Message IN OUT NOCOPY VARCHAR2,
25 x_Start_Token IN OUT NOCOPY NUMBER,
26 x_End_Token IN OUT NOCOPY NUMBER) RETURN VARCHAR2
27 IS
28 L_Return_String VARCHAR2(4000);
29 L_Str_Len NUMBER;
30 --
31 l_debug_on BOOLEAN;
32 --
33 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'CALCULATE_TOKEN';
34 --
35 BEGIN
36 --
37 -- Debug Statements
38 --
39 --
40 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
41 --
42 IF l_debug_on IS NULL
43 THEN
44 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
45 END IF;
46 --
47 IF l_debug_on THEN
48 WSH_DEBUG_SV.push(l_module_name);
49 --
50 WSH_DEBUG_SV.log(l_module_name,'X_IN_MESSAGE',X_IN_MESSAGE);
51 WSH_DEBUG_SV.log(l_module_name,'X_START_TOKEN',X_START_TOKEN);
52 WSH_DEBUG_SV.log(l_module_name,'X_END_TOKEN',X_END_TOKEN);
53 END IF;
54 --
55 x_Start_Token := x_End_Token +1;
56 x_End_Token := INSTR(x_In_Message, '%',x_Start_Token,1);
57 if x_End_Token = 0 then
58 L_Return_String := SUBSTR(x_In_Message, x_Start_Token, length(x_In_Message) - x_Start_Token + 2);
59 --
60 -- Debug Statements
61 --
62 IF l_debug_on THEN
63 WSH_DEBUG_SV.pop(l_module_name);
64 END IF;
65 --
66 return L_Return_String;
67 end if;
68 L_Str_Len := x_End_Token - x_Start_Token;
69 L_Return_String := SUBSTR(x_In_Message,x_Start_Token,L_Str_Len);
70 --
71 -- Debug Statements
72 --
73 IF l_debug_on THEN
74 WSH_DEBUG_SV.pop(l_module_name);
75 END IF;
76 --
77 return L_Return_String;
78
79 END Calculate_Token;
80
81 -- -------------------------------------------------------------------
82 -- Start of comments
83 -- API name : Get_Carrier_API_URL
84 -- Type : public
85 -- Function : get the URL to for calling Carrier API
86 -- Version : Initial version 1.0
87 -- Notes : please use :set tabstop=3 to view this file in vi to get
88 -- proper alignment
89 --
90 -- End of comments
91 -- ---------------------------------------------------------------------
92
93
94 FUNCTION Get_Carrier_API_URL(
95 p_api_version IN NUMBER,
96 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
97 x_return_status OUT NOCOPY VARCHAR2,
98 x_msg_count OUT NOCOPY NUMBER,
99 x_msg_data OUT NOCOPY VARCHAR2,
100 p_Carrier_Name IN VARCHAR2,
101 p_API_Name IN VARCHAR2) RETURN VARCHAR2 IS
102
103 -- standard version infermation
104 l_api_version CONSTANT NUMBER := 1.0;
105 l_api_name CONSTANT VARCHAR2(30) := 'Get_Carrier_API_URL';
106 l_carrier_api_url VARCHAR2(1000) := NULL;
107 --
108 l_debug_on BOOLEAN;
109 --
110 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'GET_CARRIER_API_URL';
111 --
112 begin
113
114 --
115 -- Debug Statements
116 --
117 --
118 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
119 --
120 IF l_debug_on IS NULL
121 THEN
122 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
123 END IF;
124 --
125 IF l_debug_on THEN
126 WSH_DEBUG_SV.push(l_module_name);
127 --
128 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
129 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
130 WSH_DEBUG_SV.log(l_module_name,'P_CARRIER_NAME',P_CARRIER_NAME);
131 WSH_DEBUG_SV.log(l_module_name,'P_API_NAME',P_API_NAME);
132 END IF;
133 --
134 IF NOT FND_API.compatible_api_call(l_api_version, p_api_version,
135 l_api_name, G_PKG_NAME) THEN
136 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
137 END IF;
138
139 -- Check p_init_msg_list
140 IF FND_API.to_boolean(p_init_msg_list) THEN
141 FND_MSG_PUB.initialize;
142 END IF;
143
144 -- initialize API return status to success
145 x_return_status := FND_API.G_RET_STS_SUCCESS;
146
147 x_msg_count := 0;
148 x_msg_data := NULL;
149
150 if UPPER(p_Carrier_Name) = 'UPS' and
151 UPPER(p_API_Name) = 'RATING_AND_SERVICE_SELECTION' then
152 l_carrier_api_url := 'http://www.ups.com/using/services/rave/qcost_dss.cgi';
153
154 elsif UPPER(p_Carrier_Name) = 'UPS' and
155 UPPER(p_API_Name) = 'ENHANCED_TRACKING' then
156 l_carrier_api_url := 'http://wwwapps.ups.com/etracking/tracking.cgi';
157
158 elsif UPPER(p_Carrier_Name) = 'UPS' and
159 UPPER(p_API_Name) = 'CSP_VALIDATE' then
160 l_carrier_api_url := 'http://www.ups.com/using/services/cszval/cszval_dss.cgi';
161
162 elsif UPPER(p_Carrier_Name) = 'UPS' and
163 UPPER(p_API_Name) = 'TIME_IN_TRANSIT' then
164 l_carrier_api_url := 'http://wwwapps.ups.com/transit/timetran.cgi';
165
166 else
167 x_msg_count := 1;
168 x_msg_data := 'Invalid Carrier/API combination';
169 end if;
170 FND_MSG_PUB.count_and_get ( p_count => x_msg_count, p_data => x_msg_data);
171 --
172 -- Debug Statements
173 --
174 IF l_debug_on THEN
175 WSH_DEBUG_SV.pop(l_module_name);
176 END IF;
177 --
178 return l_carrier_api_url;
179
180
181
182 end Get_Carrier_API_URL;
183
184 -- -------------------------------------------------------------------
185 -- Start of comments
186 -- API name : Get_PROXY
187 -- Type : public
188 -- Function : get oracle proxy server
189 -- Version : Initial version 1.0
190 -- Notes : please use :set tabstop=3 to view this file in vi to get
191 -- proper alignment
192 --
193 -- End of comments
194 -- ---------------------------------------------------------------------
195
196 FUNCTION Get_PROXY (
197 p_api_version IN NUMBER,
198 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
199 x_return_status OUT NOCOPY VARCHAR2,
200 x_msg_count OUT NOCOPY NUMBER,
201 x_msg_data OUT NOCOPY VARCHAR2) return VARCHAR2 IS
202
203 -- standard version infermation
204 l_api_version CONSTANT NUMBER := 1.0;
205 l_api_name CONSTANT VARCHAR2(30):= 'Get_PROXY';
206 l_proxy VARCHAR2(1000) := NULL;
207
208 --
209 l_debug_on BOOLEAN;
210 --
211 l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'GET_PROXY';
212 --
213 begin
214
215 --
216 -- Debug Statements
217 --
218 --
219 l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
220 --
221 IF l_debug_on IS NULL
222 THEN
223 l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
224 END IF;
225 --
226 IF l_debug_on THEN
227 WSH_DEBUG_SV.push(l_module_name);
228 --
229 WSH_DEBUG_SV.log(l_module_name,'P_API_VERSION',P_API_VERSION);
230 WSH_DEBUG_SV.log(l_module_name,'P_INIT_MSG_LIST',P_INIT_MSG_LIST);
231 END IF;
232 --
233 IF NOT FND_API.compatible_api_call( l_api_version,
234 p_api_version,
235 l_api_name,
236 G_PKG_NAME) THEN
237 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
238 END IF;
239
240 -- Check p_init_msg_list
241 IF FND_API.to_boolean(p_init_msg_list) THEN
242 FND_MSG_PUB.initialize;
243 END IF;
244
245 -- initialize API return status to success
246 x_return_status := FND_API.G_RET_STS_SUCCESS;
247
248 x_msg_count := 0;
249 x_msg_data := NULL;
250
251 -- l_proxy := 'www-proxy.us.oracle.com';
252 FND_PROFILE.GET('WSH_INTERNET_PROXY', l_proxy );
253 --
254 -- Debug Statements
255 --
256 IF l_debug_on THEN
257 WSH_DEBUG_SV.pop(l_module_name);
258 END IF;
259 --
260 return l_proxy;
261
262
263 end Get_PROXY;
264
265 END WSH_U_UTIL;
266