DBA Data[Home] [Help]

PACKAGE BODY: APPS.MTL_QP_PRICE

Source


1 PACKAGE BODY mtl_qp_price AS
2   /* $Header: INVVICAB.pls 120.5.12000000.1 2007/01/17 16:34:57 appldev ship $ */
3   g_pkg_name            CONSTANT VARCHAR2(30)                 := 'MTL_QP_PRICE';
4 
5   TYPE pls_integer_type IS TABLE OF PLS_INTEGER
6     INDEX BY BINARY_INTEGER;
7 
8   TYPE number_type IS TABLE OF NUMBER
9     INDEX BY BINARY_INTEGER;
10 
11   TYPE varchar_type IS TABLE OF VARCHAR2(240)
12     INDEX BY BINARY_INTEGER;
13 
14   TYPE flag_type IS TABLE OF VARCHAR2(1)
15     INDEX BY BINARY_INTEGER;
16 
17   TYPE date_type IS TABLE OF DATE
18     INDEX BY BINARY_INTEGER;
19 
20   g_line_index_tbl               qp_preq_grp.pls_integer_type;
21   g_line_type_code_tbl           qp_preq_grp.varchar_type;
22   g_pricing_effective_date_tbl   qp_preq_grp.date_type;
23   g_active_date_first_tbl        qp_preq_grp.date_type;
24   g_active_date_first_type_tbl   qp_preq_grp.varchar_type;
25   g_active_date_second_tbl       qp_preq_grp.date_type;
26   g_active_date_second_type_tbl  qp_preq_grp.varchar_type;
27   g_line_quantity_tbl            qp_preq_grp.number_type;
28   g_line_uom_code_tbl            qp_preq_grp.varchar_type;
29   g_request_type_code_tbl        qp_preq_grp.varchar_type;
30   g_priced_quantity_tbl          qp_preq_grp.number_type;
31   g_uom_quantity_tbl             qp_preq_grp.number_type;
32   g_priced_uom_code_tbl          qp_preq_grp.varchar_type;
33   g_currency_code_tbl            qp_preq_grp.varchar_type;
34   g_unit_price_tbl               qp_preq_grp.number_type;
35   g_percent_price_tbl            qp_preq_grp.number_type;
36   g_adjusted_unit_price_tbl      qp_preq_grp.number_type;
37   g_upd_adjusted_unit_price_tbl  qp_preq_grp.number_type;
38   g_processed_flag_tbl           qp_preq_grp.varchar_type;
39   g_price_flag_tbl               qp_preq_grp.varchar_type;
40   g_line_id_tbl                  qp_preq_grp.number_type;
41   g_processing_order_tbl         qp_preq_grp.pls_integer_type;
42   g_rounding_factor_tbl          qp_preq_grp.pls_integer_type;
43   g_rounding_flag_tbl            qp_preq_grp.flag_type;
44   g_qualifiers_exist_flag_tbl    qp_preq_grp.varchar_type;
45   g_pricing_attrs_exist_flag_tbl qp_preq_grp.varchar_type;
46   g_price_list_id_tbl            qp_preq_grp.number_type;
47   g_pl_validated_flag_tbl        qp_preq_grp.varchar_type;
48   g_price_request_code_tbl       qp_preq_grp.varchar_type;
49   g_usage_pricing_type_tbl       qp_preq_grp.varchar_type;
50   g_pricing_status_code_tbl      qp_preq_grp.varchar_type;
51   g_pricing_status_text_tbl      qp_preq_grp.varchar_type;
52   g_line_category_tbl            qp_preq_grp.varchar_type;
53   g_unit_selling_price_tbl       qp_preq_grp.number_type;
54   g_unit_list_price_tbl          qp_preq_grp.number_type;
55   g_unit_sell_price_per_pqty_tbl qp_preq_grp.number_type;
56   g_unit_list_price_per_pqty_tbl qp_preq_grp.number_type;
57   g_pricing_quantity_tbl         qp_preq_grp.number_type;
58   g_unit_list_percent_tbl        qp_preq_grp.number_type;
59   g_unit_percent_base_price_tbl  qp_preq_grp.number_type;
60   g_unit_selling_percent_tbl     qp_preq_grp.number_type;
61 
62   FUNCTION get_transfer_price(
63     p_transaction_id    IN            NUMBER
64   , p_sell_ou_id        IN            NUMBER
65   , p_ship_ou_id        IN            NUMBER
66   , p_order_line_id     IN            NUMBER DEFAULT NULL
67   , p_inventory_item_id IN            NUMBER DEFAULT NULL
68   , p_organization_id   IN            NUMBER DEFAULT NULL
69   , p_uom_code          IN            VARCHAR2 DEFAULT NULL
70   , p_cto_item_flag     IN            VARCHAR2 DEFAULT 'N'
71   , p_incr_code         IN            NUMBER
72   , p_incrcurrency      IN            VARCHAR2
73   , p_request_type_code  IN  VARCHAR2 DEFAULT 'IC'   -- OPM INVCONV  umoogala
74   , p_pricing_event  IN  VARCHAR2 DEFAULT 'ICBATCH'  -- OPM INVCONV  umoogala
75   , x_currency_code     OUT NOCOPY    VARCHAR2
76   , x_tfrpricecode      OUT NOCOPY    NUMBER
77   , x_return_status     OUT NOCOPY    VARCHAR2
78   , x_msg_count         OUT NOCOPY    NUMBER
79   , x_msg_data          OUT NOCOPY    VARCHAR2
80   )
81     RETURN NUMBER IS
82     l_header_id                  NUMBER;
83     l_line_id                    NUMBER;
84     l_inventory_item_id          NUMBER;
85     l_organization_id            NUMBER;
86     l_transaction_uom            VARCHAR2(3);
87     l_primary_uom                VARCHAR2(3);
88     l_control_rec                qp_preq_grp.control_record_type;
89     l_pricing_event              VARCHAR2(30)                    DEFAULT 'ICBATCH';
90     l_request_type_code          VARCHAR2(30)                    DEFAULT 'IC';
91     l_line_index                 NUMBER                          := 0;
92     l_return_status_text         VARCHAR2(2000);
93     l_version                    VARCHAR2(240);
94     l_dir                        VARCHAR2(2000);
95     l_tfrprice                   NUMBER;
96     l_uom_rate                   NUMBER;
97     l_doc_type                   VARCHAR2(4);   /* OPM Bug 2865040 */
98     l_debug                      NUMBER                          := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
99     l_order_line_id              NUMBER;
100     l_base_item_id               NUMBER;
101     l_transaction_source_type_id NUMBER;
102     l_transaction_action_id      NUMBER;
103   BEGIN
104     IF fnd_profile.VALUE('INV_DEBUG_TRACE') = 1 THEN
105       IF (l_debug = 1) THEN
106         print_debug('Enabling QP debug option...');
107       END IF;
108 
109       SELECT VALUE
110         INTO l_dir
111         FROM v$parameter
112        WHERE NAME = 'utl_file_dir';
113 
114       IF (INSTR(l_dir, ',') > 0) THEN
115         l_dir  := SUBSTR(l_dir, 1, INSTR(l_dir, ',') - 1);
116       END IF;
117 
118       oe_debug_pub.g_dir  := l_dir;
119       oe_debug_pub.initialize;
120       oe_debug_pub.debug_on;
121       oe_debug_pub.setdebuglevel(10);
122       oe_debug_pub.ADD('Before Process_Order', 1);
123 
124       IF (l_debug = 1) THEN
125         print_debug('QP trace file is ' || oe_debug_pub.set_debug_mode('FILE'));
126       END IF;
127 
128       l_version           := qp_preq_grp.get_version;
129 
130       IF (l_debug = 1) THEN
131         print_debug('QP Version : ' || l_version);
132       END IF;
133     ELSE
134       oe_debug_pub.debug_off;
135     END IF;
136 
137     x_return_status                       := fnd_api.g_ret_sts_success;
138     x_currency_code                       := ' ';
139     x_tfrpricecode                        := 1;
140     x_msg_count                           := 0;
141     x_msg_data                            := ' ';
142     l_tfrprice                            := -1;
143 
144     --
145     -- OPM INVCONV umoogala  Process-Discrete Transfers Enh.
146     -- Will be reusing the code for Internal Orders between Process
147     -- and Discrete Orgs.
148     -- For these, Request Type Code = INTORG
149     --            Pricing Event     = ICBATCH (might change)
150     --
151     -- We will not be loading IC Parameters for this Request Type Code
152     --
153     l_request_type_code := p_request_type_code;
154     l_pricing_event     := p_pricing_event;
155 
156 
157     IF (l_debug = 1) THEN
158       print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Line Identifier...');
159       print_debug('MTL_QP_PRICE.get_Transfer_price: p_transaction_id = ' || p_transaction_id);
160       print_debug('MTL_QP_PRICE.get_Transfer_price: p_order_line_id = ' || p_order_line_id);
161       print_debug('MTL_QP_PRICE.get_Transfer_price: p_inventory_item_id = ' || p_inventory_item_id);
162       print_debug('MTL_QP_PRICE.get_Transfer_price: p_uom_code = ' || p_uom_code);
163       print_debug('MTL_QP_PRICE.get_Transfer_price: p_cto_item_flag = ' || p_cto_item_flag);
164       print_debug('MTL_QP_PRICE.get_Transfer_price: p_organization_id = ' || p_organization_id);
165     END IF;
166 
167     --l_inventory_item_id := p_inventory_item_id;
168     l_organization_id                     := p_organization_id;
169     l_transaction_uom                     := p_uom_code;
170 
171     /* OPM Bug 2865040 */
172     -- OPM INVCONV  umoogala: Following code is not applicable for R12.
173     --
174     /*
175     IF (gml_process_flags.process_orgn = 1
176         AND gml_process_flags.opmitem_flag = 1) THEN
177       l_inventory_item_id  := p_inventory_item_id;
178 
179       SELECT doc_type
180         INTO l_doc_type
181         FROM ic_tran_pnd
182        WHERE trans_id = p_transaction_id;
183 
184       IF l_doc_type = 'OMSO' THEN
185         SELECT pnd.line_id
186           INTO l_line_id
187           FROM ic_tran_pnd pnd, ic_whse_mst whs, oe_order_lines_all oel
188          WHERE pnd.trans_id = p_transaction_id
189            AND oel.line_id = pnd.line_id
190            AND pnd.orgn_code = whs.orgn_code
191            AND pnd.whse_code = whs.whse_code;
192       ELSIF l_doc_type = 'PORC' THEN
193         SELECT oel.line_id
194           INTO l_line_id
195           FROM ic_tran_pnd pnd, ic_whse_mst whs, oe_order_lines_all oel, rcv_transactions rct
196          WHERE pnd.trans_id = p_transaction_id
197            AND rct.transaction_id = pnd.line_id
198            AND rct.oe_order_line_id = oel.line_id
199            AND pnd.orgn_code = whs.orgn_code
200            AND pnd.whse_code = whs.whse_code;
201       END IF;
202     ELSE
203     -- End OPM INVCONV */
204     /* OPM Bug 2865040 */
205       IF (p_transaction_id IS NOT NULL
206           AND p_order_line_id IS NULL) THEN
207         SELECT trx_source_line_id
208              , transaction_source_type_id
209              , transaction_action_id
210           INTO l_line_id
211              , l_transaction_source_type_id
212              , l_transaction_action_id
213           FROM mtl_material_transactions
214          WHERE transaction_id = p_transaction_id;
215 
216         l_inventory_item_id  := p_inventory_item_id;
217       ELSIF(p_transaction_id IS NOT NULL
218             AND p_order_line_id IS NOT NULL) THEN
219         SELECT DECODE(p_cto_item_flag, 'Y', p_order_line_id, trx_source_line_id)
220              , inventory_item_id
221              , transaction_source_type_id
222              , transaction_action_id
223           INTO l_line_id
224              , l_inventory_item_id
225              , l_transaction_source_type_id
226              , l_transaction_action_id
227           FROM mtl_material_transactions
228          WHERE transaction_id = p_transaction_id;
229       ELSIF(p_transaction_id IS NULL
230             AND p_order_line_id IS NOT NULL) THEN
231         l_inventory_item_id           := p_inventory_item_id;
232         l_line_id                     := p_order_line_id;
233         --
234         -- OPM INVCONV umoogala
235         --
236         IF l_request_type_code = 'INTORG'
237         THEN
238           l_transaction_source_type_id := 8;
239           l_transaction_action_id := 21;
240         ELSE
241           l_transaction_source_type_id := 13;
242           l_transaction_action_id := 0;
243         END IF;
244       END IF;
245     -- END IF;   /* OPM Bug 2865040 */ -- OPM INVCONV umoogala
246 
247     IF (l_debug = 1) THEN
248       print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Header Identifier...');
249     END IF;
250 
251     SELECT header_id
252       INTO l_header_id
253       FROM oe_order_lines_all
254      WHERE line_id = l_line_id;
255 
256     IF (l_debug = 1) THEN
257       print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Primary UOM...');
258     END IF;
259 
260     SELECT primary_uom_code
261          , NVL(base_item_id, 0)
262       INTO l_primary_uom
263          , l_base_item_id
264       FROM mtl_system_items
265      WHERE inventory_item_id = l_inventory_item_id
266        AND organization_id = l_organization_id;
267 
268     IF (l_debug = 1) THEN
269       print_debug('MTL_QP_PRICE.get_transfer_price: Building Global Structure...');
270       print_debug('l_base_item_id is ' || l_base_item_id);
271       print_debug('p_cto_item_flag is ' || p_cto_item_flag);
272     END IF;
273 
274     g_hdr_initialize(l_header_id, p_incr_code, p_incrcurrency, x_return_status);
275 
276     --
277     -- OPM INVCONV umoogala  Added l_request_type_code to calls to G_Line_Initialize.
278     -- This flag will decide whether to load Inter-Company parameters or not.
279     -- Default value is 'IC': will not skip loading of IC params
280     -- value 'INTORG' will be set only for Internal Order between process-discrete orgs
281     -- across OUs and with IC Invoicing disabled.
282     --
283     IF (l_transaction_source_type_id = 8
284         AND l_transaction_action_id = 21)
285     THEN
286       -- here if base_item_id > 0 and p_cto_item_flag = 'Y' then use the item id in sales order
287       -- otherwise use the base item id.
288 
289       IF (l_base_item_id > 0 AND p_cto_item_flag = 'Y')
290       THEN
291         g_line_initialize(
292           l_line_id,
293           p_sell_ou_id,
294           p_ship_ou_id,
295           l_primary_uom,
296           l_inventory_item_id,
297           p_cto_item_flag,
298           0,
299           l_request_type_code,  -- OPM INVCONV umoogala
300           x_return_status
301         );
302       ELSE
303         IF ((l_base_item_id > 0 AND p_cto_item_flag = 'N')
304             OR l_base_item_id = 0)
305         THEN
306           g_line_initialize(
307             l_line_id,
308             p_sell_ou_id,
309             p_ship_ou_id,
310             l_primary_uom,
311             l_inventory_item_id,
312             p_cto_item_flag,
313             l_base_item_id,
314             l_request_type_code,   -- OPM INVCONV umoogala
315             x_return_status
316           );
317         END IF;
318       END IF;
319     ELSE
320       -- here if the p_cto_item_flag = 'Y' then use l_inventory_item_id
321       -- otherwise use the inventory_item_id in the sales order
322 
323       g_line_initialize(
324         l_line_id,
325         p_sell_ou_id,
326         p_ship_ou_id,
327         l_primary_uom,
328         l_inventory_item_id,
329         p_cto_item_flag,
330         0,
331         l_request_type_code,   -- OPM INVCONV umoogala
332         x_return_status
333       );
334     END IF;
335 
336     IF (p_inventory_item_id <> l_inventory_item_id) THEN
337       inv_ic_order_pub.g_line.inventory_item_id  := p_inventory_item_id;
338     END IF;
339 
340     qp_price_request_context.set_request_id;
341     copy_header_to_request(p_header_rec => inv_ic_order_pub.g_hdr, p_request_type_code => l_request_type_code
342     , px_line_index                => l_line_index);
343 
344     /*
345     IF (l_debug = 1) THEN
346        Print_debug('MTL_QP_PRICE.get_transfer_price: Build Context for header...');
347     END IF;*/
348 
349     qp_attr_mapping_pub.build_contexts(p_request_type_code => l_request_type_code, p_pricing_type_code => 'H'
350     , p_line_index                 => inv_ic_order_pub.g_hdr.header_id);
351     copy_line_to_request(
352       p_line_rec                   => inv_ic_order_pub.g_line
353     , p_pricing_events             => l_pricing_event
354     , p_request_type_code          => l_request_type_code
355     , px_line_index                => l_line_index
356     );
357 
358     IF (l_debug = 1) THEN
359       print_debug('Ship From=' || TO_CHAR(inv_ic_order_pub.g_line.ship_from_org_id));
360       print_debug('Ship To=' || TO_CHAR(inv_ic_order_pub.g_line.ship_to_org_id));
361     END IF;
362 
363     IF (l_debug = 1) THEN
364       print_debug('MTL_QP_PRICE.get_transfer_price: Build Context for line...');
365     END IF;
366 
367     qp_attr_mapping_pub.build_contexts(
368       p_request_type_code          => l_request_type_code
369     , p_pricing_type_code          => 'L'
370     , p_line_index                 => inv_ic_order_pub.g_line.header_id + inv_ic_order_pub.g_line.line_id
371     );
372 
373     IF l_line_index > 0 THEN
374       IF (l_debug = 1) THEN
375         print_debug('MTL_QP_PRICE.get_transfer_price: Populating Lines temp table...');
376       END IF;
377 
378       populate_temp_table(x_return_status);
379     END IF;
380 
381     IF (l_debug = 1) THEN
382       print_debug('MTL_QP_PRICE.get_transfer_price: Initializing control record...');
383     END IF;
384 
385     l_control_rec.pricing_event           := l_pricing_event;
386     l_control_rec.calculate_flag          := qp_preq_grp.g_search_n_calculate;
387     l_control_rec.temp_table_insert_flag  := 'N';
388     l_control_rec.request_type_code       := l_request_type_code;
389     l_control_rec.rounding_flag           := 'Y';
390     -- Bug 3070474 (porting from bug 3027452) : added the following statement
391     l_control_rec.use_multi_currency      := 'Y';
392 
393     print_debug('MTL_QP_PRICE.get_transfer_price: Assigning value of org_id to l_control_rec...'||p_ship_ou_id);
394     --MOAC Changes: Passing the Shipping Operating unit to QP API.
395     l_control_rec.org_id      := p_ship_ou_id;
396     print_debug('MTL_QP_PRICE.get_transfer_price: After assigning the value of org_id to l_control_rec...'||l_control_rec.org_id);
397 
398     IF (l_debug = 1) THEN
399       print_debug('MTL_QP_PRICE.get_transfer_price: Calling QP:Price Request routine ...');
400     END IF;
401 
402     qp_preq_pub.price_request(p_control_rec => l_control_rec, x_return_status => x_return_status
403     , x_return_status_text         => l_return_status_text);
404 
405     IF (x_return_status <> fnd_api.g_ret_sts_success) THEN
406       IF (l_debug = 1) THEN
407         print_debug('MTL_QP_PRICE.get_transfer_price: QP_PREQ_PUB.PRICE_REQUEST error ');
408         print_debug('MTL_QP_PRICE.get_transfer_price: x_return_status_text=' || l_return_status_text);
409       END IF;
410 
411       fnd_message.set_name('INV', 'INV_UNHANDLED_ERR');
412       fnd_message.set_token('ENTITY1', 'QP_PREQ_PUB.PRICE_REQUEST');
413       fnd_message.set_token('ENTITY2', SUBSTR(l_return_status_text, 1, 150));
414       RAISE fnd_api.g_exc_error;
415     END IF;
416 
417     IF (l_debug = 1) THEN
418       print_debug('MTL_QP_PRICE.get_transfer_price: Populating QP results ...');
419     END IF;
420 
421     populate_results(l_line_index, x_return_status);
422     x_currency_code                       := g_currency_code_tbl(l_line_index);
423     l_tfrprice                            := g_unit_selling_price_tbl(l_line_index);
424 
425     IF g_priced_uom_code_tbl(l_line_index) = l_transaction_uom THEN
426       x_tfrpricecode  := 1;
427     ELSIF g_priced_uom_code_tbl(l_line_index) = l_primary_uom THEN
428       x_tfrpricecode  := 2;
429     ELSE
430       /*
431               INV_CONVERT.INV_UM_CONVERSION ( From_Unit => G_PRICED_UOM_CODE_TBL(l_line_index)
432                                               , To_Unit => l_transaction_uom
433                                               , Item_ID => l_inventory_item_id
434                                               , Uom_Rate => l_Uom_rate);
435               l_tfrPrice := G_UNIT_SELLING_PRICE_TBL(l_line_index) / l_uom_rate;
436       */
437       x_tfrpricecode  := 1;
438     END IF;
439 
440     IF (l_debug = 1) THEN
441       print_debug('New Price=' || TO_CHAR(l_tfrprice));
442       print_debug('UOM=' || l_transaction_uom);
443     END IF;
444 
445     RETURN(l_tfrprice);
446   EXCEPTION
447     WHEN NO_DATA_FOUND THEN
448       IF (l_debug = 1) THEN
449         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP NO_DATA_FOUND ');
450       END IF;
451 
452       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
453       RETURN(g_unit_selling_price_tbl(l_line_index));
454     WHEN fnd_api.g_exc_error THEN
455       IF (l_debug = 1) THEN
456         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP G_EXC_ERROR ');
457       END IF;
458 
459       RETURN(g_unit_selling_price_tbl(l_line_index));
460     WHEN fnd_api.g_exc_unexpected_error THEN
461       IF (l_debug = 1) THEN
462         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP G_EXC_UNEXPECTED_ERROR ');
463       END IF;
464 
465       RETURN(g_unit_selling_price_tbl(l_line_index));
466     WHEN OTHERS THEN
467       IF (l_debug = 1) THEN
468         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP UNEXP OTHERS - ' || SQLERRM);
469       END IF;
470 
471       RETURN(g_unit_selling_price_tbl(l_line_index));
472   END get_transfer_price;
473 
474   PROCEDURE g_hdr_initialize(p_header_id IN NUMBER, p_incr_code IN NUMBER, p_incrcurrency IN VARCHAR2, x_return_status OUT NOCOPY VARCHAR2) IS
475     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
476   BEGIN
477     x_return_status  := fnd_api.g_ret_sts_success;
478 
479     --  Header population
480     IF (l_debug = 1) THEN
481       print_debug('MTL_QP_PRICE.G_Hdr_Initialize: Populating G_HDR...');
482     END IF;
483 
484     SELECT accounting_rule_id
485          , agreement_id
486          , attribute1
487          , attribute10
488          , attribute11
489          , attribute12
490          , attribute13
491          , attribute14
492          , attribute15
493          , attribute2
494          , attribute3
495          , attribute4
496          , attribute5
497          , attribute6
498          , attribute7
499          , attribute8
500          , attribute9
501          , booked_flag
502          , booked_date
503          , cancelled_flag
504          , CONTEXT
505          , conversion_rate
506          , conversion_rate_date
507          , conversion_type_code
508          , customer_preference_set_code
509          , created_by
510          , creation_date
511          , cust_po_number
512          , deliver_to_contact_id
513          , deliver_to_org_id
514          , demand_class_code
515          , first_ack_code
516          , first_ack_date
517          , expiration_date
518          , earliest_schedule_limit
519          , fob_point_code
520          , freight_carrier_code
521          , freight_terms_code
522          , global_attribute1
523          , global_attribute10
524          , global_attribute11
525          , global_attribute12
526          , global_attribute13
527          , global_attribute14
528          , global_attribute15
529          , global_attribute16
530          , global_attribute17
531          , global_attribute18
532          , global_attribute19
533          , global_attribute2
534          , global_attribute20
535          , global_attribute3
536          , global_attribute4
537          , global_attribute5
538          , global_attribute6
539          , global_attribute7
540          , global_attribute8
541          , global_attribute9
542          , global_attribute_category
543          , header_id
544          , invoice_to_contact_id
545          , invoice_to_org_id
546          , invoicing_rule_id
547          , last_ack_code
548          , last_ack_date
549          , last_updated_by
550          , last_update_date
551          , last_update_login
552          , latest_schedule_limit
553          , open_flag
554          , ordered_date
555          , order_date_type_code
556          , order_number
557          , order_source_id
558          , order_type_id
559          , order_category_code
560          , org_id
561          , orig_sys_document_ref
562          , partial_shipments_allowed
563          , payment_term_id
564          , price_list_id
565          , pricing_date
566          , program_application_id
567          , program_id
568          , program_update_date
569          , request_date
570          , request_id
571          , return_reason_code
572          , salesrep_id
573          , sales_channel_code
574          , shipment_priority_code
575          , shipping_method_code
576          , ship_from_org_id
577          , ship_tolerance_above
578          , ship_tolerance_below
579          , ship_to_contact_id
580          , ship_to_org_id
581          , sold_from_org_id
582          , sold_to_contact_id
583          , sold_to_org_id
584          , source_document_id
585          , source_document_type_id
586          , tax_exempt_flag
587          , tax_exempt_number
588          , tax_exempt_reason_code
589          , tax_point_code
590          , DECODE(NVL(p_incr_code, 1), 3, transactional_curr_code, p_incrcurrency)
591          , version_number
592          , payment_type_code
593          , payment_amount
594          , check_number
595          , credit_card_code
596          , credit_card_holder_name
597          , credit_card_number
598          , credit_card_expiration_date
599          , credit_card_approval_date
600          , credit_card_approval_code
601          , shipping_instructions
602          , packing_instructions
603          , flow_status_code
604          , marketing_source_code_id
605          , tp_attribute1
606          , tp_attribute10
607          , tp_attribute11
608          , tp_attribute12
609          , tp_attribute13
610          , tp_attribute14
611          , tp_attribute15
612          , tp_attribute2
613          , tp_attribute3
614          , tp_attribute4
615          , tp_attribute5
616          , tp_attribute6
617          , tp_attribute7
618          , tp_attribute8
619          , tp_attribute9
620          , tp_context
621          , upgraded_flag
622          , lock_control
623       INTO inv_ic_order_pub.g_hdr.accounting_rule_id
624          , inv_ic_order_pub.g_hdr.agreement_id
625          , inv_ic_order_pub.g_hdr.attribute1
626          , inv_ic_order_pub.g_hdr.attribute10
627          , inv_ic_order_pub.g_hdr.attribute11
628          , inv_ic_order_pub.g_hdr.attribute12
629          , inv_ic_order_pub.g_hdr.attribute13
630          , inv_ic_order_pub.g_hdr.attribute14
631          , inv_ic_order_pub.g_hdr.attribute15
632          , inv_ic_order_pub.g_hdr.attribute2
633          , inv_ic_order_pub.g_hdr.attribute3
634          , inv_ic_order_pub.g_hdr.attribute4
635          , inv_ic_order_pub.g_hdr.attribute5
636          , inv_ic_order_pub.g_hdr.attribute6
637          , inv_ic_order_pub.g_hdr.attribute7
638          , inv_ic_order_pub.g_hdr.attribute8
639          , inv_ic_order_pub.g_hdr.attribute9
640          , inv_ic_order_pub.g_hdr.booked_flag
641          , inv_ic_order_pub.g_hdr.booked_date
642          , inv_ic_order_pub.g_hdr.cancelled_flag
643          , inv_ic_order_pub.g_hdr.CONTEXT
644          , inv_ic_order_pub.g_hdr.conversion_rate
645          , inv_ic_order_pub.g_hdr.conversion_rate_date
646          , inv_ic_order_pub.g_hdr.conversion_type_code
647          , inv_ic_order_pub.g_hdr.customer_preference_set_code
648          , inv_ic_order_pub.g_hdr.created_by
649          , inv_ic_order_pub.g_hdr.creation_date
650          , inv_ic_order_pub.g_hdr.cust_po_number
651          , inv_ic_order_pub.g_hdr.deliver_to_contact_id
652          , inv_ic_order_pub.g_hdr.deliver_to_org_id
653          , inv_ic_order_pub.g_hdr.demand_class_code
654          , inv_ic_order_pub.g_hdr.first_ack_code
655          , inv_ic_order_pub.g_hdr.first_ack_date
656          , inv_ic_order_pub.g_hdr.expiration_date
657          , inv_ic_order_pub.g_hdr.earliest_schedule_limit
658          , inv_ic_order_pub.g_hdr.fob_point_code
659          , inv_ic_order_pub.g_hdr.freight_carrier_code
660          , inv_ic_order_pub.g_hdr.freight_terms_code
661          , inv_ic_order_pub.g_hdr.global_attribute1
662          , inv_ic_order_pub.g_hdr.global_attribute10
663          , inv_ic_order_pub.g_hdr.global_attribute11
664          , inv_ic_order_pub.g_hdr.global_attribute12
665          , inv_ic_order_pub.g_hdr.global_attribute13
666          , inv_ic_order_pub.g_hdr.global_attribute14
667          , inv_ic_order_pub.g_hdr.global_attribute15
668          , inv_ic_order_pub.g_hdr.global_attribute16
669          , inv_ic_order_pub.g_hdr.global_attribute17
670          , inv_ic_order_pub.g_hdr.global_attribute18
671          , inv_ic_order_pub.g_hdr.global_attribute19
672          , inv_ic_order_pub.g_hdr.global_attribute2
673          , inv_ic_order_pub.g_hdr.global_attribute20
674          , inv_ic_order_pub.g_hdr.global_attribute3
675          , inv_ic_order_pub.g_hdr.global_attribute4
676          , inv_ic_order_pub.g_hdr.global_attribute5
677          , inv_ic_order_pub.g_hdr.global_attribute6
678          , inv_ic_order_pub.g_hdr.global_attribute7
679          , inv_ic_order_pub.g_hdr.global_attribute8
680          , inv_ic_order_pub.g_hdr.global_attribute9
681          , inv_ic_order_pub.g_hdr.global_attribute_category
682          , inv_ic_order_pub.g_hdr.header_id
683          , inv_ic_order_pub.g_hdr.invoice_to_contact_id
684          , inv_ic_order_pub.g_hdr.invoice_to_org_id
685          , inv_ic_order_pub.g_hdr.invoicing_rule_id
686          , inv_ic_order_pub.g_hdr.last_ack_code
687          , inv_ic_order_pub.g_hdr.last_ack_date
688          , inv_ic_order_pub.g_hdr.last_updated_by
689          , inv_ic_order_pub.g_hdr.last_update_date
690          , inv_ic_order_pub.g_hdr.last_update_login
691          , inv_ic_order_pub.g_hdr.latest_schedule_limit
692          , inv_ic_order_pub.g_hdr.open_flag
693          , inv_ic_order_pub.g_hdr.ordered_date
694          , inv_ic_order_pub.g_hdr.order_date_type_code
695          , inv_ic_order_pub.g_hdr.order_number
696          , inv_ic_order_pub.g_hdr.order_source_id
697          , inv_ic_order_pub.g_hdr.order_type_id
698          , inv_ic_order_pub.g_hdr.order_category_code
699          , inv_ic_order_pub.g_hdr.org_id
700          , inv_ic_order_pub.g_hdr.orig_sys_document_ref
701          , inv_ic_order_pub.g_hdr.partial_shipments_allowed
702          , inv_ic_order_pub.g_hdr.payment_term_id
703          , inv_ic_order_pub.g_hdr.price_list_id
704          , inv_ic_order_pub.g_hdr.pricing_date
705          , inv_ic_order_pub.g_hdr.program_application_id
706          , inv_ic_order_pub.g_hdr.program_id
707          , inv_ic_order_pub.g_hdr.program_update_date
708          , inv_ic_order_pub.g_hdr.request_date
709          , inv_ic_order_pub.g_hdr.request_id
710          , inv_ic_order_pub.g_hdr.return_reason_code
711          , inv_ic_order_pub.g_hdr.salesrep_id
712          , inv_ic_order_pub.g_hdr.sales_channel_code
713          , inv_ic_order_pub.g_hdr.shipment_priority_code
714          , inv_ic_order_pub.g_hdr.shipping_method_code
715          , inv_ic_order_pub.g_hdr.ship_from_org_id
716          , inv_ic_order_pub.g_hdr.ship_tolerance_above
717          , inv_ic_order_pub.g_hdr.ship_tolerance_below
718          , inv_ic_order_pub.g_hdr.ship_to_contact_id
719          , inv_ic_order_pub.g_hdr.ship_to_org_id
720          , inv_ic_order_pub.g_hdr.sold_from_org_id
721          , inv_ic_order_pub.g_hdr.sold_to_contact_id
722          , inv_ic_order_pub.g_hdr.sold_to_org_id
723          , inv_ic_order_pub.g_hdr.source_document_id
724          , inv_ic_order_pub.g_hdr.source_document_type_id
725          , inv_ic_order_pub.g_hdr.tax_exempt_flag
726          , inv_ic_order_pub.g_hdr.tax_exempt_number
727          , inv_ic_order_pub.g_hdr.tax_exempt_reason_code
728          , inv_ic_order_pub.g_hdr.tax_point_code
729          , inv_ic_order_pub.g_hdr.transactional_curr_code
730          , inv_ic_order_pub.g_hdr.version_number
731          , inv_ic_order_pub.g_hdr.payment_type_code
732          , inv_ic_order_pub.g_hdr.payment_amount
733          , inv_ic_order_pub.g_hdr.check_number
734          , inv_ic_order_pub.g_hdr.credit_card_code
735          , inv_ic_order_pub.g_hdr.credit_card_holder_name
736          , inv_ic_order_pub.g_hdr.credit_card_number
737          , inv_ic_order_pub.g_hdr.credit_card_expiration_date
738          , inv_ic_order_pub.g_hdr.credit_card_approval_date
739          , inv_ic_order_pub.g_hdr.credit_card_approval_code
740          , inv_ic_order_pub.g_hdr.shipping_instructions
741          , inv_ic_order_pub.g_hdr.packing_instructions
742          , inv_ic_order_pub.g_hdr.flow_status_code
743          , inv_ic_order_pub.g_hdr.marketing_source_code_id
744          , inv_ic_order_pub.g_hdr.tp_attribute1
745          , inv_ic_order_pub.g_hdr.tp_attribute10
746          , inv_ic_order_pub.g_hdr.tp_attribute11
747          , inv_ic_order_pub.g_hdr.tp_attribute12
748          , inv_ic_order_pub.g_hdr.tp_attribute13
749          , inv_ic_order_pub.g_hdr.tp_attribute14
750          , inv_ic_order_pub.g_hdr.tp_attribute15
751          , inv_ic_order_pub.g_hdr.tp_attribute2
752          , inv_ic_order_pub.g_hdr.tp_attribute3
753          , inv_ic_order_pub.g_hdr.tp_attribute4
754          , inv_ic_order_pub.g_hdr.tp_attribute5
755          , inv_ic_order_pub.g_hdr.tp_attribute6
756          , inv_ic_order_pub.g_hdr.tp_attribute7
757          , inv_ic_order_pub.g_hdr.tp_attribute8
758          , inv_ic_order_pub.g_hdr.tp_attribute9
759          , inv_ic_order_pub.g_hdr.tp_context
760          , inv_ic_order_pub.g_hdr.upgraded_flag
761          , inv_ic_order_pub.g_hdr.lock_control
762       FROM oe_order_headers_all
763      WHERE header_id = p_header_id;
764   EXCEPTION
765     WHEN NO_DATA_FOUND THEN
766       x_return_status  := fnd_api.g_ret_sts_error;
767 
768       IF (l_debug = 1) THEN
769         print_debug('MTL_QP_PRICE.G_Hdr_Initialize: EXCEP NO_DATA_FOUND ');
770       END IF;
771 
772       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
773       RAISE NO_DATA_FOUND;
774     WHEN OTHERS THEN
775       x_return_status  := fnd_api.g_ret_sts_unexp_error;
776 
777       IF (l_debug = 1) THEN
778         print_debug('MTL_QP_PRICE.G_Hdr_Initialize: EXCEP UNEXP OTHERS - ' || SQLERRM);
779       END IF;
780 
781       RAISE fnd_api.g_exc_unexpected_error;
782   END g_hdr_initialize;
783 
784   PROCEDURE g_line_initialize(
785     p_line_id           IN            NUMBER
786   , l_sell_org_id       IN            NUMBER
787   , l_ship_org_id       IN            NUMBER
788   , l_primary_uom       IN            VARCHAR2
789   , p_inventory_item_id IN            NUMBER
790   , p_cto_item_flag     IN            VARCHAR2
791   , p_base_item_id      IN            NUMBER
792   , p_request_type_code IN VARCHAR2 DEFAULT 'IC'
793     -- OPM INVCONV umoogala Added above parameter
794   , x_return_status     OUT NOCOPY    VARCHAR2
795   ) IS
796     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
797   BEGIN
798     x_return_status                                         := fnd_api.g_ret_sts_success;
799     inv_ic_order_pub.g_line.accounting_rule_id              := fnd_api.g_miss_num;
800     inv_ic_order_pub.g_line.actual_arrival_date             := fnd_api.g_miss_date;
801     inv_ic_order_pub.g_line.actual_shipment_date            := fnd_api.g_miss_date;
802     inv_ic_order_pub.g_line.agreement_id                    := fnd_api.g_miss_num;
803     inv_ic_order_pub.g_line.arrival_set_id                  := fnd_api.g_miss_num;
804     inv_ic_order_pub.g_line.ato_line_id                     := fnd_api.g_miss_num;
805     inv_ic_order_pub.g_line.attribute1                      := fnd_api.g_miss_char;
806     inv_ic_order_pub.g_line.attribute10                     := fnd_api.g_miss_char;
807     inv_ic_order_pub.g_line.attribute11                     := fnd_api.g_miss_char;
808     inv_ic_order_pub.g_line.attribute12                     := fnd_api.g_miss_char;
809     inv_ic_order_pub.g_line.attribute13                     := fnd_api.g_miss_char;
810     inv_ic_order_pub.g_line.attribute14                     := fnd_api.g_miss_char;
811     inv_ic_order_pub.g_line.attribute15                     := fnd_api.g_miss_char;
812     inv_ic_order_pub.g_line.attribute2                      := fnd_api.g_miss_char;
813     inv_ic_order_pub.g_line.attribute3                      := fnd_api.g_miss_char;
814     inv_ic_order_pub.g_line.attribute4                      := fnd_api.g_miss_char;
815     inv_ic_order_pub.g_line.attribute5                      := fnd_api.g_miss_char;
816     inv_ic_order_pub.g_line.attribute6                      := fnd_api.g_miss_char;
817     inv_ic_order_pub.g_line.attribute7                      := fnd_api.g_miss_char;
818     inv_ic_order_pub.g_line.attribute8                      := fnd_api.g_miss_char;
819     inv_ic_order_pub.g_line.attribute9                      := fnd_api.g_miss_char;
820     inv_ic_order_pub.g_line.authorized_to_ship_flag         := fnd_api.g_miss_char;
821     inv_ic_order_pub.g_line.auto_selected_quantity          := fnd_api.g_miss_num;
822     inv_ic_order_pub.g_line.booked_flag                     := fnd_api.g_miss_char;
823     inv_ic_order_pub.g_line.cancelled_flag                  := fnd_api.g_miss_char;
824     inv_ic_order_pub.g_line.cancelled_quantity              := fnd_api.g_miss_num;
825     inv_ic_order_pub.g_line.cancelled_quantity2             := fnd_api.g_miss_num;
826     inv_ic_order_pub.g_line.commitment_id                   := fnd_api.g_miss_num;
827     inv_ic_order_pub.g_line.component_code                  := fnd_api.g_miss_char;
828     inv_ic_order_pub.g_line.component_number                := fnd_api.g_miss_num;
829     inv_ic_order_pub.g_line.component_sequence_id           := fnd_api.g_miss_num;
830     inv_ic_order_pub.g_line.config_header_id                := fnd_api.g_miss_num;
831     inv_ic_order_pub.g_line.config_rev_nbr                  := fnd_api.g_miss_num;
832     inv_ic_order_pub.g_line.config_display_sequence         := fnd_api.g_miss_num;
833     inv_ic_order_pub.g_line.configuration_id                := fnd_api.g_miss_num;
834     inv_ic_order_pub.g_line.CONTEXT                         := fnd_api.g_miss_char;
835     inv_ic_order_pub.g_line.created_by                      := fnd_api.g_miss_num;
836     inv_ic_order_pub.g_line.creation_date                   := fnd_api.g_miss_date;
837     inv_ic_order_pub.g_line.credit_invoice_line_id          := fnd_api.g_miss_num;
838     inv_ic_order_pub.g_line.customer_dock_code              := fnd_api.g_miss_char;
839     inv_ic_order_pub.g_line.customer_job                    := fnd_api.g_miss_char;
840     inv_ic_order_pub.g_line.customer_production_line        := fnd_api.g_miss_char;
841     inv_ic_order_pub.g_line.customer_trx_line_id            := fnd_api.g_miss_num;
842     inv_ic_order_pub.g_line.cust_model_serial_number        := fnd_api.g_miss_char;
843     inv_ic_order_pub.g_line.cust_po_number                  := fnd_api.g_miss_char;
844     inv_ic_order_pub.g_line.cust_production_seq_num         := fnd_api.g_miss_char;
845     inv_ic_order_pub.g_line.delivery_lead_time              := fnd_api.g_miss_num;
846     inv_ic_order_pub.g_line.deliver_to_contact_id           := fnd_api.g_miss_num;
847     inv_ic_order_pub.g_line.deliver_to_org_id               := fnd_api.g_miss_num;
848     inv_ic_order_pub.g_line.demand_bucket_type_code         := fnd_api.g_miss_char;
849     inv_ic_order_pub.g_line.demand_class_code               := fnd_api.g_miss_char;
850     inv_ic_order_pub.g_line.dep_plan_required_flag          := fnd_api.g_miss_char;
851     inv_ic_order_pub.g_line.earliest_acceptable_date        := fnd_api.g_miss_date;
852     inv_ic_order_pub.g_line.end_item_unit_number            := fnd_api.g_miss_char;
853     inv_ic_order_pub.g_line.explosion_date                  := fnd_api.g_miss_date;
854     inv_ic_order_pub.g_line.fob_point_code                  := fnd_api.g_miss_char;
855     inv_ic_order_pub.g_line.freight_carrier_code            := fnd_api.g_miss_char;
856     inv_ic_order_pub.g_line.freight_terms_code              := fnd_api.g_miss_char;
857     inv_ic_order_pub.g_line.fulfilled_quantity              := fnd_api.g_miss_num;
858     inv_ic_order_pub.g_line.fulfilled_quantity2             := fnd_api.g_miss_num;
859     inv_ic_order_pub.g_line.global_attribute1               := fnd_api.g_miss_char;
860     inv_ic_order_pub.g_line.global_attribute10              := fnd_api.g_miss_char;
861     inv_ic_order_pub.g_line.global_attribute11              := fnd_api.g_miss_char;
862     inv_ic_order_pub.g_line.global_attribute12              := fnd_api.g_miss_char;
863     inv_ic_order_pub.g_line.global_attribute13              := fnd_api.g_miss_char;
864     inv_ic_order_pub.g_line.global_attribute14              := fnd_api.g_miss_char;
865     inv_ic_order_pub.g_line.global_attribute15              := fnd_api.g_miss_char;
866     inv_ic_order_pub.g_line.global_attribute16              := fnd_api.g_miss_char;
867     inv_ic_order_pub.g_line.global_attribute17              := fnd_api.g_miss_char;
868     inv_ic_order_pub.g_line.global_attribute18              := fnd_api.g_miss_char;
869     inv_ic_order_pub.g_line.global_attribute19              := fnd_api.g_miss_char;
870     inv_ic_order_pub.g_line.global_attribute2               := fnd_api.g_miss_char;
871     inv_ic_order_pub.g_line.global_attribute20              := fnd_api.g_miss_char;
872     inv_ic_order_pub.g_line.global_attribute3               := fnd_api.g_miss_char;
873     inv_ic_order_pub.g_line.global_attribute4               := fnd_api.g_miss_char;
874     inv_ic_order_pub.g_line.global_attribute5               := fnd_api.g_miss_char;
875     inv_ic_order_pub.g_line.global_attribute6               := fnd_api.g_miss_char;
876     inv_ic_order_pub.g_line.global_attribute7               := fnd_api.g_miss_char;
877     inv_ic_order_pub.g_line.global_attribute8               := fnd_api.g_miss_char;
878     inv_ic_order_pub.g_line.global_attribute9               := fnd_api.g_miss_char;
879     inv_ic_order_pub.g_line.global_attribute_category       := fnd_api.g_miss_char;
880     inv_ic_order_pub.g_line.header_id                       := fnd_api.g_miss_num;
881     inv_ic_order_pub.g_line.industry_attribute1             := fnd_api.g_miss_char;
882     inv_ic_order_pub.g_line.industry_attribute10            := fnd_api.g_miss_char;
883     inv_ic_order_pub.g_line.industry_attribute11            := fnd_api.g_miss_char;
884     inv_ic_order_pub.g_line.industry_attribute12            := fnd_api.g_miss_char;
885     inv_ic_order_pub.g_line.industry_attribute13            := fnd_api.g_miss_char;
886     inv_ic_order_pub.g_line.industry_attribute14            := fnd_api.g_miss_char;
887     inv_ic_order_pub.g_line.industry_attribute15            := fnd_api.g_miss_char;
888     inv_ic_order_pub.g_line.industry_attribute16            := fnd_api.g_miss_char;
889     inv_ic_order_pub.g_line.industry_attribute17            := fnd_api.g_miss_char;
890     inv_ic_order_pub.g_line.industry_attribute18            := fnd_api.g_miss_char;
891     inv_ic_order_pub.g_line.industry_attribute19            := fnd_api.g_miss_char;
892     inv_ic_order_pub.g_line.industry_attribute20            := fnd_api.g_miss_char;
893     inv_ic_order_pub.g_line.industry_attribute21            := fnd_api.g_miss_char;
894     inv_ic_order_pub.g_line.industry_attribute22            := fnd_api.g_miss_char;
895     inv_ic_order_pub.g_line.industry_attribute23            := fnd_api.g_miss_char;
896     inv_ic_order_pub.g_line.industry_attribute24            := fnd_api.g_miss_char;
897     inv_ic_order_pub.g_line.industry_attribute25            := fnd_api.g_miss_char;
898     inv_ic_order_pub.g_line.industry_attribute26            := fnd_api.g_miss_char;
899     inv_ic_order_pub.g_line.industry_attribute27            := fnd_api.g_miss_char;
900     inv_ic_order_pub.g_line.industry_attribute28            := fnd_api.g_miss_char;
901     inv_ic_order_pub.g_line.industry_attribute29            := fnd_api.g_miss_char;
902     inv_ic_order_pub.g_line.industry_attribute30            := fnd_api.g_miss_char;
903     inv_ic_order_pub.g_line.industry_attribute2             := fnd_api.g_miss_char;
904     inv_ic_order_pub.g_line.industry_attribute3             := fnd_api.g_miss_char;
905     inv_ic_order_pub.g_line.industry_attribute4             := fnd_api.g_miss_char;
906     inv_ic_order_pub.g_line.industry_attribute5             := fnd_api.g_miss_char;
907     inv_ic_order_pub.g_line.industry_attribute6             := fnd_api.g_miss_char;
908     inv_ic_order_pub.g_line.industry_attribute7             := fnd_api.g_miss_char;
909     inv_ic_order_pub.g_line.industry_attribute8             := fnd_api.g_miss_char;
910     inv_ic_order_pub.g_line.industry_attribute9             := fnd_api.g_miss_char;
911     inv_ic_order_pub.g_line.industry_context                := fnd_api.g_miss_char;
912     inv_ic_order_pub.g_line.tp_context                      := fnd_api.g_miss_char;
913     inv_ic_order_pub.g_line.tp_attribute1                   := fnd_api.g_miss_char;
914     inv_ic_order_pub.g_line.tp_attribute2                   := fnd_api.g_miss_char;
915     inv_ic_order_pub.g_line.tp_attribute3                   := fnd_api.g_miss_char;
916     inv_ic_order_pub.g_line.tp_attribute4                   := fnd_api.g_miss_char;
917     inv_ic_order_pub.g_line.tp_attribute5                   := fnd_api.g_miss_char;
918     inv_ic_order_pub.g_line.tp_attribute6                   := fnd_api.g_miss_char;
919     inv_ic_order_pub.g_line.tp_attribute7                   := fnd_api.g_miss_char;
920     inv_ic_order_pub.g_line.tp_attribute8                   := fnd_api.g_miss_char;
921     inv_ic_order_pub.g_line.tp_attribute9                   := fnd_api.g_miss_char;
922     inv_ic_order_pub.g_line.tp_attribute10                  := fnd_api.g_miss_char;
923     inv_ic_order_pub.g_line.tp_attribute11                  := fnd_api.g_miss_char;
924     inv_ic_order_pub.g_line.tp_attribute12                  := fnd_api.g_miss_char;
925     inv_ic_order_pub.g_line.tp_attribute13                  := fnd_api.g_miss_char;
926     inv_ic_order_pub.g_line.tp_attribute14                  := fnd_api.g_miss_char;
927     inv_ic_order_pub.g_line.tp_attribute15                  := fnd_api.g_miss_char;
928     inv_ic_order_pub.g_line.intermed_ship_to_org_id         := fnd_api.g_miss_num;
929     inv_ic_order_pub.g_line.intermed_ship_to_contact_id     := fnd_api.g_miss_num;
930     inv_ic_order_pub.g_line.inventory_item_id               := fnd_api.g_miss_num;
931     inv_ic_order_pub.g_line.invoice_interface_status_code   := fnd_api.g_miss_char;
932     inv_ic_order_pub.g_line.invoice_to_contact_id           := fnd_api.g_miss_num;
933     inv_ic_order_pub.g_line.invoice_to_org_id               := fnd_api.g_miss_num;
934     inv_ic_order_pub.g_line.invoicing_rule_id               := fnd_api.g_miss_num;
935     inv_ic_order_pub.g_line.ordered_item                    := fnd_api.g_miss_char;
936     inv_ic_order_pub.g_line.item_revision                   := fnd_api.g_miss_char;
937     inv_ic_order_pub.g_line.item_type_code                  := fnd_api.g_miss_char;
938     inv_ic_order_pub.g_line.last_updated_by                 := fnd_api.g_miss_num;
939     inv_ic_order_pub.g_line.last_update_date                := fnd_api.g_miss_date;
940     inv_ic_order_pub.g_line.last_update_login               := fnd_api.g_miss_num;
941     inv_ic_order_pub.g_line.latest_acceptable_date          := fnd_api.g_miss_date;
942     inv_ic_order_pub.g_line.line_category_code              := fnd_api.g_miss_char;
943     inv_ic_order_pub.g_line.line_id                         := fnd_api.g_miss_num;
944     inv_ic_order_pub.g_line.line_number                     := fnd_api.g_miss_num;
945     inv_ic_order_pub.g_line.line_type_id                    := fnd_api.g_miss_num;
946     inv_ic_order_pub.g_line.link_to_line_ref                := fnd_api.g_miss_char;
947     inv_ic_order_pub.g_line.link_to_line_id                 := fnd_api.g_miss_num;
948     inv_ic_order_pub.g_line.link_to_line_index              := fnd_api.g_miss_num;
949     inv_ic_order_pub.g_line.model_group_number              := fnd_api.g_miss_num;
950     inv_ic_order_pub.g_line.mfg_component_sequence_id       := fnd_api.g_miss_num;
951     inv_ic_order_pub.g_line.mfg_lead_time                   := fnd_api.g_miss_num;   --
952     inv_ic_order_pub.g_line.open_flag                       := fnd_api.g_miss_char;
953     inv_ic_order_pub.g_line.option_flag                     := fnd_api.g_miss_char;
954     inv_ic_order_pub.g_line.option_number                   := fnd_api.g_miss_num;
955     inv_ic_order_pub.g_line.ordered_quantity                := fnd_api.g_miss_num;
956     inv_ic_order_pub.g_line.ordered_quantity2               := fnd_api.g_miss_num;
957     inv_ic_order_pub.g_line.order_quantity_uom              := fnd_api.g_miss_char;
958     inv_ic_order_pub.g_line.ordered_quantity_uom2           := fnd_api.g_miss_char;
959     inv_ic_order_pub.g_line.org_id                          := fnd_api.g_miss_num;
960     inv_ic_order_pub.g_line.orig_sys_document_ref           := fnd_api.g_miss_char;
961     inv_ic_order_pub.g_line.orig_sys_line_ref               := fnd_api.g_miss_char;
962     inv_ic_order_pub.g_line.over_ship_reason_code           := fnd_api.g_miss_char;
963     inv_ic_order_pub.g_line.over_ship_resolved_flag         := fnd_api.g_miss_char;
964     inv_ic_order_pub.g_line.payment_term_id                 := fnd_api.g_miss_num;
965     inv_ic_order_pub.g_line.planning_priority               := fnd_api.g_miss_num;
966     inv_ic_order_pub.g_line.preferred_grade                 := fnd_api.g_miss_char;
967     inv_ic_order_pub.g_line.price_list_id                   := fnd_api.g_miss_num;
968     inv_ic_order_pub.g_line.pricing_attribute1              := fnd_api.g_miss_char;
969     inv_ic_order_pub.g_line.pricing_attribute10             := fnd_api.g_miss_char;
970     inv_ic_order_pub.g_line.pricing_attribute2              := fnd_api.g_miss_char;
971     inv_ic_order_pub.g_line.pricing_attribute3              := fnd_api.g_miss_char;
972     inv_ic_order_pub.g_line.pricing_attribute4              := fnd_api.g_miss_char;
973     inv_ic_order_pub.g_line.pricing_attribute5              := fnd_api.g_miss_char;
974     inv_ic_order_pub.g_line.pricing_attribute6              := fnd_api.g_miss_char;
975     inv_ic_order_pub.g_line.pricing_attribute7              := fnd_api.g_miss_char;
976     inv_ic_order_pub.g_line.pricing_attribute8              := fnd_api.g_miss_char;
977     inv_ic_order_pub.g_line.pricing_attribute9              := fnd_api.g_miss_char;
978     inv_ic_order_pub.g_line.pricing_context                 := fnd_api.g_miss_char;
979     inv_ic_order_pub.g_line.pricing_date                    := fnd_api.g_miss_date;
980     inv_ic_order_pub.g_line.pricing_quantity                := fnd_api.g_miss_num;
981     inv_ic_order_pub.g_line.pricing_quantity_uom            := fnd_api.g_miss_char;
982     inv_ic_order_pub.g_line.program_application_id          := fnd_api.g_miss_num;
983     inv_ic_order_pub.g_line.program_id                      := fnd_api.g_miss_num;
984     inv_ic_order_pub.g_line.program_update_date             := fnd_api.g_miss_date;
985     inv_ic_order_pub.g_line.project_id                      := fnd_api.g_miss_num;
986     inv_ic_order_pub.g_line.promise_date                    := fnd_api.g_miss_date;
987     inv_ic_order_pub.g_line.re_source_flag                  := fnd_api.g_miss_char;
988     inv_ic_order_pub.g_line.reference_customer_trx_line_id  := fnd_api.g_miss_num;
989     inv_ic_order_pub.g_line.reference_header_id             := fnd_api.g_miss_num;
990     inv_ic_order_pub.g_line.reference_line_id               := fnd_api.g_miss_num;
991     inv_ic_order_pub.g_line.reference_type                  := fnd_api.g_miss_char;
992     inv_ic_order_pub.g_line.request_date                    := fnd_api.g_miss_date;
993     inv_ic_order_pub.g_line.request_id                      := fnd_api.g_miss_num;
994     inv_ic_order_pub.g_line.reserved_quantity               := fnd_api.g_miss_num;
995     inv_ic_order_pub.g_line.return_attribute1               := fnd_api.g_miss_char;
996     inv_ic_order_pub.g_line.return_attribute10              := fnd_api.g_miss_char;
997     inv_ic_order_pub.g_line.return_attribute11              := fnd_api.g_miss_char;
998     inv_ic_order_pub.g_line.return_attribute12              := fnd_api.g_miss_char;
999     inv_ic_order_pub.g_line.return_attribute13              := fnd_api.g_miss_char;
1000     inv_ic_order_pub.g_line.return_attribute14              := fnd_api.g_miss_char;
1001     inv_ic_order_pub.g_line.return_attribute15              := fnd_api.g_miss_char;
1002     inv_ic_order_pub.g_line.return_attribute2               := fnd_api.g_miss_char;
1003     inv_ic_order_pub.g_line.return_attribute3               := fnd_api.g_miss_char;
1004     inv_ic_order_pub.g_line.return_attribute4               := fnd_api.g_miss_char;
1005     inv_ic_order_pub.g_line.return_attribute5               := fnd_api.g_miss_char;
1006     inv_ic_order_pub.g_line.return_attribute6               := fnd_api.g_miss_char;
1007     inv_ic_order_pub.g_line.return_attribute7               := fnd_api.g_miss_char;
1008     inv_ic_order_pub.g_line.return_attribute8               := fnd_api.g_miss_char;
1009     inv_ic_order_pub.g_line.return_attribute9               := fnd_api.g_miss_char;
1010     inv_ic_order_pub.g_line.return_context                  := fnd_api.g_miss_char;
1011     inv_ic_order_pub.g_line.return_reason_code              := fnd_api.g_miss_char;
1012     inv_ic_order_pub.g_line.rla_schedule_type_code          := fnd_api.g_miss_char;
1013     inv_ic_order_pub.g_line.salesrep_id                     := fnd_api.g_miss_num;
1014     inv_ic_order_pub.g_line.schedule_arrival_date           := fnd_api.g_miss_date;
1015     inv_ic_order_pub.g_line.schedule_ship_date              := fnd_api.g_miss_date;
1016     inv_ic_order_pub.g_line.schedule_action_code            := fnd_api.g_miss_char;
1017     inv_ic_order_pub.g_line.schedule_status_code            := fnd_api.g_miss_char;
1018     inv_ic_order_pub.g_line.shipment_number                 := fnd_api.g_miss_num;
1019     inv_ic_order_pub.g_line.shipment_priority_code          := fnd_api.g_miss_char;
1020     inv_ic_order_pub.g_line.shipped_quantity                := fnd_api.g_miss_num;
1021     inv_ic_order_pub.g_line.shipped_quantity2               := fnd_api.g_miss_num;
1022     inv_ic_order_pub.g_line.shipping_interfaced_flag        := fnd_api.g_miss_char;
1023     inv_ic_order_pub.g_line.shipping_method_code            := fnd_api.g_miss_char;
1024     inv_ic_order_pub.g_line.shipping_quantity               := fnd_api.g_miss_num;
1025     inv_ic_order_pub.g_line.shipping_quantity2              := fnd_api.g_miss_num;
1026     inv_ic_order_pub.g_line.shipping_quantity_uom           := fnd_api.g_miss_char;
1027     inv_ic_order_pub.g_line.shipping_quantity_uom2          := fnd_api.g_miss_char;
1028     inv_ic_order_pub.g_line.ship_from_org_id                := fnd_api.g_miss_num;
1029     inv_ic_order_pub.g_line.ship_model_complete_flag        := fnd_api.g_miss_char;
1030     inv_ic_order_pub.g_line.ship_set_id                     := fnd_api.g_miss_num;
1031     inv_ic_order_pub.g_line.fulfillment_set_id              := fnd_api.g_miss_num;
1032     inv_ic_order_pub.g_line.ship_tolerance_above            := fnd_api.g_miss_num;
1033     inv_ic_order_pub.g_line.ship_tolerance_below            := fnd_api.g_miss_num;
1034     inv_ic_order_pub.g_line.ship_to_contact_id              := fnd_api.g_miss_num;
1035     inv_ic_order_pub.g_line.ship_to_org_id                  := fnd_api.g_miss_num;
1036     inv_ic_order_pub.g_line.sold_to_org_id                  := fnd_api.g_miss_num;
1037     inv_ic_order_pub.g_line.sold_from_org_id                := fnd_api.g_miss_num;
1038     inv_ic_order_pub.g_line.sort_order                      := fnd_api.g_miss_char;
1039     inv_ic_order_pub.g_line.source_document_id              := fnd_api.g_miss_num;
1040     inv_ic_order_pub.g_line.source_document_line_id         := fnd_api.g_miss_num;
1041     inv_ic_order_pub.g_line.source_document_type_id         := fnd_api.g_miss_num;
1042     inv_ic_order_pub.g_line.source_type_code                := fnd_api.g_miss_char;
1043     inv_ic_order_pub.g_line.split_from_line_id              := fnd_api.g_miss_num;
1044     inv_ic_order_pub.g_line.task_id                         := fnd_api.g_miss_num;
1045     inv_ic_order_pub.g_line.tax_code                        := fnd_api.g_miss_char;
1046     inv_ic_order_pub.g_line.tax_date                        := fnd_api.g_miss_date;
1047     inv_ic_order_pub.g_line.tax_exempt_flag                 := fnd_api.g_miss_char;
1048     inv_ic_order_pub.g_line.tax_exempt_number               := fnd_api.g_miss_char;
1049     inv_ic_order_pub.g_line.tax_exempt_reason_code          := fnd_api.g_miss_char;
1050     inv_ic_order_pub.g_line.tax_point_code                  := fnd_api.g_miss_char;
1051     inv_ic_order_pub.g_line.tax_rate                        := fnd_api.g_miss_num;
1052     inv_ic_order_pub.g_line.tax_value                       := fnd_api.g_miss_num;
1053     inv_ic_order_pub.g_line.top_model_line_ref              := fnd_api.g_miss_char;
1054     inv_ic_order_pub.g_line.top_model_line_id               := fnd_api.g_miss_num;
1055     inv_ic_order_pub.g_line.top_model_line_index            := fnd_api.g_miss_num;
1056     inv_ic_order_pub.g_line.unit_list_price                 := fnd_api.g_miss_num;
1057     inv_ic_order_pub.g_line.unit_list_price_per_pqty        := fnd_api.g_miss_num;
1058     inv_ic_order_pub.g_line.unit_selling_price              := fnd_api.g_miss_num;
1059     inv_ic_order_pub.g_line.unit_selling_price_per_pqty     := fnd_api.g_miss_num;
1060     inv_ic_order_pub.g_line.veh_cus_item_cum_key_id         := fnd_api.g_miss_num;
1061     inv_ic_order_pub.g_line.visible_demand_flag             := fnd_api.g_miss_char;
1062     inv_ic_order_pub.g_line.return_status                   := fnd_api.g_miss_char;
1063     inv_ic_order_pub.g_line.db_flag                         := fnd_api.g_miss_char;
1064     inv_ic_order_pub.g_line.operation                       := fnd_api.g_miss_char;
1065     inv_ic_order_pub.g_line.first_ack_code                  := fnd_api.g_miss_char;
1066     inv_ic_order_pub.g_line.first_ack_date                  := fnd_api.g_miss_date;
1067     inv_ic_order_pub.g_line.last_ack_code                   := fnd_api.g_miss_char;
1068     inv_ic_order_pub.g_line.last_ack_date                   := fnd_api.g_miss_date;
1069     inv_ic_order_pub.g_line.change_reason                   := fnd_api.g_miss_char;
1070     inv_ic_order_pub.g_line.change_comments                 := fnd_api.g_miss_char;
1071     inv_ic_order_pub.g_line.arrival_set                     := fnd_api.g_miss_char;
1072     inv_ic_order_pub.g_line.ship_set                        := fnd_api.g_miss_char;
1073     inv_ic_order_pub.g_line.fulfillment_set                 := fnd_api.g_miss_char;
1074     inv_ic_order_pub.g_line.order_source_id                 := fnd_api.g_miss_num;
1075     inv_ic_order_pub.g_line.orig_sys_shipment_ref           := fnd_api.g_miss_char;
1076     inv_ic_order_pub.g_line.change_sequence                 := fnd_api.g_miss_char;
1077     inv_ic_order_pub.g_line.change_request_code             := fnd_api.g_miss_char;
1078     inv_ic_order_pub.g_line.status_flag                     := fnd_api.g_miss_char;
1079     inv_ic_order_pub.g_line.drop_ship_flag                  := fnd_api.g_miss_char;
1080     inv_ic_order_pub.g_line.customer_line_number            := fnd_api.g_miss_char;
1081     inv_ic_order_pub.g_line.customer_shipment_number        := fnd_api.g_miss_char;
1082     inv_ic_order_pub.g_line.customer_item_net_price         := fnd_api.g_miss_num;
1083     inv_ic_order_pub.g_line.customer_payment_term_id        := fnd_api.g_miss_num;
1084     inv_ic_order_pub.g_line.ordered_item_id                 := fnd_api.g_miss_num;
1085     inv_ic_order_pub.g_line.item_identifier_type            := fnd_api.g_miss_char;
1086     inv_ic_order_pub.g_line.shipping_instructions           := fnd_api.g_miss_char;
1087     inv_ic_order_pub.g_line.packing_instructions            := fnd_api.g_miss_char;
1088     inv_ic_order_pub.g_line.calculate_price_flag            := fnd_api.g_miss_char;
1089     inv_ic_order_pub.g_line.invoiced_quantity               := fnd_api.g_miss_num;
1090     inv_ic_order_pub.g_line.service_txn_reason_code         := fnd_api.g_miss_char;
1091     inv_ic_order_pub.g_line.service_txn_comments            := fnd_api.g_miss_char;
1092     inv_ic_order_pub.g_line.service_duration                := fnd_api.g_miss_num;
1093     inv_ic_order_pub.g_line.service_period                  := fnd_api.g_miss_char;
1094     inv_ic_order_pub.g_line.service_start_date              := fnd_api.g_miss_date;
1095     inv_ic_order_pub.g_line.service_end_date                := fnd_api.g_miss_date;
1096     inv_ic_order_pub.g_line.service_coterminate_flag        := fnd_api.g_miss_char;
1097     inv_ic_order_pub.g_line.unit_list_percent               := fnd_api.g_miss_num;
1098     inv_ic_order_pub.g_line.unit_selling_percent            := fnd_api.g_miss_num;
1099     inv_ic_order_pub.g_line.unit_percent_base_price         := fnd_api.g_miss_num;
1100     inv_ic_order_pub.g_line.service_number                  := fnd_api.g_miss_num;
1101     inv_ic_order_pub.g_line.service_reference_type_code     := fnd_api.g_miss_char;
1102     inv_ic_order_pub.g_line.service_reference_line_id       := fnd_api.g_miss_num;
1103     inv_ic_order_pub.g_line.service_reference_system_id     := fnd_api.g_miss_num;
1104     inv_ic_order_pub.g_line.service_ref_order_number        := fnd_api.g_miss_num;   --
1105     inv_ic_order_pub.g_line.service_ref_line_number         := fnd_api.g_miss_num;   --
1106     inv_ic_order_pub.g_line.service_reference_order         := fnd_api.g_miss_char;   --
1107     inv_ic_order_pub.g_line.service_reference_line          := fnd_api.g_miss_char;   --
1108     inv_ic_order_pub.g_line.service_reference_system        := fnd_api.g_miss_char;   --
1109     inv_ic_order_pub.g_line.service_ref_shipment_number     := fnd_api.g_miss_num;   --
1110     inv_ic_order_pub.g_line.service_ref_option_number       := fnd_api.g_miss_num;   --
1111     inv_ic_order_pub.g_line.service_line_index              := fnd_api.g_miss_num;
1112     inv_ic_order_pub.g_line.line_set_id                     := fnd_api.g_miss_num;
1113     inv_ic_order_pub.g_line.split_by                        := fnd_api.g_miss_char;
1114     inv_ic_order_pub.g_line.split_action_code               := fnd_api.g_miss_char;
1115     inv_ic_order_pub.g_line.shippable_flag                  := fnd_api.g_miss_char;
1116     inv_ic_order_pub.g_line.model_remnant_flag              := fnd_api.g_miss_char;
1117     inv_ic_order_pub.g_line.flow_status_code                := 'ENTERED';
1118     inv_ic_order_pub.g_line.fulfilled_flag                  := fnd_api.g_miss_char;
1119     inv_ic_order_pub.g_line.fulfillment_method_code         := fnd_api.g_miss_char;
1120     inv_ic_order_pub.g_line.revenue_amount                  := fnd_api.g_miss_num;
1121     inv_ic_order_pub.g_line.marketing_source_code_id        := fnd_api.g_miss_num;
1122     inv_ic_order_pub.g_line.fulfillment_date                := fnd_api.g_miss_date;
1123     inv_ic_order_pub.g_line.semi_processed_flag             := FALSE;
1124     inv_ic_order_pub.g_line.upgraded_flag                   := fnd_api.g_miss_char;
1125     inv_ic_order_pub.g_line.lock_control                    := fnd_api.g_miss_num;
1126     inv_ic_order_pub.g_line.subinventory                    := fnd_api.g_miss_char;
1127     inv_ic_order_pub.g_line.split_from_line_ref             := fnd_api.g_miss_char;
1128     inv_ic_order_pub.g_line.ship_to_edi_location_code       := fnd_api.g_miss_char;
1129     --  The followings are attributes related to the IC
1130     inv_ic_order_pub.g_line.ic_customer_id                  := fnd_api.g_miss_num;   --
1131     inv_ic_order_pub.g_line.ic_address_id                   := fnd_api.g_miss_num;   --
1132     inv_ic_order_pub.g_line.ic_customer_site_id             := fnd_api.g_miss_num;   --
1133     inv_ic_order_pub.g_line.ic_cust_trx_type_id             := fnd_api.g_miss_num;   --
1134     inv_ic_order_pub.g_line.ic_vendor_id                    := fnd_api.g_miss_num;   --
1135     inv_ic_order_pub.g_line.ic_vendor_site_id               := fnd_api.g_miss_num;   --
1136     inv_ic_order_pub.g_line.ic_revalue_average_flag         := fnd_api.g_miss_char;   --
1137     inv_ic_order_pub.g_line.ic_freight_code_combination_id  := fnd_api.g_miss_num;   --
1138     -- set values for non-DB fields
1139     inv_ic_order_pub.g_line.db_flag                         := fnd_api.g_true;
1140     inv_ic_order_pub.g_line.operation                       := fnd_api.g_miss_char;
1141     inv_ic_order_pub.g_line.return_status                   := fnd_api.g_miss_char;
1142     inv_ic_order_pub.g_line.schedule_action_code            := fnd_api.g_miss_char;
1143     inv_ic_order_pub.g_line.reserved_quantity               := fnd_api.g_miss_num;
1144     inv_ic_order_pub.g_line.change_reason                   := fnd_api.g_miss_char;
1145     inv_ic_order_pub.g_line.change_comments                 := fnd_api.g_miss_char;
1146     inv_ic_order_pub.g_line.arrival_set                     := fnd_api.g_miss_char;
1147     inv_ic_order_pub.g_line.ship_set                        := fnd_api.g_miss_char;
1148     inv_ic_order_pub.g_line.fulfillment_set                 := fnd_api.g_miss_char;
1149     inv_ic_order_pub.g_line.split_action_code               := fnd_api.g_miss_char;
1150 
1151     --  Intercompany fields population
1152     IF (l_debug = 1) THEN
1153       print_debug('MTL_QP_PRICE.G_Line_Initialize: Populating IC fields...');
1154     END IF;
1155 
1156     --
1157     -- OPM INVCONV umoogala  Process Discrete Transfers Enh.
1158     -- For above transfers via internal order, we are trying to
1159     -- reuse this get_transfe_price routine. For these transfers
1160     -- intercompany parameters are NOT mandatory.
1161     -- But, Internal Orders with IC Invoicing will need these parameters.
1162     -- Calling program GMF_get_transfer_price_PUB will set the following
1163     -- parameter to INTORG, so that IC parameters are not loaded.
1164     --
1165     IF p_request_type_code = 'IC'
1166     THEN
1167       BEGIN
1168         SELECT customer_id
1169              , address_id
1170              , customer_site_id
1171              , cust_trx_type_id
1172              , vendor_id
1173              , vendor_site_id
1174              , revalue_average_flag
1175              , freight_code_combination_id
1176           INTO inv_ic_order_pub.g_line.ic_customer_id
1177              , inv_ic_order_pub.g_line.ic_address_id
1178              , inv_ic_order_pub.g_line.ic_customer_site_id
1179              , inv_ic_order_pub.g_line.ic_cust_trx_type_id
1180              , inv_ic_order_pub.g_line.ic_vendor_id
1181              , inv_ic_order_pub.g_line.ic_vendor_site_id
1182              , inv_ic_order_pub.g_line.ic_revalue_average_flag
1183              , inv_ic_order_pub.g_line.ic_freight_code_combination_id
1184           FROM mtl_intercompany_parameters
1185          WHERE sell_organization_id = l_sell_org_id
1186            AND ship_organization_id = NVL(l_ship_org_id, ship_organization_id)
1187            AND flow_type = 1;
1188       EXCEPTION
1189         WHEN NO_DATA_FOUND THEN
1190           x_return_status  := fnd_api.g_ret_sts_error;
1191 
1192           IF (l_debug = 1) THEN
1193             print_debug('MTL_QP_PRICE.G_Line_Initialize: IC fields NO_DATA_FOUND...');
1194           END IF;
1195         WHEN OTHERS THEN
1196           x_return_status  := fnd_api.g_ret_sts_unexp_error;
1197 
1198           IF (l_debug = 1) THEN
1199             print_debug('MTL_QP_PRICE.G_Line_Initialize: IC fields EXCEP UNEXP OTHERS - ' || SQLERRM);
1200           END IF;
1201       END;
1202 
1203       inv_ic_order_pub.g_line.ic_selling_org_id               := l_sell_org_id;
1204       inv_ic_order_pub.g_line.ic_shipping_org_id              := l_ship_org_id;
1205       inv_ic_order_pub.g_line.primary_uom                     := l_primary_uom;
1206     END IF; -- OPM INVCONV umoogala (if p_request_type_code = 'IC')
1207 
1208     --  Line population
1209     IF (l_debug = 1) THEN
1210       print_debug('MTL_QP_PRICE.G_Line_Initialize: Populating G_LINE...');
1211     END IF;
1212 
1213     SELECT accounting_rule_id
1214          , actual_arrival_date
1215          , actual_shipment_date
1216          , agreement_id
1217          , arrival_set_id
1218          , ato_line_id
1219          , attribute1
1220          , attribute10
1221          , attribute11
1222          , attribute12
1223          , attribute13
1224          , attribute14
1225          , attribute15
1226          , attribute2
1227          , attribute3
1228          , attribute4
1229          , attribute5
1230          , attribute6
1231          , attribute7
1232          , attribute8
1233          , attribute9
1234          , auto_selected_quantity
1235          , authorized_to_ship_flag
1236          , booked_flag
1237          , cancelled_flag
1238          , cancelled_quantity
1239          , component_code
1240          , component_number
1241          , component_sequence_id
1242          , config_header_id
1243          , config_rev_nbr
1244          , config_display_sequence
1245          , configuration_id
1246          , CONTEXT
1247          , created_by
1248          , creation_date
1249          , credit_invoice_line_id
1250          , customer_dock_code
1251          , customer_job
1252          , customer_production_line
1253          , cust_production_seq_num
1254          , customer_trx_line_id
1255          , cust_model_serial_number
1256          , cust_po_number
1257          , customer_line_number
1258          , delivery_lead_time
1259          , deliver_to_contact_id
1260          , deliver_to_org_id
1261          , demand_bucket_type_code
1262          , demand_class_code
1263          , dep_plan_required_flag
1264          , earliest_acceptable_date
1265          , end_item_unit_number
1266          , explosion_date
1267          , first_ack_code
1268          , first_ack_date
1269          , fob_point_code
1270          , freight_carrier_code
1271          , freight_terms_code
1272          , fulfilled_quantity
1273          , fulfilled_flag
1274          , fulfillment_method_code
1275          , fulfillment_date
1276          , global_attribute1
1277          , global_attribute10
1278          , global_attribute11
1279          , global_attribute12
1280          , global_attribute13
1281          , global_attribute14
1282          , global_attribute15
1283          , global_attribute16
1284          , global_attribute17
1285          , global_attribute18
1286          , global_attribute19
1287          , global_attribute2
1288          , global_attribute20
1289          , global_attribute3
1290          , global_attribute4
1291          , global_attribute5
1292          , global_attribute6
1293          , global_attribute7
1294          , global_attribute8
1295          , global_attribute9
1296          , global_attribute_category
1297          , header_id
1298          , industry_attribute1
1299          , industry_attribute10
1300          , industry_attribute11
1301          , industry_attribute12
1302          , industry_attribute13
1303          , industry_attribute14
1304          , industry_attribute15
1305          , industry_attribute16
1306          , industry_attribute17
1307          , industry_attribute18
1308          , industry_attribute19
1309          , industry_attribute20
1310          , industry_attribute21
1311          , industry_attribute22
1312          , industry_attribute23
1313          , industry_attribute24
1314          , industry_attribute25
1315          , industry_attribute26
1316          , industry_attribute27
1317          , industry_attribute28
1318          , industry_attribute29
1319          , industry_attribute30
1320          , industry_attribute2
1321          , industry_attribute3
1322          , industry_attribute4
1323          , industry_attribute5
1324          , industry_attribute6
1325          , industry_attribute7
1326          , industry_attribute8
1327          , industry_attribute9
1328          , industry_context
1329          , intmed_ship_to_contact_id
1330          , intmed_ship_to_org_id
1331          , DECODE(
1332              NVL(p_cto_item_flag, 'N')
1333            , 'N', DECODE(p_base_item_id, 0, inventory_item_id, p_base_item_id)
1334            , DECODE(p_base_item_id, 0, p_inventory_item_id, inventory_item_id)
1335            )
1336          , invoice_interface_status_code
1337          , invoice_to_contact_id
1338          , invoice_to_org_id
1339          , invoiced_quantity
1340          , invoicing_rule_id
1341          , ordered_item_id
1342          , item_identifier_type
1343          , ordered_item
1344          , item_revision
1345          , item_type_code
1346          , last_ack_code
1347          , last_ack_date
1348          , last_updated_by
1349          , last_update_date
1350          , last_update_login
1351          , latest_acceptable_date
1352          , line_category_code
1353          , line_id
1354          , line_number
1355          , line_type_id
1356          , link_to_line_id
1357          , model_group_number
1358          --  ,       MFG_COMPONENT_SEQUENCE_ID
1359     ,      mfg_lead_time
1360          , open_flag
1361          , option_flag
1362          , option_number
1363          , ordered_quantity
1364          , ordered_quantity2   --OPM 02/JUN/00
1365          , order_quantity_uom
1366          , ordered_quantity_uom2   --OPM 02/JUN/00
1367          , org_id
1368          , orig_sys_document_ref
1369          , orig_sys_line_ref
1370          , over_ship_reason_code
1371          , over_ship_resolved_flag
1372          , payment_term_id
1373          , planning_priority
1374          , preferred_grade   --OPM 02/JUN/00
1375          , price_list_id
1376          , pricing_attribute1
1377          , pricing_attribute10
1378          , pricing_attribute2
1379          , pricing_attribute3
1380          , pricing_attribute4
1381          , pricing_attribute5
1382          , pricing_attribute6
1383          , pricing_attribute7
1384          , pricing_attribute8
1385          , pricing_attribute9
1386          , pricing_context
1387          , pricing_date
1388          , pricing_quantity
1389          , pricing_quantity_uom
1390          , program_application_id
1391          , program_id
1392          , program_update_date
1393          , project_id
1394          , promise_date
1395          , re_source_flag
1396          , reference_customer_trx_line_id
1397          , reference_header_id
1398          , reference_line_id
1399          , reference_type
1400          , request_date
1401          , request_id
1402          , return_attribute1
1403          , return_attribute10
1404          , return_attribute11
1405          , return_attribute12
1406          , return_attribute13
1407          , return_attribute14
1408          , return_attribute15
1409          , return_attribute2
1410          , return_attribute3
1411          , return_attribute4
1412          , return_attribute5
1413          , return_attribute6
1414          , return_attribute7
1415          , return_attribute8
1416          , return_attribute9
1417          , return_context
1418          , return_reason_code
1419          , rla_schedule_type_code
1420          , salesrep_id
1421          , schedule_arrival_date
1422          , schedule_ship_date
1423          , schedule_status_code
1424          , shipment_number
1425          , shipment_priority_code
1426          , shipped_quantity
1427          , shipped_quantity2   -- OPM B1661023 04/02/01
1428          , shipping_method_code
1429          , shipping_quantity
1430          , shipping_quantity2   -- OPM B1661023 04/02/01
1431          , shipping_quantity_uom
1432          , ship_from_org_id
1433          , subinventory
1434          , ship_set_id
1435          , ship_tolerance_above
1436          , ship_tolerance_below
1437          , shippable_flag
1438          , shipping_interfaced_flag
1439          , ship_to_contact_id
1440          , ship_to_org_id
1441          , ship_model_complete_flag
1442          , sold_to_org_id
1443          , sold_from_org_id
1444          , sort_order
1445          , source_document_id
1446          , source_document_line_id
1447          , source_document_type_id
1448          , source_type_code
1449          , split_from_line_id
1450          , line_set_id
1451          , split_by
1452          , model_remnant_flag
1453          , task_id
1454          , tax_code
1455          , tax_date
1456          , tax_exempt_flag
1457          , tax_exempt_number
1458          , tax_exempt_reason_code
1459          , tax_point_code
1460          , tax_rate
1461          , tax_value
1462          , top_model_line_id
1463          , unit_list_price
1464          , unit_list_price_per_pqty
1465          , unit_selling_price
1466          , unit_selling_price_per_pqty
1467          , visible_demand_flag
1468          , veh_cus_item_cum_key_id
1469          , shipping_instructions
1470          , packing_instructions
1471          , service_txn_reason_code
1472          , service_txn_comments
1473          , service_duration
1474          , service_period
1475          , service_start_date
1476          , service_end_date
1477          , service_coterminate_flag
1478          , unit_list_percent
1479          , unit_selling_percent
1480          , unit_percent_base_price
1481          , service_number
1482          , service_reference_type_code
1483          , service_reference_line_id
1484          , service_reference_system_id
1485          , tp_context
1486          , tp_attribute1
1487          , tp_attribute2
1488          , tp_attribute3
1489          , tp_attribute4
1490          , tp_attribute5
1491          , tp_attribute6
1492          , tp_attribute7
1493          , tp_attribute8
1494          , tp_attribute9
1495          , tp_attribute10
1496          , tp_attribute11
1497          , tp_attribute12
1498          , tp_attribute13
1499          , tp_attribute14
1500          , tp_attribute15
1501          , flow_status_code
1502          , marketing_source_code_id
1503          , calculate_price_flag
1504          , commitment_id
1505          , order_source_id   -- aksingh
1506          , upgraded_flag
1507          , lock_control
1508       INTO inv_ic_order_pub.g_line.accounting_rule_id
1509          , inv_ic_order_pub.g_line.actual_arrival_date
1510          , inv_ic_order_pub.g_line.actual_shipment_date
1511          , inv_ic_order_pub.g_line.agreement_id
1512          , inv_ic_order_pub.g_line.arrival_set_id
1513          , inv_ic_order_pub.g_line.ato_line_id
1514          , inv_ic_order_pub.g_line.attribute1
1515          , inv_ic_order_pub.g_line.attribute10
1516          , inv_ic_order_pub.g_line.attribute11
1517          , inv_ic_order_pub.g_line.attribute12
1518          , inv_ic_order_pub.g_line.attribute13
1519          , inv_ic_order_pub.g_line.attribute14
1520          , inv_ic_order_pub.g_line.attribute15
1521          , inv_ic_order_pub.g_line.attribute2
1522          , inv_ic_order_pub.g_line.attribute3
1523          , inv_ic_order_pub.g_line.attribute4
1524          , inv_ic_order_pub.g_line.attribute5
1525          , inv_ic_order_pub.g_line.attribute6
1526          , inv_ic_order_pub.g_line.attribute7
1527          , inv_ic_order_pub.g_line.attribute8
1528          , inv_ic_order_pub.g_line.attribute9
1529          , inv_ic_order_pub.g_line.auto_selected_quantity
1530          , inv_ic_order_pub.g_line.authorized_to_ship_flag
1531          , inv_ic_order_pub.g_line.booked_flag
1532          , inv_ic_order_pub.g_line.cancelled_flag
1533          , inv_ic_order_pub.g_line.cancelled_quantity
1534          , inv_ic_order_pub.g_line.component_code
1535          , inv_ic_order_pub.g_line.component_number
1536          , inv_ic_order_pub.g_line.component_sequence_id
1537          , inv_ic_order_pub.g_line.config_header_id
1538          , inv_ic_order_pub.g_line.config_rev_nbr
1539          , inv_ic_order_pub.g_line.config_display_sequence
1540          , inv_ic_order_pub.g_line.configuration_id
1541          , inv_ic_order_pub.g_line.CONTEXT
1542          , inv_ic_order_pub.g_line.created_by
1543          , inv_ic_order_pub.g_line.creation_date
1544          , inv_ic_order_pub.g_line.credit_invoice_line_id
1545          , inv_ic_order_pub.g_line.customer_dock_code
1546          , inv_ic_order_pub.g_line.customer_job
1547          , inv_ic_order_pub.g_line.customer_production_line
1548          , inv_ic_order_pub.g_line.cust_production_seq_num
1549          , inv_ic_order_pub.g_line.customer_trx_line_id
1550          , inv_ic_order_pub.g_line.cust_model_serial_number
1551          , inv_ic_order_pub.g_line.cust_po_number
1552          , inv_ic_order_pub.g_line.customer_line_number
1553          , inv_ic_order_pub.g_line.delivery_lead_time
1554          , inv_ic_order_pub.g_line.deliver_to_contact_id
1555          , inv_ic_order_pub.g_line.deliver_to_org_id
1556          , inv_ic_order_pub.g_line.demand_bucket_type_code
1557          , inv_ic_order_pub.g_line.demand_class_code
1558          , inv_ic_order_pub.g_line.dep_plan_required_flag
1559          , inv_ic_order_pub.g_line.earliest_acceptable_date
1560          , inv_ic_order_pub.g_line.end_item_unit_number
1561          , inv_ic_order_pub.g_line.explosion_date
1562          , inv_ic_order_pub.g_line.first_ack_code
1563          , inv_ic_order_pub.g_line.first_ack_date
1564          , inv_ic_order_pub.g_line.fob_point_code
1565          , inv_ic_order_pub.g_line.freight_carrier_code
1566          , inv_ic_order_pub.g_line.freight_terms_code
1567          , inv_ic_order_pub.g_line.fulfilled_quantity
1568          , inv_ic_order_pub.g_line.fulfilled_flag
1569          , inv_ic_order_pub.g_line.fulfillment_method_code
1570          , inv_ic_order_pub.g_line.fulfillment_date
1571          , inv_ic_order_pub.g_line.global_attribute1
1572          , inv_ic_order_pub.g_line.global_attribute10
1573          , inv_ic_order_pub.g_line.global_attribute11
1574          , inv_ic_order_pub.g_line.global_attribute12
1575          , inv_ic_order_pub.g_line.global_attribute13
1576          , inv_ic_order_pub.g_line.global_attribute14
1577          , inv_ic_order_pub.g_line.global_attribute15
1578          , inv_ic_order_pub.g_line.global_attribute16
1579          , inv_ic_order_pub.g_line.global_attribute17
1580          , inv_ic_order_pub.g_line.global_attribute18
1581          , inv_ic_order_pub.g_line.global_attribute19
1582          , inv_ic_order_pub.g_line.global_attribute2
1583          , inv_ic_order_pub.g_line.global_attribute20
1584          , inv_ic_order_pub.g_line.global_attribute3
1585          , inv_ic_order_pub.g_line.global_attribute4
1586          , inv_ic_order_pub.g_line.global_attribute5
1587          , inv_ic_order_pub.g_line.global_attribute6
1588          , inv_ic_order_pub.g_line.global_attribute7
1589          , inv_ic_order_pub.g_line.global_attribute8
1590          , inv_ic_order_pub.g_line.global_attribute9
1591          , inv_ic_order_pub.g_line.global_attribute_category
1592          , inv_ic_order_pub.g_line.header_id
1593          , inv_ic_order_pub.g_line.industry_attribute1
1594          , inv_ic_order_pub.g_line.industry_attribute10
1595          , inv_ic_order_pub.g_line.industry_attribute11
1596          , inv_ic_order_pub.g_line.industry_attribute12
1597          , inv_ic_order_pub.g_line.industry_attribute13
1598          , inv_ic_order_pub.g_line.industry_attribute14
1599          , inv_ic_order_pub.g_line.industry_attribute15
1600          , inv_ic_order_pub.g_line.industry_attribute16
1601          , inv_ic_order_pub.g_line.industry_attribute17
1602          , inv_ic_order_pub.g_line.industry_attribute18
1603          , inv_ic_order_pub.g_line.industry_attribute19
1604          , inv_ic_order_pub.g_line.industry_attribute20
1605          , inv_ic_order_pub.g_line.industry_attribute21
1606          , inv_ic_order_pub.g_line.industry_attribute22
1607          , inv_ic_order_pub.g_line.industry_attribute23
1608          , inv_ic_order_pub.g_line.industry_attribute24
1609          , inv_ic_order_pub.g_line.industry_attribute25
1610          , inv_ic_order_pub.g_line.industry_attribute26
1611          , inv_ic_order_pub.g_line.industry_attribute27
1612          , inv_ic_order_pub.g_line.industry_attribute28
1613          , inv_ic_order_pub.g_line.industry_attribute29
1614          , inv_ic_order_pub.g_line.industry_attribute30
1615          , inv_ic_order_pub.g_line.industry_attribute2
1616          , inv_ic_order_pub.g_line.industry_attribute3
1617          , inv_ic_order_pub.g_line.industry_attribute4
1618          , inv_ic_order_pub.g_line.industry_attribute5
1619          , inv_ic_order_pub.g_line.industry_attribute6
1620          , inv_ic_order_pub.g_line.industry_attribute7
1621          , inv_ic_order_pub.g_line.industry_attribute8
1622          , inv_ic_order_pub.g_line.industry_attribute9
1623          , inv_ic_order_pub.g_line.industry_context
1624          , inv_ic_order_pub.g_line.intermed_ship_to_contact_id
1625          , inv_ic_order_pub.g_line.intermed_ship_to_org_id
1626          , inv_ic_order_pub.g_line.inventory_item_id
1627          , inv_ic_order_pub.g_line.invoice_interface_status_code
1628          , inv_ic_order_pub.g_line.invoice_to_contact_id
1629          , inv_ic_order_pub.g_line.invoice_to_org_id
1630          , inv_ic_order_pub.g_line.invoiced_quantity
1631          , inv_ic_order_pub.g_line.invoicing_rule_id
1632          , inv_ic_order_pub.g_line.ordered_item_id
1633          , inv_ic_order_pub.g_line.item_identifier_type
1634          , inv_ic_order_pub.g_line.ordered_item
1635          , inv_ic_order_pub.g_line.item_revision
1636          , inv_ic_order_pub.g_line.item_type_code
1637          , inv_ic_order_pub.g_line.last_ack_code
1638          , inv_ic_order_pub.g_line.last_ack_date
1639          , inv_ic_order_pub.g_line.last_updated_by
1640          , inv_ic_order_pub.g_line.last_update_date
1641          , inv_ic_order_pub.g_line.last_update_login
1642          , inv_ic_order_pub.g_line.latest_acceptable_date
1643          , inv_ic_order_pub.g_line.line_category_code
1644          , inv_ic_order_pub.g_line.line_id
1645          , inv_ic_order_pub.g_line.line_number
1646          , inv_ic_order_pub.g_line.line_type_id
1647          , inv_ic_order_pub.g_line.link_to_line_id
1648          , inv_ic_order_pub.g_line.model_group_number
1649          --  ,       INV_IC_ORDER_PUB.G_LINE.MFG_COMPONENT_SEQUENCE_ID
1650     ,      inv_ic_order_pub.g_line.mfg_lead_time
1651          , inv_ic_order_pub.g_line.open_flag
1652          , inv_ic_order_pub.g_line.option_flag
1653          , inv_ic_order_pub.g_line.option_number
1654          , inv_ic_order_pub.g_line.ordered_quantity
1655          , inv_ic_order_pub.g_line.ordered_quantity2   --OPM 02/JUN/00
1656          , inv_ic_order_pub.g_line.order_quantity_uom
1657          , inv_ic_order_pub.g_line.ordered_quantity_uom2   --OPM 02/JUN/00
1658          , inv_ic_order_pub.g_line.org_id
1659          , inv_ic_order_pub.g_line.orig_sys_document_ref
1660          , inv_ic_order_pub.g_line.orig_sys_line_ref
1661          , inv_ic_order_pub.g_line.over_ship_reason_code
1662          , inv_ic_order_pub.g_line.over_ship_resolved_flag
1663          , inv_ic_order_pub.g_line.payment_term_id
1664          , inv_ic_order_pub.g_line.planning_priority
1665          , inv_ic_order_pub.g_line.preferred_grade   --OPM 02/JUN/00
1666          , inv_ic_order_pub.g_line.price_list_id
1667          , inv_ic_order_pub.g_line.pricing_attribute1
1668          , inv_ic_order_pub.g_line.pricing_attribute10
1669          , inv_ic_order_pub.g_line.pricing_attribute2
1670          , inv_ic_order_pub.g_line.pricing_attribute3
1671          , inv_ic_order_pub.g_line.pricing_attribute4
1672          , inv_ic_order_pub.g_line.pricing_attribute5
1673          , inv_ic_order_pub.g_line.pricing_attribute6
1674          , inv_ic_order_pub.g_line.pricing_attribute7
1675          , inv_ic_order_pub.g_line.pricing_attribute8
1676          , inv_ic_order_pub.g_line.pricing_attribute9
1677          , inv_ic_order_pub.g_line.pricing_context
1678          , inv_ic_order_pub.g_line.pricing_date
1679          , inv_ic_order_pub.g_line.pricing_quantity
1680          , inv_ic_order_pub.g_line.pricing_quantity_uom
1681          , inv_ic_order_pub.g_line.program_application_id
1682          , inv_ic_order_pub.g_line.program_id
1683          , inv_ic_order_pub.g_line.program_update_date
1684          , inv_ic_order_pub.g_line.project_id
1685          , inv_ic_order_pub.g_line.promise_date
1686          , inv_ic_order_pub.g_line.re_source_flag
1687          , inv_ic_order_pub.g_line.reference_customer_trx_line_id
1688          , inv_ic_order_pub.g_line.reference_header_id
1689          , inv_ic_order_pub.g_line.reference_line_id
1690          , inv_ic_order_pub.g_line.reference_type
1691          , inv_ic_order_pub.g_line.request_date
1692          , inv_ic_order_pub.g_line.request_id
1693          , inv_ic_order_pub.g_line.return_attribute1
1694          , inv_ic_order_pub.g_line.return_attribute10
1695          , inv_ic_order_pub.g_line.return_attribute11
1696          , inv_ic_order_pub.g_line.return_attribute12
1697          , inv_ic_order_pub.g_line.return_attribute13
1698          , inv_ic_order_pub.g_line.return_attribute14
1699          , inv_ic_order_pub.g_line.return_attribute15
1700          , inv_ic_order_pub.g_line.return_attribute2
1701          , inv_ic_order_pub.g_line.return_attribute3
1702          , inv_ic_order_pub.g_line.return_attribute4
1703          , inv_ic_order_pub.g_line.return_attribute5
1704          , inv_ic_order_pub.g_line.return_attribute6
1705          , inv_ic_order_pub.g_line.return_attribute7
1706          , inv_ic_order_pub.g_line.return_attribute8
1707          , inv_ic_order_pub.g_line.return_attribute9
1708          , inv_ic_order_pub.g_line.return_context
1709          , inv_ic_order_pub.g_line.return_reason_code
1710          , inv_ic_order_pub.g_line.rla_schedule_type_code
1711          , inv_ic_order_pub.g_line.salesrep_id
1712          , inv_ic_order_pub.g_line.schedule_arrival_date
1713          , inv_ic_order_pub.g_line.schedule_ship_date
1714          , inv_ic_order_pub.g_line.schedule_status_code
1715          , inv_ic_order_pub.g_line.shipment_number
1716          , inv_ic_order_pub.g_line.shipment_priority_code
1717          , inv_ic_order_pub.g_line.shipped_quantity
1718          , inv_ic_order_pub.g_line.shipped_quantity2   -- OPM B1661023 04/02/01
1719          , inv_ic_order_pub.g_line.shipping_method_code
1720          , inv_ic_order_pub.g_line.shipping_quantity
1721          , inv_ic_order_pub.g_line.shipping_quantity2   -- OPM B1661023 04/02/01
1722          , inv_ic_order_pub.g_line.shipping_quantity_uom
1723          , inv_ic_order_pub.g_line.ship_from_org_id
1724          , inv_ic_order_pub.g_line.subinventory
1725          , inv_ic_order_pub.g_line.ship_set_id
1726          , inv_ic_order_pub.g_line.ship_tolerance_above
1727          , inv_ic_order_pub.g_line.ship_tolerance_below
1728          , inv_ic_order_pub.g_line.shippable_flag
1729          , inv_ic_order_pub.g_line.shipping_interfaced_flag
1730          , inv_ic_order_pub.g_line.ship_to_contact_id
1731          , inv_ic_order_pub.g_line.ship_to_org_id
1732          , inv_ic_order_pub.g_line.ship_model_complete_flag
1733          , inv_ic_order_pub.g_line.sold_to_org_id
1734          , inv_ic_order_pub.g_line.sold_from_org_id
1735          , inv_ic_order_pub.g_line.sort_order
1736          , inv_ic_order_pub.g_line.source_document_id
1737          , inv_ic_order_pub.g_line.source_document_line_id
1738          , inv_ic_order_pub.g_line.source_document_type_id
1739          , inv_ic_order_pub.g_line.source_type_code
1740          , inv_ic_order_pub.g_line.split_from_line_id
1741          , inv_ic_order_pub.g_line.line_set_id
1742          , inv_ic_order_pub.g_line.split_by
1743          , inv_ic_order_pub.g_line.model_remnant_flag
1744          , inv_ic_order_pub.g_line.task_id
1745          , inv_ic_order_pub.g_line.tax_code
1746          , inv_ic_order_pub.g_line.tax_date
1747          , inv_ic_order_pub.g_line.tax_exempt_flag
1748          , inv_ic_order_pub.g_line.tax_exempt_number
1749          , inv_ic_order_pub.g_line.tax_exempt_reason_code
1750          , inv_ic_order_pub.g_line.tax_point_code
1751          , inv_ic_order_pub.g_line.tax_rate
1752          , inv_ic_order_pub.g_line.tax_value
1753          , inv_ic_order_pub.g_line.top_model_line_id
1754          , inv_ic_order_pub.g_line.unit_list_price
1755          , inv_ic_order_pub.g_line.unit_list_price_per_pqty
1756          , inv_ic_order_pub.g_line.unit_selling_price
1757          , inv_ic_order_pub.g_line.unit_selling_price_per_pqty
1758          , inv_ic_order_pub.g_line.visible_demand_flag
1759          , inv_ic_order_pub.g_line.veh_cus_item_cum_key_id
1760          , inv_ic_order_pub.g_line.shipping_instructions
1761          , inv_ic_order_pub.g_line.packing_instructions
1762          , inv_ic_order_pub.g_line.service_txn_reason_code
1763          , inv_ic_order_pub.g_line.service_txn_comments
1764          , inv_ic_order_pub.g_line.service_duration
1765          , inv_ic_order_pub.g_line.service_period
1766          , inv_ic_order_pub.g_line.service_start_date
1767          , inv_ic_order_pub.g_line.service_end_date
1768          , inv_ic_order_pub.g_line.service_coterminate_flag
1769          , inv_ic_order_pub.g_line.unit_list_percent
1770          , inv_ic_order_pub.g_line.unit_selling_percent
1771          , inv_ic_order_pub.g_line.unit_percent_base_price
1772          , inv_ic_order_pub.g_line.service_number
1773          , inv_ic_order_pub.g_line.service_reference_type_code
1774          , inv_ic_order_pub.g_line.service_reference_line_id
1775          , inv_ic_order_pub.g_line.service_reference_system_id
1776          , inv_ic_order_pub.g_line.tp_context
1777          , inv_ic_order_pub.g_line.tp_attribute1
1778          , inv_ic_order_pub.g_line.tp_attribute2
1779          , inv_ic_order_pub.g_line.tp_attribute3
1780          , inv_ic_order_pub.g_line.tp_attribute4
1781          , inv_ic_order_pub.g_line.tp_attribute5
1782          , inv_ic_order_pub.g_line.tp_attribute6
1783          , inv_ic_order_pub.g_line.tp_attribute7
1784          , inv_ic_order_pub.g_line.tp_attribute8
1785          , inv_ic_order_pub.g_line.tp_attribute9
1786          , inv_ic_order_pub.g_line.tp_attribute10
1787          , inv_ic_order_pub.g_line.tp_attribute11
1788          , inv_ic_order_pub.g_line.tp_attribute12
1789          , inv_ic_order_pub.g_line.tp_attribute13
1790          , inv_ic_order_pub.g_line.tp_attribute14
1791          , inv_ic_order_pub.g_line.tp_attribute15
1792          , inv_ic_order_pub.g_line.flow_status_code
1793          , inv_ic_order_pub.g_line.marketing_source_code_id
1794          , inv_ic_order_pub.g_line.calculate_price_flag
1795          , inv_ic_order_pub.g_line.commitment_id
1796          , inv_ic_order_pub.g_line.order_source_id   -- aksingh
1797          , inv_ic_order_pub.g_line.upgraded_flag
1798          , inv_ic_order_pub.g_line.lock_control
1799       FROM oe_order_lines_all
1800      WHERE line_id = p_line_id;
1801 
1802     inv_ic_order_pub.g_line.calculate_price_flag            := 'Y';
1803 
1804     IF (l_debug = 1) THEN
1805       print_debug('MTL_QP_PRICE.G_Line_Initialize: InventoryItemId=' || TO_CHAR(inv_ic_order_pub.g_line.inventory_item_id));
1806     END IF;
1807   EXCEPTION
1808     WHEN NO_DATA_FOUND THEN
1809       x_return_status  := fnd_api.g_ret_sts_error;
1810 
1811       IF (l_debug = 1) THEN
1812         print_debug('MTL_QP_PRICE.G_Line_Initialize: EXCEP NO_DATA_FOUND ');
1813       END IF;
1814 
1815       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
1816       RAISE NO_DATA_FOUND;
1817     WHEN OTHERS THEN
1818       x_return_status  := fnd_api.g_ret_sts_unexp_error;
1819 
1820       IF (l_debug = 1) THEN
1821         print_debug('MTL_QP_PRICE.G_Line_Initialize: EXCEP UNEXP OTHERS - ' || SQLERRM);
1822       END IF;
1823 
1824       RAISE fnd_api.g_exc_unexpected_error;
1825   END g_line_initialize;
1826 
1827   PROCEDURE copy_header_to_request(
1828     p_header_rec                      inv_ic_order_pub.header_rec_type
1829   , p_request_type_code               VARCHAR2
1830   , px_line_index       IN OUT NOCOPY NUMBER
1831   ) IS
1832     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
1833   BEGIN
1834     px_line_index                                  := px_line_index + 1;
1835     g_request_type_code_tbl(px_line_index)         := p_request_type_code;
1836     g_price_request_code_tbl(px_line_index)        := p_request_type_code;
1837     g_line_index_tbl(px_line_index)                := p_header_rec.header_id;
1838     g_line_type_code_tbl(px_line_index)            := 'ORDER';
1839     --  Hold the header_id in line_id for 'HEADER' Records
1840     g_line_id_tbl(px_line_index)                   := p_header_rec.header_id;
1841 
1842     IF p_header_rec.pricing_date IS NULL
1843        OR p_header_rec.pricing_date = fnd_api.g_miss_date THEN
1844       g_pricing_effective_date_tbl(px_line_index)  := TRUNC(SYSDATE);
1845     ELSE
1846       /*Bug 5211087 - populating truncated value of pricing_date in pricing_effective_date */
1847       g_pricing_effective_date_tbl(px_line_index)  := TRUNC(p_header_rec.pricing_date);
1848     END IF;
1849 
1850     g_currency_code_tbl(px_line_index)             := p_header_rec.transactional_curr_code;
1851     g_price_flag_tbl(px_line_index)                := 'Y';
1852     g_active_date_first_type_tbl(px_line_index)    := NULL;
1853     g_active_date_first_tbl(px_line_index)         := NULL;
1854     g_active_date_second_tbl(px_line_index)        := NULL;
1855     g_active_date_second_type_tbl(px_line_index)   := NULL;
1856     g_processed_flag_tbl(px_line_index)            := qp_preq_grp.g_not_processed;
1857     g_rounding_flag_tbl(px_line_index)             := 'Y';
1858     g_rounding_factor_tbl(px_line_index)           := NULL;
1859     g_processing_order_tbl(px_line_index)          := NULL;
1860     g_pricing_status_code_tbl(px_line_index)       := qp_preq_grp.g_status_unchanged;
1861     g_pricing_status_text_tbl(px_line_index)       := NULL;
1862     g_qualifiers_exist_flag_tbl(px_line_index)     := 'N';
1863     g_pricing_attrs_exist_flag_tbl(px_line_index)  := 'N';
1864     g_price_list_id_tbl(px_line_index)             := NULL;
1865     g_pl_validated_flag_tbl(px_line_index)         := 'N';
1866     g_usage_pricing_type_tbl(px_line_index)        := 'REGULAR';
1867     g_upd_adjusted_unit_price_tbl(px_line_index)   := NULL;
1868     g_line_quantity_tbl(px_line_index)             := NULL;
1869     g_line_uom_code_tbl(px_line_index)             := NULL;
1870     g_priced_quantity_tbl(px_line_index)           := NULL;
1871     g_uom_quantity_tbl(px_line_index)              := NULL;
1872     g_priced_uom_code_tbl(px_line_index)           := NULL;
1873     g_unit_price_tbl(px_line_index)                := NULL;
1874     g_percent_price_tbl(px_line_index)             := NULL;
1875     g_adjusted_unit_price_tbl(px_line_index)       := NULL;
1876     g_line_category_tbl(px_line_index)             := NULL;
1877   END copy_header_to_request;
1878 
1879   PROCEDURE copy_line_to_request(
1880     p_line_rec                        inv_ic_order_pub.line_rec_type
1881   , p_pricing_events                  VARCHAR2
1882   , p_request_type_code               VARCHAR2
1883   , px_line_index       IN OUT NOCOPY NUMBER
1884   ) IS
1885     l_uom_rate NUMBER;
1886     l_debug    NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
1887   BEGIN
1888     px_line_index                                  := px_line_index + 1;
1889     g_request_type_code_tbl(px_line_index)         := p_request_type_code;
1890     g_price_request_code_tbl(px_line_index)        := p_request_type_code;
1891     g_line_id_tbl(px_line_index)                   := p_line_rec.line_id;
1892     g_line_index_tbl(px_line_index)                := p_line_rec.header_id + p_line_rec.line_id;
1893     g_line_type_code_tbl(px_line_index)            := 'LINE';
1894     g_line_quantity_tbl(px_line_index)             := p_line_rec.ordered_quantity;
1895     g_line_uom_code_tbl(px_line_index)             := p_line_rec.order_quantity_uom;
1896     g_priced_quantity_tbl(px_line_index)           := p_line_rec.pricing_quantity;
1897     g_priced_uom_code_tbl(px_line_index)           := p_line_rec.pricing_quantity_uom;
1898     g_currency_code_tbl(px_line_index)             := inv_ic_order_pub.g_hdr.transactional_curr_code;
1899     g_percent_price_tbl(px_line_index)             := p_line_rec.unit_list_percent;
1900     g_active_date_first_type_tbl(px_line_index)    := NULL;
1901     g_active_date_first_tbl(px_line_index)         := NULL;
1902     g_active_date_second_tbl(px_line_index)        := NULL;
1903     g_active_date_second_type_tbl(px_line_index)   := NULL;
1904     g_price_flag_tbl(px_line_index)                := 'Y';
1905     g_processed_flag_tbl(px_line_index)            := qp_preq_grp.g_not_processed;
1906     g_rounding_flag_tbl(px_line_index)             := 'Y';
1907     g_rounding_factor_tbl(px_line_index)           := NULL;
1908     g_processing_order_tbl(px_line_index)          := NULL;
1909     g_pricing_status_code_tbl(px_line_index)       := qp_preq_grp.g_status_unchanged;
1910     g_pricing_status_text_tbl(px_line_index)       := NULL;
1911     g_qualifiers_exist_flag_tbl(px_line_index)     := 'N';
1912     g_pricing_attrs_exist_flag_tbl(px_line_index)  := 'N';
1913     g_pl_validated_flag_tbl(px_line_index)         := 'N';
1914     g_usage_pricing_type_tbl(px_line_index)        := 'REGULAR';
1915     g_upd_adjusted_unit_price_tbl(px_line_index)   := NULL;
1916     --    G_PRICE_LIST_ID_TBL(px_line_index) := 11213; -- p_line_rec.price_list_id;
1917     g_price_list_id_tbl(px_line_index)             := NULL;
1918 
1919     IF p_line_rec.pricing_date IS NULL
1920        OR p_line_rec.pricing_date = fnd_api.g_miss_date THEN
1921       g_pricing_effective_date_tbl(px_line_index)  := TRUNC(SYSDATE);
1922     ELSE
1923       /*Bug 5211087 - populating truncated value of pricing_date in pricing_effective_date */
1924       g_pricing_effective_date_tbl(px_line_index)  := TRUNC(p_line_rec.pricing_date);
1925     END IF;
1926 
1927     IF (p_line_rec.service_period = p_line_rec.order_quantity_uom) THEN
1928       g_uom_quantity_tbl(px_line_index)  := p_line_rec.service_duration;
1929     ELSE
1930       inv_convert.inv_um_conversion(
1931         from_unit                    => p_line_rec.service_period
1932       , to_unit                      => p_line_rec.order_quantity_uom
1933       , item_id                      => p_line_rec.inventory_item_id
1934       , uom_rate                     => l_uom_rate
1935       );
1936       g_uom_quantity_tbl(px_line_index)  := p_line_rec.service_duration * l_uom_rate;
1937     END IF;
1938 
1939     /*
1940         IF p_Line_rec.unit_list_price_per_pqty <> FND_API.G_MISS_NUM THEN
1941             G_UNIT_PRICE_TBL(px_line_index) := p_Line_rec.unit_list_price_per_pqty;
1942         ELSIF p_line_rec.unit_list_price <> FND_API.G_MISS_NUM THEN
1943             G_UNIT_PRICE_TBL(px_line_index) := p_line_rec.unit_list_price;
1944         ELSE
1945             G_UNIT_PRICE_TBL(px_line_index) := Null;
1946         END IF;
1947         G_ADJUSTED_UNIT_PRICE_TBL(px_line_index) := p_line_rec.unit_selling_price_per_pqty;
1948     */
1949     g_unit_price_tbl(px_line_index)                := NULL;
1950     g_adjusted_unit_price_tbl(px_line_index)       := NULL;
1951     g_line_category_tbl(px_line_index)             := NULL;
1952   END copy_line_to_request;
1953 
1954   PROCEDURE populate_temp_table(x_return_status OUT NOCOPY VARCHAR2) IS
1955     l_return_status      VARCHAR2(1)    := fnd_api.g_ret_sts_success;
1956     l_return_status_text VARCHAR2(2000);
1957     i                    NUMBER         := 0;
1958     l_debug              NUMBER         := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
1959   BEGIN
1960     x_return_status  := fnd_api.g_ret_sts_success;
1961 
1962     FOR i IN g_line_index_tbl.FIRST .. g_line_index_tbl.LAST LOOP
1963       IF (l_debug = 1) THEN
1964         print_debug(g_line_type_code_tbl(i));
1965         print_debug('-----------------------------------------------');
1966         print_debug('line_index               => ' || TO_CHAR(g_line_index_tbl(i)));
1967         print_debug('pricing_effective_date   => ' || TO_CHAR(g_pricing_effective_date_tbl(i)));
1968         print_debug('active_date_first        => ' || TO_CHAR(g_active_date_first_tbl(i)));
1969         print_debug('active_date_first_type   => ' || g_active_date_first_type_tbl(i));
1970         print_debug('active_date_second       => ' || TO_CHAR(g_active_date_second_tbl(i)));
1971         print_debug('active_date_second_type  => ' || g_active_date_second_type_tbl(i));
1972         print_debug('line_quantity            => ' || TO_CHAR(g_line_quantity_tbl(i)));
1973         print_debug('line_uom_code            => ' || g_line_uom_code_tbl(i));
1974         print_debug('request_type_code        => ' || g_request_type_code_tbl(i));
1975         print_debug('PRICED_QUANTITY          => ' || TO_CHAR(g_priced_quantity_tbl(i)));
1976         print_debug('PRICED_UOM_CODE          => ' || g_priced_uom_code_tbl(i));
1977         print_debug('CURRENCY_CODE            => ' || g_currency_code_tbl(i));
1978         print_debug('UNIT_PRICE               => ' || TO_CHAR(g_unit_price_tbl(i)));
1979         print_debug('PERCENT_PRICE            => ' || TO_CHAR(g_percent_price_tbl(i)));
1980         print_debug('UOM_QUANTITY             => ' || TO_CHAR(g_uom_quantity_tbl(i)));
1981         print_debug('ADJUSTED_UNIT_PRICE      => ' || TO_CHAR(g_adjusted_unit_price_tbl(i)));
1982         print_debug('UPD_ADJUSTED_UNIT_PRICE  => ' || TO_CHAR(g_upd_adjusted_unit_price_tbl(i)));
1983         print_debug('PROCESSED_FLAG           => ' || g_processed_flag_tbl(i));
1984         print_debug('price_flag               => ' || g_price_flag_tbl(i));
1985         print_debug('LINE_ID                  => ' || TO_CHAR(g_line_id_tbl(i)));
1986         print_debug('PROCESSING_ORDER         => ' || TO_CHAR(g_processing_order_tbl(i)));
1987         print_debug('pricing_status_code      => ' || SUBSTR(g_pricing_status_code_tbl(i), 1, 5));
1988         print_debug('PRICING_STATUS_TEXT      => ' || g_pricing_status_text_tbl(i));
1989         print_debug('ROUNDING_FLAG            => ' || g_rounding_flag_tbl(i));
1990         print_debug('ROUNDING_FACTOR          => ' || TO_CHAR(g_rounding_factor_tbl(i)));
1991         print_debug('QUALIFIERS_EXIST_FLAG    => ' || g_qualifiers_exist_flag_tbl(i));
1992         print_debug('PRICING_ATTRS_EXIST_FLAG => ' || g_pricing_attrs_exist_flag_tbl(i));
1993         print_debug('PRICE_LIST_ID            => ' || TO_CHAR(g_price_list_id_tbl(i)));
1994         print_debug('VALIDATED_FLAG           => ' || g_pl_validated_flag_tbl(i));
1995         print_debug('PRICE_REQUEST_CODE       => ' || g_price_request_code_tbl(i));
1996         print_debug('USAGE_PRICING_TYPE       => ' || g_usage_pricing_type_tbl(i));
1997         print_debug('LINE_CATEGORY            => ' || g_line_category_tbl(i));
1998       END IF;
1999     END LOOP;
2000 
2001     IF (l_debug = 1) THEN
2002       print_debug('MTL_QP_PRICE.Populate_Temp_Table: Calling QP:Bulk insert routine...');
2003     END IF;
2004 
2005     qp_preq_grp.insert_lines2(
2006       p_line_index                 => g_line_index_tbl
2007     , p_line_type_code             => g_line_type_code_tbl
2008     , p_pricing_effective_date     => g_pricing_effective_date_tbl
2009     , p_active_date_first          => g_active_date_first_tbl
2010     , p_active_date_first_type     => g_active_date_first_type_tbl
2011     , p_active_date_second         => g_active_date_second_tbl
2012     , p_active_date_second_type    => g_active_date_second_type_tbl
2013     , p_line_quantity              => g_line_quantity_tbl
2014     , p_line_uom_code              => g_line_uom_code_tbl
2015     , p_request_type_code          => g_request_type_code_tbl
2016     , p_priced_quantity            => g_priced_quantity_tbl
2017     , p_priced_uom_code            => g_priced_uom_code_tbl
2018     , p_currency_code              => g_currency_code_tbl
2019     , p_unit_price                 => g_unit_price_tbl
2020     , p_percent_price              => g_percent_price_tbl
2021     , p_uom_quantity               => g_uom_quantity_tbl
2022     , p_adjusted_unit_price        => g_adjusted_unit_price_tbl
2023     , p_upd_adjusted_unit_price    => g_upd_adjusted_unit_price_tbl
2024     , p_processed_flag             => g_processed_flag_tbl
2025     , p_price_flag                 => g_price_flag_tbl
2026     , p_line_id                    => g_line_id_tbl
2027     , p_processing_order           => g_processing_order_tbl
2028     , p_pricing_status_code        => g_pricing_status_code_tbl
2029     , p_pricing_status_text        => g_pricing_status_text_tbl
2030     , p_rounding_flag              => g_rounding_flag_tbl
2031     , p_rounding_factor            => g_rounding_factor_tbl
2032     , p_qualifiers_exist_flag      => g_qualifiers_exist_flag_tbl
2033     , p_pricing_attrs_exist_flag   => g_pricing_attrs_exist_flag_tbl
2034     , p_price_list_id              => g_price_list_id_tbl
2035     , p_validated_flag             => g_pl_validated_flag_tbl
2036     , p_price_request_code         => g_price_request_code_tbl
2037     , p_usage_pricing_type         => g_usage_pricing_type_tbl
2038     , p_line_category              => g_line_category_tbl
2039     , x_status_code                => l_return_status
2040     , x_status_text                => l_return_status_text
2041     );
2042 
2043     IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
2044       IF (l_debug = 1) THEN
2045         print_debug('MTL_QP_PRICE.Populate_Temp_Table: QP_PREQ_GRP.INSERT_LINES2 error ');
2046         print_debug('MTL_QP_PRICE.Populate_Temp_Table: x_return_status_text=' || l_return_status_text);
2047       END IF;
2048 
2049       x_return_status  := l_return_status;
2050       fnd_message.set_name('INV', 'INV_UNHANDLED_ERR');
2051       fnd_message.set_token('ENTITY1', 'QP_PREQ_GRP.INSERT_LINES2');
2052       fnd_message.set_token('ENTITY2', SUBSTR(l_return_status_text, 1, 150));
2053       RAISE fnd_api.g_exc_error;
2054     END IF;
2055 
2056     SELECT COUNT(*)
2057       INTO i
2058       FROM qp_preq_lines_tmp;
2059 
2060     IF (l_debug = 1) THEN
2061       print_debug('MTL_QP_PRICE.Populate_Temp_Table: No. of records inserted in QP_PREQ_LINES_TMP=' || TO_CHAR(i));
2062     END IF;
2063   EXCEPTION
2064     WHEN fnd_api.g_exc_error THEN
2065       RAISE fnd_api.g_exc_error;
2066     WHEN OTHERS THEN
2067       x_return_status  := fnd_api.g_ret_sts_unexp_error;
2068 
2069       IF (l_debug = 1) THEN
2070         print_debug('MTL_QP_PRICE.Populate_Temp_Table: EXCEP UNEXP OTHERS - ' || SQLERRM);
2071       END IF;
2072   END populate_temp_table;
2073 
2074   PROCEDURE populate_results(p_line_index NUMBER, x_return_status OUT NOCOPY VARCHAR2) IS
2075     i       NUMBER := 0;
2076     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2077   BEGIN
2078     x_return_status  := fnd_api.g_ret_sts_success;
2079 
2080     FOR i IN g_line_index_tbl.FIRST .. g_line_index_tbl.LAST LOOP
2081     BEGIN
2082         /* OPM bug 4875081*/
2083  	IF (gml_process_flags.process_orgn = 1
2084  	AND gml_process_flags.opmitem_flag = 1)
2085  	AND (g_priced_uom_code_tbl(i) <> g_line_uom_code_tbl(i)) THEN
2086  	    SELECT lines.order_uom_selling_price
2087  	         , lines.unit_price
2088  	         , lines.order_uom_selling_price
2089  	         , lines.unit_price
2090  	         , lines.priced_quantity
2091  	         , lines.priced_uom_code
2092  	         , lines.price_list_header_id
2093  	         , NVL(lines.percent_price, NULL)
2094  	         , NVL(lines.parent_price, NULL)
2095  	         , DECODE(lines.parent_price, NULL, 0, 0, 0, lines.adjusted_unit_price / lines.parent_price)
2096  	         , lines.currency_code
2097  	         , lines.pricing_status_code
2098  	         , lines.pricing_status_text
2099  	      INTO g_unit_selling_price_tbl(i)
2100  	         , g_unit_list_price_tbl(i)
2101  	         , g_unit_sell_price_per_pqty_tbl(i)
2102  	         , g_unit_list_price_per_pqty_tbl(i)
2103  	         , g_pricing_quantity_tbl(i)
2104  	         , g_priced_uom_code_tbl(i)
2105  	         , g_price_list_id_tbl(i)
2106  	         , g_unit_list_percent_tbl(i)
2107  	         , g_unit_percent_base_price_tbl(i)
2108  	         , g_unit_selling_percent_tbl(i)
2109  	         , g_currency_code_tbl(i)
2110  	         , g_pricing_status_code_tbl(i)
2111  	         , g_pricing_status_text_tbl(i)
2112  	      FROM qp_preq_lines_tmp lines
2113  	     WHERE lines.line_id = g_line_id_tbl(i)
2114  	       AND lines.line_type_code = g_line_type_code_tbl(i);   /* For bug 4335863 */
2115  	          /* End OPM bug 4875081*/
2116  	ELSE
2117             SELECT lines.adjusted_unit_price
2118                  , lines.unit_price
2119                  , lines.adjusted_unit_price
2120                  , lines.unit_price
2121                  , lines.priced_quantity
2122                  , lines.priced_uom_code
2123                  , lines.price_list_header_id
2124                  , NVL(lines.percent_price, NULL)
2125                  , NVL(lines.parent_price, NULL)
2126                  , DECODE(lines.parent_price, NULL, 0, 0, 0, lines.adjusted_unit_price / lines.parent_price)
2127                  , lines.currency_code
2128                  , lines.pricing_status_code
2129                  , lines.pricing_status_text
2130               INTO g_unit_selling_price_tbl(i)
2131                  , g_unit_list_price_tbl(i)
2132                  , g_unit_sell_price_per_pqty_tbl(i)
2133                  , g_unit_list_price_per_pqty_tbl(i)
2134                  , g_pricing_quantity_tbl(i)
2135                  , g_priced_uom_code_tbl(i)
2136                  , g_price_list_id_tbl(i)
2137                  , g_unit_list_percent_tbl(i)
2138                  , g_unit_percent_base_price_tbl(i)
2139                  , g_unit_selling_percent_tbl(i)
2140                  , g_currency_code_tbl(i)
2141                  , g_pricing_status_code_tbl(i)
2142                  , g_pricing_status_text_tbl(i)
2143               FROM qp_preq_lines_tmp lines
2144              WHERE lines.line_id = g_line_id_tbl(i)
2145                AND lines.line_type_code = g_line_type_code_tbl(i);   /* For bug 4335863 */
2146       END IF;
2147       EXCEPTION
2148         WHEN NO_DATA_FOUND THEN
2149           IF g_line_type_code_tbl(i) = 'LINE' THEN
2150             x_return_status  := fnd_api.g_ret_sts_error;
2151 
2152             IF (l_debug = 1) THEN
2153               print_debug('MTL_QP_PRICE.Populate_Results: UNIT PRICE NOT POPULATED');
2154             END IF;
2155           ELSE
2156             IF (l_debug = 1) THEN
2157               print_debug('MTL_QP_PRICE.Populate_Results: ' || g_line_type_code_tbl(i) || ' NO_DATA_FOUND');
2158             END IF;
2159           END IF;
2160         WHEN OTHERS THEN
2161           x_return_status  := fnd_api.g_ret_sts_unexp_error;
2162 
2163           IF (l_debug = 1) THEN
2164             print_debug('MTL_QP_PRICE.Populate_Results: ' || SQLERRM);
2165           END IF;
2166       END;
2167 
2168       IF g_line_type_code_tbl(i) = 'LINE' THEN
2169         IF g_pricing_status_code_tbl(i) = qp_preq_grp.g_status_updated THEN
2170           IF (l_debug = 1) THEN
2171             print_debug('MTL_QP_PRICE.Populate_Results: Unit_Price=' || g_unit_selling_price_tbl(i));
2172           END IF;
2173         ELSE
2174           x_return_status  := fnd_api.g_ret_sts_error;
2175 
2176           IF (l_debug = 1) THEN
2177             print_debug(
2178               'MTL_QP_PRICE.Populate_Results: Status_Code=' || g_pricing_status_code_tbl(i) || ' Status_Text='
2179               || g_pricing_status_text_tbl(i)
2180             );
2181           END IF;
2182         END IF;
2183       END IF;
2184     END LOOP;
2185 
2186     IF (x_return_status <> fnd_api.g_ret_sts_success) THEN
2187       RAISE fnd_api.g_exc_error;
2188     END IF;
2189 
2190     FOR i IN g_line_index_tbl.FIRST .. g_line_index_tbl.LAST LOOP
2191       IF (l_debug = 1) THEN
2192         print_debug(g_line_type_code_tbl(i));
2193         print_debug('-----------------------------------------------');
2194         print_debug('PRICING_STATUS_CODE      => ' || g_unit_selling_percent_tbl(i));
2195         print_debug('UNIT_SELLING_PRICE       => ' || TO_CHAR(g_unit_selling_price_tbl(i)));
2196         print_debug('UNIT_LIST_PRICE          => ' || TO_CHAR(g_unit_list_price_tbl(i)));
2197         print_debug('UNIT_SELL_PRICE_PER_PQTY => ' || TO_CHAR(g_unit_sell_price_per_pqty_tbl(i)));
2198         print_debug('UNIT_LIST_PRICE_PER_PQTY => ' || TO_CHAR(g_unit_list_price_per_pqty_tbl(i)));
2199         print_debug('PRICING_QUANTITY         => ' || TO_CHAR(g_pricing_quantity_tbl(i)));
2200         print_debug('PRICING_QUANTITY_UOM     => ' || g_priced_uom_code_tbl(i));
2201         print_debug('PRICE_LIST_ID            => ' || TO_CHAR(g_price_list_id_tbl(i)));
2202         print_debug('UNIT_LIST_PERCENT        => ' || TO_CHAR(g_unit_list_percent_tbl(i)));
2203         print_debug('UNIT_PERCENT_BASE_PRICE  => ' || TO_CHAR(g_unit_percent_base_price_tbl(i)));
2204         print_debug('UNIT_SELLING_PERCENT     => ' || TO_CHAR(g_unit_selling_percent_tbl(i)));
2205         print_debug('CURRENCY_CODE            => ' || g_currency_code_tbl(i));
2206       END IF;
2207     END LOOP;
2208   EXCEPTION
2209     WHEN fnd_api.g_exc_error THEN
2210       RAISE fnd_api.g_exc_error;
2211     WHEN OTHERS THEN
2212       x_return_status  := fnd_api.g_ret_sts_unexp_error;
2213 
2214       IF (l_debug = 1) THEN
2215         print_debug('MTL_QP_PRICE.Populate_Results: EXCEP UNEXP OTHERS - ' || SQLERRM);
2216       END IF;
2217 
2218       RAISE fnd_api.g_exc_unexpected_error;
2219   END populate_results;
2220 
2221   PROCEDURE print_debug(p_message IN VARCHAR2) IS
2222     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2223   BEGIN
2224     --     dbms_output.put_line(p_message);
2225     IF (l_debug = 1) THEN
2226       inv_log_util.TRACE(p_message, 'INV_INTERCOMPANY_INVOICING', 4);
2227     END IF;
2228   END print_debug;
2229 
2230   /** J development project - Enhance drop ship project ------------**/
2231   PROCEDURE copy_proc_header_to_request(
2232     p_header_rec                      inv_ic_order_pub.proc_header_rec_type
2233   , p_request_type_code               VARCHAR2
2234   , px_line_index       IN OUT NOCOPY NUMBER
2235   ) IS
2236     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2237   BEGIN
2238     print_debug('Start Copy_Proc_Header_To_Request');
2239     print_debug('p_request_type_code = ' || p_request_type_code);
2240     print_debug('px_line_index = ' || px_line_index);
2241     px_line_index                                  := px_line_index + 1;
2242     g_request_type_code_tbl(px_line_index)         := p_request_type_code;
2243     g_price_request_code_tbl(px_line_index)        := p_request_type_code;
2244     g_line_index_tbl(px_line_index)                := p_header_rec.po_header_id;
2245     g_line_type_code_tbl(px_line_index)            := 'ORDER';
2246     --  Hold the header_id in line_id for 'HEADER' Records
2247     g_line_id_tbl(px_line_index)                   := p_header_rec.po_header_id;
2248     g_pricing_effective_date_tbl(px_line_index)    := TRUNC(SYSDATE);
2249     g_currency_code_tbl(px_line_index)             := p_header_rec.currency_code;
2250     g_price_flag_tbl(px_line_index)                := 'Y';
2251     g_active_date_first_type_tbl(px_line_index)    := NULL;
2252     g_active_date_first_tbl(px_line_index)         := NULL;
2253     g_active_date_second_tbl(px_line_index)        := NULL;
2254     g_active_date_second_type_tbl(px_line_index)   := NULL;
2255     g_processed_flag_tbl(px_line_index)            := qp_preq_grp.g_not_processed;
2256     g_rounding_flag_tbl(px_line_index)             := 'Y';
2257     g_rounding_factor_tbl(px_line_index)           := NULL;
2258     g_processing_order_tbl(px_line_index)          := NULL;
2259     g_pricing_status_code_tbl(px_line_index)       := qp_preq_grp.g_status_unchanged;
2260     g_pricing_status_text_tbl(px_line_index)       := NULL;
2261     g_qualifiers_exist_flag_tbl(px_line_index)     := 'N';
2262     g_pricing_attrs_exist_flag_tbl(px_line_index)  := 'N';
2263     g_price_list_id_tbl(px_line_index)             := NULL;
2264     g_pl_validated_flag_tbl(px_line_index)         := 'N';
2265     g_usage_pricing_type_tbl(px_line_index)        := 'REGULAR';
2266     g_upd_adjusted_unit_price_tbl(px_line_index)   := NULL;
2267     g_line_quantity_tbl(px_line_index)             := NULL;
2268     g_line_uom_code_tbl(px_line_index)             := NULL;
2269     g_priced_quantity_tbl(px_line_index)           := NULL;
2270     g_uom_quantity_tbl(px_line_index)              := NULL;
2271     g_priced_uom_code_tbl(px_line_index)           := NULL;
2272     g_unit_price_tbl(px_line_index)                := NULL;
2273     g_percent_price_tbl(px_line_index)             := NULL;
2274     g_adjusted_unit_price_tbl(px_line_index)       := NULL;
2275     g_line_category_tbl(px_line_index)             := NULL;
2276     print_debug('END Copy_Proc_Header_To_Request px_line_index = ' || px_line_index);
2277   END copy_proc_header_to_request;
2278 
2279   PROCEDURE copy_proc_line_to_request(
2280     p_line_rec                        inv_ic_order_pub.proc_line_rec_type
2281   , p_pricing_events                  VARCHAR2
2282   , p_request_type_code               VARCHAR2
2283   , px_line_index       IN OUT NOCOPY NUMBER
2284   ) IS
2285     l_uom_rate NUMBER;
2286     l_debug    NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2287   BEGIN
2288     print_debug('START Copy_Proc_Line_to_Request');
2289     print_debug('p_pricing_events = ' || p_pricing_events);
2290     print_debug('p_requst_type_code = ' || p_request_type_code);
2291     print_debug('px_line_index = ' || px_line_index);
2292     px_line_index                                  := px_line_index + 1;
2293     g_request_type_code_tbl(px_line_index)         := p_request_type_code;
2294     g_price_request_code_tbl(px_line_index)        := p_request_type_code;
2295     g_line_id_tbl(px_line_index)                   := p_line_rec.po_line_id;
2296     g_line_index_tbl(px_line_index)                := p_line_rec.po_header_id + p_line_rec.po_line_id;
2297     g_line_type_code_tbl(px_line_index)            := 'LINE';
2298     g_line_quantity_tbl(px_line_index)             := p_line_rec.quantity;
2299 
2300     SELECT uom_code
2301       INTO g_line_uom_code_tbl(px_line_index)
2302       FROM mtl_units_of_measure
2303      WHERE unit_of_measure = p_line_rec.unit_meas_lookup_code;
2304 
2305     /* Bug Fix: 4324982*/
2306     /* Commenting out the below assignment since it is just populated correctly by the above SQL */
2307     --  G_LINE_UOM_CODE_TBL(px_line_index) := p_Line_rec.primary_uom;
2308     g_priced_quantity_tbl(px_line_index)           := NULL;
2309     g_priced_uom_code_tbl(px_line_index)           := g_line_uom_code_tbl(px_line_index);
2310     g_currency_code_tbl(px_line_index)             := inv_ic_order_pub.g_proc_hdr.currency_code;
2311     g_percent_price_tbl(px_line_index)             := NULL;
2312     g_active_date_first_type_tbl(px_line_index)    := NULL;
2313     g_active_date_first_tbl(px_line_index)         := NULL;
2314     g_active_date_second_tbl(px_line_index)        := NULL;
2315     g_active_date_second_type_tbl(px_line_index)   := NULL;
2316     g_price_flag_tbl(px_line_index)                := 'Y';
2317     g_processed_flag_tbl(px_line_index)            := qp_preq_grp.g_not_processed;
2318     g_rounding_flag_tbl(px_line_index)             := 'Y';
2319     g_rounding_factor_tbl(px_line_index)           := NULL;
2320     g_processing_order_tbl(px_line_index)          := NULL;
2321     g_pricing_status_code_tbl(px_line_index)       := qp_preq_grp.g_status_unchanged;
2322     g_pricing_status_text_tbl(px_line_index)       := NULL;
2323     g_qualifiers_exist_flag_tbl(px_line_index)     := 'N';
2324     g_pricing_attrs_exist_flag_tbl(px_line_index)  := 'N';
2325     g_pl_validated_flag_tbl(px_line_index)         := 'N';
2326     g_usage_pricing_type_tbl(px_line_index)        := 'REGULAR';
2327     g_upd_adjusted_unit_price_tbl(px_line_index)   := NULL;
2328     g_price_list_id_tbl(px_line_index)             := NULL;
2329     --IF p_Line_rec.pricing_date IS NULL OR p_Line_rec.pricing_date = fnd_api.g_miss_date THEN
2330     g_pricing_effective_date_tbl(px_line_index)    := TRUNC(SYSDATE);
2331     --ELSE
2332     --    G_PRICING_EFFECTIVE_DATE_TBL(px_line_index) := p_Line_rec.pricing_date;
2333 
2334     --END IF;
2335 
2336     /*IF (p_Line_rec.service_period = p_Line_rec.Order_quantity_uom) THEN
2337         G_UOM_QUANTITY_TBL(px_line_index) := p_Line_rec.service_duration;
2338     ELSE
2339         INV_CONVERT.INV_UM_CONVERSION ( From_Unit => p_Line_rec.service_period
2340                                         , To_Unit => p_Line_rec.Order_quantity_uom
2341                                         , Item_ID => p_Line_rec.Inventory_item_id
2342                                         , Uom_Rate => l_Uom_rate);
2343         G_UOM_QUANTITY_TBL(px_line_index) := p_Line_rec.service_duration * l_uom_rate;
2344 
2345     END IF;*/
2346     g_uom_quantity_tbl(px_line_index)              := NULL;
2347     g_unit_price_tbl(px_line_index)                := p_line_rec.unit_price;
2348     g_adjusted_unit_price_tbl(px_line_index)       := NULL;
2349     g_line_category_tbl(px_line_index)             := NULL;
2350   END copy_proc_line_to_request;
2351 
2352   FUNCTION get_transfer_price_ds(
2353     p_transaction_id    IN            NUMBER
2354   , p_sell_ou_id        IN            NUMBER
2355   , p_ship_ou_id        IN            NUMBER
2356   , p_flow_type         IN            NUMBER
2357   , p_order_line_id     IN            NUMBER
2358   , p_inventory_item_id IN            NUMBER
2359   , p_organization_id   IN            NUMBER
2360   , p_uom_code          IN            VARCHAR2
2361   , p_cto_item_flag     IN            VARCHAR2 DEFAULT 'N'
2362   , p_incr_code         IN            NUMBER
2363   , p_incrcurrency      IN            VARCHAR2
2364   , x_currency_code     OUT NOCOPY    VARCHAR2
2365   , x_tfrpricecode      OUT NOCOPY    NUMBER
2366   , x_return_status     OUT NOCOPY    VARCHAR2
2367   , x_msg_count         OUT NOCOPY    NUMBER
2368   , x_msg_data          OUT NOCOPY    VARCHAR2
2369   )
2370     RETURN NUMBER IS
2371     l_header_id          NUMBER;
2372     l_line_id            NUMBER;
2373     l_inventory_item_id  NUMBER;
2374     l_organization_id    NUMBER;
2375     l_transaction_uom    VARCHAR2(3);
2376     l_primary_uom        VARCHAR2(3);
2377     l_control_rec        qp_preq_grp.control_record_type;
2378     l_pricing_event      VARCHAR2(30)                    DEFAULT 'ICBATCH';
2379     l_request_type_code  VARCHAR2(30)                    DEFAULT 'IC';
2380     l_line_index         NUMBER                          := 0;
2381     l_return_status_text VARCHAR2(2000);
2382     l_version            VARCHAR2(240);
2383     l_dir                VARCHAR2(2000);
2384     l_tfrprice           NUMBER;
2385     l_uom_rate           NUMBER;
2386     l_doc_type           VARCHAR2(4);   /* OPM Bug 2865040 */
2387     l_progress           NUMBER;
2388     l_debug              NUMBER                          := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2389   BEGIN
2390     x_return_status  := fnd_api.g_ret_sts_success;
2391     x_currency_code  := ' ';
2392     x_tfrpricecode   := 1;
2393     x_msg_count      := 0;
2394     x_msg_data       := ' ';
2395     l_tfrprice       := -1;
2396     print_debug('START MTL_QP_PRICE.Get_Transfer_Price_DS ');
2397     print_debug('Input Parameters are ');
2398     print_debug('p_transaction_id = ' || p_transaction_id);
2399     print_debug('p_sell_ou_id = ' || p_sell_ou_id || ' p_ship_ou_id = ' || p_ship_ou_id);
2400     print_debug('p_flow_type = ' || p_flow_type);
2401 
2402     IF (p_flow_type = 1) THEN
2403       print_debug('Calling get_transfer_price for shipping flow ');
2404       RETURN get_transfer_price(
2405               p_transaction_id
2406             , p_sell_ou_id
2407             , p_ship_ou_id
2408             , p_order_line_id
2409             , p_inventory_item_id
2410             , p_organization_id
2411             , p_uom_code
2412             , p_cto_item_flag
2413             , p_incr_code
2414             , p_incrcurrency
2415             , l_request_type_code  -- OPM INVCONV  umoogala
2416             , l_pricing_event      -- OPM INVCONV  umoogala
2417             , x_currency_code
2418             , x_tfrpricecode
2419             , x_return_status
2420             , x_msg_count
2421             , x_msg_data
2422             );
2423     ELSE
2424       -- get po necessary info
2425       l_progress                                := 1;
2426       print_debug('Selecting po_line_id, po_header_id, item_id, organization_id and uom_code');
2427       l_inventory_item_id                       := p_inventory_item_id;
2428       l_organization_id                         := p_organization_id;
2429       l_transaction_uom                         := p_uom_code;
2430 
2431       SELECT rcv.po_line_id
2432            , rcv.po_header_id
2433         INTO l_line_id
2434            , l_header_id
2435         FROM rcv_transactions rcv, po_lines_all pol, mtl_units_of_measure um
2436        WHERE rcv.transaction_id = p_transaction_id
2437          AND rcv.po_line_id = pol.po_line_id
2438          AND rcv.unit_of_measure = um.unit_of_measure;
2439 
2440       IF (l_debug = 1) THEN
2441         print_debug('l_line_id = ' || l_line_id || ' l_header_id = ' || l_header_id);
2442         print_debug('MTL_QP_PRICE.get_transfer_price: Selecting Primary UOM...');
2443       END IF;
2444 
2445       SELECT primary_uom_code
2446         INTO l_primary_uom
2447         FROM mtl_system_items
2448        WHERE inventory_item_id = l_inventory_item_id
2449          AND organization_id = l_organization_id;
2450 
2451       IF (l_debug = 1) THEN
2452         print_debug('MTL_QP_PRICE.get_transfer_price: Building Global Structure...');
2453       END IF;
2454 
2455       g_proc_hdr_initialize(l_header_id, p_incr_code, p_incrcurrency, x_return_status);
2456       print_debug('Calling G_PROC_Line_Initialize');
2457       /* Bug Fix: 4324982*/
2458       /* Interchanged the order of passing p_ship_ou_id, p_sell_ou_id in the below call to g_proc_line_initialize */
2459       g_proc_line_initialize(l_line_id, p_ship_ou_id, p_sell_ou_id, l_primary_uom, p_inventory_item_id, p_cto_item_flag, x_return_status);
2460       qp_price_request_context.set_request_id;
2461       print_debug('copy_proc_header_to_request');
2462       copy_proc_header_to_request(p_header_rec => inv_ic_order_pub.g_proc_hdr, p_request_type_code => l_request_type_code
2463       , px_line_index                => l_line_index);
2464 
2465       IF (l_debug = 1) THEN
2466         print_debug('MTL_QP_PRICE.get_transfer_price: Build Context for header...');
2467       END IF;
2468 
2469       qp_attr_mapping_pub.build_contexts(p_request_type_code => l_request_type_code, p_pricing_type_code => 'H'
2470       , p_line_index                 => inv_ic_order_pub.g_proc_hdr.po_header_id);
2471       print_debug('calling copy_proc_line_to_request');
2472       copy_proc_line_to_request(
2473         p_line_rec                   => inv_ic_order_pub.g_proc_line
2474       , p_pricing_events             => l_pricing_event
2475       , p_request_type_code          => l_request_type_code
2476       , px_line_index                => l_line_index
2477       );
2478       inv_ic_order_pub.g_proc_line.primary_uom  := l_primary_uom;
2479 
2480       IF (l_debug = 1) THEN
2481         print_debug('MTL_QP_PRICE.get_transfer_price: Build Context for line...');
2482       END IF;
2483 
2484       qp_attr_mapping_pub.build_contexts(
2485         p_request_type_code          => l_request_type_code
2486       , p_pricing_type_code          => 'L'
2487       , p_line_index                 => inv_ic_order_pub.g_proc_line.po_header_id + inv_ic_order_pub.g_proc_line.po_line_id
2488       );
2489 
2490       IF l_line_index > 0 THEN
2491         IF (l_debug = 1) THEN
2492           print_debug('MTL_QP_PRICE.get_transfer_price: Populating Lines temp table...');
2493         END IF;
2494 
2495         populate_temp_table(x_return_status);
2496       END IF;
2497 
2498       IF (l_debug = 1) THEN
2499         print_debug('MTL_QP_PRICE.get_transfer_price: Initializing control record...');
2500       END IF;
2501 
2502       l_control_rec.pricing_event               := l_pricing_event;
2503       l_control_rec.calculate_flag              := qp_preq_grp.g_search_n_calculate;
2504       l_control_rec.temp_table_insert_flag      := 'N';
2505       l_control_rec.request_type_code           := l_request_type_code;
2506       l_control_rec.rounding_flag               := 'Y';
2507       -- Bug 3070474 (Porting from  Bug 3027452 ): added the following statement
2508       l_control_rec.use_multi_currency          := 'Y';
2509 
2510       print_debug('MTL_QP_PRICE.get_transfer_price: Assigning value of org_id to l_control_rec...'||p_ship_ou_id);
2511       --MOAC Changes: Passing the Shipping Operating unit to QP API.
2512       l_control_rec.org_id      := p_ship_ou_id;
2513       print_debug('MTL_QP_PRICE.get_transfer_price: After assigning the value of org_id to l_control_rec...'||l_control_rec.org_id);
2514 
2515       IF (l_debug = 1) THEN
2516         print_debug('MTL_QP_PRICE.get_transfer_price: Calling QP:Price Request routine ...');
2517       END IF;
2518 
2519       qp_preq_pub.price_request(p_control_rec => l_control_rec, x_return_status => x_return_status
2520       , x_return_status_text         => l_return_status_text);
2521 
2522       IF (x_return_status <> fnd_api.g_ret_sts_success) THEN
2523         IF (l_debug = 1) THEN
2524           print_debug('MTL_QP_PRICE.get_transfer_price: QP_PREQ_PUB.PRICE_REQUEST error ');
2525           print_debug('MTL_QP_PRICE.get_transfer_price: x_return_status_text=' || l_return_status_text);
2526         END IF;
2527 
2528         fnd_message.set_name('INV', 'INV_UNHANDLED_ERR');
2529         fnd_message.set_token('ENTITY1', 'QP_PREQ_PUB.PRICE_REQUEST');
2530         fnd_message.set_token('ENTITY2', SUBSTR(l_return_status_text, 1, 150));
2531         RAISE fnd_api.g_exc_error;
2532       END IF;
2533 
2534       IF (l_debug = 1) THEN
2535         print_debug('MTL_QP_PRICE.get_transfer_price: Populating QP results ...');
2536       END IF;
2537 
2538       populate_results(l_line_index, x_return_status);
2539       x_currency_code                           := g_currency_code_tbl(l_line_index);
2540       l_tfrprice                                := g_unit_selling_price_tbl(l_line_index);
2541 
2542       IF g_priced_uom_code_tbl(l_line_index) = l_transaction_uom THEN
2543         x_tfrpricecode  := 1;
2544       ELSIF g_priced_uom_code_tbl(l_line_index) = l_primary_uom THEN
2545         x_tfrpricecode  := 2;
2546       ELSE
2547         x_tfrpricecode  := 1;
2548       END IF;
2549 
2550       IF (l_debug = 1) THEN
2551         print_debug('New Price=' || TO_CHAR(l_tfrprice));
2552         print_debug('UOM=' || l_transaction_uom);
2553       END IF;
2554 
2555       RETURN(l_tfrprice);
2556     END IF;
2557   EXCEPTION
2558     WHEN NO_DATA_FOUND THEN
2559       IF (l_debug = 1) THEN
2560         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP NO_DATA_FOUND ');
2561         print_debug('l_progress = ' || l_progress);
2562       END IF;
2563 
2564       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
2565       x_currency_code  := NULL;
2566       RETURN(g_unit_selling_price_tbl(l_line_index));
2567     WHEN fnd_api.g_exc_error THEN
2568       IF (l_debug = 1) THEN
2569         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP G_EXC_ERROR ');
2570         print_debug('l_progress = ' || l_progress);
2571       END IF;
2572 
2573       x_currency_code  := NULL;
2574       RETURN(g_unit_selling_price_tbl(l_line_index));
2575     WHEN fnd_api.g_exc_unexpected_error THEN
2576       IF (l_debug = 1) THEN
2577         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP G_EXC_UNEXPECTED_ERROR ');
2578         print_debug('l_progress = ' || l_progress);
2579       END IF;
2580 
2581       x_currency_code  := NULL;
2582       RETURN(g_unit_selling_price_tbl(l_line_index));
2583     WHEN OTHERS THEN
2584       IF (l_debug = 1) THEN
2585         print_debug('MTL_QP_PRICE.get_transfer_price: EXCEP UNEXP OTHERS - ' || SQLERRM);
2586         print_debug('l_progress = ' || l_progress);
2587       END IF;
2588 
2589       x_currency_code  := NULL;
2590       RETURN(g_unit_selling_price_tbl(l_line_index));
2591   END get_transfer_price_ds;
2592 
2593   PROCEDURE g_proc_hdr_initialize(
2594     p_header_id     IN            NUMBER
2595   , p_incr_code     IN            NUMBER
2596   , p_incrcurrency  IN            VARCHAR2
2597   , x_return_status OUT NOCOPY    VARCHAR2
2598   ) IS
2599     l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2600   BEGIN
2601     x_return_status  := fnd_api.g_ret_sts_success;
2602 
2603     --  Header population
2604     IF (l_debug = 1) THEN
2605       print_debug('MTL_QP_PRICE.G_Proc_Hdr_Initialize: Populating G_PROC_HDR...  ');
2606     END IF;
2607 
2608     SELECT po_header_id
2609          , agent_id
2610          , type_lookup_code
2611          , segment1
2612          , summary_flag
2613          , enabled_flag
2614          , segment2
2615          , segment3
2616          , segment4
2617          , segment5
2618          , start_date_active
2619          , end_date_active
2620          , vendor_id
2621          , vendor_site_id
2622          , vendor_contact_id
2623          , ship_to_location_id
2624          , bill_to_location_id
2625          , terms_id
2626          , ship_via_lookup_code
2627          , fob_lookup_code
2628          , freight_terms_lookup_code
2629          , status_lookup_code
2630          , DECODE(NVL(p_incr_code, 1), 3, currency_code, p_incrcurrency)
2631          , rate_type
2632          , rate_date
2633          , rate
2634          , from_header_id
2635          , from_type_lookup_code
2636          , start_date
2637          , end_date
2638          , blanket_total_amount
2639          , authorization_status
2640          , revision_num
2641          , revised_date
2642          , approved_flag
2643          , approved_date
2644          , amount_limit
2645          , min_release_amount
2646          , note_to_authorizer
2647          , note_to_vendor
2648          , note_to_receiver
2649          , print_count
2650          , printed_date
2651          , vendor_order_num
2652          , confirming_order_flag
2653          , comments
2654          , reply_date
2655          , reply_method_lookup_code
2656          , rfq_close_date
2657          , quote_type_lookup_code
2658          , quotation_class_code
2659          , quote_warning_delay_unit
2660          , quote_warning_delay
2661          , quote_vendor_quote_number
2662          , acceptance_required_flag
2663          , acceptance_due_date
2664          , closed_date
2665          , user_hold_flag
2666          , approval_required_flag
2667          , cancel_flag
2668          , firm_status_lookup_code
2669          , firm_date
2670          , frozen_flag
2671          , attribute_category
2672          , attribute1
2673          , attribute2
2674          , attribute3
2675          , attribute4
2676          , attribute5
2677          , attribute6
2678          , attribute7
2679          , attribute8
2680          , attribute9
2681          , attribute10
2682          , attribute11
2683          , attribute12
2684          , attribute13
2685          , attribute14
2686          , attribute15
2687          , closed_code
2688          , ussgl_transaction_code
2689          , government_context
2690          , org_id
2691          , supply_agreement_flag
2692          , edi_processed_flag
2693          , edi_processed_status
2694          , global_attribute_category
2695          , global_attribute1
2696          , global_attribute2
2697          , global_attribute3
2698          , global_attribute4
2699          , global_attribute5
2700          , global_attribute6
2701          , global_attribute7
2702          , global_attribute8
2703          , global_attribute9
2704          , global_attribute10
2705          , global_attribute11
2706          , global_attribute12
2707          , global_attribute13
2708          , global_attribute14
2709          , global_attribute15
2710          , global_attribute16
2711          , global_attribute17
2712          , global_attribute18
2713          , global_attribute19
2714          , global_attribute20
2715          , interface_source_code
2716          , reference_num
2717          , wf_item_type
2718          , wf_item_key
2719          , mrc_rate_type
2720          , mrc_rate_date
2721          , mrc_rate
2722          , pcard_id
2723          , price_update_tolerance
2724          , pay_on_code
2725          , xml_flag
2726          , xml_send_date
2727          , xml_change_send_date
2728          , global_agreement_flag
2729       INTO inv_ic_order_pub.g_proc_hdr.po_header_id
2730          , inv_ic_order_pub.g_proc_hdr.agent_id
2731          , inv_ic_order_pub.g_proc_hdr.type_lookup_code
2732          , inv_ic_order_pub.g_proc_hdr.segment1
2733          , inv_ic_order_pub.g_proc_hdr.summary_flag
2734          , inv_ic_order_pub.g_proc_hdr.enabled_flag
2735          , inv_ic_order_pub.g_proc_hdr.segment2
2736          , inv_ic_order_pub.g_proc_hdr.segment3
2737          , inv_ic_order_pub.g_proc_hdr.segment4
2738          , inv_ic_order_pub.g_proc_hdr.segment5
2739          , inv_ic_order_pub.g_proc_hdr.start_date_active
2740          , inv_ic_order_pub.g_proc_hdr.end_date_active
2741          , inv_ic_order_pub.g_proc_hdr.vendor_id
2742          , inv_ic_order_pub.g_proc_hdr.vendor_site_id
2743          , inv_ic_order_pub.g_proc_hdr.vendor_contact_id
2744          , inv_ic_order_pub.g_proc_hdr.ship_to_location_id
2745          , inv_ic_order_pub.g_proc_hdr.bill_to_location_id
2746          , inv_ic_order_pub.g_proc_hdr.terms_id
2747          , inv_ic_order_pub.g_proc_hdr.ship_via_lookup_code
2748          , inv_ic_order_pub.g_proc_hdr.fob_lookup_code
2749          , inv_ic_order_pub.g_proc_hdr.freight_terms_lookup_code
2750          , inv_ic_order_pub.g_proc_hdr.status_lookup_code
2751          , inv_ic_order_pub.g_proc_hdr.currency_code
2752          , inv_ic_order_pub.g_proc_hdr.rate_type
2753          , inv_ic_order_pub.g_proc_hdr.rate_date
2754          , inv_ic_order_pub.g_proc_hdr.rate
2755          , inv_ic_order_pub.g_proc_hdr.from_header_id
2756          , inv_ic_order_pub.g_proc_hdr.from_type_lookup_code
2757          , inv_ic_order_pub.g_proc_hdr.start_date
2758          , inv_ic_order_pub.g_proc_hdr.end_date
2759          , inv_ic_order_pub.g_proc_hdr.blanket_total_amount
2760          , inv_ic_order_pub.g_proc_hdr.authorization_status
2761          , inv_ic_order_pub.g_proc_hdr.revision_num
2762          , inv_ic_order_pub.g_proc_hdr.revised_date
2763          , inv_ic_order_pub.g_proc_hdr.approved_flag
2764          , inv_ic_order_pub.g_proc_hdr.approved_date
2765          , inv_ic_order_pub.g_proc_hdr.amount_limit
2766          , inv_ic_order_pub.g_proc_hdr.min_release_amount
2767          , inv_ic_order_pub.g_proc_hdr.note_to_authorizer
2768          , inv_ic_order_pub.g_proc_hdr.note_to_vendor
2769          , inv_ic_order_pub.g_proc_hdr.note_to_receiver
2770          , inv_ic_order_pub.g_proc_hdr.print_count
2771          , inv_ic_order_pub.g_proc_hdr.printed_date
2772          , inv_ic_order_pub.g_proc_hdr.vendor_order_num
2773          , inv_ic_order_pub.g_proc_hdr.confirming_order_flag
2774          , inv_ic_order_pub.g_proc_hdr.comments
2775          , inv_ic_order_pub.g_proc_hdr.reply_date
2776          , inv_ic_order_pub.g_proc_hdr.reply_method_lookup_code
2777          , inv_ic_order_pub.g_proc_hdr.rfq_close_date
2778          , inv_ic_order_pub.g_proc_hdr.quote_type_lookup_code
2779          , inv_ic_order_pub.g_proc_hdr.quotation_class_code
2780          , inv_ic_order_pub.g_proc_hdr.quote_warning_delay_unit
2781          , inv_ic_order_pub.g_proc_hdr.quote_warning_delay
2782          , inv_ic_order_pub.g_proc_hdr.quote_vendor_quote_number
2783          , inv_ic_order_pub.g_proc_hdr.acceptance_required_flag
2784          , inv_ic_order_pub.g_proc_hdr.acceptance_due_date
2785          , inv_ic_order_pub.g_proc_hdr.closed_date
2786          , inv_ic_order_pub.g_proc_hdr.user_hold_flag
2787          , inv_ic_order_pub.g_proc_hdr.approval_required_flag
2788          , inv_ic_order_pub.g_proc_hdr.cancel_flag
2789          , inv_ic_order_pub.g_proc_hdr.firm_status_lookup_code
2790          , inv_ic_order_pub.g_proc_hdr.firm_date
2791          , inv_ic_order_pub.g_proc_hdr.frozen_flag
2792          , inv_ic_order_pub.g_proc_hdr.attribute_category
2793          , inv_ic_order_pub.g_proc_hdr.attribute1
2794          , inv_ic_order_pub.g_proc_hdr.attribute2
2795          , inv_ic_order_pub.g_proc_hdr.attribute3
2796          , inv_ic_order_pub.g_proc_hdr.attribute4
2797          , inv_ic_order_pub.g_proc_hdr.attribute5
2798          , inv_ic_order_pub.g_proc_hdr.attribute6
2799          , inv_ic_order_pub.g_proc_hdr.attribute7
2800          , inv_ic_order_pub.g_proc_hdr.attribute8
2801          , inv_ic_order_pub.g_proc_hdr.attribute9
2802          , inv_ic_order_pub.g_proc_hdr.attribute10
2803          , inv_ic_order_pub.g_proc_hdr.attribute11
2804          , inv_ic_order_pub.g_proc_hdr.attribute12
2805          , inv_ic_order_pub.g_proc_hdr.attribute13
2806          , inv_ic_order_pub.g_proc_hdr.attribute14
2807          , inv_ic_order_pub.g_proc_hdr.attribute15
2808          , inv_ic_order_pub.g_proc_hdr.closed_code
2809          , inv_ic_order_pub.g_proc_hdr.ussgl_transaction_code
2810          , inv_ic_order_pub.g_proc_hdr.government_context
2811          , inv_ic_order_pub.g_proc_hdr.org_id
2812          , inv_ic_order_pub.g_proc_hdr.supply_agreement_flag
2813          , inv_ic_order_pub.g_proc_hdr.edi_processed_flag
2814          , inv_ic_order_pub.g_proc_hdr.edi_processed_status
2815          , inv_ic_order_pub.g_proc_hdr.global_attribute_category
2816          , inv_ic_order_pub.g_proc_hdr.global_attribute1
2817          , inv_ic_order_pub.g_proc_hdr.global_attribute2
2818          , inv_ic_order_pub.g_proc_hdr.global_attribute3
2819          , inv_ic_order_pub.g_proc_hdr.global_attribute4
2820          , inv_ic_order_pub.g_proc_hdr.global_attribute5
2821          , inv_ic_order_pub.g_proc_hdr.global_attribute6
2822          , inv_ic_order_pub.g_proc_hdr.global_attribute7
2823          , inv_ic_order_pub.g_proc_hdr.global_attribute8
2824          , inv_ic_order_pub.g_proc_hdr.global_attribute9
2825          , inv_ic_order_pub.g_proc_hdr.global_attribute10
2826          , inv_ic_order_pub.g_proc_hdr.global_attribute11
2827          , inv_ic_order_pub.g_proc_hdr.global_attribute12
2828          , inv_ic_order_pub.g_proc_hdr.global_attribute13
2829          , inv_ic_order_pub.g_proc_hdr.global_attribute14
2830          , inv_ic_order_pub.g_proc_hdr.global_attribute15
2831          , inv_ic_order_pub.g_proc_hdr.global_attribute16
2832          , inv_ic_order_pub.g_proc_hdr.global_attribute17
2833          , inv_ic_order_pub.g_proc_hdr.global_attribute18
2834          , inv_ic_order_pub.g_proc_hdr.global_attribute19
2835          , inv_ic_order_pub.g_proc_hdr.global_attribute20
2836          , inv_ic_order_pub.g_proc_hdr.interface_source_code
2837          , inv_ic_order_pub.g_proc_hdr.reference_num
2838          , inv_ic_order_pub.g_proc_hdr.wf_item_type
2839          , inv_ic_order_pub.g_proc_hdr.wf_item_key
2840          , inv_ic_order_pub.g_proc_hdr.mrc_rate_type
2841          , inv_ic_order_pub.g_proc_hdr.mrc_rate_date
2842          , inv_ic_order_pub.g_proc_hdr.mrc_rate
2843          , inv_ic_order_pub.g_proc_hdr.pcard_id
2844          , inv_ic_order_pub.g_proc_hdr.price_update_tolerance
2845          , inv_ic_order_pub.g_proc_hdr.pay_on_code
2846          , inv_ic_order_pub.g_proc_hdr.xml_flag
2847          , inv_ic_order_pub.g_proc_hdr.xml_send_date
2848          , inv_ic_order_pub.g_proc_hdr.xml_change_send_date
2849          , inv_ic_order_pub.g_proc_hdr.global_agreement_flag
2850       FROM po_headers_all
2851      WHERE po_header_id = p_header_id;
2852   EXCEPTION
2853     WHEN NO_DATA_FOUND THEN
2854       x_return_status  := fnd_api.g_ret_sts_error;
2855 
2856       IF (l_debug = 1) THEN
2857         print_debug('MTL_QP_PRICE.G_Proc_Hdr_Initialize: EXCEP NO_DATA_FOUND ');
2858       END IF;
2859 
2860       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
2861       RAISE NO_DATA_FOUND;
2862     WHEN OTHERS THEN
2863       x_return_status  := fnd_api.g_ret_sts_unexp_error;
2864 
2865       IF (l_debug = 1) THEN
2866         print_debug('MTL_QP_PRICE.G_Proc_Hdr_Initialize: EXCEP UNEXP OTHERS - ' || SQLERRM);
2867       END IF;
2868 
2869       RAISE fnd_api.g_exc_unexpected_error;
2870   END g_proc_hdr_initialize;
2871 
2872   PROCEDURE g_proc_line_initialize(
2873     p_line_id           IN            NUMBER
2874   , p_from_org_id       IN            NUMBER
2875   , p_to_org_id         IN            NUMBER
2876   , p_primary_uom       IN            VARCHAR2
2877   , p_inventory_item_id IN            NUMBER
2878   , p_cto_item_flag     IN            VARCHAR2
2879   , x_return_status     OUT NOCOPY    VARCHAR2
2880   ) IS
2881     l_debug       NUMBER      := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2882     l_primary_uom VARCHAR2(3);
2883   BEGIN
2884     x_return_status                                   := fnd_api.g_ret_sts_success;
2885 
2886     --  Intercompany fields population
2887     IF (l_debug = 1) THEN
2888       print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: Populating IC fields...');
2889       print_debug('p_to_org_id = ' || p_to_org_id || ' p_from_org_id = ' || p_from_org_id);
2890       print_debug('p_line_id  = ' || p_line_id || ' p_primary_uom = ' || p_primary_uom);
2891       print_debug('p_inventory_item_id  = ' || p_inventory_item_id || ' p_cto_item_flag = ' || p_cto_item_flag);
2892     END IF;
2893 
2894     BEGIN
2895       SELECT customer_id
2896            , address_id
2897            , customer_site_id
2898            , cust_trx_type_id
2899            , vendor_id
2900            , vendor_site_id
2901            , revalue_average_flag
2902            , freight_code_combination_id
2903            , flow_type
2904            , inventory_accrual_account_id
2905            , intercompany_cogs_account_id
2906            , expense_accrual_account_id
2907         INTO inv_ic_order_pub.g_proc_line.ic_customer_id
2908            , inv_ic_order_pub.g_proc_line.ic_address_id
2909            , inv_ic_order_pub.g_proc_line.ic_customer_site_id
2910            , inv_ic_order_pub.g_proc_line.ic_cust_trx_type_id
2911            , inv_ic_order_pub.g_proc_line.ic_vendor_id
2912            , inv_ic_order_pub.g_proc_line.ic_vendor_site_id
2913            , inv_ic_order_pub.g_proc_line.ic_revalue_average_flag
2914            , inv_ic_order_pub.g_proc_line.ic_freight_code_combination_id
2915            , inv_ic_order_pub.g_proc_line.ic_flow_type
2916            , inv_ic_order_pub.g_proc_line.ic_inventory_accrual_acct_id
2917            , inv_ic_order_pub.g_proc_line.ic_intercompany_cogs_acct_id
2918            , inv_ic_order_pub.g_proc_line.ic_expense_accrual_acct_id
2919         FROM mtl_intercompany_parameters
2920        WHERE sell_organization_id = p_to_org_id
2921          AND ship_organization_id = NVL(p_from_org_id, ship_organization_id)
2922          AND flow_type = 2;
2923     EXCEPTION
2924       WHEN NO_DATA_FOUND THEN
2925         x_return_status  := fnd_api.g_ret_sts_error;
2926 
2927         IF (l_debug = 1) THEN
2928           print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: IC fields NO_DATA_FOUND...');
2929         END IF;
2930       WHEN OTHERS THEN
2931         x_return_status  := fnd_api.g_ret_sts_unexp_error;
2932 
2933         IF (l_debug = 1) THEN
2934           print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: IC fields EXCEP UNEXP OTHERS - ' || SQLERRM);
2935         END IF;
2936     END;
2937 
2938     print_debug('after getting information from mtl_intercompany_parameters');
2939 
2940     SELECT po_line_id
2941          , po_header_id
2942          , line_type_id
2943          , line_num
2944          , DECODE(NVL(p_cto_item_flag, 'N'), 'N', item_id, p_inventory_item_id)
2945          , item_revision
2946          , category_id
2947          , item_description
2948          , unit_meas_lookup_code
2949          , quantity_committed
2950          , committed_amount
2951          , allow_price_override_flag
2952          , not_to_exceed_price
2953          , list_price_per_unit
2954          , unit_price
2955          , quantity
2956          , un_number_id
2957          , hazard_class_id
2958          , note_to_vendor
2959          , from_header_id
2960          , from_line_id
2961          , min_order_quantity
2962          , max_order_quantity
2963          , qty_rcv_tolerance
2964          , over_tolerance_error_flag
2965          , market_price
2966          , unordered_flag
2967          , closed_flag
2968          , user_hold_flag
2969          , cancel_flag
2970          , cancelled_by
2971          , cancel_date
2972          , cancel_reason
2973          , firm_status_lookup_code
2974          , firm_date
2975          , vendor_product_num
2976          , contract_num
2977          , taxable_flag
2978          , tax_name
2979          , type_1099
2980          , capital_expense_flag
2981          , negotiated_by_preparer_flag
2982          , attribute_category
2983          , attribute1
2984          , attribute2
2985          , attribute3
2986          , attribute4
2987          , attribute5
2988          , attribute6
2989          , attribute7
2990          , attribute8
2991          , attribute9
2992          , attribute10
2993          , reference_num
2994          , attribute11
2995          , attribute12
2996          , attribute13
2997          , attribute14
2998          , attribute15
2999          , min_release_amount
3000          , price_type_lookup_code
3001          , closed_code
3002          , price_break_lookup_code
3003          , ussgl_transaction_code
3004          , government_context
3005          , closed_date
3006          , closed_reason
3007          , closed_by
3008          , transaction_reason_code
3009          , org_id
3010          , qc_grade
3011          , base_uom
3012          , base_qty
3013          , secondary_uom
3014          , secondary_qty
3015          , global_attribute_category
3016          , global_attribute1
3017          , global_attribute2
3018          , global_attribute3
3019          , global_attribute4
3020          , global_attribute5
3021          , global_attribute6
3022          , global_attribute7
3023          , global_attribute8
3024          , global_attribute9
3025          , global_attribute10
3026          , global_attribute11
3027          , global_attribute12
3028          , global_attribute13
3029          , global_attribute14
3030          , global_attribute15
3031          , global_attribute16
3032          , global_attribute17
3033          , global_attribute18
3034          , global_attribute19
3035          , global_attribute20
3036          , line_reference_num
3037          , project_id
3038          , task_id
3039          , expiration_date
3040          , tax_code_id
3041          , oke_contract_header_id
3042          , oke_contract_version_id
3043          , secondary_quantity
3044          , secondary_unit_of_measure
3045          , preferred_grade
3046          , auction_header_id
3047          , auction_display_number
3048          , auction_line_number
3049          , bid_number
3050          , bid_line_number
3051       INTO inv_ic_order_pub.g_proc_line.po_line_id
3052          , inv_ic_order_pub.g_proc_line.po_header_id
3053          , inv_ic_order_pub.g_proc_line.line_type_id
3054          , inv_ic_order_pub.g_proc_line.line_num
3055          , inv_ic_order_pub.g_proc_line.item_id
3056          , inv_ic_order_pub.g_proc_line.item_revision
3057          , inv_ic_order_pub.g_proc_line.category_id
3058          , inv_ic_order_pub.g_proc_line.item_description
3059          , inv_ic_order_pub.g_proc_line.unit_meas_lookup_code
3060          , inv_ic_order_pub.g_proc_line.quantity_committed
3061          , inv_ic_order_pub.g_proc_line.committed_amount
3062          , inv_ic_order_pub.g_proc_line.allow_price_override_flag
3063          , inv_ic_order_pub.g_proc_line.not_to_exceed_price
3064          , inv_ic_order_pub.g_proc_line.list_price_per_unit
3065          , inv_ic_order_pub.g_proc_line.unit_price
3066          , inv_ic_order_pub.g_proc_line.quantity
3067          , inv_ic_order_pub.g_proc_line.un_number_id
3068          , inv_ic_order_pub.g_proc_line.hazard_class_id
3069          , inv_ic_order_pub.g_proc_line.note_to_vendor
3070          , inv_ic_order_pub.g_proc_line.from_header_id
3071          , inv_ic_order_pub.g_proc_line.from_line_id
3072          , inv_ic_order_pub.g_proc_line.min_order_quantity
3073          , inv_ic_order_pub.g_proc_line.max_order_quantity
3074          , inv_ic_order_pub.g_proc_line.qty_rcv_tolerance
3075          , inv_ic_order_pub.g_proc_line.over_tolerance_error_flag
3076          , inv_ic_order_pub.g_proc_line.market_price
3077          , inv_ic_order_pub.g_proc_line.unordered_flag
3078          , inv_ic_order_pub.g_proc_line.closed_flag
3079          , inv_ic_order_pub.g_proc_line.user_hold_flag
3080          , inv_ic_order_pub.g_proc_line.cancel_flag
3081          , inv_ic_order_pub.g_proc_line.cancelled_by
3082          , inv_ic_order_pub.g_proc_line.cancel_date
3083          , inv_ic_order_pub.g_proc_line.cancel_reason
3084          , inv_ic_order_pub.g_proc_line.firm_status_lookup_code
3085          , inv_ic_order_pub.g_proc_line.firm_date
3086          , inv_ic_order_pub.g_proc_line.vendor_product_num
3087          , inv_ic_order_pub.g_proc_line.contract_num
3088          , inv_ic_order_pub.g_proc_line.taxable_flag
3089          , inv_ic_order_pub.g_proc_line.tax_name
3090          , inv_ic_order_pub.g_proc_line.type_1099
3091          , inv_ic_order_pub.g_proc_line.capital_expense_flag
3092          , inv_ic_order_pub.g_proc_line.negotiated_by_preparer_flag
3093          , inv_ic_order_pub.g_proc_line.attribute_category
3094          , inv_ic_order_pub.g_proc_line.attribute1
3095          , inv_ic_order_pub.g_proc_line.attribute2
3096          , inv_ic_order_pub.g_proc_line.attribute3
3097          , inv_ic_order_pub.g_proc_line.attribute4
3098          , inv_ic_order_pub.g_proc_line.attribute5
3099          , inv_ic_order_pub.g_proc_line.attribute6
3100          , inv_ic_order_pub.g_proc_line.attribute7
3101          , inv_ic_order_pub.g_proc_line.attribute8
3102          , inv_ic_order_pub.g_proc_line.attribute9
3103          , inv_ic_order_pub.g_proc_line.attribute10
3104          , inv_ic_order_pub.g_proc_line.reference_num
3105          , inv_ic_order_pub.g_proc_line.attribute11
3106          , inv_ic_order_pub.g_proc_line.attribute12
3107          , inv_ic_order_pub.g_proc_line.attribute13
3108          , inv_ic_order_pub.g_proc_line.attribute14
3109          , inv_ic_order_pub.g_proc_line.attribute15
3110          , inv_ic_order_pub.g_proc_line.min_release_amount
3111          , inv_ic_order_pub.g_proc_line.price_type_lookup_code
3112          , inv_ic_order_pub.g_proc_line.closed_code
3113          , inv_ic_order_pub.g_proc_line.price_break_lookup_code
3114          , inv_ic_order_pub.g_proc_line.ussgl_transaction_code
3115          , inv_ic_order_pub.g_proc_line.government_context
3116          , inv_ic_order_pub.g_proc_line.closed_date
3117          , inv_ic_order_pub.g_proc_line.closed_reason
3118          , inv_ic_order_pub.g_proc_line.closed_by
3119          , inv_ic_order_pub.g_proc_line.transaction_reason_code
3120          , inv_ic_order_pub.g_proc_line.org_id
3121          , inv_ic_order_pub.g_proc_line.qc_grade
3122          , inv_ic_order_pub.g_proc_line.base_uom
3123          , inv_ic_order_pub.g_proc_line.base_qty
3124          , inv_ic_order_pub.g_proc_line.secondary_uom
3125          , inv_ic_order_pub.g_proc_line.secondary_qty
3126          , inv_ic_order_pub.g_proc_line.global_attribute_category
3127          , inv_ic_order_pub.g_proc_line.global_attribute1
3128          , inv_ic_order_pub.g_proc_line.global_attribute2
3129          , inv_ic_order_pub.g_proc_line.global_attribute3
3130          , inv_ic_order_pub.g_proc_line.global_attribute4
3131          , inv_ic_order_pub.g_proc_line.global_attribute5
3132          , inv_ic_order_pub.g_proc_line.global_attribute6
3133          , inv_ic_order_pub.g_proc_line.global_attribute7
3134          , inv_ic_order_pub.g_proc_line.global_attribute8
3135          , inv_ic_order_pub.g_proc_line.global_attribute9
3136          , inv_ic_order_pub.g_proc_line.global_attribute10
3137          , inv_ic_order_pub.g_proc_line.global_attribute11
3138          , inv_ic_order_pub.g_proc_line.global_attribute12
3139          , inv_ic_order_pub.g_proc_line.global_attribute13
3140          , inv_ic_order_pub.g_proc_line.global_attribute14
3141          , inv_ic_order_pub.g_proc_line.global_attribute15
3142          , inv_ic_order_pub.g_proc_line.global_attribute16
3143          , inv_ic_order_pub.g_proc_line.global_attribute17
3144          , inv_ic_order_pub.g_proc_line.global_attribute18
3145          , inv_ic_order_pub.g_proc_line.global_attribute19
3146          , inv_ic_order_pub.g_proc_line.global_attribute20
3147          , inv_ic_order_pub.g_proc_line.line_reference_num
3148          , inv_ic_order_pub.g_proc_line.project_id
3149          , inv_ic_order_pub.g_proc_line.task_id
3150          , inv_ic_order_pub.g_proc_line.expiration_date
3151          , inv_ic_order_pub.g_proc_line.tax_code_id
3152          , inv_ic_order_pub.g_proc_line.oke_contract_header_id
3153          , inv_ic_order_pub.g_proc_line.oke_contract_version_id
3154          , inv_ic_order_pub.g_proc_line.secondary_quantity
3155          , inv_ic_order_pub.g_proc_line.secondary_unit_of_measure
3156          , inv_ic_order_pub.g_proc_line.preferred_grade
3157          , inv_ic_order_pub.g_proc_line.auction_header_id
3158          , inv_ic_order_pub.g_proc_line.auction_display_number
3159          , inv_ic_order_pub.g_proc_line.auction_line_number
3160          , inv_ic_order_pub.g_proc_line.bid_number
3161          , inv_ic_order_pub.g_proc_line.bid_line_number
3162       FROM po_lines_all
3163      WHERE po_line_id = p_line_id;
3164 
3165     print_debug('after selecting from po_lines_all ');
3166     print_debug('item_id = ' || inv_ic_order_pub.g_proc_line.item_id || ' organization_id = ' || inv_ic_order_pub.g_proc_line.org_id);
3167     inv_ic_order_pub.g_proc_line.ic_receiving_org_id  := p_to_org_id;
3168     inv_ic_order_pub.g_proc_line.ic_procuring_org_id  := p_from_org_id;
3169     /* Bug Fix: 4324982*/
3170     /* Copied inv_ic_order_pub.g_proc_line.item_id to inv_ic_order_pub.g_line.inventory_item_id
3171      * since QP looks at the Item Id passed in G_LINE.inventory_item_id */
3172     inv_ic_order_pub.g_line.inventory_item_id         := inv_ic_order_pub.g_proc_line.item_id;
3173 
3174     --  Line population
3175     IF (l_debug = 1) THEN
3176       print_debug
3177               ('MTL_QP_PRICE.G_Proc_Line_Initialize: Done Populating G_LINE.inventory_Item_Id from inv_ic_order_pub.g_proc_line.item_id..');
3178       print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: Done Populating G_PROC_LINE structure...');
3179     END IF;
3180   EXCEPTION
3181     WHEN NO_DATA_FOUND THEN
3182       x_return_status  := fnd_api.g_ret_sts_error;
3183 
3184       IF (l_debug = 1) THEN
3185         print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: EXCEP NO_DATA_FOUND ');
3186       END IF;
3187 
3188       fnd_message.set_name('INV', 'INV_NO_DATA_EXISTS');
3189       RAISE NO_DATA_FOUND;
3190     WHEN OTHERS THEN
3191       x_return_status  := fnd_api.g_ret_sts_unexp_error;
3192 
3193       IF (l_debug = 1) THEN
3194         print_debug('MTL_QP_PRICE.G_Proc_Line_Initialize: EXCEP UNEXP OTHERS - ' || SQLERRM);
3195       END IF;
3196 
3197       RAISE fnd_api.g_exc_unexpected_error;
3198   END g_proc_line_initialize;
3199 END mtl_qp_price;