DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_XML_IA_PUB

Source


1 Package Body JTF_XML_IA_PUB AS
2 /* $Header: jtfxmliab.pls 115.5 2001/04/10 09:57:33 pkm ship       $ */
3 
4 -- global variables --
5 G_PKG_NAME      CONSTANT VARCHAR2(30):='JTF_XML_IA_PUB';
6 G_FILE_NAME     CONSTANT VARCHAR2(16):='jtfxmliab.pls';
7 
8 G_LOGIN_ID      NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
9 G_USER_ID       NUMBER := FND_GLOBAL.USER_ID;
10 
11 
12 PROCEDURE CREATE_AUTH (
13   p_api_version		IN      NUMBER,
14   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
15   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
16 
17   p_URL			IN	VARCHAR2,
18   p_AUTH_NAME		IN	VARCHAR2,
19   p_AUTH_TYPE		IN	VARCHAR2,
20   p_AUTH_INFO		IN	VARCHAR2,
21 
22   p_AUTH_ID 		OUT 	NUMBER,
23   p_OBJECT_VERSION	OUT	NUMBER,
24 
25   x_return_status       OUT     VARCHAR2,
26   x_msg_count           OUT     NUMBER,
27   x_msg_data            OUT     VARCHAR2
28 ) AS
29         -- local variables --
30         l_api_name       	CONSTANT VARCHAR2(30)   := 'CREATE_AUTH';
31         l_api_version    	NUMBER  := p_api_version;
32         l_return_status  	VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
33         l_commit         	VARCHAR2(1)     := FND_API.G_FALSE;
34 
35 	l_row_id		VARCHAR2(30) := NULL;
36         l_auth_id		NUMBER := NULL;
37 
38         CURSOR auth_id_s IS SELECT JTF_XML_INV_AUTHS_S.NEXTVAL FROM sys.dual;
39 
40 BEGIN
41       	-- Standard Start of API savepoint
42       	SAVEPOINT CREATE_AUTH;
43 
44        	-- Standard call to check for call compatibility.
45        	IF NOT FND_API.Compatible_API_Call (
46 		l_api_version,
47 		p_api_version,
48 		l_api_name,
49 		G_PKG_NAME)
50        	THEN
51            	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
52        	END IF;
53 
54       	-- Initialize message list if p_init_msg_list is set to TRUE.
55       	IF FND_API.To_Boolean( p_init_msg_list ) THEN
56           	FND_MSG_PUB.initialize;
57       	END IF;
58 
59       	-- Initialize API return status to success
60       	x_return_status := FND_API.G_RET_STS_SUCCESS;
61 
62 	-- real logic --
63 	----------------
64    	-- Use Sequence as the unique key
65    	OPEN auth_id_s;
66    	FETCH auth_id_s INTO l_auth_id;
67    	CLOSE auth_id_s;
68 
69 	insert into JTF_XML_INV_AUTHS (
70 		AUTH_ID,
71     		URL,
72     		AUTH_NAME,
73     		AUTH_TYPE,
74 		AUTH_INFO,
75     		END_DATE,
76     		SECURITY_GROUP_ID,
77     		OBJECT_VERSION_NUMBER,
78     		CREATION_DATE,
79     		CREATED_BY,
80     		LAST_UPDATE_DATE,
81     		LAST_UPDATED_BY,
82     		LAST_UPDATE_LOGIN
83   	) values (
84     		l_auth_id,
85 		p_URL,
86 		p_AUTH_NAME,
87 		p_AUTH_TYPE,
88 		p_AUTH_INFO,
89 		NULL,
90 		NULL,
91 		1,
92 		SYSDATE,
93 		G_USER_ID,
94 		SYSDATE,
95 		G_USER_ID,
96 		G_LOGIN_ID
97   	);
98 
99 	p_AUTH_ID := l_auth_id;
100 	p_OBJECT_VERSION := 1;
101 	-----------------------
102 	-- end of real logic --
103 
104 	-- Standard check of p_commit.
105 	IF (FND_API.To_Boolean(p_commit)) THEN
106 		COMMIT WORK;
107 	END IF;
108 
109 	-- Standard call to get message count and if count is 1, get message info.
110 	FND_MSG_PUB.Count_And_Get(
111 		p_count => x_msg_count,
112 		p_data  => x_msg_data );
113 
114 EXCEPTION
115 	WHEN FND_API.G_EXC_ERROR THEN
116 		ROLLBACK TO CREATE_AUTH;
117 		x_return_status := FND_API.G_RET_STS_ERROR ;
118 
119 		FND_MSG_PUB.Count_And_Get(
120 			p_count => x_msg_count,
121 			p_data  => x_msg_data );
122 
123 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
124 		ROLLBACK TO CREATE_AUTH;
125 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
126 
127 		FND_MSG_PUB.Count_And_Get(
128 			p_count => x_msg_count,
129 			p_data  => x_msg_data );
130 
131 	WHEN OTHERS THEN
132 		ROLLBACK TO CREATE_AUTH;
133 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
134 
135 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
136 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
137 		END IF;
138 
139 		FND_MSG_PUB.Count_And_Get(
140 			p_count => x_msg_count,
141 			p_data  => x_msg_data );
142 
143 END CREATE_AUTH;
144 
145 
146 procedure REMOVE_AUTH (
147   p_api_version		IN      NUMBER,
148   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
149   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
150 
151   p_AUTH_ID		IN 	NUMBER,
152   p_OBJ_VER_NUMBER 	IN OUT	NUMBER,
153 
154   x_return_status       OUT     VARCHAR2,
155   x_msg_count           OUT     NUMBER,
156   x_msg_data            OUT     VARCHAR2
157 ) AS
158   	l_api_name		CONSTANT VARCHAR2(30) := 'REMOVE_AUTH';
159   	l_api_version		CONSTANT NUMBER := p_api_version;
160 
161   	l_object_version	NUMBER := NULL;
162 
163   	-- l_ip_row		JTF_XML_INV_PARAMS%ROWTYPE;
164 
165 BEGIN
166   	-- Standard Start of API savepoint
167  	SAVEPOINT REMOVE_AUTH;
168 
169   	-- dbms_output.PUT_LINE('$$$$');
170 
171        	-- Standard call to check for call compatibility.
172        	IF NOT FND_API.Compatible_API_Call (
173 		l_api_version,
174 		p_api_version,
175 		l_api_name,
176 		G_PKG_NAME)
177        	THEN
178            	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
179        	END IF;
180 
181       	-- Initialize message list if p_init_msg_list is set to TRUE.
182       	IF FND_API.To_Boolean( p_init_msg_list ) THEN
183           	FND_MSG_PUB.initialize;
184       	END IF;
185 
186       	-- Initialize API return status to success
187       	x_return_status := FND_API.G_RET_STS_SUCCESS;
188 
189 	-- real logic --
190 	----------------
191   	SELECT OBJECT_VERSION_NUMBER INTO l_object_version
192     	FROM JTF_XML_INV_AUTHS
193     	WHERE AUTH_ID = p_AUTH_ID;
194 
195   	-- checking for object version number
196   	-- if (l_object_version IS NULL OR l_object_version > p_OBJ_VER_NUMBER) THEN
197     	--	RAISE FND_API.G_EXC_ERROR;
198   	-- ELSE
199     	--	l_object_version := p_OBJ_VER_NUMBER + 1;
200   	-- END IF;
201 
202   	-- SELECT * INTO l_ip_row FROM JTF_XML_INV_PARAMS
203     	-- WHERE PARAM_ID = p_PARAM_ID;
204 
205   	update JTF_XML_INV_AUTHS set
206     		END_DATE = SYSDATE,
207     		OBJECT_VERSION_NUMBER = l_object_version,
208     		LAST_UPDATE_DATE = SYSDATE,
209     		LAST_UPDATED_BY = G_USER_ID,
210     		LAST_UPDATE_LOGIN = G_LOGIN_ID
211   	where AUTH_ID = p_AUTH_ID;
212 
213 	-- P_OBJ_VER_NUMBER := P_OBJ_VER_NUMBER + 1;
214 	-----------------------
215 	-- end of real logic --
216 
217 	-- Standard check of p_commit.
218 	IF (FND_API.To_Boolean(p_commit)) THEN
219 		COMMIT WORK;
220 	END IF;
221 
222 	-- Standard call to get message count and if count is 1, get message info.
223 	FND_MSG_PUB.Count_And_Get(
224 		p_count => x_msg_count,
225 		p_data  => x_msg_data );
226 
227 EXCEPTION
228 	WHEN FND_API.G_EXC_ERROR THEN
229 		ROLLBACK TO REMOVE_AUTH;
230 		x_return_status := FND_API.G_RET_STS_ERROR ;
231 
232 		FND_MSG_PUB.Count_And_Get(
233 			p_count => x_msg_count,
234 			p_data  => x_msg_data );
235 
236 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
237 		ROLLBACK TO REMOVE_AUTH;
238 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
239 
240 		FND_MSG_PUB.Count_And_Get(
241 			p_count => x_msg_count,
242 			p_data  => x_msg_data );
243 
244     	WHEN OTHERS THEN
245 		ROLLBACK TO REMOVE_AUTH;
246 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
247 
248 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
249 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
250 		END IF;
251 
252 		FND_MSG_PUB.Count_And_Get(
253 			p_count => x_msg_count,
254 			p_data  => x_msg_data );
255 
256 END REMOVE_AUTH;
257 
258 
259 procedure GET_OBJECT_VERSION (
260   p_api_version		IN      NUMBER,
261   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
262   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
263 
264   p_AUTH_ID		IN	NUMBER,
265   x_OBJ_VER_NUMBER	OUT	NUMBER,
266 
267   x_return_status       OUT     VARCHAR2,
268   x_msg_count           OUT     NUMBER,
269   x_msg_data            OUT     VARCHAR2
270 ) AS
271         ---- local variables ----
272         l_api_name              CONSTANT VARCHAR2(30)   := 'GET_OBJECT_VERSION';
273         l_api_version    	NUMBER  := p_api_version;
274         l_return_status         VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
275         l_commit                VARCHAR2(1) := FND_API.G_FALSE;
276 
277 BEGIN
278 	-- Standard Start of API savepoint
279 	SAVEPOINT GET_OBJECT_VERSION;
280 
281 	-- Standard call to check for call compatibility.
282 	IF NOT FND_API.Compatible_API_Call (
283 		l_api_version,
284 		p_api_version,
285 		l_api_name,
286 		G_PKG_NAME)
287 	THEN
288 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
289 	END IF;
290 
291 	-- Initialize message list if p_init_msg_list is set to TRUE.
292 	IF FND_API.To_Boolean( p_init_msg_list )
293 	THEN
294 		FND_MSG_PUB.initialize;
295 	END IF;
296 
297 	-- Initialize API return status to success
298 	x_return_status := FND_API.G_RET_STS_SUCCESS;
299 
300 	-- real logic --
301 	-------------------------------
302 	SELECT OBJECT_VERSION_NUMBER into x_OBJ_VER_NUMBER
303 	FROM JTF_XML_INV_AUTHS
304 	WHERE AUTH_ID = p_AUTH_ID;
305 
306 	IF (sql%notfound) THEN
307 		--raise no_data_found;
308 		RAISE FND_API.G_EXC_ERROR;
309 	END IF;
310 	--------------------------------------
311 	-- end of real logic --
312 
313 	-- Standard check of p_commit.
314 	IF (FND_API.To_Boolean(p_commit)) THEN
315 		COMMIT WORK;
316 	END IF;
317 
318 	-- Standard call to get message count and if count is 1, get message info.
319 	FND_MSG_PUB.Count_And_Get(
320 		p_count => x_msg_count,
321 		p_data  => x_msg_data );
322 
323 EXCEPTION
324 	WHEN FND_API.G_EXC_ERROR THEN
325 		ROLLBACK TO GET_OBJECT_VERSION;
326 		x_return_status := FND_API.G_RET_STS_ERROR ;
327 
328 		FND_MSG_PUB.Count_And_Get(
329 			p_count => x_msg_count,
330 			p_data  => x_msg_data );
331 
332 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
333 		ROLLBACK TO GET_OBJECT_VERSION;
334 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
335 
336 		FND_MSG_PUB.Count_And_Get(
337 			p_count => x_msg_count,
338 			p_data  => x_msg_data );
339 
340 	WHEN OTHERS THEN
341 		ROLLBACK TO GET_OBJECT_VERSION;
342 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
343 
344 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
345 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
346 		END IF;
347 
348 		FND_MSG_PUB.Count_And_Get(
349 			p_count => x_msg_count,
350 			p_data  => x_msg_data );
351 
352 END GET_OBJECT_VERSION;
353 
354 
355 PROCEDURE UPDATE_AUTH (
356   p_api_version		IN      NUMBER,
357   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
358   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
359 
360   p_AUTH_ID	 	IN 	NUMBER,
361   p_OBJ_VER_NUMBER 	IN OUT	NUMBER,
362   p_URL			IN	VARCHAR2,
363   p_AUTH_NAME		IN	VARCHAR2,
364   p_AUTH_TYPE		IN	VARCHAR2,
365   p_AUTH_INFO		IN 	VARCHAR2,
366 
367   x_return_status       OUT     VARCHAR2,
368   x_msg_count           OUT     NUMBER,
369   x_msg_data            OUT     VARCHAR2
370 ) AS
371         l_api_name              CONSTANT VARCHAR2(30)   := 'UPDATE_AUTH';
372         l_api_version    	NUMBER  := p_api_version;
373         l_return_status         VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
374         l_commit                VARCHAR2(1)   := FND_API.G_FALSE;
375         l_object_version	NUMBER := NULL;
376 
377 	--l_ip_row		JTF_XML_INV_PARAMS%ROWTYPE;
378 BEGIN
379   	-- Standard Start of API savepoint
380  	SAVEPOINT UPDATE_AUTH;
381 
382        	-- Standard call to check for call compatibility.
383        	IF NOT FND_API.Compatible_API_Call (
384 		l_api_version,
385 		p_api_version,
386 		l_api_name,
387 		G_PKG_NAME)
388        	THEN
389            	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390        	END IF;
391 
392       	-- Initialize message list if p_init_msg_list is set to TRUE.
393       	IF FND_API.To_Boolean( p_init_msg_list ) THEN
394           	FND_MSG_PUB.initialize;
395       	END IF;
396 
397       	-- Initialize API return status to success
398       	x_return_status := FND_API.G_RET_STS_SUCCESS;
399 
400 	-- real logic --
401 	----------------
402   	SELECT OBJECT_VERSION_NUMBER INTO l_object_version
403     	FROM JTF_XML_INV_AUTHS
404     	WHERE AUTH_ID = p_AUTH_ID;
405 
406   	-- checking for object version number
407   	-- if (l_object_version IS NULL OR l_object_version > p_OBJ_VER_NUMBER) THEN
408     	--	RAISE FND_API.G_EXC_ERROR;
409   	-- ELSE
410     	--	l_object_version := p_OBJ_VER_NUMBER + 1;
411   	-- END IF;
412 
413   	-- SELECT * INTO l_ip_row FROM JTF_XML_INV_PARAMS
414     	-- WHERE PARAM_ID = p_PARAM_ID;
415 
416   	update JTF_XML_INV_AUTHS set
417 		URL = p_URL,
418 		AUTH_NAME = p_AUTH_NAME,
419 		AUTH_TYPE = p_AUTH_TYPE,
420 		AUTH_INFO = p_AUTH_INFO,
421     		OBJECT_VERSION_NUMBER = l_object_version,
422     		LAST_UPDATE_DATE = SYSDATE,
423     		LAST_UPDATED_BY = G_USER_ID,
424     		LAST_UPDATE_LOGIN = G_LOGIN_ID
425   	where AUTH_ID = p_AUTH_ID;
426 
427 	-- P_OBJ_VER_NUMBER := P_OBJ_VER_NUMBER + 1;
428 	-----------------------
429 	-- end of real logic --
430 
431 	-- Standard check of p_commit.
432 	IF (FND_API.To_Boolean(p_commit)) THEN
433 		COMMIT WORK;
434 	END IF;
435 
436 	-- Standard call to get message count and if count is 1, get message info.
437 	FND_MSG_PUB.Count_And_Get(
438 		p_count => x_msg_count,
439 		p_data  => x_msg_data );
440 
441 EXCEPTION
442 	WHEN FND_API.G_EXC_ERROR THEN
443 		ROLLBACK TO UPDATE_AUTH;
444 		x_return_status := FND_API.G_RET_STS_ERROR ;
445 
446 		FND_MSG_PUB.Count_And_Get(
447 			p_count => x_msg_count,
448 			p_data  => x_msg_data );
449 
450 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
451 		ROLLBACK TO UPDATE_AUTH;
452 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
453 
454 		FND_MSG_PUB.Count_And_Get(
455 			p_count => x_msg_count,
456 			p_data  => x_msg_data );
457 
458     	WHEN OTHERS THEN
459 		ROLLBACK TO UPDATE_AUTH;
460 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
461 
462 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
463 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
464 		END IF;
465 
466 		FND_MSG_PUB.Count_And_Get(
467 			p_count => x_msg_count,
468 			p_data  => x_msg_data );
469 
470 END UPDATE_AUTH;
471 
472 procedure REMOVE_URL (
473   p_api_version		IN      NUMBER,
474   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
475   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
476 
477   p_URL			IN 	VARCHAR2,
478 
479   x_return_status       OUT     VARCHAR2,
480   x_msg_count           OUT     NUMBER,
481   x_msg_data            OUT     VARCHAR2
482 ) AS
483   	l_api_name		CONSTANT VARCHAR2(30) := 'REMOVE_URL';
484   	l_api_version		CONSTANT NUMBER := p_api_version;
485 
486 BEGIN
487   	-- Standard Start of API savepoint
488  	SAVEPOINT REMOVE_URL;
489 
490   	-- dbms_output.PUT_LINE('$$$$');
491 
492        	-- Standard call to check for call compatibility.
493        	IF NOT FND_API.Compatible_API_Call (
494 		l_api_version,
495 		p_api_version,
499            	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
496 		l_api_name,
497 		G_PKG_NAME)
498        	THEN
500        	END IF;
501 
502       	-- Initialize message list if p_init_msg_list is set to TRUE.
503       	IF FND_API.To_Boolean( p_init_msg_list ) THEN
504           	FND_MSG_PUB.initialize;
505       	END IF;
506 
507       	-- Initialize API return status to success
508       	x_return_status := FND_API.G_RET_STS_SUCCESS;
509 
510 	-- real logic --
511 	----------------
512   	-- checking for object version number
513   	-- if (l_object_version IS NULL OR l_object_version > p_OBJ_VER_NUMBER) THEN
514     	--	RAISE FND_API.G_EXC_ERROR;
515   	-- ELSE
516     	--	l_object_version := p_OBJ_VER_NUMBER + 1;
517   	-- END IF;
518 
519   	-- SELECT * INTO l_ip_row FROM JTF_XML_INV_PARAMS
520     	-- WHERE PARAM_ID = p_PARAM_ID;
521 
522   	update JTF_XML_INV_AUTHS set
523     		END_DATE = SYSDATE,
524     		LAST_UPDATE_DATE = SYSDATE,
525     		LAST_UPDATED_BY = G_USER_ID,
526     		LAST_UPDATE_LOGIN = G_LOGIN_ID
527   	where URL = p_URL and END_DATE is NULL;
528 
529 	-- P_OBJ_VER_NUMBER := P_OBJ_VER_NUMBER + 1;
530 	-----------------------
531 	-- end of real logic --
532 
533 	-- Standard check of p_commit.
534 	IF (FND_API.To_Boolean(p_commit)) THEN
535 		COMMIT WORK;
536 	END IF;
537 
538 	-- Standard call to get message count and if count is 1, get message info.
539 	FND_MSG_PUB.Count_And_Get(
540 		p_count => x_msg_count,
541 		p_data  => x_msg_data );
542 
543 EXCEPTION
544 	WHEN FND_API.G_EXC_ERROR THEN
545 		ROLLBACK TO REMOVE_URL;
546 		x_return_status := FND_API.G_RET_STS_ERROR ;
547 
548 		FND_MSG_PUB.Count_And_Get(
549 			p_count => x_msg_count,
550 			p_data  => x_msg_data );
551 
552 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
553 		ROLLBACK TO REMOVE_URL;
554 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
555 
556 		FND_MSG_PUB.Count_And_Get(
557 			p_count => x_msg_count,
558 			p_data  => x_msg_data );
559 
560     	WHEN OTHERS THEN
561 		ROLLBACK TO REMOVE_URL;
562 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
563 
564 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
565 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
566 		END IF;
567 
568 		FND_MSG_PUB.Count_And_Get(
569 			p_count => x_msg_count,
570 			p_data  => x_msg_data );
571 
572 END REMOVE_URL;
573 
574 procedure UPDATE_URL (
575   p_api_version		IN      NUMBER,
576   p_init_msg_list       IN      VARCHAR2        := FND_API.G_FALSE,
577   p_commit              IN      VARCHAR2        := FND_API.G_FALSE,
578 
579   p_URL			IN 	VARCHAR2,
580   p_NEW_URL		IN	VARCHAR2,
581 
582   x_return_status       OUT     VARCHAR2,
583   x_msg_count           OUT     NUMBER,
584   x_msg_data            OUT     VARCHAR2
585 ) AS
586         l_api_name              CONSTANT VARCHAR2(30)   := 'UPDATE_URL';
587         l_api_version    	NUMBER  := p_api_version;
588         l_return_status         VARCHAR2(240) := FND_API.G_RET_STS_SUCCESS;
589         l_commit                VARCHAR2(1)   := FND_API.G_FALSE;
590 BEGIN
591   	-- Standard Start of API savepoint
592  	SAVEPOINT UPDATE_URL;
593 
594        	-- Standard call to check for call compatibility.
595        	IF NOT FND_API.Compatible_API_Call (
596 		l_api_version,
597 		p_api_version,
598 		l_api_name,
599 		G_PKG_NAME)
600        	THEN
601            	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
602        	END IF;
603 
604       	-- Initialize message list if p_init_msg_list is set to TRUE.
605       	IF FND_API.To_Boolean( p_init_msg_list ) THEN
606           	FND_MSG_PUB.initialize;
607       	END IF;
608 
609       	-- Initialize API return status to success
610       	x_return_status := FND_API.G_RET_STS_SUCCESS;
611 
612 	-- real logic --
613 	----------------
614   	-- checking for object version number
615   	-- if (l_object_version IS NULL OR l_object_version > p_OBJ_VER_NUMBER) THEN
616     	--	RAISE FND_API.G_EXC_ERROR;
617   	-- ELSE
618     	--	l_object_version := p_OBJ_VER_NUMBER + 1;
619   	-- END IF;
620 
621   	-- SELECT * INTO l_ip_row FROM JTF_XML_INV_PARAMS
622     	-- WHERE PARAM_ID = p_PARAM_ID;
623 
624   	update JTF_XML_INV_AUTHS set
625 		URL = p_NEW_URL,
626     		LAST_UPDATE_DATE = SYSDATE,
627     		LAST_UPDATED_BY = G_USER_ID,
628     		LAST_UPDATE_LOGIN = G_LOGIN_ID
629   	where URL = p_URL and END_DATE is NULL;
630 	-----------------------
631 	-- end of real logic --
632 
633 	-- Standard check of p_commit.
634 	IF (FND_API.To_Boolean(p_commit)) THEN
635 		COMMIT WORK;
636 	END IF;
637 
638 	-- Standard call to get message count and if count is 1, get message info.
639 	FND_MSG_PUB.Count_And_Get(
640 		p_count => x_msg_count,
641 		p_data  => x_msg_data );
642 
643 EXCEPTION
644 	WHEN FND_API.G_EXC_ERROR THEN
645 		ROLLBACK TO UPDATE_URL;
646 		x_return_status := FND_API.G_RET_STS_ERROR ;
647 
648 		FND_MSG_PUB.Count_And_Get(
649 			p_count => x_msg_count,
650 			p_data  => x_msg_data );
651 
652 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
653 		ROLLBACK TO UPDATE_URL;
654 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
655 
656 		FND_MSG_PUB.Count_And_Get(
657 			p_count => x_msg_count,
658 			p_data  => x_msg_data );
659 
660     	WHEN OTHERS THEN
661 		ROLLBACK TO UPDATE_URL;
662 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
663 
664 		IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
668 		FND_MSG_PUB.Count_And_Get(
665 			FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
666 		END IF;
667 
669 			p_count => x_msg_count,
670 			p_data  => x_msg_data );
671 
672 END UPDATE_URL;
673 
674 
675 END JTF_XML_IA_PUB;