[Home] [Help]
PACKAGE BODY: APPS.PO_PDOI_TYPES
Source
1 PACKAGE BODY PO_PDOI_TYPES AS
2 /* $Header: PO_PDOI_TYPES.plb 120.7 2006/09/15 22:25:45 jinwang noship $ */
3
4 d_pkg_name CONSTANT VARCHAR2(50) :=
5 PO_LOG.get_package_base('PO_PDOI_TYPES');
6
7 --------------------------------------------------------------------------
8 ---------------------- PRIVATE PROCEDURES PROTOTYPE ----------------------
9 --------------------------------------------------------------------------
10
11 PROCEDURE fill_tbl
12 ( p_num_records IN NUMBER,
13 x_tbl IN OUT NOCOPY PO_TBL_NUMBER
14 );
15
16 PROCEDURE fill_tbl
17 ( p_num_records IN NUMBER,
18 x_tbl IN OUT NOCOPY PO_TBL_DATE
19 );
20
21
22 PROCEDURE fill_tbl
23 ( p_num_records IN NUMBER,
24 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR1
25 );
26
27 PROCEDURE fill_tbl
28 ( p_num_records IN NUMBER,
29 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR5
30 );
31
32 PROCEDURE fill_tbl
33 ( p_num_records IN NUMBER,
34 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR30
35 );
36
37 PROCEDURE fill_tbl
38 ( p_num_records IN NUMBER,
39 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
40 );
41
42 PROCEDURE fill_tbl
43 ( p_num_records IN NUMBER,
44 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR2000
45 );
46
47 --------------------------------------------------------------------------
48 ---------------------- PUBLIC PROCEDURES ---------------------------------
49 --------------------------------------------------------------------------
50
51
52 -----------------------------------------------------------------------
53 --Start of Comments
54 --Name: fill_all_headers_attr
55 --Function:
56 -- Initialize all the pl/sql tables in the record type. It also sets
57 -- the record count
58 --Parameters:
59 --IN:
60 -- p_num_records
61 -- Number of entries for each pl/sql tables in the record type
62 --IN OUT:
63 -- x_headers
64 -- Trecord of tables holding header information
65 --OUT:
66 --End of Comments
67 ------------------------------------------------------------------------
68 PROCEDURE fill_all_headers_attr
69 ( p_num_records IN NUMBER,
70 x_headers IN OUT NOCOPY headers_rec_type
71 ) IS
72
73 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_headers_attr';
74 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
75 d_position NUMBER;
76
77 BEGIN
78 d_position := 0;
79
80 IF (PO_LOG.d_proc) THEN
81 PO_LOG.proc_begin(d_module);
82 END IF;
83
84 -- set record count
85 x_headers.rec_count := p_num_records;
86
87 fill_tbl(p_num_records, x_headers.intf_header_id_tbl);
88 fill_tbl(p_num_records, x_headers.draft_id_tbl);
89 fill_tbl(p_num_records, x_headers.po_header_id_tbl);
90 fill_tbl(p_num_records, x_headers.action_tbl);
91 fill_tbl(p_num_records, x_headers.document_num_tbl);
92 fill_tbl(p_num_records, x_headers.doc_type_tbl);
93 fill_tbl(p_num_records, x_headers.doc_subtype_tbl);
94 fill_tbl(p_num_records, x_headers.rate_type_tbl);
95 fill_tbl(p_num_records, x_headers.rate_type_code_tbl);
96 fill_tbl(p_num_records, x_headers.rate_date_tbl);
97 fill_tbl(p_num_records, x_headers.rate_tbl);
98 fill_tbl(p_num_records, x_headers.agent_id_tbl);
99 fill_tbl(p_num_records, x_headers.agent_name_tbl);
100 fill_tbl(p_num_records, x_headers.ship_to_loc_id_tbl);
101 fill_tbl(p_num_records, x_headers.ship_to_loc_tbl);
102 fill_tbl(p_num_records, x_headers.bill_to_loc_id_tbl);
103 fill_tbl(p_num_records, x_headers.bill_to_loc_tbl);
104 fill_tbl(p_num_records, x_headers.payment_terms_tbl);
105 fill_tbl(p_num_records, x_headers.terms_id_tbl);
106 fill_tbl(p_num_records, x_headers.vendor_name_tbl);
107 fill_tbl(p_num_records, x_headers.vendor_num_tbl);
108 fill_tbl(p_num_records, x_headers.vendor_id_tbl);
109 fill_tbl(p_num_records, x_headers.vendor_site_code_tbl);
110 fill_tbl(p_num_records, x_headers.vendor_site_id_tbl);
111 fill_tbl(p_num_records, x_headers.vendor_contact_tbl);
112 fill_tbl(p_num_records, x_headers.vendor_contact_id_tbl);
113 fill_tbl(p_num_records, x_headers.from_rfq_num_tbl);
114 fill_tbl(p_num_records, x_headers.from_header_id_tbl);
115 fill_tbl(p_num_records, x_headers.fob_tbl);
116 fill_tbl(p_num_records, x_headers.freight_carrier_tbl);
117 fill_tbl(p_num_records, x_headers.freight_term_tbl);
118 fill_tbl(p_num_records, x_headers.pay_on_code_tbl);
119 fill_tbl(p_num_records, x_headers.shipping_control_tbl);
120 fill_tbl(p_num_records, x_headers.currency_code_tbl);
121 fill_tbl(p_num_records, x_headers.quote_warning_delay_tbl);
122 fill_tbl(p_num_records, x_headers.approval_required_flag_tbl);
123 fill_tbl(p_num_records, x_headers.reply_date_tbl);
124 fill_tbl(p_num_records, x_headers.approval_status_tbl);
125 fill_tbl(p_num_records, x_headers.approved_date_tbl);
126 fill_tbl(p_num_records, x_headers.from_type_lookup_code_tbl);
127 fill_tbl(p_num_records, x_headers.revision_num_tbl);
128 fill_tbl(p_num_records, x_headers.confirming_order_flag_tbl);
129 fill_tbl(p_num_records, x_headers.acceptance_required_flag_tbl);
130 fill_tbl(p_num_records, x_headers.min_release_amount_tbl);
131 fill_tbl(p_num_records, x_headers.closed_code_tbl);
132 fill_tbl(p_num_records, x_headers.print_count_tbl);
133 fill_tbl(p_num_records, x_headers.frozen_flag_tbl);
134 fill_tbl(p_num_records, x_headers.encumbrance_required_flag_tbl);
135 fill_tbl(p_num_records, x_headers.vendor_doc_num_tbl);
136 fill_tbl(p_num_records, x_headers.org_id_tbl);
137 fill_tbl(p_num_records, x_headers.acceptance_due_date_tbl);
138 fill_tbl(p_num_records, x_headers.amount_to_encumber_tbl);
139 fill_tbl(p_num_records, x_headers.effective_date_tbl);
140 fill_tbl(p_num_records, x_headers.expiration_date_tbl);
141 fill_tbl(p_num_records, x_headers.po_release_id_tbl);
142 fill_tbl(p_num_records, x_headers.release_num_tbl);
143 fill_tbl(p_num_records, x_headers.release_date_tbl);
144 fill_tbl(p_num_records, x_headers.revised_date_tbl);
145 fill_tbl(p_num_records, x_headers.printed_date_tbl);
146 fill_tbl(p_num_records, x_headers.closed_date_tbl);
147 fill_tbl(p_num_records, x_headers.amount_agreed_tbl);
148 fill_tbl(p_num_records, x_headers.amount_limit_tbl);
149 fill_tbl(p_num_records, x_headers.firm_flag_tbl);
150 fill_tbl(p_num_records, x_headers.gl_encumbered_date_tbl);
151 fill_tbl(p_num_records, x_headers.gl_encumbered_period_tbl);
152 fill_tbl(p_num_records, x_headers.budget_account_id_tbl);
153 fill_tbl(p_num_records, x_headers.budget_account_tbl);
154 fill_tbl(p_num_records, x_headers.budget_account_segment1_tbl);
155 fill_tbl(p_num_records, x_headers.budget_account_segment2_tbl);
156 fill_tbl(p_num_records, x_headers.budget_account_segment3_tbl);
157 fill_tbl(p_num_records, x_headers.budget_account_segment4_tbl);
158 fill_tbl(p_num_records, x_headers.budget_account_segment5_tbl);
159 fill_tbl(p_num_records, x_headers.budget_account_segment6_tbl);
160 fill_tbl(p_num_records, x_headers.budget_account_segment7_tbl);
161 fill_tbl(p_num_records, x_headers.budget_account_segment8_tbl);
162 fill_tbl(p_num_records, x_headers.budget_account_segment9_tbl);
163 fill_tbl(p_num_records, x_headers.budget_account_segment10_tbl);
164 fill_tbl(p_num_records, x_headers.budget_account_segment11_tbl);
165 fill_tbl(p_num_records, x_headers.budget_account_segment12_tbl);
166 fill_tbl(p_num_records, x_headers.budget_account_segment13_tbl);
167 fill_tbl(p_num_records, x_headers.budget_account_segment14_tbl);
168 fill_tbl(p_num_records, x_headers.budget_account_segment15_tbl);
169 fill_tbl(p_num_records, x_headers.budget_account_segment16_tbl);
170 fill_tbl(p_num_records, x_headers.budget_account_segment17_tbl);
171 fill_tbl(p_num_records, x_headers.budget_account_segment18_tbl);
172 fill_tbl(p_num_records, x_headers.budget_account_segment19_tbl);
173 fill_tbl(p_num_records, x_headers.budget_account_segment20_tbl);
174 fill_tbl(p_num_records, x_headers.budget_account_segment21_tbl);
175 fill_tbl(p_num_records, x_headers.budget_account_segment22_tbl);
176 fill_tbl(p_num_records, x_headers.budget_account_segment23_tbl);
177 fill_tbl(p_num_records, x_headers.budget_account_segment24_tbl);
178 fill_tbl(p_num_records, x_headers.budget_account_segment25_tbl);
179 fill_tbl(p_num_records, x_headers.budget_account_segment26_tbl);
180 fill_tbl(p_num_records, x_headers.budget_account_segment27_tbl);
181 fill_tbl(p_num_records, x_headers.budget_account_segment28_tbl);
182 fill_tbl(p_num_records, x_headers.budget_account_segment29_tbl);
183 fill_tbl(p_num_records, x_headers.budget_account_segment30_tbl);
184 fill_tbl(p_num_records, x_headers.created_language_tbl);
185 fill_tbl(p_num_records, x_headers.style_id_tbl);
186 fill_tbl(p_num_records, x_headers.style_display_name_tbl);
187 fill_tbl(p_num_records, x_headers.global_agreement_flag_tbl);
188
189 -- standard who columns
190 fill_tbl(p_num_records, x_headers.last_update_date_tbl);
191 fill_tbl(p_num_records, x_headers.last_updated_by_tbl);
192 fill_tbl(p_num_records, x_headers.last_update_login_tbl);
193 fill_tbl(p_num_records, x_headers.creation_date_tbl);
194 fill_tbl(p_num_records, x_headers.created_by_tbl);
195 fill_tbl(p_num_records, x_headers.request_id_tbl);
196 fill_tbl(p_num_records, x_headers.program_application_id_tbl);
197 fill_tbl(p_num_records, x_headers.program_id_tbl);
198 fill_tbl(p_num_records, x_headers.program_update_date_tbl);
199
200 -- attributes not read from interface table but exist in txn table
201 fill_tbl(p_num_records, x_headers.status_lookup_code_tbl);
202 fill_tbl(p_num_records, x_headers.cancel_flag_tbl);
203 fill_tbl(p_num_records, x_headers.vendor_order_num_tbl);
204 fill_tbl(p_num_records, x_headers.quote_vendor_quote_num_tbl);
205 fill_tbl(p_num_records, x_headers.doc_creation_method_tbl);
206 fill_tbl(p_num_records, x_headers.quotation_class_code_tbl);
207 fill_tbl(p_num_records, x_headers.approved_flag_tbl);
208 fill_tbl(p_num_records, x_headers.tax_attribute_update_code_tbl);
209 fill_tbl(p_num_records, x_headers.po_dist_id_tbl);
210
211 -- attributes added for processing purpose
212 fill_tbl(p_num_records, x_headers.error_flag_tbl);
213
214 IF (PO_LOG.d_proc) THEN
215 PO_LOG.proc_end (d_module);
216 END IF;
217
218 EXCEPTION
219 WHEN OTHERS THEN
220 PO_MESSAGE_S.add_exc_msg
221 (
222 p_pkg_name => d_pkg_name,
223 p_procedure_name => d_api_name || '.' || d_position
224 );
225 RAISE;
226 END fill_all_headers_attr;
227
228
229 -----------------------------------------------------------------------
230 --Start of Comments
231 --Name: fill_all_lines_attr
232 --Function:
233 -- Initialize all the pl/sql tables in the record type. It also sets
234 -- the record count
235 --Parameters:
236 --IN:
237 -- p_num_records
238 -- Number of entries for each pl/sql tables in the record type
239 --IN OUT:
240 -- x_headers
241 -- Trecord of tables holding line information
242 --OUT:
243 --End of Comments
244 ------------------------------------------------------------------------
245 PROCEDURE fill_all_lines_attr
246 ( p_num_records IN NUMBER,
247 x_lines IN OUT NOCOPY lines_rec_type
248 ) IS
249
250 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_lines_attr';
251 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
252 d_position NUMBER;
253
254 BEGIN
255 d_position := 0;
256
257 IF (PO_LOG.d_proc) THEN
258 PO_LOG.proc_begin(d_module);
259 END IF;
260
261 -- set record count
262 x_lines.rec_count := p_num_records;
263
264 -- attributes read from line interface records
265 fill_tbl(p_num_records, x_lines.intf_line_id_tbl);
266 fill_tbl(p_num_records, x_lines.intf_header_id_tbl);
267 fill_tbl(p_num_records, x_lines.po_header_id_tbl);
268 fill_tbl(p_num_records, x_lines.po_line_id_tbl);
269 fill_tbl(p_num_records, x_lines.action_tbl);
270 fill_tbl(p_num_records, x_lines.document_num_tbl);
271 fill_tbl(p_num_records, x_lines.item_tbl);
272 fill_tbl(p_num_records, x_lines.vendor_product_num_tbl);
273 fill_tbl(p_num_records, x_lines.supplier_part_auxid_tbl);
274 fill_tbl(p_num_records, x_lines.item_id_tbl);
275 fill_tbl(p_num_records, x_lines.item_revision_tbl);
276 fill_tbl(p_num_records, x_lines.job_business_group_name_tbl);
277 fill_tbl(p_num_records, x_lines.job_business_group_id_tbl);
278 fill_tbl(p_num_records, x_lines.job_name_tbl);
279 fill_tbl(p_num_records, x_lines.job_id_tbl);
280 fill_tbl(p_num_records, x_lines.category_tbl);
281 fill_tbl(p_num_records, x_lines.category_id_tbl);
282 fill_tbl(p_num_records, x_lines.ip_category_tbl);
283 fill_tbl(p_num_records, x_lines.ip_category_id_tbl);
284 fill_tbl(p_num_records, x_lines.uom_code_tbl);
285 fill_tbl(p_num_records, x_lines.unit_of_measure_tbl);
286 fill_tbl(p_num_records, x_lines.line_type_tbl);
287 fill_tbl(p_num_records, x_lines.line_type_id_tbl);
288 fill_tbl(p_num_records, x_lines.un_number_tbl);
289 fill_tbl(p_num_records, x_lines.un_number_id_tbl);
290 fill_tbl(p_num_records, x_lines.hazard_class_tbl);
291 fill_tbl(p_num_records, x_lines.hazard_class_id_tbl);
292 fill_tbl(p_num_records, x_lines.template_name_tbl);
293 fill_tbl(p_num_records, x_lines.template_id_tbl);
294 fill_tbl(p_num_records, x_lines.item_desc_tbl);
295 fill_tbl(p_num_records, x_lines.unit_price_tbl);
296 fill_tbl(p_num_records, x_lines.base_unit_price_tbl);
297 fill_tbl(p_num_records, x_lines.from_header_id_tbl);
298 fill_tbl(p_num_records, x_lines.from_line_id_tbl);
299 fill_tbl(p_num_records, x_lines.list_price_per_unit_tbl);
300 fill_tbl(p_num_records, x_lines.market_price_tbl);
301 fill_tbl(p_num_records, x_lines.capital_expense_flag_tbl);
302 fill_tbl(p_num_records, x_lines.min_release_amount_tbl);
303 fill_tbl(p_num_records, x_lines.allow_price_override_flag_tbl);
304 fill_tbl(p_num_records, x_lines.price_type_tbl);
305 fill_tbl(p_num_records, x_lines.price_break_lookup_code_tbl);
306 fill_tbl(p_num_records, x_lines.closed_code_tbl);
307 fill_tbl(p_num_records, x_lines.quantity_tbl);
308 fill_tbl(p_num_records, x_lines.line_num_tbl);
309 fill_tbl(p_num_records, x_lines.shipment_num_tbl);
310 fill_tbl(p_num_records, x_lines.price_chg_accept_flag_tbl);
311 fill_tbl(p_num_records, x_lines.effective_date_tbl);
312 fill_tbl(p_num_records, x_lines.expiration_date_tbl);
313 fill_tbl(p_num_records, x_lines.attribute14_tbl);
314 fill_tbl(p_num_records, x_lines.price_update_tolerance_tbl);
315 fill_tbl(p_num_records, x_lines.line_loc_populated_flag_tbl);
316 fill_tbl(p_num_records, x_lines.negotiated_flag_tbl);
317 fill_tbl(p_num_records, x_lines.amount_tbl);
318 fill_tbl(p_num_records, x_lines.contractor_last_name_tbl);
319 fill_tbl(p_num_records, x_lines.contractor_first_name_tbl);
320 fill_tbl(p_num_records, x_lines.over_tolerance_err_flag_tbl);
321 fill_tbl(p_num_records, x_lines.not_to_exceed_price_tbl);
322 fill_tbl(p_num_records, x_lines.po_release_id_tbl);
323 fill_tbl(p_num_records, x_lines.release_num_tbl);
324 fill_tbl(p_num_records, x_lines.source_shipment_id_tbl);
325 fill_tbl(p_num_records, x_lines.contract_num_tbl);
326 fill_tbl(p_num_records, x_lines.contract_id_tbl);
327 fill_tbl(p_num_records, x_lines.type_1099_tbl);
328 fill_tbl(p_num_records, x_lines.closed_by_tbl);
329 fill_tbl(p_num_records, x_lines.closed_date_tbl);
330 fill_tbl(p_num_records, x_lines.committed_amount_tbl);
331 fill_tbl(p_num_records, x_lines.qty_rcv_exception_code_tbl);
332 fill_tbl(p_num_records, x_lines.weight_uom_code_tbl);
333 fill_tbl(p_num_records, x_lines.volume_uom_code_tbl);
334 fill_tbl(p_num_records, x_lines.secondary_unit_of_meas_tbl);
335 fill_tbl(p_num_records, x_lines.secondary_quantity_tbl);
336 fill_tbl(p_num_records, x_lines.preferred_grade_tbl);
337 fill_tbl(p_num_records, x_lines.process_code_tbl);
338 fill_tbl(p_num_records, x_lines.parent_interface_line_id_tbl); -- bug5149827
339 fill_tbl(p_num_records, x_lines.file_line_language_tbl); -- bug 5489942
340
341 -- standard who columns
342 fill_tbl(p_num_records, x_lines.last_updated_by_tbl);
343 fill_tbl(p_num_records, x_lines.last_update_date_tbl);
344 fill_tbl(p_num_records, x_lines.last_update_login_tbl);
345 fill_tbl(p_num_records, x_lines.creation_date_tbl);
346 fill_tbl(p_num_records, x_lines.created_by_tbl);
347 fill_tbl(p_num_records, x_lines.request_id_tbl);
348 fill_tbl(p_num_records, x_lines.program_application_id_tbl);
349 fill_tbl(p_num_records, x_lines.program_id_tbl);
350 fill_tbl(p_num_records, x_lines.program_update_date_tbl);
351
352 -- attributes that are in line txn table but not in interface table
353 fill_tbl(p_num_records, x_lines.order_type_lookup_code_tbl);
354 fill_tbl(p_num_records, x_lines.purchase_basis_tbl);
355 fill_tbl(p_num_records, x_lines.matching_basis_tbl);
356 fill_tbl(p_num_records, x_lines.unordered_flag_tbl);
357 fill_tbl(p_num_records, x_lines.cancel_flag_tbl);
358 fill_tbl(p_num_records, x_lines.quantity_committed_tbl);
359 fill_tbl(p_num_records, x_lines.tax_attribute_update_code_tbl);
360
361 -- attributes read from the header interface record
362 fill_tbl(p_num_records, x_lines.draft_id_tbl);
363 fill_tbl(p_num_records, x_lines.hd_action_tbl);
364 fill_tbl(p_num_records, x_lines.hd_po_header_id_tbl);
365 fill_tbl(p_num_records, x_lines.hd_vendor_id_tbl);
366 fill_tbl(p_num_records, x_lines.hd_min_release_amount_tbl);
367 fill_tbl(p_num_records, x_lines.hd_start_date_tbl);
368 fill_tbl(p_num_records, x_lines.hd_end_date_tbl);
369 fill_tbl(p_num_records, x_lines.hd_global_agreement_flag_tbl);
370 fill_tbl(p_num_records, x_lines.hd_currency_code_tbl);
371 fill_tbl(p_num_records, x_lines.hd_created_language_tbl);
372 fill_tbl(p_num_records, x_lines.hd_style_id_tbl);
373 fill_tbl(p_num_records, x_lines.hd_rate_type_tbl);
374
375 -- attributes added for location processing
376 fill_tbl(p_num_records, x_lines.create_line_loc_tbl);
377
378 -- attributes added for uniqueness checking
379 fill_tbl(p_num_records, x_lines.origin_line_num_tbl);
380 fill_tbl(p_num_records, x_lines.group_num_tbl);
381 fill_tbl(p_num_records, x_lines.match_line_found_tbl);
382 fill_tbl(p_num_records, x_lines.line_num_unique_tbl);
383
384 -- attributes added for processing purpose
385 fill_tbl(p_num_records, x_lines.error_flag_tbl);
386 fill_tbl(p_num_records, x_lines.need_to_reject_flag_tbl);
387 fill_tbl(p_num_records, x_lines.allow_desc_update_flag_tbl);
388
389
390 IF (PO_LOG.d_proc) THEN
391 PO_LOG.proc_end (d_module);
392 END IF;
393
394 EXCEPTION
395 WHEN OTHERS THEN
396 PO_MESSAGE_S.add_exc_msg
397 (
398 p_pkg_name => d_pkg_name,
399 p_procedure_name => d_api_name || '.' || d_position
400 );
401 RAISE;
402 END fill_all_lines_attr;
403
404
405 -----------------------------------------------------------------------
406 --Start of Comments
407 --Name: fill_all_line_locs_attr
408 --Function:
409 -- Initialize all the pl/sql tables in the record type. It also sets
410 -- the record count
411 --Parameters:
412 --IN:
413 -- p_num_records
414 -- Number of entries for each pl/sql tables in the record type
415 --IN OUT:
416 -- x_headers
417 -- Trecord of tables holding line location information
418 --OUT:
419 --End of Comments
420 ------------------------------------------------------------------------
421 PROCEDURE fill_all_line_locs_attr
422 ( p_num_records IN NUMBER,
423 x_line_locs IN OUT NOCOPY line_locs_rec_type
424 ) IS
425
426 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_line_locs_attr';
427 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
428 d_position NUMBER;
429
430 BEGIN
431 d_position := 0;
432
433 IF (PO_LOG.d_proc) THEN
434 PO_LOG.proc_begin(d_module);
435 END IF;
436
437 -- set record count
438 x_line_locs.rec_count := p_num_records;
439
440 fill_tbl(p_num_records, x_line_locs.intf_line_loc_id_tbl);
441 fill_tbl(p_num_records, x_line_locs.intf_line_id_tbl);
442 fill_tbl(p_num_records, x_line_locs.intf_header_id_tbl);
443 fill_tbl(p_num_records, x_line_locs.shipment_num_tbl);
444 fill_tbl(p_num_records, x_line_locs.shipment_type_tbl);
445 fill_tbl(p_num_records, x_line_locs.line_loc_id_tbl);
446 fill_tbl(p_num_records, x_line_locs.ship_to_org_code_tbl);
447 fill_tbl(p_num_records, x_line_locs.ship_to_org_id_tbl);
448 fill_tbl(p_num_records, x_line_locs.ship_to_loc_tbl);
449 fill_tbl(p_num_records, x_line_locs.ship_to_loc_id_tbl);
450 fill_tbl(p_num_records, x_line_locs.payment_terms_tbl);
451 fill_tbl(p_num_records, x_line_locs.terms_id_tbl);
452 fill_tbl(p_num_records, x_line_locs.receiving_routing_tbl);
453 fill_tbl(p_num_records, x_line_locs.receiving_routing_id_tbl);
454 fill_tbl(p_num_records, x_line_locs.inspection_required_flag_tbl);
455 fill_tbl(p_num_records, x_line_locs.receipt_required_flag_tbl);
456 fill_tbl(p_num_records, x_line_locs.price_override_tbl);
457 fill_tbl(p_num_records, x_line_locs.qty_rcv_tolerance_tbl);
458 fill_tbl(p_num_records, x_line_locs.qty_rcv_exception_code_tbl);
459 fill_tbl(p_num_records, x_line_locs.enforce_ship_to_loc_code_tbl);
460 fill_tbl(p_num_records, x_line_locs.allow_sub_receipts_flag_tbl);
461 fill_tbl(p_num_records, x_line_locs.days_early_receipt_allowed_tbl);
462 fill_tbl(p_num_records, x_line_locs.days_late_receipt_allowed_tbl);
463 fill_tbl(p_num_records, x_line_locs.receipt_days_except_code_tbl);
464 fill_tbl(p_num_records, x_line_locs.invoice_close_tolerance_tbl);
465 fill_tbl(p_num_records, x_line_locs.receive_close_tolerance_tbl);
466 fill_tbl(p_num_records, x_line_locs.accrue_on_receipt_flag_tbl);
467 fill_tbl(p_num_records, x_line_locs.firm_flag_tbl);
468 fill_tbl(p_num_records, x_line_locs.fob_tbl);
469 fill_tbl(p_num_records, x_line_locs.freight_carrier_tbl);
470 fill_tbl(p_num_records, x_line_locs.freight_term_tbl);
471 fill_tbl(p_num_records, x_line_locs.need_by_date_tbl);
472 fill_tbl(p_num_records, x_line_locs.promised_date_tbl);
473 fill_tbl(p_num_records, x_line_locs.quantity_tbl);
474 fill_tbl(p_num_records, x_line_locs.start_date_tbl);
475 fill_tbl(p_num_records, x_line_locs.end_date_tbl);
476 fill_tbl(p_num_records, x_line_locs.note_to_receiver_tbl);
477 fill_tbl(p_num_records, x_line_locs.price_discount_tbl);
478 fill_tbl(p_num_records, x_line_locs.secondary_unit_of_meas_tbl);
479 fill_tbl(p_num_records, x_line_locs.secondary_quantity_tbl);
480 fill_tbl(p_num_records, x_line_locs.preferred_grade_tbl);
481 fill_tbl(p_num_records, x_line_locs.tax_code_id_tbl);
482 fill_tbl(p_num_records, x_line_locs.tax_name_tbl);
483 fill_tbl(p_num_records, x_line_locs.taxable_flag_tbl);
484 fill_tbl(p_num_records, x_line_locs.unit_of_measure_tbl);
485 fill_tbl(p_num_records, x_line_locs.value_basis_tbl);
486 fill_tbl(p_num_records, x_line_locs.matching_basis_tbl);
487
488 -- attributes in txn table but not in interface table
489 fill_tbl(p_num_records, x_line_locs.match_option_tbl);
490 fill_tbl(p_num_records, x_line_locs.txn_flow_header_id_tbl);
491 fill_tbl(p_num_records, x_line_locs.outsourced_assembly_tbl);
492 fill_tbl(p_num_records, x_line_locs.tax_attribute_update_code_tbl);
493
494 -- standard who columns
495 fill_tbl(p_num_records, x_line_locs.last_updated_by_tbl);
496 fill_tbl(p_num_records, x_line_locs.last_update_date_tbl);
497 fill_tbl(p_num_records, x_line_locs.last_update_login_tbl);
498 fill_tbl(p_num_records, x_line_locs.creation_date_tbl);
499 fill_tbl(p_num_records, x_line_locs.created_by_tbl);
500 fill_tbl(p_num_records, x_line_locs.request_id_tbl);
501 fill_tbl(p_num_records, x_line_locs.program_application_id_tbl);
502 fill_tbl(p_num_records, x_line_locs.program_id_tbl);
503 fill_tbl(p_num_records, x_line_locs.program_update_date_tbl);
504
505 -- attributes read from the line interface record
506 fill_tbl(p_num_records, x_line_locs.ln_po_line_id_tbl);
507 fill_tbl(p_num_records, x_line_locs.ln_item_id_tbl);
508 fill_tbl(p_num_records, x_line_locs.ln_order_type_lookup_code_tbl);
509 fill_tbl(p_num_records, x_line_locs.ln_action_tbl);
510 fill_tbl(p_num_records, x_line_locs.ln_unit_price_tbl);
511 fill_tbl(p_num_records, x_line_locs.ln_line_type_id_tbl);
512 fill_tbl(p_num_records, x_line_locs.ln_unit_of_measure_tbl);
513 fill_tbl(p_num_records, x_line_locs.ln_closed_code_tbl);
514 fill_tbl(p_num_records, x_line_locs.ln_purchase_basis_tbl);
515 fill_tbl(p_num_records, x_line_locs.ln_matching_basis_tbl);
516 fill_tbl(p_num_records, x_line_locs.ln_item_revision_tbl);
517 fill_tbl(p_num_records, x_line_locs.ln_expiration_date_tbl);
518 fill_tbl(p_num_records, x_line_locs.ln_government_context_tbl);
519 fill_tbl(p_num_records, x_line_locs.ln_closed_reason_tbl);
520 fill_tbl(p_num_records, x_line_locs.ln_closed_date_tbl);
521 fill_tbl(p_num_records, x_line_locs.ln_closed_by_tbl);
522 fill_tbl(p_num_records, x_line_locs.ln_from_header_id_tbl);
523 fill_tbl(p_num_records, x_line_locs.ln_from_line_id_tbl);
524 fill_tbl(p_num_records, x_line_locs.ln_price_break_lookup_code_tbl);
525
526 -- attributes read from the header interface record
527 fill_tbl(p_num_records, x_line_locs.draft_id_tbl);
528 fill_tbl(p_num_records, x_line_locs.hd_po_header_id_tbl);
529 fill_tbl(p_num_records, x_line_locs.hd_ship_to_loc_id_tbl);
530 fill_tbl(p_num_records, x_line_locs.hd_vendor_id_tbl);
531 fill_tbl(p_num_records, x_line_locs.hd_vendor_site_id_tbl);
532 fill_tbl(p_num_records, x_line_locs.hd_terms_id_tbl);
533 fill_tbl(p_num_records, x_line_locs.hd_fob_tbl);
534 fill_tbl(p_num_records, x_line_locs.hd_freight_carrier_tbl);
535 fill_tbl(p_num_records, x_line_locs.hd_freight_term_tbl);
536 fill_tbl(p_num_records, x_line_locs.hd_approved_flag_tbl);
537 fill_tbl(p_num_records, x_line_locs.hd_effective_date_tbl);
538 fill_tbl(p_num_records, x_line_locs.hd_expiration_date_tbl);
539 fill_tbl(p_num_records, x_line_locs.hd_style_id_tbl);
540
541 -- attributes added for item processing(read from line)
542 --ln_qty_rcv_tolerance_tbl);
543 fill_tbl(p_num_records, x_line_locs.ln_unit_weight_tbl);
544 fill_tbl(p_num_records, x_line_locs.ln_unit_volume_tbl);
545 fill_tbl(p_num_records, x_line_locs.ln_item_attribute_category_tbl);
546 fill_tbl(p_num_records, x_line_locs.ln_item_attribute1_tbl);
547 fill_tbl(p_num_records, x_line_locs.ln_item_attribute2_tbl);
548 fill_tbl(p_num_records, x_line_locs.ln_item_attribute3_tbl);
549 fill_tbl(p_num_records, x_line_locs.ln_item_attribute4_tbl);
550 fill_tbl(p_num_records, x_line_locs.ln_item_attribute5_tbl);
551 fill_tbl(p_num_records, x_line_locs.ln_item_attribute6_tbl);
552 fill_tbl(p_num_records, x_line_locs.ln_item_attribute7_tbl);
553 fill_tbl(p_num_records, x_line_locs.ln_item_attribute8_tbl);
554 fill_tbl(p_num_records, x_line_locs.ln_item_attribute9_tbl);
555 fill_tbl(p_num_records, x_line_locs.ln_item_attribute10_tbl);
556 fill_tbl(p_num_records, x_line_locs.ln_item_attribute11_tbl);
557 fill_tbl(p_num_records, x_line_locs.ln_item_attribute12_tbl);
558 fill_tbl(p_num_records, x_line_locs.ln_item_attribute13_tbl);
559 fill_tbl(p_num_records, x_line_locs.ln_item_attribute14_tbl);
560 fill_tbl(p_num_records, x_line_locs.ln_item_attribute15_tbl);
561 fill_tbl(p_num_records, x_line_locs.ln_item_tbl);
562 fill_tbl(p_num_records, x_line_locs.ln_item_desc_tbl);
563 fill_tbl(p_num_records, x_line_locs.ln_list_price_per_unit_tbl);
564 fill_tbl(p_num_records, x_line_locs.ln_market_price_tbl);
565 fill_tbl(p_num_records, x_line_locs.ln_un_number_id_tbl);
566 fill_tbl(p_num_records, x_line_locs.ln_hazard_class_id_tbl);
567 fill_tbl(p_num_records, x_line_locs.ln_qty_rcv_exception_code_tbl);
568 fill_tbl(p_num_records, x_line_locs.ln_weight_uom_code_tbl);
569 fill_tbl(p_num_records, x_line_locs.ln_volume_uom_code_tbl);
570 fill_tbl(p_num_records, x_line_locs.ln_template_id_tbl);
571 fill_tbl(p_num_records, x_line_locs.ln_category_id_tbl);
572 fill_tbl(p_num_records, x_line_locs.line_ref_index_tbl);
573
574 -- attributes added for processing purpose
575 fill_tbl(p_num_records, x_line_locs.shipment_num_unique_tbl);
576 fill_tbl(p_num_records, x_line_locs.error_flag_tbl);
577
578 IF (PO_LOG.d_proc) THEN
579 PO_LOG.proc_end (d_module);
580 END IF;
581
582 EXCEPTION
583 WHEN OTHERS THEN
584 PO_MESSAGE_S.add_exc_msg
585 (
586 p_pkg_name => d_pkg_name,
587 p_procedure_name => d_api_name || '.' || d_position
588 );
589 RAISE;
590 END fill_all_line_locs_attr;
591
592 -----------------------------------------------------------------------
593 --Start of Comments
594 --Name: fill_all_dists_attr
595 --Function:
596 -- Initialize all the pl/sql tables in the record type. It also sets
597 -- the record count
598 --Parameters:
599 --IN:
600 -- p_num_records
601 -- Number of entries for each pl/sql tables in the record type
602 --IN OUT:
603 -- x_headers
604 -- Trecord of tables holding distribution information
605 --OUT:
606 --End of Comments
607 ------------------------------------------------------------------------
608 PROCEDURE fill_all_dists_attr
609 ( p_num_records IN NUMBER,
610 x_dists IN OUT NOCOPY distributions_rec_type
611 ) IS
612
613 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_dists_attr';
614 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
615 d_position NUMBER;
616
617 BEGIN
618 d_position := 0;
619
620 IF (PO_LOG.d_proc) THEN
621 PO_LOG.proc_begin(d_module);
622 END IF;
623
624 -- set record count
625 x_dists.rec_count := p_num_records;
626
627 fill_tbl(p_num_records, x_dists.intf_dist_id_tbl);
628 fill_tbl(p_num_records, x_dists.intf_header_id_tbl);
629 fill_tbl(p_num_records, x_dists.intf_line_id_tbl);
630 fill_tbl(p_num_records, x_dists.intf_line_loc_id_tbl);
631 fill_tbl(p_num_records, x_dists.po_dist_id_tbl);
632 fill_tbl(p_num_records, x_dists.dist_num_tbl);
633 fill_tbl(p_num_records, x_dists.deliver_to_loc_tbl);
634 fill_tbl(p_num_records, x_dists.deliver_to_loc_id_tbl);
635 fill_tbl(p_num_records, x_dists.deliver_to_person_name_tbl);
636 fill_tbl(p_num_records, x_dists.deliver_to_person_id_tbl);
637 fill_tbl(p_num_records, x_dists.dest_type_tbl);
638 fill_tbl(p_num_records, x_dists.dest_type_code_tbl);
639 fill_tbl(p_num_records, x_dists.dest_org_tbl);
640 fill_tbl(p_num_records, x_dists.dest_org_id_tbl);
641 fill_tbl(p_num_records, x_dists.wip_entity_tbl);
642 fill_tbl(p_num_records, x_dists.wip_entity_id_tbl);
643 fill_tbl(p_num_records, x_dists.wip_line_code_tbl);
644 fill_tbl(p_num_records, x_dists.wip_line_id_tbl);
645 fill_tbl(p_num_records, x_dists.bom_resource_code_tbl);
646 fill_tbl(p_num_records, x_dists.bom_resource_id_tbl);
647 fill_tbl(p_num_records, x_dists.charge_account_tbl);
648 fill_tbl(p_num_records, x_dists.charge_account_id_tbl);
649 fill_tbl(p_num_records, x_dists.dest_charge_account_id_tbl);
650 fill_tbl(p_num_records, x_dists.project_accounting_context_tbl);
651 fill_tbl(p_num_records, x_dists.award_num_tbl);
652 fill_tbl(p_num_records, x_dists.award_id_tbl);
653 fill_tbl(p_num_records, x_dists.project_tbl);
654 fill_tbl(p_num_records, x_dists.project_id_tbl);
655 fill_tbl(p_num_records, x_dists.task_tbl);
656 fill_tbl(p_num_records, x_dists.task_id_tbl);
657 fill_tbl(p_num_records, x_dists.expenditure_tbl);
658 fill_tbl(p_num_records, x_dists.expenditure_type_tbl);
659 fill_tbl(p_num_records, x_dists.expenditure_org_tbl);
660 fill_tbl(p_num_records, x_dists.expenditure_org_id_tbl);
661 fill_tbl(p_num_records, x_dists.expenditure_item_date_tbl);
662 fill_tbl(p_num_records, x_dists.end_item_unit_number_tbl);
663 fill_tbl(p_num_records, x_dists.dest_context_tbl);
664 fill_tbl(p_num_records, x_dists.gl_encumbered_date_tbl);
665 fill_tbl(p_num_records, x_dists.gl_encumbered_period_tbl);
666 fill_tbl(p_num_records, x_dists.variance_account_id_tbl);
667 fill_tbl(p_num_records, x_dists.accrual_account_id_tbl);
668 fill_tbl(p_num_records, x_dists.budget_account_id_tbl);
669 fill_tbl(p_num_records, x_dists.dest_variance_account_id_tbl);
670 fill_tbl(p_num_records, x_dists.dest_subinventory_tbl);
671 fill_tbl(p_num_records, x_dists.amount_ordered_tbl);
672 fill_tbl(p_num_records, x_dists.quantity_ordered_tbl);
673 fill_tbl(p_num_records, x_dists.wip_rep_schedule_id_tbl);
674 fill_tbl(p_num_records, x_dists.wip_operation_seq_num_tbl);
675 fill_tbl(p_num_records, x_dists.wip_resource_seq_num_tbl);
676 fill_tbl(p_num_records, x_dists.prevent_encumbrance_flag_tbl);
677 fill_tbl(p_num_records, x_dists.recovery_rate_tbl);
678 fill_tbl(p_num_records, x_dists.tax_recovery_override_flag_tbl);
679 fill_tbl(p_num_records, x_dists.account_segment1_tbl);
680 fill_tbl(p_num_records, x_dists.account_segment2_tbl);
681 fill_tbl(p_num_records, x_dists.account_segment3_tbl);
682 fill_tbl(p_num_records, x_dists.account_segment4_tbl);
683 fill_tbl(p_num_records, x_dists.account_segment5_tbl);
684 fill_tbl(p_num_records, x_dists.account_segment6_tbl);
685 fill_tbl(p_num_records, x_dists.account_segment7_tbl);
686 fill_tbl(p_num_records, x_dists.account_segment8_tbl);
687 fill_tbl(p_num_records, x_dists.account_segment9_tbl);
688 fill_tbl(p_num_records, x_dists.account_segment10_tbl);
689 fill_tbl(p_num_records, x_dists.account_segment11_tbl);
690 fill_tbl(p_num_records, x_dists.account_segment12_tbl);
691 fill_tbl(p_num_records, x_dists.account_segment13_tbl);
692 fill_tbl(p_num_records, x_dists.account_segment14_tbl);
693 fill_tbl(p_num_records, x_dists.account_segment15_tbl);
694 fill_tbl(p_num_records, x_dists.account_segment16_tbl);
695 fill_tbl(p_num_records, x_dists.account_segment17_tbl);
696 fill_tbl(p_num_records, x_dists.account_segment18_tbl);
697 fill_tbl(p_num_records, x_dists.account_segment19_tbl);
698 fill_tbl(p_num_records, x_dists.account_segment20_tbl);
699 fill_tbl(p_num_records, x_dists.account_segment21_tbl);
700 fill_tbl(p_num_records, x_dists.account_segment22_tbl);
701 fill_tbl(p_num_records, x_dists.account_segment23_tbl);
702 fill_tbl(p_num_records, x_dists.account_segment24_tbl);
703 fill_tbl(p_num_records, x_dists.account_segment25_tbl);
704 fill_tbl(p_num_records, x_dists.account_segment26_tbl);
705 fill_tbl(p_num_records, x_dists.account_segment27_tbl);
706 fill_tbl(p_num_records, x_dists.account_segment28_tbl);
707 fill_tbl(p_num_records, x_dists.account_segment29_tbl);
708 fill_tbl(p_num_records, x_dists.account_segment30_tbl);
709 fill_tbl(p_num_records, x_dists.dist_attribute1_tbl);
710 fill_tbl(p_num_records, x_dists.dist_attribute2_tbl);
711 fill_tbl(p_num_records, x_dists.dist_attribute3_tbl);
712 fill_tbl(p_num_records, x_dists.dist_attribute4_tbl);
713 fill_tbl(p_num_records, x_dists.dist_attribute5_tbl);
714 fill_tbl(p_num_records, x_dists.dist_attribute6_tbl);
715 fill_tbl(p_num_records, x_dists.dist_attribute7_tbl);
716 fill_tbl(p_num_records, x_dists.dist_attribute8_tbl);
717 fill_tbl(p_num_records, x_dists.dist_attribute9_tbl);
718 fill_tbl(p_num_records, x_dists.dist_attribute10_tbl);
719 fill_tbl(p_num_records, x_dists.dist_attribute11_tbl);
720 fill_tbl(p_num_records, x_dists.dist_attribute12_tbl);
721 fill_tbl(p_num_records, x_dists.dist_attribute13_tbl);
722 fill_tbl(p_num_records, x_dists.dist_attribute14_tbl);
723 fill_tbl(p_num_records, x_dists.dist_attribute15_tbl);
724
725 -- standard who columns
726 fill_tbl(p_num_records, x_dists.last_updated_by_tbl);
727 fill_tbl(p_num_records, x_dists.last_update_date_tbl);
728 fill_tbl(p_num_records, x_dists.last_update_login_tbl);
729 fill_tbl(p_num_records, x_dists.creation_date_tbl);
730 fill_tbl(p_num_records, x_dists.created_by_tbl);
731 fill_tbl(p_num_records, x_dists.request_id_tbl);
732 fill_tbl(p_num_records, x_dists.program_application_id_tbl);
733 fill_tbl(p_num_records, x_dists.program_id_tbl);
734 fill_tbl(p_num_records, x_dists.program_update_date_tbl);
735
736 -- attributes exist in txn table but not in interface table
737 fill_tbl(p_num_records, x_dists.tax_attribute_update_code_tbl);
738 fill_tbl(p_num_records, x_dists.award_set_id_tbl); -- bug5201306
739
740 -- attributes read from line location record
741 fill_tbl(p_num_records, x_dists.loc_ship_to_org_id_tbl);
742 fill_tbl(p_num_records, x_dists.loc_line_loc_id_tbl);
743 fill_tbl(p_num_records, x_dists.loc_shipment_type_tbl);
744 fill_tbl(p_num_records, x_dists.loc_txn_flow_header_id_tbl);
745 fill_tbl(p_num_records, x_dists.loc_accrue_on_receipt_flag_tbl);
746 fill_tbl(p_num_records, x_dists.loc_need_by_date_tbl);
747 fill_tbl(p_num_records, x_dists.loc_promised_date_tbl);
748 fill_tbl(p_num_records, x_dists.loc_price_override_tbl);
749 fill_tbl(p_num_records, x_dists.loc_outsourced_assembly_tbl);
750 fill_tbl(p_num_records, x_dists.loc_attribute1_tbl);
751 fill_tbl(p_num_records, x_dists.loc_attribute2_tbl);
752 fill_tbl(p_num_records, x_dists.loc_attribute3_tbl);
753 fill_tbl(p_num_records, x_dists.loc_attribute4_tbl);
754 fill_tbl(p_num_records, x_dists.loc_attribute5_tbl);
755 fill_tbl(p_num_records, x_dists.loc_attribute6_tbl);
756 fill_tbl(p_num_records, x_dists.loc_attribute7_tbl);
757 fill_tbl(p_num_records, x_dists.loc_attribute8_tbl);
758 fill_tbl(p_num_records, x_dists.loc_attribute9_tbl);
759 fill_tbl(p_num_records, x_dists.loc_attribute10_tbl);
760 fill_tbl(p_num_records, x_dists.loc_attribute11_tbl);
761 fill_tbl(p_num_records, x_dists.loc_attribute12_tbl);
762 fill_tbl(p_num_records, x_dists.loc_attribute13_tbl);
763 fill_tbl(p_num_records, x_dists.loc_attribute14_tbl);
764 fill_tbl(p_num_records, x_dists.loc_attribute15_tbl);
765
766 -- attributes read from line record
767 fill_tbl(p_num_records, x_dists.ln_order_type_lookup_code_tbl);
768 fill_tbl(p_num_records, x_dists.ln_purchase_basis_tbl);
769 fill_tbl(p_num_records, x_dists.ln_item_id_tbl);
770 fill_tbl(p_num_records, x_dists.ln_category_id_tbl);
771 fill_tbl(p_num_records, x_dists.ln_line_type_id_tbl);
772 fill_tbl(p_num_records, x_dists.ln_po_line_id_tbl);
773 fill_tbl(p_num_records, x_dists.ln_attribute1_tbl);
774 fill_tbl(p_num_records, x_dists.ln_attribute2_tbl);
775 fill_tbl(p_num_records, x_dists.ln_attribute3_tbl);
776 fill_tbl(p_num_records, x_dists.ln_attribute4_tbl);
777 fill_tbl(p_num_records, x_dists.ln_attribute5_tbl);
778 fill_tbl(p_num_records, x_dists.ln_attribute6_tbl);
779 fill_tbl(p_num_records, x_dists.ln_attribute7_tbl);
780 fill_tbl(p_num_records, x_dists.ln_attribute8_tbl);
781 fill_tbl(p_num_records, x_dists.ln_attribute9_tbl);
782 fill_tbl(p_num_records, x_dists.ln_attribute10_tbl);
783 fill_tbl(p_num_records, x_dists.ln_attribute11_tbl);
784 fill_tbl(p_num_records, x_dists.ln_attribute12_tbl);
785 fill_tbl(p_num_records, x_dists.ln_attribute13_tbl);
786 fill_tbl(p_num_records, x_dists.ln_attribute14_tbl);
787 fill_tbl(p_num_records, x_dists.ln_attribute15_tbl);
788
789 -- attributes read from header record
790 fill_tbl(p_num_records, x_dists.draft_id_tbl);
791 fill_tbl(p_num_records, x_dists.hd_agent_id_tbl);
792 fill_tbl(p_num_records, x_dists.hd_po_header_id_tbl);
793 fill_tbl(p_num_records, x_dists.hd_rate_date_tbl);
794 fill_tbl(p_num_records, x_dists.hd_rate_tbl);
795 fill_tbl(p_num_records, x_dists.hd_type_lookup_code_tbl);
796 fill_tbl(p_num_records, x_dists.hd_vendor_id_tbl);
797 fill_tbl(p_num_records, x_dists.hd_attribute1_tbl);
798 fill_tbl(p_num_records, x_dists.hd_attribute2_tbl);
799 fill_tbl(p_num_records, x_dists.hd_attribute3_tbl);
800 fill_tbl(p_num_records, x_dists.hd_attribute4_tbl);
801 fill_tbl(p_num_records, x_dists.hd_attribute5_tbl);
802 fill_tbl(p_num_records, x_dists.hd_attribute6_tbl);
803 fill_tbl(p_num_records, x_dists.hd_attribute7_tbl);
804 fill_tbl(p_num_records, x_dists.hd_attribute8_tbl);
805 fill_tbl(p_num_records, x_dists.hd_attribute9_tbl);
806 fill_tbl(p_num_records, x_dists.hd_attribute10_tbl);
807 fill_tbl(p_num_records, x_dists.hd_attribute11_tbl);
808 fill_tbl(p_num_records, x_dists.hd_attribute12_tbl);
809 fill_tbl(p_num_records, x_dists.hd_attribute13_tbl);
810 fill_tbl(p_num_records, x_dists.hd_attribute14_tbl);
811 fill_tbl(p_num_records, x_dists.hd_attribute15_tbl);
812
813 -- attributes added for processing
814 fill_tbl(p_num_records, x_dists.ship_to_ou_id_tbl);
815 fill_tbl(p_num_records, x_dists.ship_to_ou_coa_id_tbl);
816 fill_tbl(p_num_records, x_dists.item_status_tbl);
817 fill_tbl(p_num_records, x_dists.gms_txn_required_flag_tbl);
818 fill_tbl(p_num_records, x_dists.dist_num_unique_tbl);
819 fill_tbl(p_num_records, x_dists.error_flag_tbl);
820
821
822 IF (PO_LOG.d_proc) THEN
823 PO_LOG.proc_end (d_module);
824 END IF;
825
826
827 EXCEPTION
828 WHEN OTHERS THEN
829 PO_MESSAGE_S.add_exc_msg
830 (
831 p_pkg_name => d_pkg_name,
832 p_procedure_name => d_api_name || '.' || d_position
833 );
834 RAISE;
835 END fill_all_dists_attr;
836
837 -----------------------------------------------------------------------
838 --Start of Comments
839 --Name: fill_all_price_diffs_attr
840 --Function:
841 -- Initialize all the pl/sql tables in the record type. It also sets
842 -- the record count
843 --Parameters:
844 --IN:
845 -- p_num_records
846 -- Number of entries for each pl/sql tables in the record type
847 --IN OUT:
848 -- x_headers
849 -- Trecord of tables holding price differential information
850 --OUT:
851 --End of Comments
852 ------------------------------------------------------------------------
853 PROCEDURE fill_all_price_diffs_attr
854 ( p_num_records IN NUMBER,
855 x_price_diffs IN OUT NOCOPY price_diffs_rec_type
856 ) IS
857
858 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_price_diffs_attr';
859 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
860 d_position NUMBER;
861
862 BEGIN
863 d_position := 0;
864
865 IF (PO_LOG.d_proc) THEN
866 PO_LOG.proc_begin(d_module);
867 END IF;
868
869 -- set record count
870 x_price_diffs.rec_count := p_num_records;
871
872 fill_tbl(p_num_records, x_price_diffs.intf_price_diff_id_tbl);
873 fill_tbl(p_num_records, x_price_diffs.intf_line_id_tbl); -- bug 5215781
874 fill_tbl(p_num_records, x_price_diffs.intf_header_id_tbl); -- bug 5215781
875 fill_tbl(p_num_records, x_price_diffs.price_diff_num_tbl);
876 fill_tbl(p_num_records, x_price_diffs.price_type_tbl);
877 fill_tbl(p_num_records, x_price_diffs.entity_type_tbl);
878 fill_tbl(p_num_records, x_price_diffs.entity_id_tbl);
879 fill_tbl(p_num_records, x_price_diffs.multiplier_tbl);
880 fill_tbl(p_num_records, x_price_diffs.min_multiplier_tbl);
881 fill_tbl(p_num_records, x_price_diffs.max_multiplier_tbl);
882
883 -- attribute read from line location
884 fill_tbl(p_num_records, x_price_diffs.loc_line_loc_id_tbl);
885
886 -- attributes read from line record
887 fill_tbl(p_num_records, x_price_diffs.ln_po_line_id_tbl);
888
889 -- attributes read from header record
890 fill_tbl(p_num_records, x_price_diffs.draft_id_tbl);
891 fill_tbl(p_num_records, x_price_diffs.hd_style_id_tbl);
892
893 -- attributes added for processing
894 fill_tbl(p_num_records, x_price_diffs.error_flag_tbl);
895 fill_tbl(p_num_records, x_price_diffs.price_diff_num_unique_tbl);
896
897
898 IF (PO_LOG.d_proc) THEN
899 PO_LOG.proc_end (d_module);
900 END IF;
901
902 EXCEPTION
903 WHEN OTHERS THEN
904 PO_MESSAGE_S.add_exc_msg
905 (
906 p_pkg_name => d_pkg_name,
907 p_procedure_name => d_api_name || '.' || d_position
908 );
909 RAISE;
910 END fill_all_price_diffs_attr;
911
912 -----------------------------------------------------------------------
913 --Start of Comments
914 --Name: fill_all_attr_values_attr
915 --Function:
916 -- Initialize all the pl/sql tables in the record type. It also sets
917 -- the record count
918 --Parameters:
919 --IN:
920 -- p_num_records
921 -- Number of entries for each pl/sql tables in the record type
922 --IN OUT:
923 -- x_headers
924 -- Trecord of tables holding attribute values information
925 --OUT:
926 --End of Comments
927 ------------------------------------------------------------------------
928 PROCEDURE fill_all_attr_values_attr
929 ( p_num_records IN NUMBER,
930 x_attr_values IN OUT NOCOPY attr_values_rec_type
931 ) IS
932
933 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_attr_values_attr';
934 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
935 d_position NUMBER;
936
937 BEGIN
938 d_position := 0;
939
940 IF (PO_LOG.d_proc) THEN
941 PO_LOG.proc_begin(d_module);
942 END IF;
943
944 -- set record count
945 x_attr_values.rec_count := p_num_records;
946
947 -- attribute from attr_values table
948 fill_tbl(p_num_records, x_attr_values.intf_attr_values_id_tbl);
949 fill_tbl(p_num_records, x_attr_values.org_id_tbl);
950
951 -- attributes from line record
952 fill_tbl(p_num_records, x_attr_values.ln_po_line_id_tbl);
953 fill_tbl(p_num_records, x_attr_values.ln_ip_category_id_tbl);
954 fill_tbl(p_num_records, x_attr_values.ln_item_id_tbl);
955
956 -- attribute from header record
957 fill_tbl(p_num_records, x_attr_values.draft_id_tbl);
958
959 -- attributes added for processing purpose
960 fill_tbl(p_num_records, x_attr_values.attribute_values_id_tbl);
961 fill_tbl(p_num_records, x_attr_values.error_flag_tbl);
962
963 IF (PO_LOG.d_proc) THEN
964 PO_LOG.proc_end (d_module);
965 END IF;
966
967 EXCEPTION
968 WHEN OTHERS THEN
969 PO_MESSAGE_S.add_exc_msg
970 (
971 p_pkg_name => d_pkg_name,
972 p_procedure_name => d_api_name || '.' || d_position
973 );
974 RAISE;
975 END fill_all_attr_values_attr;
976
977 -----------------------------------------------------------------------
978 --Start of Comments
979 --Name: fill_all_attr_values_tlp_attr
980 --Function:
981 -- Initialize all the pl/sql tables in the record type. It also sets
982 -- the record count
983 --Parameters:
984 --IN:
985 -- p_num_records
986 -- Number of entries for each pl/sql tables in the record type
987 --IN OUT:
988 -- x_headers
989 -- Trecord of tables holding attribute values tlp information
990 --OUT:
991 --End of Comments
992 ------------------------------------------------------------------------
993 PROCEDURE fill_all_attr_values_tlp_attr
994 ( p_num_records IN NUMBER,
995 x_attr_values_tlp IN OUT NOCOPY attr_values_tlp_rec_type
996 ) IS
997
998 d_api_name CONSTANT VARCHAR2(30) := 'fill_all_attr_values_tlp_attr';
999 d_module CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1000 d_position NUMBER;
1001
1002 BEGIN
1003 d_position := 0;
1004
1005 IF (PO_LOG.d_proc) THEN
1006 PO_LOG.proc_begin(d_module);
1007 END IF;
1008
1009 -- set record count
1010 x_attr_values_tlp.rec_count := p_num_records;
1011
1012 -- attribute from attr_values table
1013 fill_tbl(p_num_records, x_attr_values_tlp.intf_attr_values_tlp_id_tbl);
1014 fill_tbl(p_num_records, x_attr_values_tlp.language_tbl);
1015 fill_tbl(p_num_records, x_attr_values_tlp.org_id_tbl);
1016
1017 -- attribute from line
1018 fill_tbl(p_num_records, x_attr_values_tlp.ln_po_line_id_tbl);
1019 fill_tbl(p_num_records, x_attr_values_tlp.ln_ip_category_id_tbl);
1020 fill_tbl(p_num_records, x_attr_values_tlp.ln_item_id_tbl);
1021 fill_tbl(p_num_records, x_attr_values_tlp.ln_item_desc_tbl);
1022
1023 -- attribute from headers
1024 fill_tbl(p_num_records, x_attr_values_tlp.draft_id_tbl);
1025
1026 -- attributes added for processing purpose
1027 fill_tbl(p_num_records, x_attr_values_tlp.error_flag_tbl);
1028 fill_tbl(p_num_records, x_attr_values_tlp.attribute_values_tlp_id_tbl);
1029
1030 IF (PO_LOG.d_proc) THEN
1031 PO_LOG.proc_end (d_module);
1032 END IF;
1033
1034 EXCEPTION
1035 WHEN OTHERS THEN
1036 PO_MESSAGE_S.add_exc_msg
1037 (
1038 p_pkg_name => d_pkg_name,
1039 p_procedure_name => d_api_name || '.' || d_position
1040 );
1041 RAISE;
1042 END fill_all_attr_values_tlp_attr;
1043
1044 --------------------------------------------------------------------------
1045 ---------------------- PRIVATE PROCEDURES --------------------------------
1046 --------------------------------------------------------------------------
1047
1048 -----------------------------------------------------------------------
1049 --Start of Comments
1050 --Name: fill_tbl
1051 --Function:
1052 -- Initialize the pl/sql structure if it is NULL, and allocating the memory
1053 -- for the number of records specified. Otherwise, do nothing
1054 --Parameters:
1055 --IN:
1056 -- p_num_records
1057 -- Number of entries to be allocated for the pl/sql structure
1058 --IN OUT:
1059 -- x_tbl
1060 -- Table to initialize
1061 --OUT:
1062 --End of Comments
1063 ------------------------------------------------------------------------
1064 PROCEDURE fill_tbl
1065 ( p_num_records IN NUMBER,
1066 x_tbl IN OUT NOCOPY PO_TBL_NUMBER
1067 ) IS
1068 BEGIN
1069 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1070 RETURN;
1071 END IF;
1072
1073 x_tbl := PO_TBL_NUMBER();
1074 x_tbl.EXTEND(p_num_records);
1075
1076 END fill_tbl;
1077
1078 -----------------------------------------------------------------------
1079 --Start of Comments
1080 --Name: fill_tbl
1081 --Function:
1082 -- Overload procedure
1083 --End of Comments
1084 ------------------------------------------------------------------------
1085 PROCEDURE fill_tbl
1086 ( p_num_records IN NUMBER,
1087 x_tbl IN OUT NOCOPY PO_TBL_DATE
1088 ) IS
1089 BEGIN
1090 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1091 RETURN;
1092 END IF;
1093
1094 x_tbl := PO_TBL_DATE();
1095 x_tbl.EXTEND(p_num_records);
1096
1097 END fill_tbl;
1098
1099 -----------------------------------------------------------------------
1100 --Start of Comments
1101 --Name: fill_tbl
1102 --Function:
1103 -- Overload procedure
1104 --End of Comments
1105 ------------------------------------------------------------------------
1106 PROCEDURE fill_tbl
1107 ( p_num_records IN NUMBER,
1108 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR1
1109 ) IS
1110 BEGIN
1111 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1112 RETURN;
1113 END IF;
1114
1115 x_tbl := PO_TBL_VARCHAR1();
1116 x_tbl.EXTEND(p_num_records);
1117
1118 END fill_tbl;
1119
1120 -----------------------------------------------------------------------
1121 --Start of Comments
1122 --Name: fill_tbl
1123 --Function:
1124 -- Overload procedure
1125 --End of Comments
1126 ------------------------------------------------------------------------
1127 PROCEDURE fill_tbl
1128 ( p_num_records IN NUMBER,
1129 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR5
1130 ) IS
1131 BEGIN
1132 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1133 RETURN;
1134 END IF;
1135
1136 x_tbl := PO_TBL_VARCHAR5();
1137 x_tbl.EXTEND(p_num_records);
1138
1139 END fill_tbl;
1140
1141 -----------------------------------------------------------------------
1142 --Start of Comments
1143 --Name: fill_tbl
1144 --Function:
1145 -- Overload procedure
1146 --End of Comments
1147 ------------------------------------------------------------------------
1148 PROCEDURE fill_tbl
1149 ( p_num_records IN NUMBER,
1150 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR30
1151 ) IS
1152 BEGIN
1153 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1154 RETURN;
1155 END IF;
1156
1157 x_tbl := PO_TBL_VARCHAR30();
1158 x_tbl.EXTEND(p_num_records);
1159
1160 END fill_tbl;
1161
1162 -----------------------------------------------------------------------
1163 --Start of Comments
1164 --Name: fill_tbl
1165 --Function:
1166 -- Overload procedure
1167 --End of Comments
1168 ------------------------------------------------------------------------
1169 PROCEDURE fill_tbl
1170 ( p_num_records IN NUMBER,
1171 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1172 ) IS
1173 BEGIN
1174 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1175 RETURN;
1176 END IF;
1177
1178 x_tbl := PO_TBL_VARCHAR100();
1179 x_tbl.EXTEND(p_num_records);
1180
1181 END fill_tbl;
1182
1183 -----------------------------------------------------------------------
1184 --Start of Comments
1185 --Name: fill_tbl
1186 --Function:
1187 -- Overload procedure
1188 --End of Comments
1189 ------------------------------------------------------------------------
1190 PROCEDURE fill_tbl
1191 ( p_num_records IN NUMBER,
1192 x_tbl IN OUT NOCOPY PO_TBL_VARCHAR2000
1193 ) IS
1194 BEGIN
1195 IF (x_tbl IS NOT NULL AND x_tbl.COUNT > 0) THEN
1196 RETURN;
1197 END IF;
1198
1199 x_tbl := PO_TBL_VARCHAR2000();
1200 x_tbl.EXTEND(p_num_records);
1201
1202 END fill_tbl;
1203
1204 END PO_PDOI_TYPES;