[Home] [Help]
PACKAGE BODY: APPS.IEX_WEBDIR_PVT
Source
1 PACKAGE BODY iex_WebDir_Pvt AS
2 /* $Header: iexvadwb.pls 120.1 2005/07/06 19:23:34 jypark noship $ */
3 G_PKG_NAME CONSTANT VARCHAR2(30) :='iex_WebDir_Pvt';
4 G_FILE_NAME CONSTANT VARCHAR2(12) :='iexvadws.pls';
5
6 G_APPL_ID NUMBER;
7 G_LOGIN_ID NUMBER;
8 G_PROGRAM_ID NUMBER;
9 G_USER_ID NUMBER;
10 G_REQUEST_ID NUMBER;
11
12 PG_DEBUG NUMBER(2);
13
14 PROCEDURE Create_WebAssist(
15 p_api_version IN NUMBER,
16 p_init_msg_list IN VARCHAR2,
17 p_commit IN VARCHAR2,
18 p_validation_level IN NUMBER,
19 x_return_status OUT NOCOPY VARCHAR2,
20 x_msg_count OUT NOCOPY NUMBER,
21 x_msg_data OUT NOCOPY VARCHAR2,
22 p_assist_rec IN assist_rec_type,
23 p_web_assist_rec IN web_assist_rec_type,
24 p_web_search_rec IN web_search_rec_type,
25 p_query_string_rec IN query_string_rec_type
26 )
27 IS
28 l_api_version CONSTANT NUMBER := 1.0;
29 l_api_name CONSTANT VARCHAR2(30) := 'Create_WebAssist';
30 l_return_status VARCHAR2(1);
31 l_msg_count NUMBER;
32 l_msg_data VARCHAR2(32767);
33
34 l_assist_rec IEX_WEBDIR_PKG.assist_rec_type;
35 l_web_assist_rec IEX_WEBDIR_PKG.web_assist_rec_type;
36 l_web_search_rec IEX_WEBDIR_PKG.web_search_rec_type;
37 l_query_string_rec IEX_WEBDIR_PKG.query_string_rec_type;
38 l_assist_id NUMBER;
39 l_web_assist_id NUMBER;
40 l_search_id NUMBER;
41 l_query_string_id NUMBER;
42 l_user_id NUMBER;
43 l_login_id NUMBER;
44
45 CURSOR c_web_assist IS
46 SELECT WEB_ASSIST_ID
47 FROM IEX_WEB_ASSISTS
48 WHERE PROXY_HOST = l_web_assist_rec.proxy_host
49 AND PROXY_PORT = l_web_assist_rec.proxy_port;
50
51 CURSOR c_web_search IS
52 SELECT SEARCH_ID
53 FROM IEX_WEB_SEARCHES
54 WHERE SEARCH_URL = l_web_search_rec.search_url
55 AND CGI_SERVER = l_web_search_rec.cgi_server;
56
57 CURSOR c_query_seq IS
58 SELECT IEX_QUERY_STRINGS_S.NEXTVAL
59 FROM SYS.DUAL;
60
61 BEGIN
62 -- Standard begin of API savepoint
63 SAVEPOINT Create_WebAssist_PVT;
64
65 -- Check p_init_msg_list
66 IF FND_API.to_Boolean( p_init_msg_list ) THEN
67 FND_MSG_PUB.initialize;
68 END IF;
69
70 -- Implementation of User Hooks
71 /* Copy all parameters to local variables to be passed to Pre, Post AND Business APIs */
72 /* l_rec - will be used as In Out NOCOPY parameter in pre/post/Business API calls */
73 /* l_return_status - will be a out NOCOPY variable to get return code FROM called APIs */
74
75 l_user_id := fnd_profile.value('USER_ID');
76 l_login_id := fnd_profile.value('LOGIN_ID');
77
78 l_assist_rec.assistance_type := 'WEB_ASSIST';
79 l_assist_rec.object_version_number := 1.0;
80 l_assist_rec.last_update_date := sysdate;
81 l_assist_rec.creation_date := sysdate;
82 l_assist_rec.created_by := l_user_id;
83 l_assist_rec.last_updated_by := l_user_id;
84 l_assist_rec.last_update_login := l_login_id;
85
86 l_web_assist_rec.object_version_number := 1.0;
87 l_web_assist_rec.proxy_host := p_web_assist_rec.proxy_host;
88 l_web_assist_rec.proxy_port := p_web_assist_rec.proxy_port;
89 l_web_assist_rec.enabled_flag := p_web_search_rec.enabled_flag;
90 l_web_assist_rec.last_update_date := sysdate;
91 l_web_assist_rec.creation_date := sysdate;
92 l_web_assist_rec.created_by := l_user_id;
93 l_web_assist_rec.last_updated_by := l_user_id;
94 l_web_assist_rec.last_update_login := l_login_id;
95
96 l_web_search_rec.object_version_number := 1.0;
97 l_web_search_rec.enabled_flag := p_web_search_rec.enabled_flag;
98 l_web_search_rec.search_url := p_web_search_rec.search_url;
99 l_web_search_rec.cgi_server := p_web_search_rec.cgi_server;
100 l_web_search_rec.next_page_ident := p_web_search_rec.next_page_ident;
101 l_web_search_rec.max_nbr_pages := p_web_search_rec.max_nbr_pages;
102 l_web_search_rec.last_update_date := sysdate;
103 l_web_search_rec.creation_date := sysdate;
104 l_web_search_rec.created_by := l_user_id;
105 l_web_search_rec.last_updated_by := l_user_id;
106 l_web_search_rec.last_update_login := l_login_id;
107 l_web_search_rec.directory_assist_flag := p_web_search_rec.directory_assist_flag;
108
109
110 l_query_string_rec.object_version_number := 1.0;
111 l_query_string_rec.switch_separator := p_query_string_rec.switch_separator;
112 l_query_string_rec.url_separator := p_query_string_rec.url_separator;
113 l_query_string_rec.header_const := p_query_string_rec.header_const;
114 l_query_string_rec.trailer_const := p_query_string_rec.trailer_const;
115 l_query_string_rec.enabled_flag := p_web_search_rec.enabled_flag;
116 l_query_string_rec.last_update_date := sysdate;
117 l_query_string_rec.creation_date := sysdate;
118 l_query_string_rec.created_by := l_user_id;
119 l_query_string_rec.last_updated_by := l_user_id;
120 l_query_string_rec.last_update_login := l_login_id;
121
122
123 -- Initialize API return status to success
124 x_return_status := FND_API.G_RET_STS_SUCCESS;
125
126
127 OPEN c_web_assist;
128 FETCH c_web_assist INTO l_web_assist_id;
129 IF c_web_assist%NOTFOUND THEN
130 DECLARE
131 CURSOR c_web_assist_seq IS
132 SELECT IEX_WEB_ASSISTS_S.NEXTVAL
133 FROM SYS.DUAL;
134 BEGIN
135 CLOSE c_web_assist;
136 OPEN c_web_assist_seq;
137 FETCH c_web_assist_seq INTO l_web_assist_id;
138 CLOSE c_web_assist_seq;
139 EXCEPTION
140 WHEN OTHERS THEN
141 null;
142 END;
143 ELSE
144 --dbms_output.put_line('OLD ID1 > ' || l_web_assist_id);
145 CLOSE c_web_assist;
146 END IF;
147
148 OPEN c_web_search;
149 FETCH c_web_search INTO l_search_id;
150 IF c_web_search%NOTFOUND THEN
151 DECLARE
152 CURSOR c_search_seq IS
153 SELECT IEX_WEB_SEARCHES_S.NEXTVAL
154 FROM SYS.DUAL;
155 BEGIN
156 CLOSE c_web_search;
157 OPEN c_search_seq;
158 FETCH c_search_seq INTO l_search_id;
159 CLOSE c_search_seq;
160 EXCEPTION
161 WHEN OTHERS THEN
162 null;
163 END;
164 ELSE
165 CLOSE c_web_search;
166 END IF;
167
168 OPEN c_query_seq;
169 FETCH c_query_seq INTO l_query_string_id;
170 CLOSE c_query_seq;
171
172 l_assist_rec.assist_id := l_assist_id;
173
174 l_web_assist_rec.web_assist_id := l_web_assist_id;
175 l_web_assist_rec.assist_id := l_assist_id;
176
177 l_web_search_rec.search_id := l_search_id;
178 l_web_search_rec.web_assist_id := l_web_assist_id;
179
180 l_query_string_rec.query_string_id := l_query_string_id;
181 l_query_string_rec.search_id := l_search_id;
182
183 IEX_WEBDIR_PKG.Create_WebAssist(
184 P_API_VERSION => l_api_version,
185 P_INIT_MSG_LIST => p_init_msg_list,
186 P_COMMIT => p_commit,
187 P_VALIDATION_LEVEL => p_validation_level,
188 X_RETURN_STATUS => x_return_status,
189 X_MSG_COUNT => x_msg_count,
190 X_MSG_DATA => x_msg_data,
191 p_assist_rec => l_assist_rec,
192 p_web_assist_rec => l_web_assist_rec,
193 p_web_search_rec => l_web_search_rec,
194 p_query_string_rec => l_query_string_rec
195 );
196
197 --
198 -- Normal API Exception handling, IF exception occurs outside of phone processing loop
199 --
200 EXCEPTION
201
202 WHEN FND_API.G_EXC_ERROR THEN
203 ROLLBACK TO Create_WebAssist_PVT;
204 x_return_status := FND_API.G_RET_STS_ERROR ;
205 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
206 p_data => x_msg_data );
207 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
208 ROLLBACK TO Create_WebAssist_PVT;
209 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
210 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
211 p_data => x_msg_data );
212 WHEN OTHERS THEN
213 ROLLBACK TO Create_WebAssist_PVT;
214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
215 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
216 THEN
217 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
218 END IF;
219 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
220 p_data => x_msg_data );
221 END Create_WebAssist;
222
223 PROCEDURE Update_WebAssist(
224 p_api_version IN NUMBER,
225 p_init_msg_list IN VARCHAR2,
226 p_commit IN VARCHAR2,
227 p_validation_level IN NUMBER,
228 x_return_status OUT NOCOPY VARCHAR2,
229 x_msg_count OUT NOCOPY NUMBER,
230 x_msg_data OUT NOCOPY VARCHAR2,
231 p_assist_rec IN assist_rec_type,
232 p_web_assist_rec IN web_assist_rec_type,
233 p_web_search_rec IN web_search_rec_type,
234 p_query_string_rec IN query_string_rec_type
235 )
236 IS
237 l_api_version CONSTANT NUMBER := 1.0;
238 l_api_name CONSTANT VARCHAR2(30) := 'Create_WebAssist';
239 l_return_status VARCHAR2(1);
240 l_msg_count NUMBER;
241 l_msg_data VARCHAR2(32767);
242
243 l_assist_rec IEX_WEBDIR_PKG.assist_rec_type;
244 l_web_assist_rec IEX_WEBDIR_PKG.web_assist_rec_type;
245 l_web_search_rec IEX_WEBDIR_PKG.web_search_rec_type;
246 l_query_string_rec IEX_WEBDIR_PKG.query_string_rec_type;
247
248 l_user_id NUMBER;
249 l_login_id NUMBER;
250
251 BEGIN
252 -- Standard begin of API savepoint
253 SAVEPOINT Update_WebAssist_PVT;
254
255 -- Check p_init_msg_list
256 IF FND_API.to_Boolean( p_init_msg_list ) THEN
257 FND_MSG_PUB.initialize;
258 END IF;
259
260 -- Implementation of User Hooks
261 /* Copy all parameters to local variables to be passed to Pre, Post AND Business APIs */
262 /* l_rec - will be used as In Out NOCOPY parameter in pre/post/Business API calls */
263 /* l_return_status - will be a out NOCOPY variable to get return code FROM called APIs */
264
265 l_user_id := fnd_profile.value('USER_ID');
266 l_login_id := fnd_profile.value('LOGIN_ID');
267
268 l_assist_rec.assist_id := p_assist_rec.assist_id;
269 l_assist_rec.assistance_type := p_assist_rec.assistance_type;
270 l_assist_rec.object_version_number := p_assist_rec.object_version_number;
271 l_assist_rec.last_update_date := sysdate;
272 l_assist_rec.last_updated_by := l_user_id;
273 l_assist_rec.last_update_login := l_login_id;
274 l_assist_rec.creation_date := p_assist_rec.creation_date;
275 l_assist_rec.created_by := p_assist_rec.created_by;
276
277 l_web_assist_rec.web_assist_id := p_web_assist_rec.web_assist_id;
278 l_web_assist_rec.assist_id := p_web_assist_rec.assist_id;
279 l_web_assist_rec.object_version_number := 1.0;
280 l_web_assist_rec.proxy_host := p_web_assist_rec.proxy_host;
281 l_web_assist_rec.proxy_port := p_web_assist_rec.proxy_port;
282 l_web_assist_rec.enabled_flag := p_web_search_rec.enabled_flag;
283 l_web_assist_rec.last_update_date := sysdate;
284 l_web_assist_rec.last_updated_by := l_user_id;
285 l_web_assist_rec.last_update_login := l_login_id;
286 l_web_assist_rec.creation_date := p_web_assist_rec.creation_date;
287 l_web_assist_rec.created_by := p_web_assist_rec.created_by;
288
289 l_web_search_rec.search_id := p_web_search_rec.search_id;
290 l_web_search_rec.web_assist_id := p_web_search_rec.web_assist_id;
291 l_web_search_rec.object_version_number := 1.0;
292 l_web_search_rec.enabled_flag := p_web_search_rec.enabled_flag;
293 l_web_search_rec.search_url := p_web_search_rec.search_url;
294 l_web_search_rec.cgi_server := p_web_search_rec.cgi_server;
295 l_web_search_rec.next_page_ident := p_web_search_rec.next_page_ident;
296 l_web_search_rec.max_nbr_pages := p_web_search_rec.max_nbr_pages;
297 l_web_search_rec.last_update_date := sysdate;
298 l_web_search_rec.last_updated_by := l_user_id;
299 l_web_search_rec.last_update_login := l_login_id;
300 l_web_search_rec.directory_assist_flag := p_web_search_rec.directory_assist_flag;
301 l_web_search_rec.creation_date := p_web_search_rec.creation_date;
302 l_web_search_rec.created_by := p_web_search_rec.created_by;
303
304
305 l_query_string_rec.query_string_id := p_query_string_rec.query_string_id;
306 l_query_string_rec.search_id := p_query_string_rec.search_id;
307 l_query_string_rec.object_version_number := 1.0;
308 l_query_string_rec.switch_separator := p_query_string_rec.switch_separator;
309 l_query_string_rec.url_separator := p_query_string_rec.url_separator;
310 l_query_string_rec.header_const := p_query_string_rec.header_const;
311 l_query_string_rec.trailer_const := p_query_string_rec.trailer_const;
312 l_query_string_rec.enabled_flag := p_web_search_rec.enabled_flag;
313 l_query_string_rec.last_update_date := sysdate;
314 l_query_string_rec.last_updated_by := l_user_id;
315 l_query_string_rec.last_update_login := l_login_id;
316 l_query_string_rec.creation_date := p_query_string_rec.creation_date;
317 l_query_string_rec.created_by := p_query_string_rec.created_by;
318
319
320 -- Initialize API return status to success
321 x_return_status := FND_API.G_RET_STS_SUCCESS;
322
323
324 IEX_WEBDIR_PKG.Update_WebAssist(
325 P_API_VERSION => l_api_version,
326 P_INIT_MSG_LIST => p_init_msg_list,
327 P_COMMIT => p_commit,
328 P_VALIDATION_LEVEL => p_validation_level,
329 X_RETURN_STATUS => x_return_status,
330 X_MSG_COUNT => x_msg_count,
331 X_MSG_DATA => x_msg_data,
332 p_assist_rec => l_assist_rec,
333 p_web_assist_rec => l_web_assist_rec,
334 p_web_search_rec => l_web_search_rec,
335 p_query_string_rec => l_query_string_rec
336 );
337
338 --
339 -- Normal API Exception handling, IF exception occurs outside of phone processing loop
340 --
341 EXCEPTION
342
343 WHEN FND_API.G_EXC_ERROR THEN
344 ROLLBACK TO Update_WebAssist_PVT;
345 x_return_status := FND_API.G_RET_STS_ERROR ;
346 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
347 p_data => x_msg_data );
348 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
349 ROLLBACK TO Update_WebAssist_PVT;
350 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
351 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
352 p_data => x_msg_data );
353 WHEN OTHERS THEN
354 ROLLBACK TO Update_WebAssist_PVT;
355 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
356 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
357 THEN
358 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
359 END IF;
360 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
361 p_data => x_msg_data );
362 END Update_WebAssist;
363 BEGIN
364 G_APPL_ID := FND_GLOBAL.Prog_Appl_Id;
365 G_LOGIN_ID := FND_GLOBAL.Conc_Login_Id;
366 G_PROGRAM_ID := FND_GLOBAL.Conc_Program_Id;
367 G_USER_ID := FND_GLOBAL.User_Id;
368 G_REQUEST_ID := FND_GLOBAL.Conc_Request_Id;
369
370 PG_DEBUG := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
371
372 END iex_WebDir_Pvt;