DBA Data[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