[Home] [Help]
PACKAGE BODY: APPS.IES_DEPL_SCRIPT_PKG
Source
1 PACKAGE BODY ies_depl_script_pkg AS
2 /* $Header: ieslkdsb.pls 115.5 2003/05/23 21:03:03 prkotha noship $ */
3
4 /*-------------------------------------------------------------------------*
5 | PRIVATE CONSTANTS
6 *-------------------------------------------------------------------------*/
7
8 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ies_depl_script_pkg';
9 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ieslkdsb.pls';
10
11 /* private FUNCTION */
12
13 FUNCTION get_active_locked_script_id(p_script_name IN VARCHAR2,
14 p_script_language IN VARCHAR2)
15 RETURN NUMBER IS
16 l_script_id NUMBER;
17 BEGIN
18 SELECT dscript_id
19 INTO l_script_id
20 FROM ies_deployed_scripts
21 WHERE dscript_name = p_script_name
22 AND dscript_lang_id = (SELECT language_id
23 FROM fnd_languages
24 WHERE nls_language = p_script_language)
25 AND active_status = 1;
26 RETURN l_script_id;
27 END;
28
29 /* END OF PRIVATE FUNCTIONS */
30
31 PROCEDURE lock_deployed_script
32 (
33 p_api_version IN NUMBER,
34 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
35 p_commit IN VARCHAR2 := FND_API.G_TRUE,
36 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
37 p_dscript_id IN NUMBER,
38 x_return_status OUT NOCOPY VARCHAR2,
39 x_msg_count OUT NOCOPY NUMBER,
40 x_msg_data OUT NOCOPY VARCHAR2
41 ) IS
42 l_api_name CONSTANT VARCHAR2(30) := 'lock_deployed_script';
43 l_api_version CONSTANT NUMBER := 1.0;
44 l_encoded VARCHAR2(1) := FND_API.G_FALSE;
45 BEGIN
46 -- Standard Start of API savepoint
47 SAVEPOINT lock_deployed_script_sp;
48
49 -- Standard call to check for call compatibility
50 IF NOT FND_API.Compatible_API_Call ( l_api_version,
51 p_api_version,
52 l_api_name,
53 G_PKG_NAME)
54 THEN
55 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
56 END IF;
57
58 -- initialize message list if p_init_msg_list is set to TRUE
59 IF FND_API.To_Boolean( p_init_msg_list ) THEN
60 FND_MSG_PUB.initialize;
61 END IF;
62
63 -- Initialize the API return status to success
64 x_return_status := FND_API.G_RET_STS_SUCCESS;
65
66 BEGIN
67 -- API body
68 EXECUTE IMMEDIATE 'UPDATE ies_deployed_scripts SET lock_status = 1 '||
69 'WHERE DSCRIPT_ID = :dscriptId' USING p_dscript_id;
70
71 EXCEPTION
72 WHEN OTHERS THEN
73 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
74 THEN
75 FND_MESSAGE.SET_NAME('IES', 'IES_DSCRIPT_LOCK_ERROR');
76 FND_MSG_PUB.Add;
77 END IF;
78
79 RAISE FND_API.G_EXC_ERROR;
80 END;
81
82 -- Signify Success
83 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
84 THEN
85 FND_MESSAGE.SET_NAME('IES', 'IES_DSCRIPT_LOCK_SUCCESS');
86 FND_MSG_PUB.Add;
87 END IF;
88
89 -- End of API body
90
91 -- Standard check of p_commit
92 IF FND_API.To_Boolean( p_commit ) THEN
93 COMMIT WORK;
94 END IF;
95
96 -- Standard call to get message count and if count is 1, get message info
97 FND_MSG_PUB.Count_And_Get
98 ( p_encoded => l_encoded,
99 p_count => x_msg_count,
100 p_data => x_msg_data
101 );
102
103 EXCEPTION
104 WHEN FND_API.G_EXC_ERROR THEN
105 ROLLBACK TO lock_deployed_script_sp;
106 x_return_status := FND_API.G_RET_STS_ERROR;
107
108 FND_MSG_PUB.Count_And_Get
109 ( p_encoded => l_encoded,
110 p_count => x_msg_count,
111 p_data => x_msg_data
112 );
113
114 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
115 ROLLBACK TO lock_deployed_script_sp;
116 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
117
118 FND_MSG_PUB.Count_And_Get
119 ( p_encoded => l_encoded,
120 p_count => x_msg_count,
121 p_data => x_msg_data
122 );
123
124 WHEN OTHERS THEN
125 ROLLBACK TO lock_deployed_script_sp;
126 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
127
128 IF FND_MSG_PUB.Check_Msg_Level
129 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
130 THEN
131 FND_MSG_PUB.Add_Exc_Msg
132 ( p_pkg_name => G_PKG_NAME,
133 p_procedure_name => l_api_name,
134 p_error_text => 'G_MSG_LVL_UNEXP_ERROR'
135 );
136 END IF;
137 FND_MSG_PUB.Count_And_Get
138 ( p_encoded => l_encoded,
139 p_count => x_msg_count,
140 p_data => x_msg_data
141 );
142
143 END lock_deployed_script;
144
145 PROCEDURE lock_deployed_script
146 (
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_TRUE,
150 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
151 p_dscript_id IN NUMBER,
152 x_dscript_id OUT NOCOPY NUMBER,
153 x_return_status OUT NOCOPY VARCHAR2,
154 x_msg_count OUT NOCOPY NUMBER,
155 x_msg_data OUT NOCOPY VARCHAR2
156 ) IS
157 l_api_name CONSTANT VARCHAR2(30) := 'lock_deployed_script';
158 l_api_version CONSTANT NUMBER := 1.0;
159 l_encoded VARCHAR2(1) := FND_API.G_FALSE;
160 l_dscript_id NUMBER;
161 BEGIN
162 -- Standard Start of API savepoint
163 SAVEPOINT lock_deployed_script_sp;
164
165 -- Standard call to check for call compatibility
166 IF NOT FND_API.Compatible_API_Call ( l_api_version,
167 p_api_version,
168 l_api_name,
169 G_PKG_NAME)
170 THEN
171 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172 END IF;
173
174 -- initialize message list if p_init_msg_list is set to TRUE
175 IF FND_API.To_Boolean( p_init_msg_list ) THEN
176 FND_MSG_PUB.initialize;
177 END IF;
178
179 -- Initialize the API return status to success
180 x_return_status := FND_API.G_RET_STS_SUCCESS;
181 BEGIN
182 SELECT dscript_id
183 INTO l_dscript_id
184 FROM ies_deployed_scripts
185 WHERE dscript_name = (SELECT dscript_name
186 FROM ies_deployed_scripts
187 WHERE dscript_id = p_dscript_id)
188 AND dscript_lang_id = (SELECT dscript_lang_id
189 FROM ies_deployed_scripts
190 WHERE dscript_id = p_dscript_id)
191 AND active_status = 1;
192
193 lock_deployed_script(p_api_version ,
194 p_init_msg_list,
195 p_commit,
196 p_validation_level,
197 l_dscript_id,
198 x_return_status,
199 x_msg_count,
200 x_msg_data);
201 x_dscript_id := l_dscript_id;
202 END;
203 -- Signify Success
204 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
205 THEN
206 FND_MESSAGE.SET_NAME('IES', 'IES_DSCRIPT_LOCK_SUCCESS');
207 FND_MSG_PUB.Add;
208 END IF;
209
210
211 -- Standard call to get message count and if count is 1, get message info
212 FND_MSG_PUB.Count_And_Get
213 ( p_encoded => l_encoded,
214 p_count => x_msg_count,
215 p_data => x_msg_data
216 );
217 EXCEPTION
218 WHEN NO_DATA_FOUND THEN
219 ROLLBACK TO lock_deployed_script_sp;
220 x_return_status := FND_API.G_RET_STS_ERROR;
221
222 FND_MSG_PUB.Count_And_Get
223 ( p_encoded => l_encoded,
224 p_count => x_msg_count,
225 p_data => x_msg_data
226 );
227
228 WHEN OTHERS THEN
229 ROLLBACK TO lock_deployed_script_sp;
230 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
231
232 IF FND_MSG_PUB.Check_Msg_Level
233 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
234 THEN
235 FND_MSG_PUB.Add_Exc_Msg
236 ( p_pkg_name => G_PKG_NAME,
237 p_procedure_name => l_api_name,
238 p_error_text => 'G_MSG_LVL_UNEXP_ERROR'
239 );
240 END IF;
241 FND_MSG_PUB.Count_And_Get
242 ( p_encoded => l_encoded,
243 p_count => x_msg_count,
244 p_data => x_msg_data
245 );
246
247 END lock_deployed_script;
248
249 PROCEDURE lock_deployed_script
250 (
251 p_api_version IN NUMBER,
252 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
253 p_commit IN VARCHAR2 := FND_API.G_TRUE,
254 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
255 p_dscript_name IN VARCHAR2,
256 p_dscript_language IN VARCHAR2,
257 x_dscript_id OUT NOCOPY NUMBER,
258 x_return_status OUT NOCOPY VARCHAR2,
259 x_msg_count OUT NOCOPY NUMBER,
260 x_msg_data OUT NOCOPY VARCHAR2
261 ) IS
262 l_api_name CONSTANT VARCHAR2(30) := 'lock_deployed_script';
263 l_api_version CONSTANT NUMBER := 1.0;
264 l_encoded VARCHAR2(1) := FND_API.G_FALSE;
265 l_dscript_id NUMBER;
266 BEGIN
267 -- Standard Start of API savepoint
268 SAVEPOINT lock_deployed_script_sp;
269
270 -- Standard call to check for call compatibility
271 IF NOT FND_API.Compatible_API_Call ( l_api_version,
272 p_api_version,
273 l_api_name,
274 G_PKG_NAME)
275 THEN
276 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
277 END IF;
278
279 -- initialize message list if p_init_msg_list is set to TRUE
280 IF FND_API.To_Boolean( p_init_msg_list ) THEN
281 FND_MSG_PUB.initialize;
282 END IF;
283
284 -- Initialize the API return status to success
285 x_return_status := FND_API.G_RET_STS_SUCCESS;
286 BEGIN
287 l_dscript_id := get_active_locked_script_id(p_dscript_name,
288 p_dscript_language);
289
290 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
291 RAISE FND_API.G_EXC_ERROR;
292 END IF;
293
294 lock_deployed_script(p_api_version ,
295 p_init_msg_list,
296 p_commit,
297 p_validation_level,
298 l_dscript_id ,
299 x_return_status,
300 x_msg_count,
301 x_msg_data);
302 x_dscript_id := l_dscript_id;
303 END;
304 -- Signify Success
305 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS)
306 THEN
307 FND_MESSAGE.SET_NAME('IES', 'IES_DSCRIPT_LOCK_SUCCESS');
308 FND_MSG_PUB.Add;
309 END IF;
310
311
312 -- Standard call to get message count and if count is 1, get message info
313 FND_MSG_PUB.Count_And_Get
314 ( p_encoded => l_encoded,
315 p_count => x_msg_count,
316 p_data => x_msg_data
317 );
318
319 EXCEPTION
320 WHEN NO_DATA_FOUND THEN
321 ROLLBACK TO lock_deployed_script_sp;
322 x_return_status := FND_API.G_RET_STS_ERROR;
323
324 FND_MSG_PUB.Count_And_Get
325 ( p_encoded => l_encoded,
326 p_count => x_msg_count,
327 p_data => x_msg_data
328 );
329 WHEN OTHERS THEN
330 ROLLBACK TO lock_deployed_script_sp;
331 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332
333 IF FND_MSG_PUB.Check_Msg_Level
334 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
335 THEN
336 FND_MSG_PUB.Add_Exc_Msg
337 ( p_pkg_name => G_PKG_NAME,
338 p_procedure_name => l_api_name,
339 p_error_text => 'G_MSG_LVL_UNEXP_ERROR'
340 );
341 END IF;
342 FND_MSG_PUB.Count_And_Get
343 ( p_encoded => l_encoded,
344 p_count => x_msg_count,
345 p_data => x_msg_data
346 );
347
348 END lock_deployed_script;
349
350 END ies_depl_script_pkg;