1: PACKAGE BODY PO_AP_INVOICE_MATCH_GRP AS
2: /* $Header: POXAPINB.pls 120.12.12020000.3 2013/02/10 22:52:23 vegajula ship $*/
3:
4: G_PKG_NAME CONSTANT VARCHAR2(30) := 'PO_AP_INVOICE_MATCH_GRP';
5: D_PACKAGE_BASE CONSTANT VARCHAR2(50) := PO_LOG.get_package_base(G_PKG_NAME);
6:
7: --
8: -------------------------------------------------------------------------
9: --Pre-reqs:
38: IS
39: l_api_version CONSTANT NUMBER := 1.0;
40: l_api_name CONSTANT VARCHAR2(30) := 'update_document_ap_values';
41: d_mod CONSTANT VARCHAR2(100) :=
42: PO_LOG.get_subprogram_base(D_PACKAGE_BASE, l_api_name);
43: d_position NUMBER := 0;
44: BEGIN
45:
46: -- Standard API Savepoint
45:
46: -- Standard API Savepoint
47: SAVEPOINT update_document_ap_values_SP;
48:
49: IF PO_LOG.d_proc THEN
50: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
51: p_line_loc_changes_rec.dump_to_log;
52: p_dist_changes_rec.dump_to_log;
53: END IF;
46: -- Standard API Savepoint
47: SAVEPOINT update_document_ap_values_SP;
48:
49: IF PO_LOG.d_proc THEN
50: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
51: p_line_loc_changes_rec.dump_to_log;
52: p_dist_changes_rec.dump_to_log;
53: END IF;
54:
76: p_dist_changes_rec.populate_calculated_fields;
77:
78: d_position := 30;
79:
80: IF PO_LOG.d_stmt THEN
81: PO_LOG.stmt(d_mod,d_position,'Calculated fields populated');
82: p_line_loc_changes_rec.dump_to_log;
83: p_dist_changes_rec.dump_to_log;
84: END IF;
77:
78: d_position := 30;
79:
80: IF PO_LOG.d_stmt THEN
81: PO_LOG.stmt(d_mod,d_position,'Calculated fields populated');
82: p_line_loc_changes_rec.dump_to_log;
83: p_dist_changes_rec.dump_to_log;
84: END IF;
85:
134: )
135: ;
136:
137: d_position := 40;
138: IF PO_LOG.d_stmt THEN
139: PO_LOG.stmt(d_mod,d_position,'Line Locations updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
140: END IF;
141:
142: -- SQL What: Update the AP-related fields on the PO distribution
135: ;
136:
137: d_position := 40;
138: IF PO_LOG.d_stmt THEN
139: PO_LOG.stmt(d_mod,d_position,'Line Locations updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
140: END IF;
141:
142: -- SQL What: Update the AP-related fields on the PO distribution
143: -- SQL Where: For the distribution rows represented in p_dist_changes_rec
190: AND pod2.po_distribution_id = p_dist_changes_rec.po_distribution_id_tbl(i)))
191: ;
192:
193: d_position := 50;
194: IF PO_LOG.d_stmt THEN
195: PO_LOG.stmt(d_mod,d_position,'Distributions updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
196: END IF;
197:
198: IF PO_LOG.d_proc THEN
191: ;
192:
193: d_position := 50;
194: IF PO_LOG.d_stmt THEN
195: PO_LOG.stmt(d_mod,d_position,'Distributions updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
196: END IF;
197:
198: IF PO_LOG.d_proc THEN
199: PO_LOG.proc_end(d_mod,'x_return_status', x_return_status);
194: IF PO_LOG.d_stmt THEN
195: PO_LOG.stmt(d_mod,d_position,'Distributions updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
196: END IF;
197:
198: IF PO_LOG.d_proc THEN
199: PO_LOG.proc_end(d_mod,'x_return_status', x_return_status);
200: p_line_loc_changes_rec.dump_to_log;
201: p_dist_changes_rec.dump_to_log;
202: END IF;
195: PO_LOG.stmt(d_mod,d_position,'Distributions updated: ' || SQL%ROWCOUNT || '; fnd_global.user_id: ' || fnd_global.user_id);
196: END IF;
197:
198: IF PO_LOG.d_proc THEN
199: PO_LOG.proc_end(d_mod,'x_return_status', x_return_status);
200: p_line_loc_changes_rec.dump_to_log;
201: p_dist_changes_rec.dump_to_log;
202: END IF;
203:
203:
204: EXCEPTION
205: WHEN OTHERS THEN
206: ROLLBACK TO update_document_ap_values_SP;
207: IF PO_LOG.d_exc THEN
208: PO_LOG.exc(d_mod,d_position,SQLERRM);
209: END IF;
210: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
211: FND_MESSAGE.set_name('PO', 'PO_ALL_TRACE_ERROR');
204: EXCEPTION
205: WHEN OTHERS THEN
206: ROLLBACK TO update_document_ap_values_SP;
207: IF PO_LOG.d_exc THEN
208: PO_LOG.exc(d_mod,d_position,SQLERRM);
209: END IF;
210: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
211: FND_MESSAGE.set_name('PO', 'PO_ALL_TRACE_ERROR');
212: FND_MESSAGE.set_token('FILE', 'POXAPINB.pls');
258: IS
259: l_api_version CONSTANT NUMBER := 1.0;
260: l_api_name CONSTANT VARCHAR2(30) := 'get_amount_to_retain';
261: d_mod CONSTANT VARCHAR2(100) :=
262: PO_LOG.get_subprogram_base(D_PACKAGE_BASE,l_api_name);
263: d_position NUMBER := 0;
264: l_gt_key NUMBER;
265: BEGIN
266:
263: d_position NUMBER := 0;
264: l_gt_key NUMBER;
265: BEGIN
266:
267: IF PO_LOG.d_proc THEN
268: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
269: PO_LOG.proc_begin(d_mod,'p_line_location_id_tbl',p_line_location_id_tbl);
270: PO_LOG.proc_begin(d_mod,'p_line_loc_match_amt_tbl',p_line_loc_match_amt_tbl);
271: END IF;
264: l_gt_key NUMBER;
265: BEGIN
266:
267: IF PO_LOG.d_proc THEN
268: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
269: PO_LOG.proc_begin(d_mod,'p_line_location_id_tbl',p_line_location_id_tbl);
270: PO_LOG.proc_begin(d_mod,'p_line_loc_match_amt_tbl',p_line_loc_match_amt_tbl);
271: END IF;
272:
265: BEGIN
266:
267: IF PO_LOG.d_proc THEN
268: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
269: PO_LOG.proc_begin(d_mod,'p_line_location_id_tbl',p_line_location_id_tbl);
270: PO_LOG.proc_begin(d_mod,'p_line_loc_match_amt_tbl',p_line_loc_match_amt_tbl);
271: END IF;
272:
273: -- Initialize out parameters
266:
267: IF PO_LOG.d_proc THEN
268: PO_LOG.proc_begin(d_mod,'p_api_version',p_api_version);
269: PO_LOG.proc_begin(d_mod,'p_line_location_id_tbl',p_line_location_id_tbl);
270: PO_LOG.proc_begin(d_mod,'p_line_loc_match_amt_tbl',p_line_loc_match_amt_tbl);
271: END IF;
272:
273: -- Initialize out parameters
274: x_return_status := FND_API.G_RET_STS_SUCCESS;
391: DELETE FROM PO_SESSION_GT GTT WHERE GTT.key = l_gt_key;
392:
393: d_position := 60;
394:
395: IF PO_LOG.d_proc THEN
396: PO_LOG.proc_end(d_mod,'x_return_status',x_return_status);
397: PO_LOG.proc_end(d_mod,'x_amount_to_retain_tbl',x_amount_to_retain_tbl);
398: END IF;
399:
392:
393: d_position := 60;
394:
395: IF PO_LOG.d_proc THEN
396: PO_LOG.proc_end(d_mod,'x_return_status',x_return_status);
397: PO_LOG.proc_end(d_mod,'x_amount_to_retain_tbl',x_amount_to_retain_tbl);
398: END IF;
399:
400: EXCEPTION
393: d_position := 60;
394:
395: IF PO_LOG.d_proc THEN
396: PO_LOG.proc_end(d_mod,'x_return_status',x_return_status);
397: PO_LOG.proc_end(d_mod,'x_amount_to_retain_tbl',x_amount_to_retain_tbl);
398: END IF;
399:
400: EXCEPTION
401: WHEN OTHERS THEN
398: END IF;
399:
400: EXCEPTION
401: WHEN OTHERS THEN
402: IF PO_LOG.d_exc THEN
403: PO_LOG.exc(d_mod,d_position,SQLERRM);
404: END IF;
405: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406: FND_MESSAGE.set_name('PO', 'PO_ALL_TRACE_ERROR');
399:
400: EXCEPTION
401: WHEN OTHERS THEN
402: IF PO_LOG.d_exc THEN
403: PO_LOG.exc(d_mod,d_position,SQLERRM);
404: END IF;
405: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406: FND_MESSAGE.set_name('PO', 'PO_ALL_TRACE_ERROR');
407: FND_MESSAGE.set_token('FILE', 'POXAPINB.pls');