1: PACKAGE BODY PO_DOCS_INTERFACE_PURGE AS
2: /* $Header: POXPOIPB.pls 120.4.12000000.2 2007/09/28 10:12:05 ppadilam ship $ */
3:
4: d_pkg_name CONSTANT varchar2(50) :=
5: PO_LOG.get_package_base('PO_DOCS_INTERFACE_PURGE');
6:
7: PROCEDURE exclude_undeletable_records
8: ( x_intf_header_id_tbl IN OUT NOCOPY PO_TBL_NUMBER,
9: p_process_code_tbl IN PO_TBL_VARCHAR30,
47: -- PO_LINE_LOCATIONS_INTERFACE
48:
49: d_position := 0;
50:
51: IF (PO_LOG.d_proc) THEN
52: PO_LOG.proc_begin (d_module);
53: END IF;
54:
55: l_org_id := p_org_id ; --
48:
49: d_position := 0;
50:
51: IF (PO_LOG.d_proc) THEN
52: PO_LOG.proc_begin (d_module);
53: END IF;
54:
55: l_org_id := p_org_id ; --
56:
105: FORALL i IN 1..l_intf_header_id_tbl.COUNT
106: DELETE FROM po_headers_interface
107: WHERE interface_header_id = l_intf_header_id_tbl(i);
108:
109: IF (PO_LOG.d_stmt) THEN
110: PO_LOG.stmt(d_module, d_position, '# hdr intf rec deleted' || SQL%ROWCOUNT);
111: END IF;
112:
113: d_position := 18;
106: DELETE FROM po_headers_interface
107: WHERE interface_header_id = l_intf_header_id_tbl(i);
108:
109: IF (PO_LOG.d_stmt) THEN
110: PO_LOG.stmt(d_module, d_position, '# hdr intf rec deleted' || SQL%ROWCOUNT);
111: END IF;
112:
113: d_position := 18;
114:
116: FORALL i IN 1..l_intf_header_id_tbl.COUNT
117: DELETE FROM po_lines_interface
118: WHERE interface_header_id = l_intf_header_id_tbl(i);
119:
120: IF (PO_LOG.d_stmt) THEN
121: PO_LOG.stmt(d_module, d_position, '# line intf rec deleted' || SQL%ROWCOUNT);
122: END IF;
123:
124: d_position := 20;
117: DELETE FROM po_lines_interface
118: WHERE interface_header_id = l_intf_header_id_tbl(i);
119:
120: IF (PO_LOG.d_stmt) THEN
121: PO_LOG.stmt(d_module, d_position, '# line intf rec deleted' || SQL%ROWCOUNT);
122: END IF;
123:
124: d_position := 20;
125:
126: FORALL i IN 1..l_intf_header_id_tbl.COUNT
127: DELETE FROM po_line_locations_interface
128: WHERE interface_header_id = l_intf_header_id_tbl(i);
129:
130: IF (PO_LOG.d_stmt) THEN
131: PO_LOG.stmt(d_module, d_position, '# line loc intf rec deleted' || SQL%ROWCOUNT);
132: END IF;
133:
134: d_position := 30;
127: DELETE FROM po_line_locations_interface
128: WHERE interface_header_id = l_intf_header_id_tbl(i);
129:
130: IF (PO_LOG.d_stmt) THEN
131: PO_LOG.stmt(d_module, d_position, '# line loc intf rec deleted' || SQL%ROWCOUNT);
132: END IF;
133:
134: d_position := 30;
135:
136: FORALL i IN 1..l_intf_header_id_tbl.COUNT
137: DELETE FROM po_distributions_interface
138: WHERE interface_header_id = l_intf_header_id_tbl(i);
139:
140: IF (PO_LOG.d_stmt) THEN
141: PO_LOG.stmt(d_module, d_position, '# distr intf rec deleted' || SQL%ROWCOUNT);
142: END IF;
143:
144: d_position := 40;
137: DELETE FROM po_distributions_interface
138: WHERE interface_header_id = l_intf_header_id_tbl(i);
139:
140: IF (PO_LOG.d_stmt) THEN
141: PO_LOG.stmt(d_module, d_position, '# distr intf rec deleted' || SQL%ROWCOUNT);
142: END IF;
143:
144: d_position := 40;
145:
146: FORALL i IN 1..l_intf_header_id_tbl.COUNT
147: DELETE FROM po_price_diff_interface
148: WHERE interface_header_id = l_intf_header_id_tbl(i);
149:
150: IF (PO_LOG.d_stmt) THEN
151: PO_LOG.stmt(d_module, d_position, '# price diff intf rec deleted' || SQL%ROWCOUNT);
152: END IF;
153:
154: d_position := 50;
147: DELETE FROM po_price_diff_interface
148: WHERE interface_header_id = l_intf_header_id_tbl(i);
149:
150: IF (PO_LOG.d_stmt) THEN
151: PO_LOG.stmt(d_module, d_position, '# price diff intf rec deleted' || SQL%ROWCOUNT);
152: END IF;
153:
154: d_position := 50;
155:
156: FORALL i IN 1..l_intf_header_id_tbl.COUNT
157: DELETE FROM po_attr_values_interface
158: WHERE interface_header_id = l_intf_header_id_tbl(i);
159:
160: IF (PO_LOG.d_stmt) THEN
161: PO_LOG.stmt(d_module, d_position, '# attr values intf rec deleted' || SQL%ROWCOUNT);
162: END IF;
163:
164: d_position := 60;
157: DELETE FROM po_attr_values_interface
158: WHERE interface_header_id = l_intf_header_id_tbl(i);
159:
160: IF (PO_LOG.d_stmt) THEN
161: PO_LOG.stmt(d_module, d_position, '# attr values intf rec deleted' || SQL%ROWCOUNT);
162: END IF;
163:
164: d_position := 60;
165:
166: FORALL i IN 1..l_intf_header_id_tbl.COUNT
167: DELETE FROM po_attr_values_tlp_interface
168: WHERE interface_header_id = l_intf_header_id_tbl(i);
169:
170: IF (PO_LOG.d_stmt) THEN
171: PO_LOG.stmt(d_module, d_position, '# attr values tlp intf rec deleted' || SQL%ROWCOUNT);
172: END IF;
173:
174: d_position := 70;
167: DELETE FROM po_attr_values_tlp_interface
168: WHERE interface_header_id = l_intf_header_id_tbl(i);
169:
170: IF (PO_LOG.d_stmt) THEN
171: PO_LOG.stmt(d_module, d_position, '# attr values tlp intf rec deleted' || SQL%ROWCOUNT);
172: END IF;
173:
174: d_position := 70;
175:
172: END IF;
173:
174: d_position := 70;
175:
176: IF (PO_LOG.d_proc) THEN
177: PO_LOG.proc_end (d_module);
178: END IF;
179:
180: EXCEPTION
173:
174: d_position := 70;
175:
176: IF (PO_LOG.d_proc) THEN
177: PO_LOG.proc_end (d_module);
178: END IF;
179:
180: EXCEPTION
181: WHEN OTHERS THEN
208: BEGIN
209:
210: d_position := 0;
211:
212: IF (PO_LOG.d_proc) THEN
213: PO_LOG.proc_begin (d_module);
214: END IF;
215:
216: IF (p_po_header_id IS NULL) THEN
209:
210: d_position := 0;
211:
212: IF (PO_LOG.d_proc) THEN
213: PO_LOG.proc_begin (d_module);
214: END IF;
215:
216: IF (p_po_header_id IS NULL) THEN
217: RETURN;
246: l_old_request_complete := PO_PDOI_UTL.is_old_request_complete
247: ( p_old_request_id => l_request_id
248: );
249:
250: IF (PO_LOG.d_stmt) THEN
251: PO_LOG.stmt(d_module, d_position, 'l_old_request_complete',
252: l_old_request_complete);
253: END IF;
254:
247: ( p_old_request_id => l_request_id
248: );
249:
250: IF (PO_LOG.d_stmt) THEN
251: PO_LOG.stmt(d_module, d_position, 'l_old_request_complete',
252: l_old_request_complete);
253: END IF;
254:
255: IF (l_old_request_complete = FND_API.G_TRUE) THEN
273:
274: IF (l_need_collapsing) THEN
275: d_position := 70;
276:
277: IF (PO_LOG.d_stmt) THEN
278: PO_LOG.stmt(d_module, d_position, 'new array size',
279: x_intf_header_id_tbl.COUNT);
280: END IF;
281:
274: IF (l_need_collapsing) THEN
275: d_position := 70;
276:
277: IF (PO_LOG.d_stmt) THEN
278: PO_LOG.stmt(d_module, d_position, 'new array size',
279: x_intf_header_id_tbl.COUNT);
280: END IF;
281:
282: l_new_intf_header_id_tbl.EXTEND(x_intf_header_id_tbl.COUNT);
298: END IF;
299:
300: d_position := 100;
301:
302: IF (PO_LOG.d_proc) THEN
303: PO_LOG.proc_end (d_module);
304: END IF;
305:
306: EXCEPTION
299:
300: d_position := 100;
301:
302: IF (PO_LOG.d_proc) THEN
303: PO_LOG.proc_end (d_module);
304: END IF;
305:
306: EXCEPTION
307: WHEN OTHERS THEN