[Home] [Help]
PACKAGE BODY: APPS.GMO_INSTRUCTION_GRP
Source
1 PACKAGE BODY GMO_INSTRUCTION_GRP AS
2 /*$Header: GMOGINTB.pls 120.3 2006/07/12 04:51:18 rahugupt noship $*/
3
4 PROCEDURE CREATE_DEFN_CONTEXT
5 (
6 P_API_VERSION IN NUMBER,
7 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
8 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
9 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
10 X_MSG_COUNT OUT NOCOPY NUMBER,
11 X_MSG_DATA OUT NOCOPY VARCHAR2,
12 P_CURR_INSTR_PROCESS_ID IN NUMBER DEFAULT NULL,
13 P_ENTITY_NAME IN FND_TABLE_OF_VARCHAR2_255,
14 P_ENTITY_KEY IN FND_TABLE_OF_VARCHAR2_255,
15 P_ENTITY_DISPLAYNAME IN FND_TABLE_OF_VARCHAR2_255,
16 P_INSTRUCTION_TYPE IN FND_TABLE_OF_VARCHAR2_255,
17 P_MODE IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.G_INSTR_DEFN_MODE_UPDATE,
18 P_CONTEXT_PARAMETERS IN GMO_DATATYPES_GRP.GMO_DEFINITION_PARAM_TBL_TYPE,
19 X_INSTRUCTION_PROCESS_ID OUT NOCOPY NUMBER
20
21 ) IS PRAGMA AUTONOMOUS_TRANSACTION;
22
23 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_DEFN_CONTEXT';
24 l_api_version CONSTANT NUMBER := 1.0;
25
26 BEGIN
27
28 -- Standard call to check for call compatibility.
29 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
30 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
31 END IF;
32
33 -- Initialize message list if p_init_msg_list is set to TRUE.
34 IF FND_API.to_Boolean( p_init_msg_list ) THEN
35 FND_MSG_PUB.initialize;
36 END IF;
37
38 -- Initialize API return status to success
39 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
40
41 -- CALL CORRESPONDING PRIVATE API
42 GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT
43 (
44 P_CURR_INSTR_PROCESS_ID => P_CURR_INSTR_PROCESS_ID,
45 P_ENTITY_NAME => P_ENTITY_NAME,
46 P_ENTITY_KEY => P_ENTITY_KEY,
47 P_ENTITY_DISPLAYNAME => P_ENTITY_DISPLAYNAME,
48 P_INSTRUCTION_TYPE => P_INSTRUCTION_TYPE,
49 P_MODE => P_MODE,
50 P_CONTEXT_PARAMETERS => P_CONTEXT_PARAMETERS,
51 X_INSTRUCTION_PROCESS_ID => X_INSTRUCTION_PROCESS_ID,
52 X_RETURN_STATUS => X_RETURN_STATUS,
53 X_MSG_COUNT => X_MSG_COUNT,
54 X_MSG_DATA => X_MSG_DATA
55 );
56
57 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
58 COMMIT ;
59 ELSE
60 RAISE FND_API.G_EXC_ERROR;
61 END IF;
62
63 -- Standard call to get message count and if count is 1, get message info.
64 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
65
66 EXCEPTION
67 WHEN FND_API.G_EXC_ERROR THEN
68 ROLLBACK;
69 x_return_status := FND_API.G_RET_STS_ERROR;
70
71 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
72 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
73 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
74 end if;
75
76 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
77 ROLLBACK;
78 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
79
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_instruction_grp.create_defn_context', FALSE);
83 end if;
84
85 WHEN OTHERS THEN
86 ROLLBACK;
87 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
88
89 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
90 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
91 END IF;
92
93 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
94 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
95 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
96 end if;
97
98 END CREATE_DEFN_CONTEXT;
99
100 PROCEDURE CREATE_DEFN_CONTEXT
101 (
102 P_API_VERSION IN NUMBER,
103 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
104 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
105 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
106 X_MSG_COUNT OUT NOCOPY NUMBER,
107 X_MSG_DATA OUT NOCOPY VARCHAR2,
108
109 P_CURR_INSTR_PROCESS_ID IN NUMBER DEFAULT NULL,
110 P_ENTITY_NAME IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
111 P_ENTITY_KEY IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
112 P_ENTITY_DISPLAYNAME IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
113 P_INSTRUCTION_TYPE IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
114 P_MODE IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.G_INSTR_DEFN_MODE_UPDATE,
115 P_CONTEXT_PARAMETERS IN GMO_DATATYPES_GRP.GMO_DEFINITION_PARAM_TBL_TYPE,
116 X_INSTRUCTION_PROCESS_ID OUT NOCOPY NUMBER
117 )
118 IS PRAGMA AUTONOMOUS_TRANSACTION;
119
120 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_DEFN_CONTEXT';
121 l_api_version CONSTANT NUMBER := 1.0;
122
123 L_ENTITY_NAME FND_TABLE_OF_VARCHAR2_255;
124 L_ENTITY_KEY FND_TABLE_OF_VARCHAR2_255;
125 L_ENTITY_DISPLAYNAME FND_TABLE_OF_VARCHAR2_255;
126 L_INSTRUCTION_TYPE FND_TABLE_OF_VARCHAR2_255;
127
128 BEGIN
129
130 -- Standard call to check for call compatibility.
131 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
132 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
133 END IF;
134
135 -- Initialize message list if p_init_msg_list is set to TRUE.
136 IF FND_API.to_Boolean( p_init_msg_list ) THEN
137 FND_MSG_PUB.initialize;
138 END IF;
139
140 -- Initialize API return status to success
141 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
142
143 L_ENTITY_NAME := FND_TABLE_OF_VARCHAR2_255();
144 L_ENTITY_KEY := FND_TABLE_OF_VARCHAR2_255();
145 L_ENTITY_DISPLAYNAME := FND_TABLE_OF_VARCHAR2_255();
146 L_INSTRUCTION_TYPE := FND_TABLE_OF_VARCHAR2_255();
147
148 FOR J IN 1..P_INSTRUCTION_TYPE.count LOOP
149 L_INSTRUCTION_TYPE.EXTEND;
150 L_INSTRUCTION_TYPE(J) := P_INSTRUCTION_TYPE(J);
151 END LOOP;
152
153 FOR I IN 1..P_ENTITY_NAME.COUNT LOOP
154 L_ENTITY_NAME.EXTEND;
155 L_ENTITY_KEY.EXTEND;
156 L_ENTITY_DISPLAYNAME.EXTEND;
157
158 L_ENTITY_NAME(I) := P_ENTITY_NAME(I);
159 L_ENTITY_KEY(I) := P_ENTITY_KEY(I);
160 L_ENTITY_DISPLAYNAME(I) := P_ENTITY_DISPLAYNAME(I);
161 END LOOP;
162
163 BEGIN
164
165 GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT
166 (
167 P_CURR_INSTR_PROCESS_ID => P_CURR_INSTR_PROCESS_ID,
168 P_ENTITY_NAME => L_ENTITY_NAME,
169 P_ENTITY_KEY => L_ENTITY_KEY,
170 P_ENTITY_DISPLAYNAME => L_ENTITY_DISPLAYNAME,
171 P_INSTRUCTION_TYPE => L_INSTRUCTION_TYPE,
172 P_MODE => P_MODE,
173 P_CONTEXT_PARAMETERS => P_CONTEXT_PARAMETERS,
174 X_INSTRUCTION_PROCESS_ID => X_INSTRUCTION_PROCESS_ID,
175 X_RETURN_STATUS => X_RETURN_STATUS,
176 X_MSG_COUNT => X_MSG_COUNT,
177 X_MSG_DATA => X_MSG_DATA
178 );
179
180 END;
181
182 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
183 COMMIT;
184 ELSE
185 RAISE FND_API.G_EXC_ERROR;
186 END IF;
187
188 -- Standard call to get message count and if count is 1, get message info.
189 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
190
191 EXCEPTION
192 WHEN FND_API.G_EXC_ERROR THEN
193 ROLLBACK;
194 x_return_status := FND_API.G_RET_STS_ERROR;
195
196 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
197 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
198 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
199 end if;
200
201 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
202 ROLLBACK;
203 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204
205 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
206 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
207 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
208 end if;
209
210 WHEN OTHERS THEN
211 ROLLBACK;
212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213
214 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
215 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
216 END IF;
217
218 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
219 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
220 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
221 end if;
222 END CREATE_DEFN_CONTEXT;
223
224
225 PROCEDURE DELETE_ENTITY_FOR_PROCESS
226 (
227 P_API_VERSION IN NUMBER,
228 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
229 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
230 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
231 X_MSG_COUNT OUT NOCOPY NUMBER,
232 X_MSG_DATA OUT NOCOPY VARCHAR2,
233
234 P_CURR_INSTR_PROCESS_ID IN NUMBER,
235 P_ENTITY_NAME IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
236 P_ENTITY_KEY IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
237 X_INSTRUCTION_PROCESS_ID OUT NOCOPY NUMBER
238
239 )IS PRAGMA AUTONOMOUS_TRANSACTION;
240 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_ENTITY_FOR_PROCESS';
241 l_api_version CONSTANT NUMBER := 1.0;
242
243 BEGIN
244
245 -- Standard call to check for call compatibility.
246 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
247 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
248 END IF;
249
250 -- Initialize message list if p_init_msg_list is set to TRUE.
251 IF FND_API.to_Boolean( p_init_msg_list ) THEN
252 FND_MSG_PUB.initialize;
253 END IF;
254
255 -- Initialize API return status to success
256 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
257
258 BEGIN
259
260 GMO_INSTRUCTION_PVT.DELETE_ENTITY_FOR_PROCESS
261 (
262 P_CURR_INSTR_PROCESS_ID => P_CURR_INSTR_PROCESS_ID,
263 P_ENTITY_NAME => P_ENTITY_NAME,
264 P_ENTITY_KEY => P_ENTITY_KEY,
265 X_INSTRUCTION_PROCESS_ID => X_INSTRUCTION_PROCESS_ID,
266 X_RETURN_STATUS => X_RETURN_STATUS,
267 X_MSG_COUNT => X_MSG_COUNT,
268 X_MSG_DATA => X_MSG_DATA
269 );
270
271 END;
272
273 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
274 COMMIT;
275 ELSE
276 RAISE FND_API.G_EXC_ERROR;
277 END IF;
278
279 -- Standard call to get message count and if count is 1, get message info.
280 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
281
282 EXCEPTION
283 WHEN FND_API.G_EXC_ERROR THEN
284 ROLLBACK;
285 x_return_status := FND_API.G_RET_STS_ERROR;
286
287 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
288 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
289 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.delete_entity_for_process', FALSE);
290 end if;
291
292 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
293 ROLLBACK;
294 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
295
296 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
297 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
298 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.delete_entity_for_process', FALSE);
299 end if;
300
301 WHEN OTHERS THEN
302 ROLLBACK;
303 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
304
305 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
306 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
307 END IF;
308
309 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
310 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
311 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.delete_entity_for_process', FALSE);
312 end if;
313 END DELETE_ENTITY_FOR_PROCESS;
314
315
316 PROCEDURE CREATE_DEFN_CONTEXT
317 (
318 P_API_VERSION IN NUMBER,
319 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
320 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
321 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
322 X_MSG_COUNT OUT NOCOPY NUMBER,
323 X_MSG_DATA OUT NOCOPY VARCHAR2,
324
325 P_CURR_INSTR_PROCESS_ID IN NUMBER DEFAULT NULL,
326 P_ENTITY_NAME IN VARCHAR2,
327 P_ENTITY_KEY IN VARCHAR2,
328 P_ENTITY_DISPLAYNAME IN VARCHAR2,
329 P_INSTRUCTION_TYPE IN VARCHAR2,
330 P_MODE IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.G_INSTR_DEFN_MODE_UPDATE,
331 P_CONTEXT_PARAMETERS IN GMO_DATATYPES_GRP.GMO_DEFINITION_PARAM_TBL_TYPE,
332 X_INSTRUCTION_PROCESS_ID OUT NOCOPY NUMBER
333
334 ) IS PRAGMA AUTONOMOUS_TRANSACTION;
335
336 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_DEFN_CONTEXT';
337 l_api_version CONSTANT NUMBER := 1.0;
338
339 L_ENTITY_NAME FND_TABLE_OF_VARCHAR2_255;
340 L_ENTITY_KEY FND_TABLE_OF_VARCHAR2_255;
341 L_ENTITY_DISPLAYNAME FND_TABLE_OF_VARCHAR2_255;
342 L_INSTRUCTION_TYPE FND_TABLE_OF_VARCHAR2_255;
343
344 BEGIN
345 -- Standard call to check for call compatibility.
346 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
347 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348 END IF;
349
350 -- Initialize message list if p_init_msg_list is set to TRUE.
351 IF FND_API.to_Boolean( p_init_msg_list ) THEN
352 FND_MSG_PUB.initialize;
353 END IF;
354
355 -- Initialize API return status to success
356 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
357
358 L_ENTITY_NAME := FND_TABLE_OF_VARCHAR2_255();
359 L_ENTITY_KEY := FND_TABLE_OF_VARCHAR2_255();
360 L_ENTITY_DISPLAYNAME := FND_TABLE_OF_VARCHAR2_255();
361 L_INSTRUCTION_TYPE := FND_TABLE_OF_VARCHAR2_255();
362
363 L_ENTITY_NAME.EXTEND;
364 L_ENTITY_KEY.EXTEND;
365 L_ENTITY_DISPLAYNAME.EXTEND;
366 L_INSTRUCTION_TYPE.EXTEND;
367
368 L_ENTITY_NAME(1) := P_ENTITY_NAME;
369 L_ENTITY_KEY(1) := P_ENTITY_KEY;
370 L_ENTITY_DISPLAYNAME(1) := P_ENTITY_DISPLAYNAME;
371 L_INSTRUCTION_TYPE(1) := P_INSTRUCTION_TYPE;
372
373 BEGIN
374
375 GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT
376 (
377 P_CURR_INSTR_PROCESS_ID => P_CURR_INSTR_PROCESS_ID,
378 P_ENTITY_NAME => L_ENTITY_NAME,
379 P_ENTITY_KEY => L_ENTITY_KEY,
380 P_ENTITY_DISPLAYNAME => L_ENTITY_DISPLAYNAME,
381 P_INSTRUCTION_TYPE => L_INSTRUCTION_TYPE,
382 P_MODE => P_MODE,
383 P_CONTEXT_PARAMETERS => P_CONTEXT_PARAMETERS,
384 X_INSTRUCTION_PROCESS_ID => X_INSTRUCTION_PROCESS_ID,
385 X_RETURN_STATUS => X_RETURN_STATUS,
386 X_MSG_COUNT => X_MSG_COUNT,
387 X_MSG_DATA => X_MSG_DATA
388 );
389
390 END;
391
392 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
393 COMMIT ;
394 ELSE
395 RAISE FND_API.G_EXC_ERROR;
396 END IF;
397
398 -- Standard call to get message count and if count is 1, get message info.
399 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
400
401 EXCEPTION
402 WHEN FND_API.G_EXC_ERROR THEN
403 ROLLBACK;
404 x_return_status := FND_API.G_RET_STS_ERROR;
405
406 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
407 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
408 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
409 end if;
410
411 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
412 ROLLBACK;
413 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
414
415 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
416 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
417 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
418 end if;
419
420 WHEN OTHERS THEN
421 ROLLBACK;
422 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
423
424 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
425 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
426 END IF;
427
428 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
429 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
430 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_context', FALSE);
431 end if;
432
433 END CREATE_DEFN_CONTEXT;
434
435 PROCEDURE CREATE_DEFN_FROM_DEFN
436 (
437 P_API_VERSION IN NUMBER,
438 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
439 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
440 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
441 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
442 X_MSG_COUNT OUT NOCOPY NUMBER,
443 X_MSG_DATA OUT NOCOPY VARCHAR2,
444
445 P_SOURCE_ENTITY_NAME IN VARCHAR2,
446 P_SOURCE_ENTITY_KEY IN VARCHAR2,
447 P_TARGET_ENTITY_NAME IN VARCHAR2,
448 P_TARGET_ENTITY_KEY IN VARCHAR2,
449 P_INSTRUCTION_TYPE IN VARCHAR2,
450 X_INSTRUCTION_SET_ID OUT NOCOPY NUMBER
451
452 )
453 IS
454 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_DEFN_FROM_DEFN';
455 l_api_version CONSTANT NUMBER := 1.0;
456
457 BEGIN
458
459 -- Standard call to check for call compatibility.
460 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
461 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
462 END IF;
463
464 -- Initialize message list if p_init_msg_list is set to TRUE.
465 IF FND_API.to_Boolean( p_init_msg_list ) THEN
466 FND_MSG_PUB.initialize;
467 END IF;
468
469 -- Initialize API return status to success
470 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
471
472 GMO_INSTRUCTION_PVT.CREATE_DEFN_FROM_DEFN
473 (
474 P_SOURCE_ENTITY_NAME => P_SOURCE_ENTITY_NAME,
475 P_SOURCE_ENTITY_KEY => P_SOURCE_ENTITY_KEY,
476 P_TARGET_ENTITY_NAME => P_TARGET_ENTITY_NAME,
477 P_TARGET_ENTITY_KEY => P_TARGET_ENTITY_KEY,
478 P_INSTRUCTION_TYPE => P_INSTRUCTION_TYPE,
479 X_INSTRUCTION_SET_ID => X_INSTRUCTION_SET_ID,
480 X_RETURN_STATUS => X_RETURN_STATUS,
481 X_MSG_COUNT => X_MSG_COUNT,
482 X_MSG_DATA => X_MSG_DATA
483 );
484
485
486 -- Standard call to get message count and if count is 1, get message info.
487 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
488
489 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
490 IF FND_API.To_Boolean( p_commit ) THEN
491 COMMIT ;
492 END IF;
493 ELSE
494 RAISE FND_API.G_EXC_ERROR;
495 END IF;
496
497 -- Standard call to get message count and if count is 1, get message info.
498 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
499
500 EXCEPTION
501 WHEN FND_API.G_EXC_ERROR THEN
502
503 x_return_status := FND_API.G_RET_STS_ERROR;
504
505 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
506 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
507 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.create_defn_from_defn', FALSE);
508 end if;
509
510 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
511
512 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
513
514 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
515 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
516 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_from_defn', FALSE);
517 end if;
518
519 WHEN OTHERS THEN
520
521 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
522
523 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
524 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
525 END IF;
526
527 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
528 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
529 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.create_defn_from_defn', FALSE);
530 end if;
531
532 END CREATE_DEFN_FROM_DEFN;
533
534 PROCEDURE SEND_DEFN_ACKN
535 (
536 P_API_VERSION IN NUMBER,
537 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
538 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
539 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
540 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
541 X_MSG_COUNT OUT NOCOPY NUMBER,
542 X_MSG_DATA OUT NOCOPY VARCHAR2,
543
544 P_INSTRUCTION_PROCESS_ID IN NUMBER,
545 P_ENTITY_NAME IN VARCHAR2,
546 P_SOURCE_ENTITY_KEY IN VARCHAR2,
547 P_TARGET_ENTITY_KEY IN VARCHAR2
548 )
549
550 IS
551
552 l_api_name CONSTANT VARCHAR2(30) := 'SEND_DEFN_ACKN';
553 l_api_version CONSTANT NUMBER := 1.0;
554
555 L_ENTITY_NAME FND_TABLE_OF_VARCHAR2_255;
556 L_SOURCE_ENTITY_KEY FND_TABLE_OF_VARCHAR2_255;
557 L_TARGET_ENTITY_KEY FND_TABLE_OF_VARCHAR2_255;
558
559 BEGIN
560 -- Standard call to check for call compatibility.
561 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
562 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
563 END IF;
564
565 -- Initialize message list if p_init_msg_list is set to TRUE.
566 IF FND_API.to_Boolean( p_init_msg_list ) THEN
567 FND_MSG_PUB.initialize;
568 END IF;
569
570 -- Initialize API return status to success
571 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
572
573 L_ENTITY_NAME := FND_TABLE_OF_VARCHAR2_255();
574 L_SOURCE_ENTITY_KEY := FND_TABLE_OF_VARCHAR2_255();
575 L_TARGET_ENTITY_KEY := FND_TABLE_OF_VARCHAR2_255();
576
577 L_ENTITY_NAME.EXTEND;
578 L_SOURCE_ENTITY_KEY.EXTEND;
579 L_TARGET_ENTITY_KEY.EXTEND;
580
581 L_ENTITY_NAME(1) := P_ENTITY_NAME;
582 L_SOURCE_ENTITY_KEY(1) := P_SOURCE_ENTITY_KEY;
583 L_TARGET_ENTITY_KEY(1) := P_TARGET_ENTITY_KEY;
584
585 GMO_INSTRUCTION_PVT.SEND_DEFN_ACKN
586 (
587 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
588 P_ENTITY_NAME => L_ENTITY_NAME,
589 P_SOURCE_ENTITY_KEY => L_SOURCE_ENTITY_KEY,
590 P_TARGET_ENTITY_KEY => L_TARGET_ENTITY_KEY,
591 X_RETURN_STATUS => X_RETURN_STATUS,
592 X_MSG_COUNT => X_MSG_COUNT,
593 X_MSG_DATA => X_MSG_DATA
594 );
595
596 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
597 IF FND_API.To_Boolean( p_commit ) THEN
598 COMMIT ;
599 END IF;
600 ELSE
601 RAISE FND_API.G_EXC_ERROR;
602 END IF;
603
604 -- Standard call to get message count and if count is 1, get message info.
605 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
606
607 EXCEPTION
608 WHEN FND_API.G_EXC_ERROR THEN
609 x_return_status := FND_API.G_RET_STS_ERROR;
610
611 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
612 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
613 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
614 end if;
615
616 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
617 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
618
619 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
620 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
621 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
622 end if;
623
624 WHEN OTHERS THEN
625 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
626
627 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
628 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
629 END IF;
630
631 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
632 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
633 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
634 end if;
635
636 END SEND_DEFN_ACKN;
637
638 /* This procedure copies the data from temporary tables back to
639 permenant tables, and also checks if there was any modification to
640 permenant tables, before copying the data back to permentant tables
641 and marks the instruction set as acknowledged */
642
643 PROCEDURE SEND_DEFN_ACKN
644 (
645 P_API_VERSION IN NUMBER,
646 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
647 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
648 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
649 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
650 X_MSG_COUNT OUT NOCOPY NUMBER,
651 X_MSG_DATA OUT NOCOPY VARCHAR2,
652
653 P_INSTRUCTION_PROCESS_ID IN NUMBER,
654 P_ENTITY_NAME IN FND_TABLE_OF_VARCHAR2_255,
655 P_SOURCE_ENTITY_KEY IN FND_TABLE_OF_VARCHAR2_255,
656 P_TARGET_ENTITY_KEY IN FND_TABLE_OF_VARCHAR2_255
657 )
658
659 IS
660
661 l_api_name CONSTANT VARCHAR2(30) := 'SEND_DEFN_ACKN';
662 l_api_version CONSTANT NUMBER := 1.0;
663
664 BEGIN
665
666 -- Standard call to check for call compatibility.
667 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
668 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
669 END IF;
670
671 -- Initialize message list if p_init_msg_list is set to TRUE.
672 IF FND_API.to_Boolean( p_init_msg_list ) THEN
673 FND_MSG_PUB.initialize;
674 END IF;
675
676 -- Initialize API return status to success
677 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
678
679 GMO_INSTRUCTION_PVT.SEND_DEFN_ACKN
680 (
681 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
682 P_ENTITY_NAME => P_ENTITY_NAME,
683 P_SOURCE_ENTITY_KEY => P_SOURCE_ENTITY_KEY,
684 P_TARGET_ENTITY_KEY => P_SOURCE_ENTITY_KEY,
685 X_RETURN_STATUS => X_RETURN_STATUS,
686 X_MSG_COUNT => X_MSG_COUNT,
687 X_MSG_DATA => X_MSG_DATA
688 );
689
690 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
691 IF FND_API.To_Boolean( p_commit ) THEN
692 COMMIT ;
693 END IF;
694 ELSE
695 RAISE FND_API.G_EXC_ERROR;
696 END IF;
697
698 -- Standard call to get message count and if count is 1, get message info.
699 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
700
701 EXCEPTION
702 WHEN FND_API.G_EXC_ERROR THEN
703 x_return_status := FND_API.G_RET_STS_ERROR;
704
705 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
706 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
707 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
708 end if;
709
710 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
711 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
712
713 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
714 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
715 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
716 end if;
717
718 WHEN OTHERS THEN
719 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
720
721 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
722 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
723 END IF;
724
725 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
726 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
727 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
728 end if;
729 END SEND_DEFN_ACKN;
730
731 PROCEDURE SEND_DEFN_ACKN
732 (
733 P_API_VERSION IN NUMBER,
734 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
735 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
736 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
737 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
738 X_MSG_COUNT OUT NOCOPY NUMBER,
739 X_MSG_DATA OUT NOCOPY VARCHAR2,
740
741 P_INSTRUCTION_PROCESS_ID IN NUMBER,
742 P_ENTITY_NAME IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
743 P_SOURCE_ENTITY_KEY IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
744 P_TARGET_ENTITY_KEY IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255
745
746 )
747 IS
748
749 l_api_name CONSTANT VARCHAR2(30) := 'SEND_DEFN_ACKN';
750 l_api_version CONSTANT NUMBER := 1.0;
751
752 BEGIN
753
754 -- Standard call to check for call compatibility.
755 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
756 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
757 END IF;
758
759 -- Initialize message list if p_init_msg_list is set to TRUE.
760 IF FND_API.to_Boolean( p_init_msg_list ) THEN
761 FND_MSG_PUB.initialize;
762 END IF;
763
764 -- Initialize API return status to success
765 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
766
767 GMO_INSTRUCTION_PVT.SEND_DEFN_ACKN
768 (
769 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
770 P_ENTITY_NAME => P_ENTITY_NAME,
771 P_SOURCE_ENTITY_KEY => P_SOURCE_ENTITY_KEY,
772 P_TARGET_ENTITY_KEY => P_TARGET_ENTITY_KEY,
773 X_RETURN_STATUS => X_RETURN_STATUS,
774 X_MSG_COUNT => X_MSG_COUNT,
775 X_MSG_DATA => X_MSG_DATA
776 );
777
778 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
779 IF FND_API.To_Boolean( p_commit ) THEN
780 COMMIT ;
781 END IF;
782 ELSE
783 RAISE FND_API.G_EXC_ERROR;
784 END IF;
785
786 -- Standard call to get message count and if count is 1, get message info.
787 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
788
789 EXCEPTION
790 WHEN FND_API.G_EXC_ERROR THEN
791 x_return_status := FND_API.G_RET_STS_ERROR;
792
793 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
794 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
795 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
796 end if;
797
798 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
799 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
800
801 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
802 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
803 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
804 end if;
805
806 WHEN OTHERS THEN
807 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
808
809 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
810 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
811 END IF;
812
813 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
814 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
815 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.send_defn_ackn', FALSE);
816 end if;
817
818 END SEND_DEFN_ACKN;
819
820
821 PROCEDURE GET_DEFN_STATUS
822 (
823 P_API_VERSION IN NUMBER,
824 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
825 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
826 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
827 X_MSG_COUNT OUT NOCOPY NUMBER,
828 X_MSG_DATA OUT NOCOPY VARCHAR2,
829
830 P_INSTRUCTION_PROCESS_ID IN NUMBER,
831 X_DEFINITION_STATUS OUT NOCOPY VARCHAR2
832
833 )
834 IS
835
836 l_api_name CONSTANT VARCHAR2(30) := 'GET_DEFN_STATUS';
837 l_api_version CONSTANT NUMBER := 1.0;
838
839
840 BEGIN
841 -- Standard Start of API savepoint
842 SAVEPOINT GET_DEFN_STATUS_GRP;
843
844 -- Standard call to check for call compatibility.
845 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
846 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
847 END IF;
848
849 -- Initialize message list if p_init_msg_list is set to TRUE.
850 IF FND_API.to_Boolean( p_init_msg_list ) THEN
851 FND_MSG_PUB.initialize;
852 END IF;
853
854 -- Initialize API return status to success
855 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
856
857 SELECT ATTRIBUTE_VALUE INTO X_DEFINITION_STATUS
858 FROM GMO_INSTR_ATTRIBUTES_T
859 WHERE ATTRIBUTE_NAME = 'DEFINITION_STATUS'
860 AND INSTRUCTION_PROCESS_ID = P_INSTRUCTION_PROCESS_ID;
861
862
863
864 -- Standard call to get message count and if count is 1, get message info.
865 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
866
867 EXCEPTION
868 WHEN FND_API.G_EXC_ERROR THEN
869 ROLLBACK TO GET_DEFN_STATUS_GRP;
870 x_return_status := FND_API.G_RET_STS_ERROR;
871
872 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
873 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
874 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.get_defn_status', FALSE);
875 end if;
876
877 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
878 ROLLBACK TO GET_DEFN_STATUS_GRP;
879 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
880
881 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
882 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
883 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.get_defn_status', FALSE);
884 end if;
885
886 WHEN OTHERS THEN
887 ROLLBACK TO GET_DEFN_STATUS_GRP;
888 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
889
890 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
891 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
892 END IF;
893
894 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
895 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
896 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.get_defn_status', FALSE);
897 end if;
898
899 END GET_DEFN_STATUS;
900
901 -- This procedure is used to fetch the instruction set and related
902 -- instruction details in XML format
903
904 PROCEDURE GET_INSTR_XML
905 (
906 P_API_VERSION IN NUMBER,
907 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
908 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
909 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
910 X_MSG_COUNT OUT NOCOPY NUMBER,
911 X_MSG_DATA OUT NOCOPY VARCHAR2,
912
913
914 P_INSTRUCTION_PROCESS_ID IN NUMBER,
915 X_OUTPUT_XML OUT NOCOPY CLOB
916 )
917 IS
918
919 l_api_name CONSTANT VARCHAR2(30) := 'GET_INSTR_XML';
920 l_api_version CONSTANT NUMBER := 1.0;
921
922 --This variable would hold the XML details in XMLType format.
923 L_INSTR_XML XMLTYPE;
924
925 BEGIN
926 -- Standard Start of API savepoint
927 SAVEPOINT GET_INSTR_XML_GRP;
928
929 -- Standard call to check for call compatibility.
930 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
931 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
932 END IF;
933
934 -- Initialize message list if p_init_msg_list is set to TRUE.
935 IF FND_API.to_Boolean( p_init_msg_list ) THEN
936 FND_MSG_PUB.initialize;
937 END IF;
938
939 -- Initialize API return status to success
940 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
941
942 --Call Private API , which will return the XML Clob
943 GMO_INSTRUCTION_PVT.GET_INSTR_XML
944 (
945 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
946 X_OUTPUT_XML => X_OUTPUT_XML
947 );
948
949 -- Standard call to get message count and if count is 1, get message info.
950 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
951
952 EXCEPTION
953 WHEN FND_API.G_EXC_ERROR THEN
954 ROLLBACK TO GET_INSTR_XML_GRP;
955 x_return_status := FND_API.G_RET_STS_ERROR;
956
957 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
958 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
959 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.GET_INSTR_XML', FALSE);
960 end if;
961
962 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
963 ROLLBACK TO GET_INSTR_XML_GRP;
964 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
965
966 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
967 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
968 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_INSTR_XML', FALSE);
969 end if;
970
971 WHEN OTHERS THEN
972 ROLLBACK TO GET_INSTR_XML_GRP;
973 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
974
975 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
976 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
977 END IF;
978
979 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
980 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
981 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_INSTR_XML', FALSE);
982 end if;
983
984 END GET_INSTR_XML;
985
986 -- This procedure is used to fetch the instruction instance details
987 -- in XML format
988
989 PROCEDURE GET_INSTR_INSTANCE_XML
990 (
991 P_API_VERSION IN NUMBER,
992 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
993 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
994 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
995 X_MSG_COUNT OUT NOCOPY NUMBER,
996 X_MSG_DATA OUT NOCOPY VARCHAR2,
997
998
999 P_INSTRUCTION_PROCESS_ID IN NUMBER,
1000 X_OUTPUT_XML OUT NOCOPY CLOB
1001 )
1002 IS
1003
1004 l_api_name CONSTANT VARCHAR2(30) := 'GET_INSTR_XML';
1005 l_api_version CONSTANT NUMBER := 1.0;
1006
1007 --This variable would hold the XML details in XMLType format.
1008 L_INSTR_XML XMLTYPE;
1009
1010 BEGIN
1011 -- Standard Start of API savepoint
1012 SAVEPOINT GET_INSTR_XML_GRP;
1013
1014 -- Standard call to check for call compatibility.
1015 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1016 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1017 END IF;
1018
1019 -- Initialize message list if p_init_msg_list is set to TRUE.
1020 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1021 FND_MSG_PUB.initialize;
1022 END IF;
1023
1024 -- Initialize API return status to success
1025 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1026
1027 --Call Private API , which will return the XML Clob
1028 GMO_INSTRUCTION_PVT.GET_INSTR_INSTANCE_XML
1029 (
1030 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
1031 X_OUTPUT_XML => X_OUTPUT_XML
1032 );
1033
1034 -- Standard call to get message count and if count is 1, get message info.
1035 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1036
1037 EXCEPTION
1038 WHEN FND_API.G_EXC_ERROR THEN
1039 ROLLBACK TO GET_INSTR_XML_GRP;
1040 x_return_status := FND_API.G_RET_STS_ERROR;
1041
1042 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1043 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1044 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.GET_INSTR_INSTANCE_XML', FALSE);
1045 end if;
1046
1047 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1048 ROLLBACK TO GET_INSTR_XML_GRP;
1049 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1050
1051 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1052 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1053 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_INSTR_INSTANCE_XML', FALSE);
1054 end if;
1055
1056 WHEN OTHERS THEN
1057 ROLLBACK TO GET_INSTR_XML_GRP;
1058 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1059
1060 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1061 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1062 END IF;
1063
1064 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1065 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1066 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_INSTR_INSTANCE_XML', FALSE);
1067 end if;
1068
1069 END GET_INSTR_INSTANCE_XML;
1070
1071 PROCEDURE CREATE_INSTANCE_FROM_DEFN
1072 (
1073 P_API_VERSION IN NUMBER,
1074 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1075 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1076 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1077 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1078 X_MSG_COUNT OUT NOCOPY NUMBER,
1079 X_MSG_DATA OUT NOCOPY VARCHAR2,
1080
1081 P_DEFINITION_ENTITY_NAME IN VARCHAR2,
1082 P_DEFINITION_ENTITY_KEY IN VARCHAR2,
1083 P_INSTANCE_ENTITY_NAME IN VARCHAR2,
1084 P_INSTANCE_ENTITY_KEY IN VARCHAR2,
1085 P_INSTRUCTION_TYPE IN VARCHAR2,
1086 X_INSTRUCTION_SET_ID OUT NOCOPY NUMBER
1087
1088 ) IS
1089
1090 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_INSTANCE_FROM_DEFN';
1091 l_api_version CONSTANT NUMBER := 1.0;
1092
1093 BEGIN
1094 -- Standard Start of API savepoint
1095 SAVEPOINT CREATE_INSTANCE_FROM_DEFN_GRP;
1096
1097 -- Standard call to check for call compatibility.
1098 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1099 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1100 END IF;
1101
1102 -- Initialize message list if p_init_msg_list is set to TRUE.
1103 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1104 FND_MSG_PUB.initialize;
1105 END IF;
1106
1107 -- Initialize API return status to success
1108 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1109
1110 GMO_INSTRUCTION_PVT.CREATE_INSTANCE_FROM_DEFN
1111 (
1112 P_DEFINITION_ENTITY_NAME => P_DEFINITION_ENTITY_NAME,
1113 P_DEFINITION_ENTITY_KEY => P_DEFINITION_ENTITY_KEY,
1114 P_INSTANCE_ENTITY_NAME => P_INSTANCE_ENTITY_NAME,
1115 P_INSTANCE_ENTITY_KEY => P_INSTANCE_ENTITY_KEY,
1116 P_INSTRUCTION_TYPE => P_INSTRUCTION_TYPE,
1117 X_INSTRUCTION_SET_ID => X_INSTRUCTION_SET_ID,
1118 X_RETURN_STATUS => X_RETURN_STATUS,
1119 X_MSG_COUNT => X_MSG_COUNT,
1120 X_MSG_DATA => X_MSG_DATA
1121 );
1122
1123 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1124 RAISE FND_API.G_EXC_ERROR;
1125 END IF;
1126
1127 -- Standard call to get message count and if count is 1, get message info.
1128 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1129
1130 IF FND_API.To_Boolean( p_commit ) THEN
1131 COMMIT ;
1132 END IF;
1133
1134 EXCEPTION
1135 WHEN FND_API.G_EXC_ERROR THEN
1136 ROLLBACK TO CREATE_INSTANCE_FROM_DEFN_GRP;
1137 x_return_status := FND_API.G_RET_STS_ERROR;
1138
1139 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1140 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1141 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_DEFN', FALSE);
1142 end if;
1143 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1144 ROLLBACK TO CREATE_INSTANCE_FROM_DEFN_GRP;
1145 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1146
1147 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1148 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1149 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_DEFN', FALSE);
1150 end if;
1151
1152 WHEN OTHERS THEN
1153 ROLLBACK TO CREATE_INSTANCE_FROM_DEFN_GRP;
1154 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1155
1156 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1157 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1158 END IF;
1159
1160 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1161 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1162 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_DEFN', FALSE);
1163 end if;
1164
1165 END CREATE_INSTANCE_FROM_DEFN;
1166
1167
1168 PROCEDURE CREATE_INSTANCE_FROM_INSTANCE
1169 (
1170
1171 P_API_VERSION IN NUMBER,
1172 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1173 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1174 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1175 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1176 X_MSG_COUNT OUT NOCOPY NUMBER,
1177 X_MSG_DATA OUT NOCOPY VARCHAR2,
1178
1179 P_SOURCE_ENTITY_NAME IN VARCHAR2,
1180 P_SOURCE_ENTITY_KEY IN VARCHAR2,
1181 P_TARGET_ENTITY_KEY IN VARCHAR2,
1182 P_INSTRUCTION_TYPE IN VARCHAR2,
1183 X_INSTRUCTION_SET_ID OUT NOCOPY NUMBER
1184
1185 ) IS
1186
1187 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_INSTANCE_FROM_INSTANCE';
1188 l_api_version CONSTANT NUMBER := 1.0;
1189
1190 BEGIN
1191 SAVEPOINT CREATE_INST_FRM_INST_SV;
1192 -- Standard call to check for call compatibility.
1193 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1194 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1195 END IF;
1196
1197 -- Initialize message list if p_init_msg_list is set to TRUE.
1198 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1199 FND_MSG_PUB.initialize;
1200 END IF;
1201
1202 -- Initialize API return status to success
1203 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1204
1205 GMO_INSTRUCTION_PVT.CREATE_INSTANCE_FROM_INSTANCE
1206 (
1207 P_SOURCE_ENTITY_NAME => P_SOURCE_ENTITY_NAME,
1208 P_SOURCE_ENTITY_KEY => P_SOURCE_ENTITY_KEY,
1209 P_TARGET_ENTITY_KEY => P_TARGET_ENTITY_KEY,
1210 P_INSTRUCTION_TYPE => P_INSTRUCTION_TYPE,
1211 X_INSTRUCTION_SET_ID => X_INSTRUCTION_SET_ID,
1212 X_RETURN_STATUS => X_RETURN_STATUS,
1213 X_MSG_COUNT => X_MSG_COUNT,
1214 X_MSG_DATA => X_MSG_DATA
1215 );
1216
1217 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1218 RAISE FND_API.G_EXC_ERROR;
1219 ELSE
1220 IF FND_API.To_Boolean( p_commit ) THEN
1221 COMMIT ;
1222 END IF;
1223 END IF;
1224
1225 -- Standard call to get message count and if count is 1, get message info.
1226 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1227
1228 EXCEPTION
1229 WHEN FND_API.G_EXC_ERROR THEN
1230 ROLLBACK TO CREATE_INST_FRM_INST_SV;
1231 x_return_status := FND_API.G_RET_STS_ERROR;
1232
1233 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1234 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1235 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_INSTANCE', FALSE);
1236 end if;
1237
1238 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1239 ROLLBACK TO CREATE_INST_FRM_INST_SV;
1240 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1241
1242 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1243 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1244 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_INSTANCE', FALSE);
1245 end if;
1246
1247 WHEN OTHERS THEN
1248 ROLLBACK TO CREATE_INST_FRM_INST_SV;
1249 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1250
1251 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1252 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1253 END IF;
1254
1255 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1256 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1257 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.CREATE_INSTANCE_FROM_INSTANCE', FALSE);
1258 end if;
1259
1260 END CREATE_INSTANCE_FROM_INSTANCE;
1261
1262 PROCEDURE SEND_TASK_ACKN
1263 (
1264 P_API_VERSION IN NUMBER,
1265 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1266 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1267 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1268 X_MSG_COUNT OUT NOCOPY NUMBER,
1269 X_MSG_DATA OUT NOCOPY VARCHAR2,
1270
1271 P_INSTRUCTION_ID IN NUMBER,
1272 P_INSTRUCTION_PROCESS_ID IN NUMBER,
1273 P_ENTITY_KEY IN VARCHAR2 DEFAULT NULL,
1274 P_TASK_ERECORD_ID IN FND_TABLE_OF_VARCHAR2_255,
1275 P_TASK_IDENTIFIER IN FND_TABLE_OF_VARCHAR2_255,
1276 P_TASK_VALUE IN FND_TABLE_OF_VARCHAR2_255,
1277 P_DISABLE_TASK IN VARCHAR2 DEFAULT 'N'
1278 )
1279 IS PRAGMA AUTONOMOUS_TRANSACTION;
1280
1281 l_api_name CONSTANT VARCHAR2(30) := 'SEND_TASK_ACKN';
1282 l_api_version CONSTANT NUMBER := 1.0;
1283
1284 BEGIN
1285
1286 -- Standard call to check for call compatibility.
1287 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1288 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1289 END IF;
1290
1291 -- Initialize message list if p_init_msg_list is set to TRUE.
1292 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1293 FND_MSG_PUB.initialize;
1294 END IF;
1295
1296 -- Initialize API return status to success
1297 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1298
1299 -- Call Private API
1300 GMO_INSTRUCTION_PVT.SEND_TASK_ACKN
1301 (
1302 P_INSTRUCTION_ID => P_INSTRUCTION_ID,
1303 P_INSTRUCTION_PROCESS_ID => P_INSTRUCTION_PROCESS_ID,
1304 P_ENTITY_KEY => P_ENTITY_KEY,
1305 P_TASK_ERECORD_ID => P_TASK_ERECORD_ID,
1306 P_TASK_IDENTIFIER => P_TASK_IDENTIFIER,
1307 P_TASK_VALUE => P_TASK_VALUE,
1308 P_DISABLE_TASK => P_DISABLE_TASK,
1309 X_RETURN_STATUS => X_RETURN_STATUS,
1310 X_MSG_COUNT => X_MSG_COUNT,
1311 X_MSG_DATA => X_MSG_DATA
1312 );
1313
1314 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1315 RAISE FND_API.G_EXC_ERROR;
1316 ELSE
1317 COMMIT;
1318 END IF;
1319
1320 -- Standard call to get message count and if count is 1, get message info.
1321 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1322
1323 EXCEPTION
1324 WHEN FND_API.G_EXC_ERROR THEN
1325 ROLLBACK;
1326 x_return_status := FND_API.G_RET_STS_ERROR;
1327
1328 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1329 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1330 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.SEND_TASK_ACKN', FALSE);
1331 end if;
1332
1333 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1334 ROLLBACK;
1335 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1336
1337 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1338 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1339 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.SEND_TASK_ACKN', FALSE);
1340 end if;
1341
1342 WHEN OTHERS THEN
1343 ROLLBACK;
1344 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1345
1346 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1347 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1348 END IF;
1349
1350 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1351 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1352 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.SEND_TASK_ACKN', FALSE);
1353 end if;
1354
1355 END SEND_TASK_ACKN;
1356
1357 PROCEDURE NULLIFY_INSTR_FOR_ENTITY
1358 (
1359
1360 P_API_VERSION IN NUMBER,
1361 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1362 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1363 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1364 X_MSG_COUNT OUT NOCOPY NUMBER,
1365 X_MSG_DATA OUT NOCOPY VARCHAR2,
1366
1367 P_ENTITY_NAME IN VARCHAR2,
1368 P_ENTITY_KEY IN VARCHAR2,
1369 P_INSTRUCTION_TYPE IN VARCHAR2
1370
1371 )
1372 IS PRAGMA AUTONOMOUS_TRANSACTION;
1373
1374 l_api_name CONSTANT VARCHAR2(30) := 'NULLIFY_INSTR_FOR_ENTITY';
1375 l_api_version CONSTANT NUMBER := 1.0;
1376
1377 BEGIN
1378
1379 -- Standard call to check for call compatibility.
1380 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1381 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1382 END IF;
1383
1384 -- Initialize message list if p_init_msg_list is set to TRUE.
1385 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1386 FND_MSG_PUB.initialize;
1387 END IF;
1388
1389 -- Initialize API return status to success
1390 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1391
1392 -- Call Private API
1393 GMO_INSTRUCTION_PVT.NULLIFY_INSTR_FOR_ENTITY
1394 (
1395 P_ENTITY_NAME => P_ENTITY_NAME,
1396 P_ENTITY_KEY => P_ENTITY_KEY,
1397 P_INSTRUCTION_TYPE => P_INSTRUCTION_TYPE,
1398 X_RETURN_STATUS => X_RETURN_STATUS,
1399 X_MSG_COUNT => X_MSG_COUNT,
1400 X_MSG_DATA => X_MSG_DATA
1401 );
1402
1403 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1404 RAISE FND_API.G_EXC_ERROR;
1405 ELSE
1406 COMMIT;
1407 END IF;
1408
1409 -- Standard call to get message count and if count is 1, get message info.
1410 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1411
1412 EXCEPTION
1413 WHEN FND_API.G_EXC_ERROR THEN
1414 ROLLBACK;
1415 x_return_status := FND_API.G_RET_STS_ERROR;
1416
1417 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1418 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1419 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.NULLIFY_INSTR_FOR_ENTITY', FALSE);
1420 end if;
1421
1422 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1423 ROLLBACK;
1424 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1425
1426 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1427 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1428 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.NULLIFY_INSTR_FOR_ENTITY', FALSE);
1429 end if;
1430
1431 WHEN OTHERS THEN
1432 ROLLBACK;
1433 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1434
1435 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1436 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1437 END IF;
1438
1439 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1440 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1441 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.NULLIFY_INSTR_FOR_ENTITY', FALSE);
1442 end if;
1443
1444 END NULLIFY_INSTR_FOR_ENTITY;
1445
1446
1447 PROCEDURE GET_TASK_PARAMETER
1448 (
1449 P_API_VERSION IN NUMBER,
1450 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1451 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1452 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1453 X_MSG_COUNT OUT NOCOPY NUMBER,
1454 X_MSG_DATA OUT NOCOPY VARCHAR2,
1455
1456 P_INSTRUCTION_PROCESS_ID IN NUMBER,
1457 P_ATTRIBUTE_NAME IN VARCHAR2,
1458 X_ATTRIBUTE_VALUE OUT NOCOPY VARCHAR2
1459
1460 )
1461 IS
1462 l_api_name CONSTANT VARCHAR2(30) := 'GET_TASK_PARAMETER';
1463 l_api_version CONSTANT NUMBER := 1.0;
1464 L_TASK_PARAM_VALUE VARCHAR2(1000);
1465
1466 BEGIN
1467 -- Standard Start of API savepoint
1468 SAVEPOINT GET_TASK_PARAMETER_GRP;
1469
1470 -- Standard call to check for call compatibility.
1471 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1472 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1473 END IF;
1474
1475 -- Initialize message list if p_init_msg_list is set to TRUE.
1476 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1477 FND_MSG_PUB.initialize;
1478 END IF;
1479
1480 -- Initialize API return status to success
1481 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1482
1483 -- Call the Private API to get the task value
1484 L_TASK_PARAM_VALUE := GMO_INSTRUCTION_PVT.GET_TASK_PARAMETER( P_INSTRUCTION_PROCESS_ID,
1485 P_ATTRIBUTE_NAME
1486 );
1487 X_ATTRIBUTE_VALUE := L_TASK_PARAM_VALUE;
1488 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1489
1490 -- Standard call to get message count and if count is 1, get message info.
1491 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1492
1493 EXCEPTION
1494 WHEN FND_API.G_EXC_ERROR THEN
1495 ROLLBACK TO GET_TASK_PARAMETER_GRP;
1496 x_return_status := FND_API.G_RET_STS_ERROR;
1497
1498 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1499 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1500 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.GET_TASK_PARAMETER', FALSE);
1501 end if;
1502
1503 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1504 ROLLBACK TO GET_TASK_PARAMETER_GRP;
1505 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1506
1507 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1508 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1509 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_TASK_PARAMETER', FALSE);
1510 end if;
1511
1512 WHEN OTHERS THEN
1513 ROLLBACK TO GET_TASK_PARAMETER_GRP;
1514 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1515
1516 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1517 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1518 END IF;
1519
1520 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1521 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1522 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.GET_TASK_PARAMETER', FALSE);
1523 end if;
1524
1525 END GET_TASK_PARAMETER;
1526
1527 --Bug 5383022: start
1528
1529 -- Start of comments
1530 -- API name : is_task_attribute_used
1531 -- Type : Group API
1532 -- Function : This procedure is used to check if the task attribute is used
1533 -- Pre-reqs : None
1534 --
1535 -- IN : P_API_VERSION API Version
1536 -- P_INIT_MSG_LIST Initialize message list default = FALSE
1537 -- P_VALIDATION_LEVEL Default validation level = FULL
1538 -- P_INSTRUCTION_PROCESS_ID - The instruction process ID
1539 -- p_attribute_name - attribute name
1540 -- p_attribute_key - attribute key
1541 -- OUT : x_used_flag - used flag
1542 -- x_return_status - return status
1543 -- x_msg_count - message count
1544 -- x_msg_data - message data
1545 --End of comments
1546
1547 procedure is_task_attribute_used
1548 (
1549 P_API_VERSION IN NUMBER,
1550 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1551 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
1552 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
1553 X_MSG_COUNT OUT NOCOPY NUMBER,
1554 X_MSG_DATA OUT NOCOPY VARCHAR2,
1555
1556 p_instruction_process_id IN number,
1557 p_attribute_name IN varchar2,
1558 p_attribute_key IN varchar2,
1559 x_used_flag OUT NOCOPY varchar2
1560 )
1561
1562 IS
1563 l_api_name CONSTANT VARCHAR2(30) := 'IS_TASK_ATTRIBUTE_USED';
1564 l_api_version CONSTANT NUMBER := 1.0;
1565
1566 BEGIN
1567 -- Standard Start of API savepoint
1568 SAVEPOINT IS_TASK_ATTRIBUTE_USED_GRP;
1569
1570 -- Standard call to check for call compatibility.
1571 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
1572 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1573 END IF;
1574
1575 -- Initialize message list if p_init_msg_list is set to TRUE.
1576 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1577 FND_MSG_PUB.initialize;
1578 END IF;
1579
1580 -- Initialize API return status to success
1581 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1582
1583 -- Call the Private API to get the task value
1584 GMO_INSTRUCTION_PVT.is_task_attribute_used(
1585 P_INSTRUCTION_PROCESS_ID => p_instruction_process_id,
1586 p_attribute_name => p_attribute_name,
1587 p_attribute_key => p_attribute_key,
1588 x_used_flag => x_used_flag,
1589 X_RETURN_STATUS => X_RETURN_STATUS,
1590 X_MSG_COUNT => X_MSG_COUNT,
1591 X_MSG_DATA => X_MSG_DATA
1592 );
1593
1594 -- Standard call to get message count and if count is 1, get message info.
1595 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1596
1597 EXCEPTION
1598 WHEN FND_API.G_EXC_ERROR THEN
1599 ROLLBACK TO IS_TASK_ATTRIBUTE_USED_GRP;
1600 x_return_status := FND_API.G_RET_STS_ERROR;
1601
1602 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1603 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1604 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_instruction_grp.IS_TASK_ATTRIBUTE_USED', FALSE);
1605 end if;
1606
1607 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1608 ROLLBACK TO IS_TASK_ATTRIBUTE_USED_GRP;
1609 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1610
1611 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1612 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1613 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.IS_TASK_ATTRIBUTE_USED', FALSE);
1614 end if;
1615
1616 WHEN OTHERS THEN
1617 ROLLBACK TO IS_TASK_ATTRIBUTE_USED_GRP;
1618 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1619
1620 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1621 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
1622 END IF;
1623
1624 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
1625 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
1626 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_instruction_grp.IS_TASK_ATTRIBUTE_USED', FALSE);
1627 end if;
1628
1629 END IS_TASK_ATTRIBUTE_USED;
1630
1631 --Bug 5383022: end
1632
1633 END GMO_INSTRUCTION_GRP;