2: /* $Header: PO_MODIFY_REQUISITION_PVT.plb 120.12.12020000.2 2013/02/10 20:39:45 vegajula ship $ */
3:
4: -- Logging global constants
5: G_PKG_NAME CONSTANT VARCHAR2(30) := 'PO_MODIFY_REQUISITION_PVT';
6: D_PACKAGE_BASE CONSTANT VARCHAR2(100) := PO_LOG.get_package_base(G_PKG_NAME);
7:
8: --Other constants used in code
9: g_REQ_LINES_ENTITY CONSTANT VARCHAR2(20) := 'REQ_LINES';
10: g_EXPLODE_REQ_ACTION CONSTANT VARCHAR2(20) :='Explode_Req';
122: x_error_msg_tbl OUT NOCOPY PO_TBL_VARCHAR2000
123: ) IS
124:
125: l_module CONSTANT VARCHAR2(100) := 'split_requisition_lines';
126: d_module_base CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(d_PACKAGE_BASE,l_module);
127:
128: l_api_version CONSTANT NUMBER := 1.0;
129: d_progress NUMBER;
130: l_old_org_id NUMBER;
133: SAVEPOINT split_requisition_lines_PVT;
134:
135: d_progress := 10;
136:
137: IF PO_LOG.d_event THEN
138: PO_LOG.event(d_module_base,d_progress,'Starting Requisition Split ');
139: END IF;
140: --Initialize the error messages table
141: x_error_msg_tbl :=po_tbl_varchar2000();
134:
135: d_progress := 10;
136:
137: IF PO_LOG.d_event THEN
138: PO_LOG.event(d_module_base,d_progress,'Starting Requisition Split ');
139: END IF;
140: --Initialize the error messages table
141: x_error_msg_tbl :=po_tbl_varchar2000();
142: IF NOT FND_API.Compatible_API_Call(l_api_version,
151: --org context back to this value before leaving the
152: --program.
153: l_old_org_id := PO_MOAC_UTILS_PVT.get_current_org_id;
154:
155: IF PO_LOG.d_stmt THEN
156: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id ', l_old_org_id);
157: PO_LOG.stmt(d_module_base,d_progress,'Retrieved the value of current orgId');
158: END IF;
159:
152: --program.
153: l_old_org_id := PO_MOAC_UTILS_PVT.get_current_org_id;
154:
155: IF PO_LOG.d_stmt THEN
156: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id ', l_old_org_id);
157: PO_LOG.stmt(d_module_base,d_progress,'Retrieved the value of current orgId');
158: END IF;
159:
160: d_progress := 20;
153: l_old_org_id := PO_MOAC_UTILS_PVT.get_current_org_id;
154:
155: IF PO_LOG.d_stmt THEN
156: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id ', l_old_org_id);
157: PO_LOG.stmt(d_module_base,d_progress,'Retrieved the value of current orgId');
158: END IF;
159:
160: d_progress := 20;
161:
172: p_calling_program => p_calling_program,
173: x_new_line_ids_tbl => x_new_line_ids_tbl,
174: x_error_msg_tbl => x_error_msg_tbl);
175:
176: IF PO_LOG.d_stmt THEN
177: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
178: END IF;
179:
180: IF (x_return_status = FND_API.g_ret_sts_error)
173: x_new_line_ids_tbl => x_new_line_ids_tbl,
174: x_error_msg_tbl => x_error_msg_tbl);
175:
176: IF PO_LOG.d_stmt THEN
177: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
178: END IF;
179:
180: IF (x_return_status = FND_API.g_ret_sts_error)
181: THEN
200:
201:
202: d_progress:=40;
203:
204: IF PO_LOG.d_stmt THEN
205: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
206: END IF;
207:
208: IF (x_return_status = FND_API.g_ret_sts_error)
201:
202: d_progress:=40;
203:
204: IF PO_LOG.d_stmt THEN
205: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
206: END IF;
207:
208: IF (x_return_status = FND_API.g_ret_sts_error)
209: THEN
212: THEN
213: RAISE FND_API.g_exc_unexpected_error;
214: END IF; --x_return_status
215:
216: IF PO_LOG.d_stmt THEN
217: PO_LOG.stmt(d_module_base,d_progress,'Reset the org context to old value');
218: END IF;
219:
220: --Set the org context back to the original org context
213: RAISE FND_API.g_exc_unexpected_error;
214: END IF; --x_return_status
215:
216: IF PO_LOG.d_stmt THEN
217: PO_LOG.stmt(d_module_base,d_progress,'Reset the org context to old value');
218: END IF;
219:
220: --Set the org context back to the original org context
221: po_moac_utils_pvt.set_org_context(l_old_org_id);
219:
220: --Set the org context back to the original org context
221: po_moac_utils_pvt.set_org_context(l_old_org_id);
222:
223: IF PO_LOG.d_stmt THEN
224: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id',l_old_org_id);
225: END IF;
226:
227: d_progress:=50;
220: --Set the org context back to the original org context
221: po_moac_utils_pvt.set_org_context(l_old_org_id);
222:
223: IF PO_LOG.d_stmt THEN
224: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id',l_old_org_id);
225: END IF;
226:
227: d_progress:=50;
228: x_return_status := FND_API.g_ret_sts_success;
225: END IF;
226:
227: d_progress:=50;
228: x_return_status := FND_API.g_ret_sts_success;
229: IF (PO_LOG.d_proc)
230: THEN
231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
227: d_progress:=50;
228: x_return_status := FND_API.g_ret_sts_success;
229: IF (PO_LOG.d_proc)
230: THEN
231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
234: END IF;
235: EXCEPTION
228: x_return_status := FND_API.g_ret_sts_success;
229: IF (PO_LOG.d_proc)
230: THEN
231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
234: END IF;
235: EXCEPTION
236: WHEN FND_API.g_exc_error THEN
229: IF (PO_LOG.d_proc)
230: THEN
231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
234: END IF;
235: EXCEPTION
236: WHEN FND_API.g_exc_error THEN
237: ROLLBACK TO split_requisition_lines_PVT;
236: WHEN FND_API.g_exc_error THEN
237: ROLLBACK TO split_requisition_lines_PVT;
238: x_return_status := FND_API.g_ret_sts_error;
239: po_moac_utils_pvt.set_org_context(l_old_org_id);
240: IF (PO_LOG.d_exc)
241: THEN
242: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
243: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
244: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
238: x_return_status := FND_API.g_ret_sts_error;
239: po_moac_utils_pvt.set_org_context(l_old_org_id);
240: IF (PO_LOG.d_exc)
241: THEN
242: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
243: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
244: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
245: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
246: END IF;
239: po_moac_utils_pvt.set_org_context(l_old_org_id);
240: IF (PO_LOG.d_exc)
241: THEN
242: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
243: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
244: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
245: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
246: END IF;
247: WHEN FND_API.g_exc_unexpected_error THEN
240: IF (PO_LOG.d_exc)
241: THEN
242: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
243: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
244: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
245: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
246: END IF;
247: WHEN FND_API.g_exc_unexpected_error THEN
248: ROLLBACK TO split_requisition_lines_PVT;
241: THEN
242: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
243: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
244: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
245: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
246: END IF;
247: WHEN FND_API.g_exc_unexpected_error THEN
248: ROLLBACK TO split_requisition_lines_PVT;
249: po_moac_utils_pvt.set_org_context(l_old_org_id);
255: x_error_msg_tbl.extend(1);
256: x_error_msg_tbl(x_error_msg_tbl.count) := x_msg_data;
257: x_return_status := FND_API.g_ret_sts_error;
258:
259: IF (PO_LOG.d_exc)
260: THEN
261: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
262: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
263: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
257: x_return_status := FND_API.g_ret_sts_error;
258:
259: IF (PO_LOG.d_exc)
260: THEN
261: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
262: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
263: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
264: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
265: END IF;
258:
259: IF (PO_LOG.d_exc)
260: THEN
261: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
262: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
263: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
264: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
265: END IF;
266: WHEN OTHERS THEN
259: IF (PO_LOG.d_exc)
260: THEN
261: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
262: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
263: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
264: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
265: END IF;
266: WHEN OTHERS THEN
267: ROLLBACK TO split_requisition_lines_PVT;
260: THEN
261: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
262: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
263: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
264: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
265: END IF;
266: WHEN OTHERS THEN
267: ROLLBACK TO split_requisition_lines_PVT;
268: po_moac_utils_pvt.set_org_context(l_old_org_id);
276: x_error_msg_tbl.extend(1);
277: x_error_msg_tbl(x_error_msg_tbl.count) := x_msg_data;
278:
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: IF (PO_LOG.d_exc)
281: THEN
282: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
283: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
284: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
278:
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: IF (PO_LOG.d_exc)
281: THEN
282: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
283: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
284: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
285: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
286: END IF;
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: IF (PO_LOG.d_exc)
281: THEN
282: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
283: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
284: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
285: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
286: END IF;
287:
280: IF (PO_LOG.d_exc)
281: THEN
282: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
283: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
284: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
285: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
286: END IF;
287:
288: EXCEPTION
281: THEN
282: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
283: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
284: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
285: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
286: END IF;
287:
288: EXCEPTION
289: WHEN OTHERS THEN
287:
288: EXCEPTION
289: WHEN OTHERS THEN
290: po_moac_utils_pvt.set_org_context(l_old_org_id);
291: IF (PO_LOG.d_exc)
292: THEN
293: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
294: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
295: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
289: WHEN OTHERS THEN
290: po_moac_utils_pvt.set_org_context(l_old_org_id);
291: IF (PO_LOG.d_exc)
292: THEN
293: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
294: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
295: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
296: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
297: END IF;
290: po_moac_utils_pvt.set_org_context(l_old_org_id);
291: IF (PO_LOG.d_exc)
292: THEN
293: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
294: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
295: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
296: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
297: END IF;
298: RAISE;
291: IF (PO_LOG.d_exc)
292: THEN
293: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
294: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
295: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
296: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
297: END IF;
298: RAISE;
299: END;
292: THEN
293: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
294: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
295: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
296: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
297: END IF;
298: RAISE;
299: END;
300: END split_requisition_lines;
314: x_error_msg_tbl OUT NOCOPY PO_TBL_VARCHAR2000
315: ) IS
316:
317: l_module CONSTANT VARCHAR2(100) := 'create_requisition_lines';
318: d_module_base CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(d_PACKAGE_BASE, l_module);
319: l_api_version CONSTANT NUMBER := 1.0;
320: d_progress NUMBER;
321: --declare the result tables.
322: new_req_line_id_rslt_tbl PO_TBL_NUMBER;
385: SAVEPOINT create_requisition_lines_PVT;
386:
387: d_progress := 10;
388:
389: IF PO_LOG.d_event THEN
390: PO_LOG.event(d_module_base,d_progress,'Starting Requisition Split ');
391: END IF;
392: --Initialize the error messages table
393: x_error_msg_tbl :=po_tbl_varchar2000();
386:
387: d_progress := 10;
388:
389: IF PO_LOG.d_event THEN
390: PO_LOG.event(d_module_base,d_progress,'Starting Requisition Split ');
391: END IF;
392: --Initialize the error messages table
393: x_error_msg_tbl :=po_tbl_varchar2000();
394: IF NOT FND_API.Compatible_API_Call(l_api_version,
398: THEN
399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
400: END IF;
401:
402: IF (PO_LOG.d_proc)
403: THEN
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
400: END IF;
401:
402: IF (PO_LOG.d_proc)
403: THEN
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
401:
402: IF (PO_LOG.d_proc)
403: THEN
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
402: IF (PO_LOG.d_proc)
403: THEN
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
403: THEN
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
404: PO_LOG.proc_begin(d_module_base);
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
412:
405: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
412:
413: IF PO_LOG.d_stmt THEN
406: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
407: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
408: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
412:
413: IF PO_LOG.d_stmt THEN
414: PO_LOG.stmt(d_module_base,d_progress,'Attempting to lock the requisition line ');
409: PO_LOG.proc_begin(d_module_base,'p_quantity_tbl', p_quantity_tbl );
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
412:
413: IF PO_LOG.d_stmt THEN
414: PO_LOG.stmt(d_module_base,d_progress,'Attempting to lock the requisition line ');
415: END IF;
416:
417: -- Lock the requisition lines the api is going to process
410: PO_LOG.proc_begin(d_module_base,'p_agent_id', p_agent_id );
411: END IF;
412:
413: IF PO_LOG.d_stmt THEN
414: PO_LOG.stmt(d_module_base,d_progress,'Attempting to lock the requisition line ');
415: END IF;
416:
417: -- Lock the requisition lines the api is going to process
418: -- Retrieve the value of requisition org id so that the org
430: l_parent_clin_number;--used only in priced slin
431:
432: CLOSE lock_req_lines_cs;
433:
434: IF PO_LOG.d_stmt THEN
435: PO_LOG.stmt(d_module_base,d_progress,'Locked the requisition Line Successfully ');
436: END IF;
437:
438:
431:
432: CLOSE lock_req_lines_cs;
433:
434: IF PO_LOG.d_stmt THEN
435: PO_LOG.stmt(d_module_base,d_progress,'Locked the requisition Line Successfully ');
436: END IF;
437:
438:
439: --***
440: d_progress := 20;
441: --Set the org context to the org id of the parent req line.
442: po_moac_utils_pvt.set_org_context(l_current_org_id);
443:
444: IF PO_LOG.d_stmt THEN
445: PO_LOG.stmt(d_module_base,d_progress,'l_current_org_id',l_current_org_id);
446: PO_LOG.stmt(d_module_base,d_progress,'Set the org context to the organization in which Requisition was raised.');
447: END IF;
448:
441: --Set the org context to the org id of the parent req line.
442: po_moac_utils_pvt.set_org_context(l_current_org_id);
443:
444: IF PO_LOG.d_stmt THEN
445: PO_LOG.stmt(d_module_base,d_progress,'l_current_org_id',l_current_org_id);
446: PO_LOG.stmt(d_module_base,d_progress,'Set the org context to the organization in which Requisition was raised.');
447: END IF;
448:
449: d_progress := 30;
442: po_moac_utils_pvt.set_org_context(l_current_org_id);
443:
444: IF PO_LOG.d_stmt THEN
445: PO_LOG.stmt(d_module_base,d_progress,'l_current_org_id',l_current_org_id);
446: PO_LOG.stmt(d_module_base,d_progress,'Set the org context to the organization in which Requisition was raised.');
447: END IF;
448:
449: d_progress := 30;
450:
447: END IF;
448:
449: d_progress := 30;
450:
451: IF PO_LOG.d_stmt THEN
452: PO_LOG.stmt(d_module_base,d_progress,'Calculating value of max line number for the given requisition');
453: END IF;
454: --SQL What:Retrieve the max line number for the given requisition
455: -- to which the requisition line belongs
448:
449: d_progress := 30;
450:
451: IF PO_LOG.d_stmt THEN
452: PO_LOG.stmt(d_module_base,d_progress,'Calculating value of max line number for the given requisition');
453: END IF;
454: --SQL What:Retrieve the max line number for the given requisition
455: -- to which the requisition line belongs
456: --SQL Why :This is required to calculate the line numbers when creating
463: (SELECT requisition_header_id
464: FROM po_requisition_lines_all
465: WHERE requisition_line_id = p_req_Line_id);
466:
467: IF PO_LOG.d_stmt THEN
468: PO_LOG.stmt(d_module_base,d_progress,'l_max_line_num',l_max_line_num);
469: END IF;
470:
471: d_progress := 40;
464: FROM po_requisition_lines_all
465: WHERE requisition_line_id = p_req_Line_id);
466:
467: IF PO_LOG.d_stmt THEN
468: PO_LOG.stmt(d_module_base,d_progress,'l_max_line_num',l_max_line_num);
469: END IF;
470:
471: d_progress := 40;
472:
562: END IF;
563: --x_new_line_ids_tbl(l_line_num_index):=l_serial_num;
564: --Insert appropriate data into requisition lines all
565:
566: IF PO_LOG.d_stmt THEN
567: PO_LOG.stmt(d_module_base,d_progress,'Inserting a new row');
568: PO_LOG.stmt(d_module_base,d_progress,'l_serial_num',l_serial_num);
569: END IF;
570:
563: --x_new_line_ids_tbl(l_line_num_index):=l_serial_num;
564: --Insert appropriate data into requisition lines all
565:
566: IF PO_LOG.d_stmt THEN
567: PO_LOG.stmt(d_module_base,d_progress,'Inserting a new row');
568: PO_LOG.stmt(d_module_base,d_progress,'l_serial_num',l_serial_num);
569: END IF;
570:
571:
564: --Insert appropriate data into requisition lines all
565:
566: IF PO_LOG.d_stmt THEN
567: PO_LOG.stmt(d_module_base,d_progress,'Inserting a new row');
568: PO_LOG.stmt(d_module_base,d_progress,'l_serial_num',l_serial_num);
569: END IF;
570:
571:
572: --7835635
1101: END LOOP;
1102:
1103: d_progress := 50;
1104:
1105: IF PO_LOG.d_stmt THEN
1106: PO_LOG.stmt(d_module_base,d_progress,'Updating the old requisition line to mark it as modified and to push it out of pool');
1107: END IF;
1108:
1109: -- SQL What:Mark all the parent requisition lines which are split
1102:
1103: d_progress := 50;
1104:
1105: IF PO_LOG.d_stmt THEN
1106: PO_LOG.stmt(d_module_base,d_progress,'Updating the old requisition line to mark it as modified and to push it out of pool');
1107: END IF;
1108:
1109: -- SQL What:Mark all the parent requisition lines which are split
1110: -- with modified_by_agent_flag setting 'Y'.
1171: WHERE PRL1.requisition_header_id = PRL2.requisition_header_id
1172: AND PRL1.parent_req_line_id = p_req_line_id
1173: AND PRL2.requisition_line_id = p_req_line_id;
1174:
1175: IF PO_LOG.d_stmt THEN
1176: FOR i in 1..new_req_line_id_rslt_tbl.count LOOP
1177: PO_LOG.stmt(d_module_base,d_progress,'new_req_line_id_rslt_tbl('||i||')',new_req_line_id_rslt_tbl(i));
1178: END LOOP;
1179: END IF;
1173: AND PRL2.requisition_line_id = p_req_line_id;
1174:
1175: IF PO_LOG.d_stmt THEN
1176: FOR i in 1..new_req_line_id_rslt_tbl.count LOOP
1177: PO_LOG.stmt(d_module_base,d_progress,'new_req_line_id_rslt_tbl('||i||')',new_req_line_id_rslt_tbl(i));
1178: END LOOP;
1179: END IF;
1180: x_new_line_ids_tbl := new_req_line_id_rslt_tbl;
1181:
1182: d_progress := 60;
1183:
1184: IF FND_API.To_Boolean(p_commit)
1185: THEN
1186: IF PO_LOG.d_event THEN
1187: PO_LOG.event(d_module_base,d_progress,'Commiting work');
1188: END IF;
1189: COMMIT WORK;
1190: END IF; --FND_API
1183:
1184: IF FND_API.To_Boolean(p_commit)
1185: THEN
1186: IF PO_LOG.d_event THEN
1187: PO_LOG.event(d_module_base,d_progress,'Commiting work');
1188: END IF;
1189: COMMIT WORK;
1190: END IF; --FND_API
1191:
1191:
1192: d_progress := 70;
1193: x_return_status := FND_API.g_ret_sts_success;
1194:
1195: IF PO_LOG.d_stmt THEN
1196: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id',l_old_org_id);
1197: END IF;
1198:
1199: IF (PO_LOG.d_proc)
1192: d_progress := 70;
1193: x_return_status := FND_API.g_ret_sts_success;
1194:
1195: IF PO_LOG.d_stmt THEN
1196: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id',l_old_org_id);
1197: END IF;
1198:
1199: IF (PO_LOG.d_proc)
1200: THEN
1195: IF PO_LOG.d_stmt THEN
1196: PO_LOG.stmt(d_module_base,d_progress,'l_old_org_id',l_old_org_id);
1197: END IF;
1198:
1199: IF (PO_LOG.d_proc)
1200: THEN
1201: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1202: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1203: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1197: END IF;
1198:
1199: IF (PO_LOG.d_proc)
1200: THEN
1201: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1202: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1203: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1204: END IF;
1205: EXCEPTION
1198:
1199: IF (PO_LOG.d_proc)
1200: THEN
1201: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1202: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1203: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1204: END IF;
1205: EXCEPTION
1206: WHEN OTHERS THEN
1199: IF (PO_LOG.d_proc)
1200: THEN
1201: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1202: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1203: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1204: END IF;
1205: EXCEPTION
1206: WHEN OTHERS THEN
1207: ROLLBACK TO create_requisition_lines_PVT;
1213: x_msg_data := FND_MESSAGE.get;
1214: x_error_msg_tbl.extend(1);
1215: x_error_msg_tbl(x_error_msg_tbl.count) := x_msg_data;
1216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1217: IF (PO_LOG.d_exc)
1218: THEN
1219: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1220: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1221: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1215: x_error_msg_tbl(x_error_msg_tbl.count) := x_msg_data;
1216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1217: IF (PO_LOG.d_exc)
1218: THEN
1219: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1220: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1221: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1222: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1223: END IF;
1216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1217: IF (PO_LOG.d_exc)
1218: THEN
1219: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1220: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1221: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1222: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1223: END IF;
1224:
1217: IF (PO_LOG.d_exc)
1218: THEN
1219: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1220: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1221: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1222: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1223: END IF;
1224:
1225: EXCEPTION
1218: THEN
1219: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1220: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1221: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1222: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1223: END IF;
1224:
1225: EXCEPTION
1226: WHEN OTHERS THEN
1224:
1225: EXCEPTION
1226: WHEN OTHERS THEN
1227: po_moac_utils_pvt.set_org_context(l_old_org_id);
1228: IF (PO_LOG.d_exc)
1229: THEN
1230: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1226: WHEN OTHERS THEN
1227: po_moac_utils_pvt.set_org_context(l_old_org_id);
1228: IF (PO_LOG.d_exc)
1229: THEN
1230: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1234: END IF;
1227: po_moac_utils_pvt.set_org_context(l_old_org_id);
1228: IF (PO_LOG.d_exc)
1229: THEN
1230: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1234: END IF;
1235: RAISE;
1228: IF (PO_LOG.d_exc)
1229: THEN
1230: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1234: END IF;
1235: RAISE;
1236: END;
1229: THEN
1230: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1231: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1232: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1233: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1234: END IF;
1235: RAISE;
1236: END;
1237: END create_requisition_lines;
1249: p_new_line_ids_tbl IN PO_TBL_NUMBER,
1250: x_error_msg_tbl OUT NOCOPY PO_TBL_VARCHAR2000) IS
1251:
1252: l_module CONSTANT VARCHAR2(100) := 'post_modify_requisition_lines';
1253: d_module_base CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(d_PACKAGE_BASE, l_module);
1254: l_api_version CONSTANT NUMBER := 1.0;
1255: d_progress NUMBER;
1256: --declare the result tables.
1257: l_return_status VARCHAR2(1);
1269: SAVEPOINT post_requisition_lines_PVT;
1270:
1271: d_progress := 10;
1272:
1273: IF PO_LOG.d_event THEN
1274: PO_LOG.event(d_module_base,d_progress,'Post Modify Requisition ');
1275: END IF;
1276:
1277: --Initialize the error messages table
1270:
1271: d_progress := 10;
1272:
1273: IF PO_LOG.d_event THEN
1274: PO_LOG.event(d_module_base,d_progress,'Post Modify Requisition ');
1275: END IF;
1276:
1277: --Initialize the error messages table
1278: x_error_msg_tbl :=po_tbl_varchar2000();
1285: THEN
1286: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1287: END IF;
1288:
1289: IF (PO_LOG.d_proc)
1290: THEN
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1287: END IF;
1288:
1289: IF (PO_LOG.d_proc)
1290: THEN
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1294: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
1295: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
1288:
1289: IF (PO_LOG.d_proc)
1290: THEN
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1294: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
1295: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
1296: END IF;
1289: IF (PO_LOG.d_proc)
1290: THEN
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1294: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
1295: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
1296: END IF;
1297:
1290: THEN
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1294: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
1295: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
1296: END IF;
1297:
1298: --update the supply for existing requisition line and create
1291: PO_LOG.proc_begin(d_module_base);
1292: PO_LOG.proc_begin(d_module_base,'p_api_version', p_api_version );
1293: PO_LOG.proc_begin(d_module_base,'p_init_msg_list', p_init_msg_list);
1294: PO_LOG.proc_begin(d_module_base,'p_commit', p_commit );
1295: PO_LOG.proc_begin(d_module_base,'p_req_line_id', p_req_line_id );
1296: END IF;
1297:
1298: --update the supply for existing requisition line and create
1299: --supply for the new lines
1299: --supply for the new lines
1300:
1301: d_progress := 20;
1302:
1303: IF PO_LOG.d_stmt THEN
1304: PO_LOG.stmt(d_module_base,d_progress,'Updating the requisition supply');
1305: END IF;
1306:
1307: l_success := po_supply.po_req_supply(NULL,
1300:
1301: d_progress := 20;
1302:
1303: IF PO_LOG.d_stmt THEN
1304: PO_LOG.stmt(d_module_base,d_progress,'Updating the requisition supply');
1305: END IF;
1306:
1307: l_success := po_supply.po_req_supply(NULL,
1308: p_req_line_id,
1328: AND PRL2.requisition_line_id = p_req_line_id;
1329:
1330: FOR l_req_line_index IN 1 .. P_new_line_ids_tbl.COUNT
1331: LOOP
1332: IF PO_LOG.d_stmt THEN
1333: PO_LOG.stmt(d_module_base,d_progress,'l_req_line_index',l_req_line_index);
1334: PO_LOG.stmt(d_module_base,d_progress,'Coping attachments from old line to newly created lines');
1335: END IF;
1336:
1329:
1330: FOR l_req_line_index IN 1 .. P_new_line_ids_tbl.COUNT
1331: LOOP
1332: IF PO_LOG.d_stmt THEN
1333: PO_LOG.stmt(d_module_base,d_progress,'l_req_line_index',l_req_line_index);
1334: PO_LOG.stmt(d_module_base,d_progress,'Coping attachments from old line to newly created lines');
1335: END IF;
1336:
1337: fnd_attached_documents2_pkg.copy_attachments(
1330: FOR l_req_line_index IN 1 .. P_new_line_ids_tbl.COUNT
1331: LOOP
1332: IF PO_LOG.d_stmt THEN
1333: PO_LOG.stmt(d_module_base,d_progress,'l_req_line_index',l_req_line_index);
1334: PO_LOG.stmt(d_module_base,d_progress,'Coping attachments from old line to newly created lines');
1335: END IF;
1336:
1337: fnd_attached_documents2_pkg.copy_attachments(
1338: X_from_entity_name => g_REQ_LINES_ENTITY,
1353: X_program_id => NULL,
1354: X_request_id => NULL,
1355: X_automatically_added_flag => NULL);
1356:
1357: IF PO_LOG.d_stmt THEN
1358: PO_LOG.stmt(d_module_base,d_progress,'Creating a new distribution for ',p_new_line_ids_tbl(l_req_line_index));
1359: END IF;
1360: d_progress := 50;
1361: --Create req distributions for the newly created line
1354: X_request_id => NULL,
1355: X_automatically_added_flag => NULL);
1356:
1357: IF PO_LOG.d_stmt THEN
1358: PO_LOG.stmt(d_module_base,d_progress,'Creating a new distribution for ',p_new_line_ids_tbl(l_req_line_index));
1359: END IF;
1360: d_progress := 50;
1361: --Create req distributions for the newly created line
1362: PO_REQ_DIST_SV.create_dist_for_modify(
1363: p_new_line_ids_tbl(l_req_line_index),
1364: p_req_line_id,
1365: l_quantity_table(l_req_line_index));
1366:
1367: IF PO_LOG.d_stmt THEN
1368: PO_LOG.stmt(d_module_base,d_progress,'Succesfully created a new distribution for',p_new_line_ids_tbl(l_req_line_index));
1369: END IF;
1370: END LOOP;
1371:
1364: p_req_line_id,
1365: l_quantity_table(l_req_line_index));
1366:
1367: IF PO_LOG.d_stmt THEN
1368: PO_LOG.stmt(d_module_base,d_progress,'Succesfully created a new distribution for',p_new_line_ids_tbl(l_req_line_index));
1369: END IF;
1370: END LOOP;
1371:
1372: d_progress := 60;
1375: into l_requisition_header_id
1376: from po_requisition_lines_all
1377: where requisition_line_id = p_req_line_id;
1378:
1379: IF PO_LOG.d_stmt THEN
1380: PO_LOG.stmt(d_module_base,d_progress,'l_requisition_header_id',l_requisition_header_id);
1381: END IF;
1382: --Calculate the tax for the entire document again. The recoverable and non recoverable
1383: --tax fields need to be updated appropriately.
1376: from po_requisition_lines_all
1377: where requisition_line_id = p_req_line_id;
1378:
1379: IF PO_LOG.d_stmt THEN
1380: PO_LOG.stmt(d_module_base,d_progress,'l_requisition_header_id',l_requisition_header_id);
1381: END IF;
1382: --Calculate the tax for the entire document again. The recoverable and non recoverable
1383: --tax fields need to be updated appropriately.
1384: PO_TAX_INTERFACE_PVT.calculate_tax_requisition(
1410: --Check if the current org has req encumbrance enabled.
1411: --If it is enabled then handle funds reversal for the parent
1412: --line and encumber the newly created line
1413: d_progress := 70;
1414: IF PO_LOG.d_stmt THEN
1415: PO_LOG.stmt(d_module_base,d_progress,'Checking if requisition encumbrance is switched on');
1416: END IF;
1417:
1418: SELECT nvl(req_encumbrance_flag, 'N')
1411: --If it is enabled then handle funds reversal for the parent
1412: --line and encumber the newly created line
1413: d_progress := 70;
1414: IF PO_LOG.d_stmt THEN
1415: PO_LOG.stmt(d_module_base,d_progress,'Checking if requisition encumbrance is switched on');
1416: END IF;
1417:
1418: SELECT nvl(req_encumbrance_flag, 'N')
1419: INTO l_req_encumbrance_flag
1418: SELECT nvl(req_encumbrance_flag, 'N')
1419: INTO l_req_encumbrance_flag
1420: FROM financials_system_parameters;
1421:
1422: IF PO_LOG.d_stmt THEN
1423: PO_LOG.stmt(d_module_base,d_progress,'l_req_encumbrance_flag',l_req_encumbrance_flag);
1424: END IF;
1425:
1426: --Select all the distribution lines which are to be reserved and
1419: INTO l_req_encumbrance_flag
1420: FROM financials_system_parameters;
1421:
1422: IF PO_LOG.d_stmt THEN
1423: PO_LOG.stmt(d_module_base,d_progress,'l_req_encumbrance_flag',l_req_encumbrance_flag);
1424: END IF;
1425:
1426: --Select all the distribution lines which are to be reserved and
1427: --unreserved into a plsql table
1441:
1442: if(l_req_encumbered_flag = 'Y')THEN
1443: /* <
1444: d_progress := 75;
1445: IF PO_LOG.d_stmt THEN
1446: PO_LOG.stmt(d_module_base,d_progress,'CLM Calculations');
1447: END IF;
1448: IF Po_Partial_Funding_Pkg.is_clm_document(p_doc_type =>'REQ',
1449: p_doc_level_id => l_Req_Header_Id) = 'Y' THEN
1442: if(l_req_encumbered_flag = 'Y')THEN
1443: /* <
1444: d_progress := 75;
1445: IF PO_LOG.d_stmt THEN
1446: PO_LOG.stmt(d_module_base,d_progress,'CLM Calculations');
1447: END IF;
1448: IF Po_Partial_Funding_Pkg.is_clm_document(p_doc_type =>'REQ',
1449: p_doc_level_id => l_Req_Header_Id) = 'Y' THEN
1450: -- Call an api to update funded value and other details on Req Distributions
1451: FOR I IN 1 .. P_new_line_ids_tbl.COUNT
1452: LOOP
1453: po_partial_funding_pkg.Updt_Funds_Split(x_return_status => l_return_status,
1454: p_new_Req_line_id => P_new_line_ids_tbl(i));
1455: IF PO_LOG.d_stmt THEN
1456: PO_LOG.stmt(d_module_base,d_progress,'l_return_status'||l_return_status);
1457: END IF;
1458:
1459: IF (l_return_status = FND_API.g_ret_sts_error)
1452: LOOP
1453: po_partial_funding_pkg.Updt_Funds_Split(x_return_status => l_return_status,
1454: p_new_Req_line_id => P_new_line_ids_tbl(i));
1455: IF PO_LOG.d_stmt THEN
1456: PO_LOG.stmt(d_module_base,d_progress,'l_return_status'||l_return_status);
1457: END IF;
1458:
1459: IF (l_return_status = FND_API.g_ret_sts_error)
1460: THEN
1468: END IF;
1469:
1470: /* <
1471: d_progress := 80;
1472: IF PO_LOG.d_stmt THEN
1473: PO_LOG.stmt(d_module_base,d_progress,'Calling funds reversal');
1474: END IF;
1475: --Pass the distribution ids of the newly created lines to the
1476: --encumbrance api to reserve funds
1469:
1470: /* <
1471: d_progress := 80;
1472: IF PO_LOG.d_stmt THEN
1473: PO_LOG.stmt(d_module_base,d_progress,'Calling funds reversal');
1474: END IF;
1475: --Pass the distribution ids of the newly created lines to the
1476: --encumbrance api to reserve funds
1477: call_funds_reversal(p_api_version => 1.0,
1482: p_req_line_id => p_req_line_id,
1483: p_handle_tax_flag => p_handle_tax_diff_if_enc,
1484: x_online_report_id => l_online_report_id);
1485:
1486: IF PO_LOG.d_stmt THEN
1487: PO_LOG.stmt(d_module_base,d_progress,'l_return_status'||l_return_status);
1488: END IF;
1489:
1490: IF (l_return_status = FND_API.g_ret_sts_error)
1483: p_handle_tax_flag => p_handle_tax_diff_if_enc,
1484: x_online_report_id => l_online_report_id);
1485:
1486: IF PO_LOG.d_stmt THEN
1487: PO_LOG.stmt(d_module_base,d_progress,'l_return_status'||l_return_status);
1488: END IF;
1489:
1490: IF (l_return_status = FND_API.g_ret_sts_error)
1491: THEN
1500: d_progress := 90;
1501:
1502: IF FND_API.To_Boolean(p_commit)
1503: THEN
1504: IF PO_LOG.d_event THEN
1505: PO_LOG.event(d_module_base,d_progress,'Commiting work');
1506: END IF;
1507: COMMIT WORK;
1508: END IF; --FND_API
1501:
1502: IF FND_API.To_Boolean(p_commit)
1503: THEN
1504: IF PO_LOG.d_event THEN
1505: PO_LOG.event(d_module_base,d_progress,'Commiting work');
1506: END IF;
1507: COMMIT WORK;
1508: END IF; --FND_API
1509:
1508: END IF; --FND_API
1509:
1510: x_return_status := FND_API.g_ret_sts_success;
1511:
1512: IF (PO_LOG.d_proc)
1513: THEN
1514: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1515: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1516: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1510: x_return_status := FND_API.g_ret_sts_success;
1511:
1512: IF (PO_LOG.d_proc)
1513: THEN
1514: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1515: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1516: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1517: END IF;
1518: EXCEPTION
1511:
1512: IF (PO_LOG.d_proc)
1513: THEN
1514: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1515: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1516: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1517: END IF;
1518: EXCEPTION
1519: WHEN FND_API.g_exc_unexpected_error THEN
1512: IF (PO_LOG.d_proc)
1513: THEN
1514: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1515: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1516: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1517: END IF;
1518: EXCEPTION
1519: WHEN FND_API.g_exc_unexpected_error THEN
1520: ROLLBACK TO post_requisition_lines_PVT;
1533: x_error_msg_tbl(x_error_msg_tbl.COUNT) := x_msg_data;
1534:
1535: x_return_status := FND_API.g_ret_sts_unexp_error;
1536:
1537: IF (PO_LOG.d_exc)
1538: THEN
1539: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1540: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1541: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1535: x_return_status := FND_API.g_ret_sts_unexp_error;
1536:
1537: IF (PO_LOG.d_exc)
1538: THEN
1539: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1540: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1541: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1542: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1543: END IF;
1536:
1537: IF (PO_LOG.d_exc)
1538: THEN
1539: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1540: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1541: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1542: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1543: END IF;
1544: WHEN FND_API.g_exc_error THEN
1537: IF (PO_LOG.d_exc)
1538: THEN
1539: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1540: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1541: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1542: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1543: END IF;
1544: WHEN FND_API.g_exc_error THEN
1545: ROLLBACK TO post_requisition_lines_PVT;
1538: THEN
1539: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1540: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1541: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1542: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1543: END IF;
1544: WHEN FND_API.g_exc_error THEN
1545: ROLLBACK TO post_requisition_lines_PVT;
1546:
1567: --online report msgs onto the stack doesn't override the value set
1568: --by the exception handler.
1569: x_return_status := FND_API.g_ret_sts_error;
1570: --
1571: IF (PO_LOG.d_exc)
1572: THEN
1573: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1574: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1575: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1569: x_return_status := FND_API.g_ret_sts_error;
1570: --
1571: IF (PO_LOG.d_exc)
1572: THEN
1573: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1574: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1575: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1576: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1577: END IF;
1570: --
1571: IF (PO_LOG.d_exc)
1572: THEN
1573: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1574: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1575: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1576: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1577: END IF;
1578: WHEN OTHERS THEN
1571: IF (PO_LOG.d_exc)
1572: THEN
1573: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1574: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1575: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1576: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1577: END IF;
1578: WHEN OTHERS THEN
1579: ROLLBACK TO post_requisition_lines_PVT;
1572: THEN
1573: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1574: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1575: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1576: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1577: END IF;
1578: WHEN OTHERS THEN
1579: ROLLBACK TO post_requisition_lines_PVT;
1580: BEGIN
1585: x_msg_data := FND_MESSAGE.get;
1586: x_error_msg_tbl.extend(1);
1587: x_error_msg_tbl(1) := x_msg_data;
1588: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1589: IF (PO_LOG.d_exc)
1590: THEN
1591: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1592: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1593: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1587: x_error_msg_tbl(1) := x_msg_data;
1588: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1589: IF (PO_LOG.d_exc)
1590: THEN
1591: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1592: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1593: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1594: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1595: END IF;
1588: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1589: IF (PO_LOG.d_exc)
1590: THEN
1591: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1592: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1593: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1594: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1595: END IF;
1596: EXCEPTION
1589: IF (PO_LOG.d_exc)
1590: THEN
1591: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1592: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1593: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1594: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1595: END IF;
1596: EXCEPTION
1597: WHEN OTHERS THEN
1590: THEN
1591: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1592: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1593: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1594: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1595: END IF;
1596: EXCEPTION
1597: WHEN OTHERS THEN
1598: IF (PO_LOG.d_exc)
1594: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1595: END IF;
1596: EXCEPTION
1597: WHEN OTHERS THEN
1598: IF (PO_LOG.d_exc)
1599: THEN
1600: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1601: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1602: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1596: EXCEPTION
1597: WHEN OTHERS THEN
1598: IF (PO_LOG.d_exc)
1599: THEN
1600: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1601: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1602: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1603: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1604: END IF;
1597: WHEN OTHERS THEN
1598: IF (PO_LOG.d_exc)
1599: THEN
1600: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1601: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1602: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1603: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1604: END IF;
1605: RAISE;
1598: IF (PO_LOG.d_exc)
1599: THEN
1600: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1601: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1602: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1603: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1604: END IF;
1605: RAISE;
1606: END;
1599: THEN
1600: PO_LOG.exc(d_module_base,d_progress, SQLCODE || SQLERRM);
1601: PO_LOG.proc_end(d_module_base,'x_return_status', x_return_status);
1602: PO_LOG.proc_end(d_module_base,'x_msg_count', x_msg_count );
1603: PO_LOG.proc_end(d_module_base,'x_msg_data', x_msg_data );
1604: END IF;
1605: RAISE;
1606: END;
1607: END post_modify_requisition_lines;
1620: x_online_report_id OUT NOCOPY NUMBER) IS
1621: l_module CONSTANT VARCHAR2(30) := 'CALL_FUNDS_REVERSAL';
1622: l_api_version CONSTANT NUMBER := 1.0;
1623: d_progress NUMBER;
1624: d_module_base CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(d_PACKAGE_BASE,
1625: l_module);
1626: --define object type variable for calling encumbrance api.
1627: l_po_return_code VARCHAR2(20);
1628:
1631: d_progress := 10;
1632:
1633: SAVEPOINT CALL_FUNDS_REVERSAL_PVT;
1634:
1635: IF (PO_LOG.d_event) THEN
1636: PO_LOG.event(d_module_base,d_progress,'Starting calculate CALL_FUNDS_REVERSAL');
1637: END IF;
1638:
1639: IF (PO_LOG.d_proc) THEN
1632:
1633: SAVEPOINT CALL_FUNDS_REVERSAL_PVT;
1634:
1635: IF (PO_LOG.d_event) THEN
1636: PO_LOG.event(d_module_base,d_progress,'Starting calculate CALL_FUNDS_REVERSAL');
1637: END IF;
1638:
1639: IF (PO_LOG.d_proc) THEN
1640: PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
1635: IF (PO_LOG.d_event) THEN
1636: PO_LOG.event(d_module_base,d_progress,'Starting calculate CALL_FUNDS_REVERSAL');
1637: END IF;
1638:
1639: IF (PO_LOG.d_proc) THEN
1640: PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
1641: PO_LOG.proc_begin(d_module_base, 'p_commit', p_commit);
1642: PO_LOG.proc_begin(d_module_base, 'p_req_line_id', p_req_line_id);
1643: END IF;
1636: PO_LOG.event(d_module_base,d_progress,'Starting calculate CALL_FUNDS_REVERSAL');
1637: END IF;
1638:
1639: IF (PO_LOG.d_proc) THEN
1640: PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
1641: PO_LOG.proc_begin(d_module_base, 'p_commit', p_commit);
1642: PO_LOG.proc_begin(d_module_base, 'p_req_line_id', p_req_line_id);
1643: END IF;
1644:
1637: END IF;
1638:
1639: IF (PO_LOG.d_proc) THEN
1640: PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
1641: PO_LOG.proc_begin(d_module_base, 'p_commit', p_commit);
1642: PO_LOG.proc_begin(d_module_base, 'p_req_line_id', p_req_line_id);
1643: END IF;
1644:
1645: d_progress := 20;
1638:
1639: IF (PO_LOG.d_proc) THEN
1640: PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
1641: PO_LOG.proc_begin(d_module_base, 'p_commit', p_commit);
1642: PO_LOG.proc_begin(d_module_base, 'p_req_line_id', p_req_line_id);
1643: END IF;
1644:
1645: d_progress := 20;
1646: IF NOT FND_API.Compatible_API_Call(l_api_version,
1646: IF NOT FND_API.Compatible_API_Call(l_api_version,
1647: p_api_version,
1648: l_module,
1649: G_PKG_NAME) THEN
1650: IF (PO_LOG.d_event) THEN
1651: PO_LOG.event(d_module_base, d_progress, 'Api versions incompatible. Throwing an exception');
1652: END IF;
1653: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1654: END IF;
1647: p_api_version,
1648: l_module,
1649: G_PKG_NAME) THEN
1650: IF (PO_LOG.d_event) THEN
1651: PO_LOG.event(d_module_base, d_progress, 'Api versions incompatible. Throwing an exception');
1652: END IF;
1653: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1654: END IF;
1655:
1654: END IF;
1655:
1656: d_progress := 30;
1657:
1658: IF PO_LOG.d_stmt THEN
1659: PO_LOG.stmt(d_module_base,d_progress,'Inserting values into po_req_split_lines_gt');
1660: END IF;
1661:
1662: -- Performance fix for bug 4930487
1655:
1656: d_progress := 30;
1657:
1658: IF PO_LOG.d_stmt THEN
1659: PO_LOG.stmt(d_module_base,d_progress,'Inserting values into po_req_split_lines_gt');
1660: END IF;
1661:
1662: -- Performance fix for bug 4930487
1663: -- Prevented FTS on po_requisition_lines_all by adding an exists clause
1685: AND PRL1.requisition_line_id = p_req_line_id);
1686:
1687:
1688: IF SQL%ROWCOUNT < 1 THEN
1689: IF PO_LOG.d_stmt THEN
1690: PO_LOG.stmt(d_module_base,d_progress,'No rows inserted into PO_REQ_SPLIT_LINES_GT');
1691: END IF;
1692:
1693: po_message_s.sql_error('No rows inserted into PO_REQ_SPLIT_LINES_GT', d_progress, sqlcode);
1686:
1687:
1688: IF SQL%ROWCOUNT < 1 THEN
1689: IF PO_LOG.d_stmt THEN
1690: PO_LOG.stmt(d_module_base,d_progress,'No rows inserted into PO_REQ_SPLIT_LINES_GT');
1691: END IF;
1692:
1693: po_message_s.sql_error('No rows inserted into PO_REQ_SPLIT_LINES_GT', d_progress, sqlcode);
1694: FND_MSG_PUB.add;
1695: RAISE FND_API.g_exc_unexpected_error;
1696: END IF;
1697:
1698: d_progress := 40;
1699: IF PO_LOG.d_stmt THEN
1700: PO_LOG.stmt(d_module_base,d_progress,'Handle Tax Adjustments');
1701: END IF;
1702:
1703: IF (p_handle_tax_flag = 'Y') THEN
1696: END IF;
1697:
1698: d_progress := 40;
1699: IF PO_LOG.d_stmt THEN
1700: PO_LOG.stmt(d_module_base,d_progress,'Handle Tax Adjustments');
1701: END IF;
1702:
1703: IF (p_handle_tax_flag = 'Y') THEN
1704: PO_NEGOTIATIONS4_PVT.handle_tax_adjustments(p_api_version => 1.0,
1706: x_return_status => x_return_status,
1707: x_msg_count => x_msg_count,
1708: x_msg_data => x_msg_data);
1709: IF (x_return_status <> 'S') THEN
1710: IF PO_LOG.d_stmt THEN
1711: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
1712: END IF;
1713: RAISE FND_API.g_exc_unexpected_error;
1714: END IF;
1707: x_msg_count => x_msg_count,
1708: x_msg_data => x_msg_data);
1709: IF (x_return_status <> 'S') THEN
1710: IF PO_LOG.d_stmt THEN
1711: PO_LOG.stmt(d_module_base,d_progress,'x_return_status',x_return_status);
1712: END IF;
1713: RAISE FND_API.g_exc_unexpected_error;
1714: END IF;
1715: END IF; /*IF (p_handle_tax_flag = 'Y')*/
1722: x_msg_count => x_msg_count,
1723: x_msg_data => x_msg_data,
1724: x_online_report_id => x_online_report_id);
1725:
1726: IF PO_LOG.d_stmt THEN
1727: PO_LOG.stmt(d_module_base, d_progress,'x_return_status',x_return_status);
1728: PO_LOG.stmt(d_module_base, d_progress,'l_po_return_code', l_po_return_code);
1729: PO_LOG.stmt(d_module_base, d_progress,'x_online_report_id', x_online_report_id);
1730: END IF;
1723: x_msg_data => x_msg_data,
1724: x_online_report_id => x_online_report_id);
1725:
1726: IF PO_LOG.d_stmt THEN
1727: PO_LOG.stmt(d_module_base, d_progress,'x_return_status',x_return_status);
1728: PO_LOG.stmt(d_module_base, d_progress,'l_po_return_code', l_po_return_code);
1729: PO_LOG.stmt(d_module_base, d_progress,'x_online_report_id', x_online_report_id);
1730: END IF;
1731:
1724: x_online_report_id => x_online_report_id);
1725:
1726: IF PO_LOG.d_stmt THEN
1727: PO_LOG.stmt(d_module_base, d_progress,'x_return_status',x_return_status);
1728: PO_LOG.stmt(d_module_base, d_progress,'l_po_return_code', l_po_return_code);
1729: PO_LOG.stmt(d_module_base, d_progress,'x_online_report_id', x_online_report_id);
1730: END IF;
1731:
1732: IF (x_return_status = FND_API.g_ret_sts_error) THEN
1725:
1726: IF PO_LOG.d_stmt THEN
1727: PO_LOG.stmt(d_module_base, d_progress,'x_return_status',x_return_status);
1728: PO_LOG.stmt(d_module_base, d_progress,'l_po_return_code', l_po_return_code);
1729: PO_LOG.stmt(d_module_base, d_progress,'x_online_report_id', x_online_report_id);
1730: END IF;
1731:
1732: IF (x_return_status = FND_API.g_ret_sts_error) THEN
1733: RAISE FND_API.g_exc_error;
1737:
1738: d_progress := 60;
1739:
1740: IF FND_API.To_Boolean(p_commit) THEN
1741: IF PO_LOG.d_event THEN
1742: PO_LOG.event(d_module_base, d_progress, 'Commiting work');
1743: END IF;
1744: COMMIT WORK;
1745: END IF;
1738: d_progress := 60;
1739:
1740: IF FND_API.To_Boolean(p_commit) THEN
1741: IF PO_LOG.d_event THEN
1742: PO_LOG.event(d_module_base, d_progress, 'Commiting work');
1743: END IF;
1744: COMMIT WORK;
1745: END IF;
1746:
1750: x_return_status := FND_API.G_RET_STS_SUCCESS;
1751:
1752: d_progress := 70;
1753:
1754: IF (PO_LOG.d_proc) THEN
1755: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1756: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1757: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1758: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1751:
1752: d_progress := 70;
1753:
1754: IF (PO_LOG.d_proc) THEN
1755: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1756: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1757: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1758: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1759: END IF;
1752: d_progress := 70;
1753:
1754: IF (PO_LOG.d_proc) THEN
1755: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1756: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1757: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1758: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1759: END IF;
1760:
1753:
1754: IF (PO_LOG.d_proc) THEN
1755: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1756: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1757: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1758: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1759: END IF;
1760:
1761: EXCEPTION
1754: IF (PO_LOG.d_proc) THEN
1755: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1756: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1757: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1758: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1759: END IF;
1760:
1761: EXCEPTION
1762:
1766:
1767: x_msg_data := FND_MSG_PUB.GET();
1768: x_return_status := FND_API.g_ret_sts_unexp_error;
1769:
1770: IF (PO_LOG.d_exc) THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1767: x_msg_data := FND_MSG_PUB.GET();
1768: x_return_status := FND_API.g_ret_sts_unexp_error;
1769:
1770: IF (PO_LOG.d_exc) THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1775: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1768: x_return_status := FND_API.g_ret_sts_unexp_error;
1769:
1770: IF (PO_LOG.d_exc) THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1775: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1776: END IF;
1769:
1770: IF (PO_LOG.d_exc) THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1775: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1776: END IF;
1777:
1770: IF (PO_LOG.d_exc) THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1775: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1776: END IF;
1777:
1778: WHEN FND_API.g_exc_error THEN
1771: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1772: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1773: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1774: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1775: PO_LOG.proc_end(d_module_base,'x_online_report_id',x_online_report_id);
1776: END IF;
1777:
1778: WHEN FND_API.g_exc_error THEN
1779:
1783:
1784: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1785: p_data => x_msg_data);
1786:
1787: IF (PO_LOG.d_exc) THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1784: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1785: p_data => x_msg_data);
1786:
1787: IF (PO_LOG.d_exc) THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1792: PO_LOG.proc_end(d_module_base,'x_online_report_id', x_online_report_id);
1785: p_data => x_msg_data);
1786:
1787: IF (PO_LOG.d_exc) THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1792: PO_LOG.proc_end(d_module_base,'x_online_report_id', x_online_report_id);
1793: END IF;
1786:
1787: IF (PO_LOG.d_exc) THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1792: PO_LOG.proc_end(d_module_base,'x_online_report_id', x_online_report_id);
1793: END IF;
1794:
1787: IF (PO_LOG.d_exc) THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1792: PO_LOG.proc_end(d_module_base,'x_online_report_id', x_online_report_id);
1793: END IF;
1794:
1795: WHEN OTHERS THEN
1788: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1789: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1790: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1791: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1792: PO_LOG.proc_end(d_module_base,'x_online_report_id', x_online_report_id);
1793: END IF;
1794:
1795: WHEN OTHERS THEN
1796:
1804:
1805: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1806: p_data => x_msg_data);
1807:
1808: IF (PO_LOG.d_exc) THEN
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1805: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1806: p_data => x_msg_data);
1807:
1808: IF (PO_LOG.d_exc) THEN
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1813: PO_LOG.proc_end(d_module_base, 'x_online_report_id', x_online_report_id);
1806: p_data => x_msg_data);
1807:
1808: IF (PO_LOG.d_exc) THEN
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1813: PO_LOG.proc_end(d_module_base, 'x_online_report_id', x_online_report_id);
1814:
1807:
1808: IF (PO_LOG.d_exc) THEN
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1813: PO_LOG.proc_end(d_module_base, 'x_online_report_id', x_online_report_id);
1814:
1815: END IF;
1808: IF (PO_LOG.d_exc) THEN
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1813: PO_LOG.proc_end(d_module_base, 'x_online_report_id', x_online_report_id);
1814:
1815: END IF;
1816:
1809: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
1810: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1811: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
1812: PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
1813: PO_LOG.proc_end(d_module_base, 'x_online_report_id', x_online_report_id);
1814:
1815: END IF;
1816:
1817: END call_funds_reversal;