DBA Data[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;