DBA Data[Home] [Help]

PACKAGE BODY: APPS.MTL_QP_PRICE

Source


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