82: --Standard Savepoint
83: SAVEPOINT validProcedure;
84:
85: -- Standard call to check for call compatibility.
86: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
87: p_api_version_number,
88: l_api_name,
89: G_PKG_NAME)
90: THEN
87: p_api_version_number,
88: l_api_name,
89: G_PKG_NAME)
90: THEN
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: --Initialize the message list if p_init_msg_list is set to TRUE
95: If FND_API.to_Boolean(p_init_msg_list) THEN
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: --Initialize the message list if p_init_msg_list is set to TRUE
95: If FND_API.to_Boolean(p_init_msg_list) THEN
96: FND_MSG_PUB.initialize;
97: END IF;
98:
99: --Initialize API status return
96: FND_MSG_PUB.initialize;
97: END IF;
98:
99: --Initialize API status return
100: x_return_status := FND_API.G_RET_STS_SUCCESS;
101:
102: if UPPER(p_ProcName) = UPPER('test') then
103: if p_return_type='IEMNNUMBER' then
104: raise IEM_ROUT_PROC_WRONG_SIGN_NUM ;
168:
169: EXCEPTION
170: WHEN l_IEM_UNKNOWN_RETURN_TYPE THEN
171: ROLLBACK TO validProcedure;
172: x_return_status := FND_API.G_RET_STS_ERROR;
173: FND_MESSAGE.SET_NAME('IEM', 'l_IEM_UNKNOWN_RETURN_TYPE');
174:
175: FND_MSG_PUB.ADD;
176: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
176: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
177:
178: WHEN IEM_ROUT_PROC_INVALID THEN
179: ROLLBACK TO validProcedure;
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_INVALID');
182: FND_MSG_PUB.ADD;
183: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
184: WHEN IEM_ROUT_PROC_NOT_EXIST THEN
182: FND_MSG_PUB.ADD;
183: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
184: WHEN IEM_ROUT_PROC_NOT_EXIST THEN
185: ROLLBACK TO validProcedure;
186: x_return_status := FND_API.G_RET_STS_ERROR;
187: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_NOT_EXIST');
188:
189: FND_MSG_PUB.ADD;
190: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
190: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
191:
192: WHEN IEM_ROUT_PROC_NOT_EXIST_PACK THEN
193: ROLLBACK TO validProcedure;
194: x_return_status := FND_API.G_RET_STS_ERROR;
195: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_NOT_EXIST');
196: FND_MSG_PUB.ADD;
197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
198:
197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
198:
199: WHEN IEM_ROUT_PROC_SYNTAX_ERR THEN
200: ROLLBACK TO validProcedure;
201: x_return_status := FND_API.G_RET_STS_ERROR;
202: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_SYNTAX_ERR');
203: FND_MSG_PUB.ADD;
204: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
205:
204: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
205:
206: WHEN IEM_ROUT_PROC_NOT_EXIST_PACK_1 THEN
207: ROLLBACK TO validProcedure;
208: x_return_status := FND_API.G_RET_STS_ERROR;
209: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_NOT_EXIST');
210: FND_MSG_PUB.ADD;
211: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
212:
211: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
212:
213: WHEN IEM_ROUT_PROC_INVALID_1 THEN
214: ROLLBACK TO validProcedure;
215: x_return_status := FND_API.G_RET_STS_ERROR;
216: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_INVALID');
217: FND_MSG_PUB.ADD;
218: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
219:
218: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
219:
220: WHEN IEM_ROUT_PROC_WRONG_SIGN_STG THEN
221: ROLLBACK TO validProcedure;
222: x_return_status := FND_API.G_RET_STS_ERROR;
223: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_WRONG_SIGN_STG');
224:
225: FND_MSG_PUB.ADD;
226: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
226: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
227:
228: WHEN IEM_ROUT_PROC_WRONG_SIGN_NUM THEN
229: ROLLBACK TO validProcedure;
230: x_return_status := FND_API.G_RET_STS_ERROR;
231: FND_MESSAGE.SET_NAME('IEM', 'IEM_ROUT_PROC_WRONG_SIGN_NUM');
232:
233: FND_MSG_PUB.ADD;
234: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
232:
233: FND_MSG_PUB.ADD;
234: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
235:
236: WHEN FND_API.G_EXC_ERROR THEN
237: ROLLBACK TO validProcedure;
238: x_return_status := FND_API.G_RET_STS_ERROR ;
239: FND_MSG_PUB.Count_And_Get
240: ( p_count => x_msg_count,p_data => x_msg_data);
234: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
235:
236: WHEN FND_API.G_EXC_ERROR THEN
237: ROLLBACK TO validProcedure;
238: x_return_status := FND_API.G_RET_STS_ERROR ;
239: FND_MSG_PUB.Count_And_Get
240: ( p_count => x_msg_count,p_data => x_msg_data);
241:
242:
239: FND_MSG_PUB.Count_And_Get
240: ( p_count => x_msg_count,p_data => x_msg_data);
241:
242:
243: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
244: ROLLBACK TO validProcedure;
245: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
246: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,p_data => x_msg_data);
247:
241:
242:
243: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
244: ROLLBACK TO validProcedure;
245: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
246: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,p_data => x_msg_data);
247:
248:
249: WHEN OTHERS THEN
247:
248:
249: WHEN OTHERS THEN
250: ROLLBACK TO validProcedure;
251: x_return_status := FND_API.G_RET_STS_ERROR;
252: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
253: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME , l_api_name);
254: END IF;
255:
272: l_api_name VARCHAR2(255):='run_Procedure';
273: l_api_version_number NUMBER:=1.0;
274: l_seq_id NUMBER;
275:
276: l_return_status VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
277: l_msg_count NUMBER := 0;
278: l_msg_data VARCHAR2(2000);
279:
280: l_proc_name VARCHAR2(256);
295: -- Standard Start of API savepoint
296: SAVEPOINT run_Procedure_PVT;
297:
298: -- Standard call to check for call compatibility.
299: IF NOT FND_API.Compatible_API_Call (l_api_version_number,
300: p_api_version_number,
301: l_api_name,
302: G_PKG_NAME)
303: THEN
300: p_api_version_number,
301: l_api_name,
302: G_PKG_NAME)
303: THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
306:
307:
308: -- Initialize message list if p_init_msg_list is set to TRUE.
305: END IF;
306:
307:
308: -- Initialize message list if p_init_msg_list is set to TRUE.
309: IF FND_API.to_Boolean( p_init_msg_list )
310: THEN
311: FND_MSG_PUB.initialize;
312: END IF;
313:
312: END IF;
313:
314:
315: -- Initialize API return status to SUCCESS
316: x_return_status := FND_API.G_RET_STS_SUCCESS;
317:
318: -- Actual API begins here
319:
320: -- Valid procedure first
324: IF l_proc_name is NOT NULL THEN
325:
326: IEM_ROUTE_RUN_PROC_PVT.validProcedure(
327: p_api_version_number => P_Api_Version_Number,
328: p_init_msg_list => FND_API.G_FALSE,
329: p_commit => P_Commit,
330: p_ProcName => l_proc_name,
331: p_return_type => p_param_type,
332: x_return_status => l_return_status,
332: x_return_status => l_return_status,
333: x_msg_count => l_msg_count,
334: x_msg_data => l_msg_data
335: );
336: if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
337: raise l_IEM_INVALID_PROCEDURE;
338: end if;
339:
340: END IF;
394:
395: DBMS_SQL.close_cursor(l_Cursor);
396:
397: -- Standard Check Of p_commit.
398: IF FND_API.To_Boolean(p_commit) THEN
399: COMMIT WORK;
400: END IF;
401:
402: -- Standard callto get message count and if count is 1, get message info.
415: if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
416: logMessage := '[Invalid procedure: ' || l_proc_name|| ']';
417: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
418: end if;
419: x_return_status := FND_API.G_RET_STS_ERROR ;
420:
421: WHEN FND_API.G_EXC_ERROR THEN
422: ROLLBACK TO run_Procedure_PVT;
423: x_return_status := FND_API.G_RET_STS_ERROR ;
417: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
418: end if;
419: x_return_status := FND_API.G_RET_STS_ERROR ;
420:
421: WHEN FND_API.G_EXC_ERROR THEN
422: ROLLBACK TO run_Procedure_PVT;
423: x_return_status := FND_API.G_RET_STS_ERROR ;
424: FND_MSG_PUB.Count_And_Get
425: ( p_count => x_msg_count,
419: x_return_status := FND_API.G_RET_STS_ERROR ;
420:
421: WHEN FND_API.G_EXC_ERROR THEN
422: ROLLBACK TO run_Procedure_PVT;
423: x_return_status := FND_API.G_RET_STS_ERROR ;
424: FND_MSG_PUB.Count_And_Get
425: ( p_count => x_msg_count,
426: p_data => x_msg_data
427: );
425: ( p_count => x_msg_count,
426: p_data => x_msg_data
427: );
428: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
429: logMessage := '[FND_API.G_EXC_ERROR happened in RUN_PROCEDURE - ' || l_proc_name|| ' error:'||sqlerrm||']';
430: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
431: end if;
432: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
433: ROLLBACK TO run_Procedure_PVT;
428: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
429: logMessage := '[FND_API.G_EXC_ERROR happened in RUN_PROCEDURE - ' || l_proc_name|| ' error:'||sqlerrm||']';
430: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
431: end if;
432: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
433: ROLLBACK TO run_Procedure_PVT;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
435: FND_MSG_PUB.Count_And_Get
436: ( p_count => x_msg_count,
430: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
431: end if;
432: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
433: ROLLBACK TO run_Procedure_PVT;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
435: FND_MSG_PUB.Count_And_Get
436: ( p_count => x_msg_count,
437: p_data => x_msg_data
438: );
436: ( p_count => x_msg_count,
437: p_data => x_msg_data
438: );
439: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
440: logMessage := '[FND_API.G_EXC_UNEXPECTED_ERROR happened in RUN_PROCEDURE - ' || l_proc_name|| ' error:'||sqlerrm||']';
441: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
442: end if;
443: WHEN OTHERS THEN
444: ROLLBACK TO run_Procedure_PVT;
441: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUT_RUNPROC_PVT.RUN_PROCEDURE', logMessage);
442: end if;
443: WHEN OTHERS THEN
444: ROLLBACK TO run_Procedure_PVT;
445: x_return_status := FND_API.G_RET_STS_ERROR;
446:
447: IF FND_MSG_PUB.Check_Msg_Level
448: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
449: THEN