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