7: -------------------------------------------------------------------------------
8:
9: PROCEDURE run_exception (
10: p_api_version IN NUMBER,
11: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
12: p_commit IN VARCHAR2 := FND_API.G_FALSE,
13: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
14: x_return_status OUT NOCOPY varchar2,
15: x_msg_count OUT NOCOPY number,
8:
9: PROCEDURE run_exception (
10: p_api_version IN NUMBER,
11: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
12: p_commit IN VARCHAR2 := FND_API.G_FALSE,
13: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
14: x_return_status OUT NOCOPY varchar2,
15: x_msg_count OUT NOCOPY number,
16: x_msg_data OUT NOCOPY varchar2,
9: PROCEDURE run_exception (
10: p_api_version IN NUMBER,
11: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
12: p_commit IN VARCHAR2 := FND_API.G_FALSE,
13: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
14: x_return_status OUT NOCOPY varchar2,
15: x_msg_count OUT NOCOPY number,
16: x_msg_data OUT NOCOPY varchar2,
17: p_task_id IN NUMBER,
50:
51: BEGIN
52:
53: -- Standard call to check for call compatibility.
54: IF NOT FND_API.Compatible_API_Call( l_api_version,
55: p_api_version,
56: l_api_name,
57: G_PKG_NAME)
58: THEN
55: p_api_version,
56: l_api_name,
57: G_PKG_NAME)
58: THEN
59: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60: END IF;
61: -- Initialize message list if p_init_msg_list is set to TRUE.
62: IF FND_API.to_Boolean(p_init_msg_list) THEN
63: FND_MSG_PUB.initialize;
58: THEN
59: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60: END IF;
61: -- Initialize message list if p_init_msg_list is set to TRUE.
62: IF FND_API.to_Boolean(p_init_msg_list) THEN
63: FND_MSG_PUB.initialize;
64: END IF;
65: -- Initialize API return status to success
66: x_return_status := FND_API.G_RET_STS_SUCCESS;
62: IF FND_API.to_Boolean(p_init_msg_list) THEN
63: FND_MSG_PUB.initialize;
64: END IF;
65: -- Initialize API return status to success
66: x_return_status := FND_API.G_RET_STS_SUCCESS;
67:
68: -- API body
69:
70: l_user_id := to_char(p_user_id);
106: for each in statSqlMbrs loop
107: if (l_count > 1) then
108: if (l_dim <> each.dim or l_hier <> each.hier) then
109: ZPB_LOG.WRITE_STATEMENT(G_PKG_NAME || '.' || l_api_name, 'The specified query shows inconsistent results.');
110: --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
111: --RAISE_APPLICATION_ERROR(-20000, 'The specified query shows inconsistent results.', TRUE);
112: end if;
113: else
114: l_dim := each.dim;
158:
159: -- End of API body.
160:
161: -- Standard check of p_commit.
162: IF FND_API.To_Boolean( p_commit ) THEN
163: COMMIT WORK;
164: END IF;
165: -- Standard call to get message count and if count is 1, get message info.
166: FND_MSG_PUB.Count_And_Get(
168: p_data => x_msg_data
169: );
170:
171: EXCEPTION
172: WHEN FND_API.G_EXC_ERROR THEN
173: ROLLBACK TO zpb_excp_pvt_run_exception;
174: x_return_status := FND_API.G_RET_STS_ERROR;
175: FND_MSG_PUB.Count_And_Get(
176: p_count => x_msg_count,
170:
171: EXCEPTION
172: WHEN FND_API.G_EXC_ERROR THEN
173: ROLLBACK TO zpb_excp_pvt_run_exception;
174: x_return_status := FND_API.G_RET_STS_ERROR;
175: FND_MSG_PUB.Count_And_Get(
176: p_count => x_msg_count,
177: p_data => x_msg_data
178: );
175: FND_MSG_PUB.Count_And_Get(
176: p_count => x_msg_count,
177: p_data => x_msg_data
178: );
179: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
180: ROLLBACK TO zpb_excp_pvt_run_exception;
181: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
182: FND_MSG_PUB.Count_And_Get(
183: p_count => x_msg_count,
177: p_data => x_msg_data
178: );
179: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
180: ROLLBACK TO zpb_excp_pvt_run_exception;
181: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
182: FND_MSG_PUB.Count_And_Get(
183: p_count => x_msg_count,
184: p_data => x_msg_data
185: );
184: p_data => x_msg_data
185: );
186: WHEN OTHERS THEN
187: ROLLBACK TO zpb_excp_pvt_run_exception;
188: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
189: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
190: FND_MSG_PUB.Add_Exc_Msg(
191: G_PKG_NAME,
192: l_api_name
211:
212: begin
213:
214: dbms_output.put_line('start run exception test');
215: run_exception(1.0, FND_API.G_FALSE, FND_API.G_FALSE, FND_API.G_VALID_LEVEL_FULL, return_status, msg_count, msg_data, 219, 1005156);
216: dbms_output.put_line(return_status);
217: dbms_output.put_line(msg_count);
218: --dbms_output.put_line(msg_data);
219: dbms_output.put_line('run exception test complete');
226: ----------------------------------------------------------------------------------
227:
228: procedure request_child_nodes(
229: p_api_version IN NUMBER,
230: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
231: p_commit IN VARCHAR2 := FND_API.G_FALSE,
232: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
233: x_return_status OUT NOCOPY VARCHAR2,
234: x_msg_count OUT NOCOPY number,
227:
228: procedure request_child_nodes(
229: p_api_version IN NUMBER,
230: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
231: p_commit IN VARCHAR2 := FND_API.G_FALSE,
232: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
233: x_return_status OUT NOCOPY VARCHAR2,
234: x_msg_count OUT NOCOPY number,
235: x_msg_data OUT NOCOPY varchar2,
228: procedure request_child_nodes(
229: p_api_version IN NUMBER,
230: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
231: p_commit IN VARCHAR2 := FND_API.G_FALSE,
232: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
233: x_return_status OUT NOCOPY VARCHAR2,
234: x_msg_count OUT NOCOPY number,
235: x_msg_data OUT NOCOPY varchar2,
236: p_task_id IN zpb_excp_explanations.task_id%type,
245:
246: -- Standard Start of API savepoint
247: SAVEPOINT zpb_excp_request_child_nodes;
248: -- Standard call to check for call compatibility.
249: IF NOT FND_API.Compatible_API_Call( l_api_version,
250: p_api_version,
251: l_api_name,
252: G_PKG_NAME)
253: THEN
250: p_api_version,
251: l_api_name,
252: G_PKG_NAME)
253: THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256: -- Initialize message list if p_init_msg_list is set to TRUE.
257: IF FND_API.to_Boolean(p_init_msg_list) THEN
258: FND_MSG_PUB.initialize;
253: THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256: -- Initialize message list if p_init_msg_list is set to TRUE.
257: IF FND_API.to_Boolean(p_init_msg_list) THEN
258: FND_MSG_PUB.initialize;
259: END IF;
260: -- Initialize API return status to success
261: x_return_status := FND_API.G_RET_STS_SUCCESS;
257: IF FND_API.to_Boolean(p_init_msg_list) THEN
258: FND_MSG_PUB.initialize;
259: END IF;
260: -- Initialize API return status to success
261: x_return_status := FND_API.G_RET_STS_SUCCESS;
262:
263: -- API body
264:
265: -- clean up from any previous requests
290:
291: -- End of API body.
292:
293: -- Standard check of p_commit.
294: IF FND_API.To_Boolean( p_commit ) THEN
295: COMMIT WORK;
296: END IF;
297: -- Standard call to get message count and if count is 1, get message info.
298: FND_MSG_PUB.Count_And_Get(
300: p_data => x_msg_data
301: );
302:
303: EXCEPTION
304: WHEN FND_API.G_EXC_ERROR THEN
305: ROLLBACK TO zpb_excp_populate_child_nodes;
306: x_return_status := FND_API.G_RET_STS_ERROR;
307: FND_MSG_PUB.Count_And_Get(
308: p_count => x_msg_count,
302:
303: EXCEPTION
304: WHEN FND_API.G_EXC_ERROR THEN
305: ROLLBACK TO zpb_excp_populate_child_nodes;
306: x_return_status := FND_API.G_RET_STS_ERROR;
307: FND_MSG_PUB.Count_And_Get(
308: p_count => x_msg_count,
309: p_data => x_msg_data
310: );
307: FND_MSG_PUB.Count_And_Get(
308: p_count => x_msg_count,
309: p_data => x_msg_data
310: );
311: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
312: ROLLBACK TO zpb_excp_populate_child_nodes;
313: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
314: FND_MSG_PUB.Count_And_Get(
315: p_count => x_msg_count,
309: p_data => x_msg_data
310: );
311: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
312: ROLLBACK TO zpb_excp_populate_child_nodes;
313: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
314: FND_MSG_PUB.Count_And_Get(
315: p_count => x_msg_count,
316: p_data => x_msg_data
317: );
316: p_data => x_msg_data
317: );
318: WHEN OTHERS THEN
319: ROLLBACK TO zpb_excp_populate_child_nodes;
320: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
321: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
322: FND_MSG_PUB.Add_Exc_Msg(
323: G_PKG_NAME,
324: l_api_name
334: ----------------------------------------------------------------------------------
335:
336: PROCEDURE request_children (
337: p_api_version IN NUMBER,
338: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
339: p_commit IN VARCHAR2 := FND_API.G_FALSE,
340: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
341: x_return_status OUT nocopy varchar2,
342: x_msg_count OUT nocopy number,
335:
336: PROCEDURE request_children (
337: p_api_version IN NUMBER,
338: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
339: p_commit IN VARCHAR2 := FND_API.G_FALSE,
340: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
341: x_return_status OUT nocopy varchar2,
342: x_msg_count OUT nocopy number,
343: x_msg_data OUT nocopy varchar2,
336: PROCEDURE request_children (
337: p_api_version IN NUMBER,
338: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
339: p_commit IN VARCHAR2 := FND_API.G_FALSE,
340: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
341: x_return_status OUT nocopy varchar2,
342: x_msg_count OUT nocopy number,
343: x_msg_data OUT nocopy varchar2,
344: p_notification_id IN zpb_excp_explanations.notification_id%type,
377:
378: -- Standard Start of API savepoint
379: SAVEPOINT zpb_excp_pvt_run_exception;
380: -- Standard call to check for call compatibility.
381: IF NOT FND_API.Compatible_API_Call( l_api_version,
382: p_api_version,
383: l_api_name,
384: G_PKG_NAME)
385: THEN
382: p_api_version,
383: l_api_name,
384: G_PKG_NAME)
385: THEN
386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
387: END IF;
388: -- Initialize message list if p_init_msg_list is set to TRUE.
389: IF FND_API.to_Boolean(p_init_msg_list) THEN
390: FND_MSG_PUB.initialize;
385: THEN
386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
387: END IF;
388: -- Initialize message list if p_init_msg_list is set to TRUE.
389: IF FND_API.to_Boolean(p_init_msg_list) THEN
390: FND_MSG_PUB.initialize;
391: END IF;
392: -- Initialize API return status to success
393: x_return_status := FND_API.G_RET_STS_SUCCESS;
389: IF FND_API.to_Boolean(p_init_msg_list) THEN
390: FND_MSG_PUB.initialize;
391: END IF;
392: -- Initialize API return status to success
393: x_return_status := FND_API.G_RET_STS_SUCCESS;
394:
395: -- API body
396: l_user_id := FND_GLOBAL.USER_ID;
397: l_resp_id := FND_GLOBAL.RESP_ID;
424: --dbms_output.put_line(l_query);
425:
426: --
427: --Removed the following call, as this should be called on the OLAP connection
428: --ZPB_AW.INITIALIZE_WORKSPACE(1.0, FND_API.G_FALSE, p_validation_level, x_return_status, x_msg_count, x_msg_data, l_user_id, l_resp_key);
429:
430: --populate zpb_status_sql_members table
431: --ZPB_AW_STATUS.RUN_OLAPI_QUERIES( l_query );
432:
435: for each in statSqlMbrs loop
436: if (l_count > 1) then
437: if (l_dim <> each.dim or l_hier <> each.hier) then
438: ZPB_LOG.WRITE_STATEMENT(G_PKG_NAME || '.' || l_api_name, 'The specified query shows inconsistent results.');
439: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
440: --RAISE_APPLICATION_ERROR(-20000, 'The specified query shows inconsistent results.', TRUE);
441: end if;
442: else
443: l_dim := each.dim;
451: --dbms_output.put_line('call sc.exception.exp(' || '''' || p_task_id || ''' ''' || p_notification_id || ''')' );
452: l_child_ct := ZPB_AW.INTERP( 'shw sc.exception.exp(' || '''' || to_char(p_task_id) || ''' ''' || to_char(p_notification_id) || ''')' );
453: --dbms_output.put_line('Child count : ' || l_child_ct);
454:
455: ZPB_AW.CLEAN_WORKSPACE(1.0, FND_API.G_FALSE, p_validation_level, x_return_status, x_msg_count, x_msg_data);
456:
457: -- add in owner names (need to update who columns)
458: if to_number(l_child_ct) > 0 then
459: update zpb_excp_explanations z
471:
472: -- End of API body.
473:
474: -- Standard check of p_commit.
475: IF FND_API.To_Boolean( p_commit ) THEN
476: COMMIT WORK;
477: END IF;
478: -- Standard call to get message count and if count is 1, get message info.
479: FND_MSG_PUB.Count_And_Get(
481: p_data => x_msg_data
482: );
483:
484: EXCEPTION
485: WHEN FND_API.G_EXC_ERROR THEN
486: ROLLBACK TO zpb_excp_pvt_run_exception;
487: x_return_status := FND_API.G_RET_STS_ERROR;
488: FND_MSG_PUB.Count_And_Get(
489: p_count => x_msg_count,
483:
484: EXCEPTION
485: WHEN FND_API.G_EXC_ERROR THEN
486: ROLLBACK TO zpb_excp_pvt_run_exception;
487: x_return_status := FND_API.G_RET_STS_ERROR;
488: FND_MSG_PUB.Count_And_Get(
489: p_count => x_msg_count,
490: p_data => x_msg_data
491: );
488: FND_MSG_PUB.Count_And_Get(
489: p_count => x_msg_count,
490: p_data => x_msg_data
491: );
492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493: ROLLBACK TO zpb_excp_pvt_run_exception;
494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495: FND_MSG_PUB.Count_And_Get(
496: p_count => x_msg_count,
490: p_data => x_msg_data
491: );
492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493: ROLLBACK TO zpb_excp_pvt_run_exception;
494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495: FND_MSG_PUB.Count_And_Get(
496: p_count => x_msg_count,
497: p_data => x_msg_data
498: );
497: p_data => x_msg_data
498: );
499: WHEN OTHERS THEN
500: ROLLBACK TO zpb_excp_pvt_run_exception;
501: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
502: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
503: FND_MSG_PUB.Add_Exc_Msg(
504: G_PKG_NAME,
505: l_api_name
525:
526: begin
527:
528: dbms_output.put_line('start request children test');
529: request_children(1.0, FND_API.G_TRUE, FND_API.G_TRUE, FND_API.G_VALID_LEVEL_FULL, return_status, msg_count, msg_data, 10000, 9087);
530: dbms_output.put_line(return_status);
531: dbms_output.put_line(msg_count);
532: --dbms_output.put_line(msg_data);
533: --i := 1;