DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMO_VBATCH_GRP

Source


1 PACKAGE BODY GMO_VBATCH_GRP AS
2 /* $Header: GMOGVBTB.pls 120.2 2005/10/26 05:49 rahugupt noship $ */
3 
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'GMO_VBATCH_GRP';
5 
6 --This procdeure would instantiate the process instructions for the batch.
7 procedure INSTANTIATE_ADVANCED_PI (P_API_VERSION IN NUMBER,
8 				   P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
9 				   P_COMMIT IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
10 				   P_VALIDATION_LEVEL IN NUMBER	DEFAULT	FND_API.G_VALID_LEVEL_FULL,
11                                    X_RETURN_STATUS OUT NOCOPY VARCHAR2,
12                                    X_MSG_COUNT OUT NOCOPY NUMBER,
13                                    X_MSG_DATA OUT NOCOPY VARCHAR2,
14 				   P_ENTITY_NAME IN VARCHAR2,
15                                    P_ENTITY_KEY IN VARCHAR2)
16 IS
17 
18 l_api_name	CONSTANT VARCHAR2(30)	:= 'INSTANTIATE_ADVANCED_PI';
19 l_api_version   CONSTANT NUMBER 	:= 1.0;
20 
21 BEGIN
22 
23 	-- Standard Start of API savepoint
24     	SAVEPOINT	INSTANTIATE_ADVANCED_PI_GRP;
25 
26     	-- Standard call to check for call compatibility.
27     	IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME)	THEN
28 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
29 	END IF;
30 
31 	-- Initialize message list if p_init_msg_list is set to TRUE.
32 	IF FND_API.to_Boolean( p_init_msg_list ) THEN
33 		FND_MSG_PUB.initialize;
34 	END IF;
35 	--  Initialize API return status to success
36     	x_return_status := FND_API.G_RET_STS_SUCCESS;
37 
38 
39 	GMO_VBATCH_PVT.INSTANTIATE_ADVANCED_PI
40 	(
41 		P_ENTITY_NAME => P_ENTITY_NAME,
42 		P_ENTITY_KEY => P_ENTITY_KEY,
43 		X_RETURN_STATUS => X_RETURN_STATUS,
44 		X_MSG_COUNT => X_MSG_COUNT,
45 		X_MSG_DATA => X_MSG_DATA
46 	);
47 
48 	IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
49 		IF FND_API.To_Boolean( p_commit ) THEN
50 			COMMIT	;
51 		END IF;
52 	ELSE
53 		RAISE FND_API.G_EXC_ERROR;
54 	END IF;
55 
56 	-- Standard call to get message count and if count is 1, get message info.
57 	FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
58 
59 EXCEPTION
60 	WHEN FND_API.G_EXC_ERROR THEN
61 		ROLLBACK TO INSTANTIATE_ADVANCED_PI_GRP;
62 		x_return_status := FND_API.G_RET_STS_ERROR;
63 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
64 		if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
65       			FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_vbatch_grp.instantiate_advanced_pi', FALSE);
66 		end if;
67 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
68 		ROLLBACK TO INSTANTIATE_ADVANCED_PI_GRP;
69 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
70 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
71 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
72       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.instantiate_advanced_pi', FALSE);
73 		end if;
74 	WHEN OTHERS THEN
75 		ROLLBACK TO INSTANTIATE_ADVANCED_PI_GRP;
76 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
77   		IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
78     	    		FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
79 		END IF;
80 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
81 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
82       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.instantiate_advanced_pi', FALSE);
83 		end if;
84 END INSTANTIATE_ADVANCED_PI;
85 
86 
87 --This procdeure would get the context information for the task.
88 
89 procedure ON_TASK_LOAD (P_API_VERSION IN NUMBER,
90 			P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
91 			P_COMMIT IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
92 			P_VALIDATION_LEVEL IN NUMBER	DEFAULT	FND_API.G_VALID_LEVEL_FULL,
93                         X_RETURN_STATUS OUT NOCOPY VARCHAR2,
94                         X_MSG_COUNT OUT NOCOPY NUMBER,
95                         X_MSG_DATA OUT NOCOPY VARCHAR2,
96 			P_FROM_MODULE IN VARCHAR2,
97                         P_ENTITY_NAME IN VARCHAR2,
98                         P_ENTITY_KEY IN VARCHAR2,
99                         P_TASK IN VARCHAR2,
100                         P_TASK_ATTRIBUTE IN VARCHAR2,
101                         P_INSTRUCTION_ID IN NUMBER,
102                         P_INSTRUCTION_PROCESS_ID IN NUMBER,
103                         P_REQUESTER IN NUMBER,
104                         P_VBATCH_MODE IN VARCHAR2,
105                         X_TASK_ENTITY_NAME OUT NOCOPY VARCHAR2,
106                         X_TASK_ENTITY_KEY OUT NOCOPY VARCHAR2,
107                         X_TASK_NAME OUT NOCOPY VARCHAR2,
108                         X_TASK_KEY OUT NOCOPY VARCHAR2,
109                         X_READ_ONLY OUT NOCOPY VARCHAR2,
110                         X_CONTEXT_PARAMS_TBL OUT NOCOPY GMO_DATATYPES_GRP.CONTEXT_PARAMS_TBL_TYPE)
111 IS
112 
113 l_api_name	CONSTANT VARCHAR2(30)	:= 'ON_TASK_LOAD';
114 l_api_version   CONSTANT NUMBER 	:= 1.0;
115 
116 
117 BEGIN
118     	-- Standard call to check for call compatibility.
119     	IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME)	THEN
120 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
121 	END IF;
122 
123 	-- Initialize message list if p_init_msg_list is set to TRUE.
124 	IF FND_API.to_Boolean( p_init_msg_list ) THEN
125 		FND_MSG_PUB.initialize;
126 	END IF;
127 	--  Initialize API return status to success
128     	x_return_status := FND_API.G_RET_STS_SUCCESS;
129 
130 	GMO_VBATCH_PVT.ON_TASK_LOAD
131 	(
132 		P_FROM_MODULE => P_FROM_MODULE,
133 		P_ENTITY_NAME => P_ENTITY_NAME,
134 		P_ENTITY_KEY => P_ENTITY_KEY,
135 		P_TASK => P_TASK,
136 		P_TASK_ATTRIBUTE => P_TASK_ATTRIBUTE,
137 		P_INSTRUCTION_ID => P_INSTRUCTION_ID,
138 		P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
139 		P_REQUESTER => P_REQUESTER,
140 		P_VBATCH_MODE => P_VBATCH_MODE,
141 		X_TASK_ENTITY_NAME => X_TASK_ENTITY_NAME,
142 		X_TASK_ENTITY_KEY => X_TASK_ENTITY_KEY,
143 		X_TASK_NAME => X_TASK_NAME,
144 		X_TASK_KEY => X_TASK_KEY,
145 		X_READ_ONLY => X_READ_ONLY,
146 		X_CONTEXT_PARAMS_TBL => X_CONTEXT_PARAMS_TBL,
147 		X_RETURN_STATUS => X_RETURN_STATUS,
148 		X_MSG_COUNT => X_MSG_COUNT,
149 		X_MSG_DATA => X_MSG_DATA
150 	);
151 
152 	IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
153 		IF FND_API.To_Boolean( p_commit ) THEN
154 			COMMIT	;
155 		END IF;
156 	ELSE
157 		RAISE FND_API.G_EXC_ERROR;
158 	END IF;
159 
160 	-- Standard call to get message count and if count is 1, get message info.
161 	FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
162 
163 EXCEPTION
164 	WHEN FND_API.G_EXC_ERROR THEN
165 		x_return_status := FND_API.G_RET_STS_ERROR;
166 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
167 		if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
168       			FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_vbatch_grp.on_task_load', FALSE);
169 		end if;
170 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
171 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
172 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
173 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
174       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_load', FALSE);
175 		end if;
176 	WHEN OTHERS THEN
177 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
178   		IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
179     	    		FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
180 		END IF;
181 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
182 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
183       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_load', FALSE);
184 		end if;
185 
186 END ON_TASK_LOAD;
187 
188 
189 
190 
191 --This procdeure would process the action performed by the task.
192 
193 procedure ON_TASK_ACTION (P_API_VERSION IN NUMBER,
194  			  P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
195 			  P_COMMIT IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
196 			  P_VALIDATION_LEVEL IN NUMBER	DEFAULT	FND_API.G_VALID_LEVEL_FULL,
197                           X_RETURN_STATUS OUT NOCOPY VARCHAR2,
198                           X_MSG_COUNT OUT NOCOPY NUMBER,
199                           X_MSG_DATA OUT NOCOPY VARCHAR2,
200                           P_ENTITY_NAME IN VARCHAR2,
201                           P_ENTITY_KEY IN VARCHAR2,
202                           P_TASK IN VARCHAR2,
203                           P_TASK_ATTRIBUTE IN VARCHAR2,
204                           P_REQUESTER IN NUMBER)
205 IS
206 
207 l_api_name	CONSTANT VARCHAR2(30)	:= 'ON_TASK_ACTION';
208 l_api_version   CONSTANT NUMBER 	:= 1.0;
209 
210 BEGIN
211     	-- Standard call to check for call compatibility.
212     	IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME)	THEN
213 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
214 	END IF;
215 
216 	-- Initialize message list if p_init_msg_list is set to TRUE.
217 	IF FND_API.to_Boolean( p_init_msg_list ) THEN
218 		FND_MSG_PUB.initialize;
219 	END IF;
220 	--  Initialize API return status to success
221     	x_return_status := FND_API.G_RET_STS_SUCCESS;
222 
223 	GMO_VBATCH_PVT.ON_TASK_ACTION
224 	(
225 		P_ENTITY_NAME => P_ENTITY_NAME,
226 		P_ENTITY_KEY => P_ENTITY_KEY,
227 		P_TASK => P_TASK,
228 		P_TASK_ATTRIBUTE => P_TASK_ATTRIBUTE,
229 		P_REQUESTER => P_REQUESTER,
230 		X_RETURN_STATUS => X_RETURN_STATUS,
231 		X_MSG_COUNT => X_MSG_COUNT,
232 		X_MSG_DATA => X_MSG_DATA
233 
234 	);
235 
236 	IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
237 		IF FND_API.To_Boolean( p_commit ) THEN
238 			COMMIT	;
239 		END IF;
240 	ELSE
241 		RAISE FND_API.G_EXC_ERROR;
242 	END IF;
243 
244 	-- Standard call to get message count and if count is 1, get message info.
245 	FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
246 
247 EXCEPTION
248 	WHEN FND_API.G_EXC_ERROR THEN
249 		x_return_status := FND_API.G_RET_STS_ERROR;
250 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
251 		if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
252       			FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_vbatch_grp.on_task_action', FALSE);
253 		end if;
254 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
255 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
256 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
257 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
258       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_action', FALSE);
259 		end if;
260 	WHEN OTHERS THEN
261 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
262   		IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
263     	    		FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
264 		END IF;
265 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
266 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
267       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_action', FALSE);
268 		end if;
269 
270 END ON_TASK_ACTION;
271 
272 
273 --This procdeure would process the save event of the task.
274 
275 procedure ON_TASK_SAVE (P_API_VERSION IN NUMBER,
276 			P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
277 			P_COMMIT IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
278 			P_VALIDATION_LEVEL IN NUMBER	DEFAULT	FND_API.G_VALID_LEVEL_FULL,
279                         X_RETURN_STATUS OUT NOCOPY VARCHAR2,
280                         X_MSG_COUNT OUT NOCOPY NUMBER,
281                         X_MSG_DATA OUT NOCOPY VARCHAR2,
282                         P_FROM_MODULE IN VARCHAR2,
283                         P_ENTITY_NAME IN VARCHAR2,
284                         P_ENTITY_KEY IN VARCHAR2,
285                         P_TASK IN VARCHAR2,
286                         P_TASK_ATTRIBUTE IN VARCHAR2 DEFAULT NULL,
287                         P_INSTRUCTION_ID IN NUMBER DEFAULT NULL,
288                         P_INSTRUCTION_PROCESS_ID IN NUMBER DEFAULT NULL,
289                         P_TASK_IDENTIFIER IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
290                         P_TASK_VALUE IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
291                         P_TASK_ERECORD IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
292                         P_REQUESTER IN NUMBER)
293 IS
294 
295 l_api_name	CONSTANT VARCHAR2(30)	:= 'ON_TASK_SAVE';
296 l_api_version   CONSTANT NUMBER 	:= 1.0;
297 l_task_identifier fnd_table_of_varchar2_255;
298 l_task_value fnd_table_of_varchar2_255;
299 l_task_erecord fnd_table_of_varchar2_255;
300 
301 BEGIN
302     	-- Standard call to check for call compatibility.
303     	IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME)	THEN
304 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305 	END IF;
306 
307 	-- Initialize message list if p_init_msg_list is set to TRUE.
308 	IF FND_API.to_Boolean( p_init_msg_list ) THEN
309 		FND_MSG_PUB.initialize;
310 	END IF;
311 	--  Initialize API return status to success
312     	x_return_status := FND_API.G_RET_STS_SUCCESS;
313 
314 	l_task_identifier := FND_TABLE_OF_VARCHAR2_255();
315 	l_task_value := FND_TABLE_OF_VARCHAR2_255();
316 	l_task_erecord := FND_TABLE_OF_VARCHAR2_255();
317 
318 	for j in 1..P_TASK_IDENTIFIER.count loop
319 		l_task_identifier.extend;
320 		l_task_identifier(j) := P_TASK_IDENTIFIER(j);
321 	end loop;
322 
323 	for k in 1..P_TASK_VALUE.count loop
324                 l_task_value.extend;
325                 l_task_value(k) := P_TASK_VALUE(k);
326         end loop;
327 
328 	for l in 1..P_TASK_ERECORD.count loop
329                 l_task_erecord.extend;
330                 l_task_erecord(l) := P_TASK_ERECORD(l);
331         end loop;
332 
333 	GMO_VBATCH_PVT.ON_TASK_SAVE
334 	(
335 		P_FROM_MODULE => P_FROM_MODULE ,
336 		P_ENTITY_NAME => P_ENTITY_NAME,
337 		P_ENTITY_KEY => P_ENTITY_KEY,
338 		P_TASK => P_TASK,
339 		P_TASK_ATTRIBUTE => P_TASK_ATTRIBUTE,
340 		P_INSTRUCTION_ID => P_INSTRUCTION_ID,
341 		P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
342 		P_TASK_IDENTIFIER => l_task_identifier,
343 		P_TASK_VALUE => l_task_value,
344 		P_TASK_ERECORD => l_task_erecord,
345 		P_REQUESTER => P_REQUESTER,
346 		X_RETURN_STATUS => X_RETURN_STATUS,
347 		X_MSG_COUNT => X_MSG_COUNT,
348 		X_MSG_DATA => X_MSG_DATA
349 	);
350 
351 	IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
352 		IF FND_API.To_Boolean( p_commit ) THEN
353 			COMMIT	;
354 		END IF;
355 	ELSE
356 		RAISE FND_API.G_EXC_ERROR;
357 	END IF;
358 
359 
360 	-- Standard call to get message count and if count is 1, get message info.
361 	FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
362 
363 EXCEPTION
364 	WHEN FND_API.G_EXC_ERROR THEN
365 		x_return_status := FND_API.G_RET_STS_ERROR;
366 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
367 		if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
368       			FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_vbatch_grp.on_task_save', FALSE);
369 		end if;
370 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
371 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
372 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
373 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
374       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_save', FALSE);
375 		end if;
376 	WHEN OTHERS THEN
377 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
378   		IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
379     	    		FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
380 		END IF;
381 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
382 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
383       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.on_task_save', FALSE);
384 		end if;
385 
386 END ON_TASK_SAVE;
387 
388 
389 --This procdeure would check if the step is locked or not
390 
391 procedure GET_ENTITY_LOCK_STATUS (P_API_VERSION IN NUMBER,
392    				  P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
393 				  P_COMMIT IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
394 				  P_VALIDATION_LEVEL IN NUMBER	DEFAULT	FND_API.G_VALID_LEVEL_FULL,
395                         	  X_RETURN_STATUS OUT NOCOPY VARCHAR2,
396                         	  X_MSG_COUNT OUT NOCOPY NUMBER,
397                         	  X_MSG_DATA OUT NOCOPY VARCHAR2,
398                         	  P_ENTITY_NAME IN VARCHAR2,
399 				  P_ENTITY_KEY IN VARCHAR2,
400 				  P_REQUESTER IN NUMBER,
401 				  X_LOCK_STATUS OUT NOCOPY VARCHAR2,
402 				  X_LOCKED_BY_STATUS OUT NOCOPY VARCHAR2,
403 				  X_LOCK_ALLOWED OUT NOCOPY VARCHAR2)
404 
405 IS
406 
407 l_api_name	CONSTANT VARCHAR2(30)	:= 'GET_ENTITY_LOCK_STATUS';
408 l_api_version   CONSTANT NUMBER 	:= 1.0;
409 
410 BEGIN
411     	-- Standard call to check for call compatibility.
412     	IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME)	THEN
413 		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
414 	END IF;
415 
416 	-- Initialize message list if p_init_msg_list is set to TRUE.
417 	IF FND_API.to_Boolean( p_init_msg_list ) THEN
418 		FND_MSG_PUB.initialize;
419 	END IF;
420 	--  Initialize API return status to success
421     	x_return_status := FND_API.G_RET_STS_SUCCESS;
422 
423 	GMO_VBATCH_PVT.GET_ENTITY_LOCK_STATUS
424 	(
425 		P_ENTITY_NAME => P_ENTITY_NAME,
426 		P_ENTITY_KEY => P_ENTITY_KEY,
427 		P_REQUESTER => P_REQUESTER,
428 		X_LOCK_STATUS => X_LOCK_STATUS,
429 		X_LOCKED_BY_STATUS => X_LOCKED_BY_STATUS,
430 		X_LOCK_ALLOWED => X_LOCK_ALLOWED,
431 		X_RETURN_STATUS => X_RETURN_STATUS,
432 		X_MSG_COUNT => X_MSG_COUNT,
433 		X_MSG_DATA => X_MSG_DATA
434 	);
435 
436 	IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
437 		IF FND_API.To_Boolean( p_commit ) THEN
438 			COMMIT	;
439 		END IF;
440 	ELSE
441 		RAISE FND_API.G_EXC_ERROR;
442 	END IF;
443 
444 	-- Standard call to get message count and if count is 1, get message info.
445 	FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
446 
447 EXCEPTION
448 	WHEN FND_API.G_EXC_ERROR THEN
449 		x_return_status := FND_API.G_RET_STS_ERROR;
450 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
451 		if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
452       			FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_vbatch_grp.get_entity_lock_status', FALSE);
453 		end if;
454 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
455 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
456 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
457 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
458       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.get_entity_lock_status', FALSE);
459 		end if;
460 	WHEN OTHERS THEN
461 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
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 		FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
466 		if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
467       			FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_vbatch_grp.get_entity_lock_status', FALSE);
468 		end if;
469 
470 END GET_ENTITY_LOCK_STATUS;
471 
472 
473 
474 --This procdeure loads the operator workbench for the entity. It has been defined in the GMOGOWB.pll
475 /*
476 procedure LOAD_VBATCH
477 */
478 
479 END GMO_VBATCH_GRP;