DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_API

Source


1 PACKAGE BODY OKC_API AS
2 /* $Header: OKCPAPIB.pls 120.0 2005/05/30 04:12:53 appldev noship $ */
3 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4 --------------------------------------------------------------------------------
5 -- MESSAGE CONSTANTS
6 --------------------------------------------------------------------------------
7 G_MSG_LEVEL_THRESHOLD		CONSTANT NUMBER := OKC_API.G_MISS_NUM;
8 --------------------------------------------------------------------------------
9 -- PROCEDURE init_msg_list
10 --------------------------------------------------------------------------------
11 PROCEDURE init_msg_list (
12 	p_init_msg_list	IN VARCHAR2
13 ) IS
14 BEGIN
15   IF (FND_API.to_boolean(p_init_msg_list)) THEN
16     FND_MSG_PUB.initialize;
17   END IF;
18 EXCEPTION
19   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
20   	RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
21 END init_msg_list;
22 --------------------------------------------------------------------------------
23 -- FUNCTION start_activity
24 --------------------------------------------------------------------------------
25 FUNCTION start_activity(
26 	p_api_name			IN VARCHAR2,
27 	p_pkg_name			IN VARCHAR2,
28 	p_init_msg_list			IN VARCHAR2,
29 	l_api_version			IN NUMBER,
30 	p_api_version			IN NUMBER,
31 	p_api_type			IN VARCHAR2,
32 	x_return_status		 OUT NOCOPY VARCHAR2
33 ) RETURN VARCHAR2 IS
34 BEGIN
35 	-- Standard START OF API SAVEPOINT
36 
37 	DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
38 
39 	IF NOT FND_API.compatible_API_Call( l_api_version,
40 					    p_api_version,
41 					    p_api_name,
42 					    p_pkg_name)
43 	THEN
44 	  RETURN(OKC_API.G_RET_STS_UNEXP_ERROR);
45 	END IF;
46 
47 	OKC_API.init_msg_list(p_init_msg_list);
48 
49 	x_return_status := OKC_API.G_RET_STS_SUCCESS;
50 	RETURN(OKC_API.G_RET_STS_SUCCESS);
51 END start_activity;
52 FUNCTION start_activity(
53 	p_api_name			IN VARCHAR2,
54 	p_init_msg_list			IN VARCHAR2,
55 	p_api_type			IN VARCHAR2,
56 	x_return_status		 OUT NOCOPY VARCHAR2
57 ) RETURN VARCHAR2 IS
58 BEGIN
59 	-- Standard START OF API SAVEPOINT
60 
61 	DBMS_TRANSACTION.SAVEPOINT(p_api_name || p_api_type);
62 	OKC_API.init_msg_list(p_init_msg_list);
63 
64 	x_return_status := OKC_API.G_RET_STS_SUCCESS;
65 	RETURN(OKC_API.G_RET_STS_SUCCESS);
66 END start_activity;
67 --------------------------------------------------------------------------------
68 -- FUNCTION handle_exceptions
69 --------------------------------------------------------------------------------
70 FUNCTION handle_exceptions (
71 	p_api_name		IN VARCHAR2,
72 	p_pkg_name		IN VARCHAR2,
73 	p_exc_name		IN VARCHAR2,
74 	x_msg_count	 OUT NOCOPY NUMBER,
75 	x_msg_data	 OUT NOCOPY VARCHAR2,
76 	p_api_type		IN VARCHAR2
77 ) RETURN VARCHAR2 IS
78 	l_return_value		VARCHAR2(200) := OKC_API.G_RET_STS_UNEXP_ERROR;
79 BEGIN
80 	DBMS_TRANSACTION.ROLLBACK_SAVEPOINT(p_api_name || p_api_type);
81 	IF p_exc_name = 'OKC_API.G_RET_STS_ERROR'  THEN
82 		FND_MSG_PUB.Count_And_Get
83 		(
84 				p_count	=>	x_msg_count,
85 				p_data	=>	x_msg_data
86 		);
87 		l_return_value := OKC_API.G_RET_STS_ERROR;
88 	ELSIF p_exc_name = 'OKC_API.G_RET_STS_UNEXP_ERROR'  THEN
89 	 	FND_MSG_PUB.Count_And_Get
90 	 	(
91 	 		p_count	=>	x_msg_count,
92 	 		p_data	=>	x_msg_data
93 	 	);
94 	ELSE -- WHEN OTHERS EXCEPTION
95 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
96 		THEN
97 			FND_MSG_PUB.Add_Exc_Msg
98 			(
99 				p_pkg_name,
100 	 			p_api_name
101 			);
102 		END IF;
103 		FND_MSG_PUB.Count_And_Get
104 		(
105 				p_count	=>	x_msg_count,
106 				p_data	=>	x_msg_data
107 		);
108 	END IF;
109 	RETURN(l_return_value);
110 END handle_exceptions;
111 --------------------------------------------------------------------------------
112 -- FUNCTION end_activity
113 --------------------------------------------------------------------------------
114 PROCEDURE end_activity (
115 	x_msg_count	 OUT NOCOPY NUMBER,
116 	x_msg_data	 OUT NOCOPY VARCHAR2
117 ) IS
118 BEGIN
119     --- Standard call to get message count and if count is 1, get message info
120 	FND_MSG_PUB.Count_And_Get (
121 		p_count	=> 	x_msg_count,
122 		p_data	=> 	x_msg_data);
123 END end_activity;
124 --------------------------------------------------------------------------------
125 -- PROCEDURE set_message
126 --------------------------------------------------------------------------------
127 PROCEDURE set_message (
128 	p_app_name		IN VARCHAR2 ,
129 	p_msg_name		IN VARCHAR2,
130 	p_token1		IN VARCHAR2 ,
131 	p_token1_value		IN VARCHAR2 ,
132 	p_token2		IN VARCHAR2 ,
133 	p_token2_value		IN VARCHAR2 ,
134 	p_token3		IN VARCHAR2 ,
135 	p_token3_value		IN VARCHAR2 ,
136 	p_token4		IN VARCHAR2 ,
137 	p_token4_value		IN VARCHAR2 ,
138 	p_token5		IN VARCHAR2 ,
139 	p_token5_value		IN VARCHAR2 ,
140 	p_token6		IN VARCHAR2 ,
141 	p_token6_value		IN VARCHAR2 ,
142 	p_token7		IN VARCHAR2 ,
143 	p_token7_value		IN VARCHAR2 ,
144 	p_token8		IN VARCHAR2 ,
145 	p_token8_value		IN VARCHAR2 ,
146 	p_token9		IN VARCHAR2 ,
147 	p_token9_value		IN VARCHAR2 ,
148 	p_token10		IN VARCHAR2 ,
149 	p_token10_value		IN VARCHAR2
150 ) IS
151 BEGIN
152 	FND_MESSAGE.SET_NAME( P_APP_NAME, P_MSG_NAME);
153 	IF (p_token1 IS NOT NULL) AND (p_token1_value IS NOT NULL) THEN
154 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token1,
155 					VALUE		=> p_token1_value);
156 	END IF;
157 	IF (p_token2 IS NOT NULL) AND (p_token2_value IS NOT NULL) THEN
158 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token2,
159 					VALUE		=> p_token2_value);
160 	END IF;
161 	IF (p_token3 IS NOT NULL) AND (p_token3_value IS NOT NULL) THEN
162 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token3,
163 					VALUE		=> p_token3_value);
164 	END IF;
165 	IF (p_token4 IS NOT NULL) AND (p_token4_value IS NOT NULL) THEN
166 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token4,
167 					VALUE		=> p_token4_value);
168 	END IF;
169 	IF (p_token5 IS NOT NULL) AND (p_token5_value IS NOT NULL) THEN
170 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token5,
171 					VALUE		=> p_token5_value);
172 	END IF;
173 	IF (p_token6 IS NOT NULL) AND (p_token6_value IS NOT NULL) THEN
174 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token6,
175 					VALUE		=> p_token6_value);
176 	END IF;
177 	IF (p_token7 IS NOT NULL) AND (p_token7_value IS NOT NULL) THEN
178 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token7,
179 					VALUE		=> p_token7_value);
180 	END IF;
181 	IF (p_token8 IS NOT NULL) AND (p_token8_value IS NOT NULL) THEN
182 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token8,
183 					VALUE		=> p_token8_value);
184 	END IF;
185 	IF (p_token9 IS NOT NULL) AND (p_token9_value IS NOT NULL) THEN
186 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token9,
187 					VALUE		=> p_token9_value);
188 	END IF;
189 	IF (p_token10 IS NOT NULL) AND (p_token10_value IS NOT NULL) THEN
190 		FND_MESSAGE.SET_TOKEN(	TOKEN		=> p_token10,
191 					VALUE		=> p_token10_value);
192 	END IF;
193 	FND_MSG_PUB.add;
194 END set_message;
195 
196 
197 END OKC_API;