DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_COPY_DEBUG_PVT

Source


1 PACKAGE BODY QP_COPY_DEBUG_PVT AS
2 /* $Header: QPXVCDBB.pls 120.0 2005/06/02 01:26:08 appldev noship $ */
3 l_debug VARCHAR2(3);
4 PROCEDURE Insert_Request IS
5 PRAGMA AUTONOMOUS_TRANSACTION;
6 BEGIN
7   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
8   INSERT INTO
9   qp_debug_req( REQUEST_ID,
10                 REQUEST_NAME,
11                 ORDER_NUMBER,   -- sfiresto 2374448
12                 CREATED_BY,
13                 CREATION_DATE,
14                 PRICING_EVENT,
15                 CALCULATE_FLAG,
16                 SIMULATION_FLAG,
17                 REQUEST_TYPE_CODE,
18                 VIEW_CODE,
19                 ROUNDING_FLAG,
20                 GSA_CHECK_FLAG,
21                 GSA_DUP_CHECK_FLAG,
22                 TEMP_TABLE_INSERT_FLAG,
23                 MANUAL_DISCOUNT_FLAG,
24                 DEBUG_FLAG,
25                 SOURCE_ORDER_AMOUNT_FLAG,
26                 PUBLIC_API_CALL_FLAG,
27                 MANUAL_ADJUSTMENTS_CALL_FLAG,
28                 CHECK_CUST_VIEW_FLAG,
29                 CURRENCY_CODE
30               )
31          VALUES
32               ( g_control_rec.REQUEST_ID,
33                 g_control_rec.REQUEST_NAME,
34                 g_control_rec.ORDER_NUMBER,  -- sfiresto 2374448
35                 g_control_rec.CREATED_BY,
36                 g_control_rec.CREATION_DATE,
37                 g_control_rec.PRICING_EVENT,
38                 g_control_rec.CALCULATE_FLAG,
39                 nvl(g_control_rec.SIMULATION_FLAG,'N'),
40                 g_control_rec.REQUEST_TYPE_CODE,
41                 g_control_rec.VIEW_CODE,
42                 nvl(g_control_rec.ROUNDING_FLAG,'N'),
43                 nvl(g_control_rec.GSA_CHECK_FLAG,'N'),
44                 nvl(g_control_rec.GSA_DUP_CHECK_FLAG,'N'),
45                 nvl(g_control_rec.TEMP_TABLE_INSERT_FLAG,'N'),
46                 nvl(g_control_rec.MANUAL_DISCOUNT_FLAG,'N'),
47                 nvl(g_control_rec.DEBUG_FLAG,'N'),
48                 nvl(g_control_rec.SOURCE_ORDER_AMOUNT_FLAG,'N'),
49                 nvl(g_control_rec.PUBLIC_API_CALL_FLAG,'N'),
50                 nvl(g_control_rec.MANUAL_ADJUSTMENTS_CALL_FLAG,'N'),
51                 nvl(g_control_rec.CHECK_CUST_VIEW_FLAG,'N'),
52                 g_control_rec.currency_code
53               );
54 
55   IF l_debug = FND_API.G_TRUE THEN
56   QP_PREQ_GRP.engine_debug('***Inserted 1 Record into QP_DEBUG_REQ***');
57   END IF;
58  -- dbms_output.put_line('***Inserted 1 Record into QP_DEBUG_REQ***');
59   COMMIT;
60 
61 END Insert_Request;
62 
63 PROCEDURE Insert_Line IS
64 PRAGMA AUTONOMOUS_TRANSACTION;
65   Tbl_Index       NUMBER;
66 BEGIN
67   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
68   IF LINE_ID_T.COUNT >= 1 then
69     FORALL Tbl_Index IN LINE_ID_T.FIRST .. LINE_ID_T.LAST
70       INSERT INTO
71       QP_DEBUG_REQ_LINES( REQUEST_ID,
72                           REQUEST_TYPE_CODE,
73                           LINE_NUMBER,       -- sfiresto 2374448
74                           LINE_ID,
75                           LINE_INDEX,
76                           LINE_TYPE_CODE,
77                           PRICING_EFFECTIVE_DATE,
78                           LINE_QUANTITY,
79                           LINE_UOM_CODE,
80                           PRICED_QUANTITY,
81                           PRICED_UOM_CODE,
82                           UOM_QUANTITY,
83                           CURRENCY_CODE,
84                           UNIT_PRICE,
85                           PERCENT_PRICE,
86                           ADJUSTED_UNIT_PRICE,
87                           PARENT_PRICE,
88                           PARENT_QUANTITY,
89                           PARENT_UOM_CODE,
90                           PROCESSING_ORDER,
91                           PROCESSED_FLAG,
92                           PROCESSED_CODE,
93                           PRICE_FLAG,
94                           PRICING_STATUS_CODE,
95                           PRICING_STATUS_TEXT,
96                           START_DATE_ACTIVE_FIRST,
97                           ACTIVE_DATE_FIRST_TYPE,
98                           START_DATE_ACTIVE_SECOND,
99                           ACTIVE_DATE_SECOND_TYPE,
100                           GROUP_QUANTITY,
101                           GROUP_AMOUNT,
102                           LINE_AMOUNT,
103                           ROUNDING_FLAG,
104                           ROUNDING_FACTOR,
105                           UPDATED_ADJUSTED_UNIT_PRICE,
106                           PRICE_REQUEST_CODE,
107                           HOLD_CODE,
108                           HOLD_TEXT,
109                           PRICE_LIST_HEADER_ID,
110                           VALIDATED_FLAG,
111                           QUALIFIERS_EXIST_FLAG,
112                           PRICING_ATTRS_EXIST_FLAG,
113                           PRIMARY_QUALIFIERS_MATCH_FLAG,
114                           USAGE_PRICING_TYPE
115                         )
116                    VALUES
117                         ( REQUEST_ID_T(Tbl_Index),
118                           REQUEST_TYPE_CODE_T(Tbl_Index),
119                           LINE_NUMBER_T(Tbl_Index),       -- sfiresto 2374448
120                           LINE_ID_T(Tbl_Index),
121                           LINE_INDEX_T(Tbl_Index),
122                           LINE_TYPE_CODE_T(Tbl_Index),
123                           PRICING_EFFECTIVE_DATE_T(Tbl_Index),
124                           LINE_QUANTITY_T(Tbl_Index),
125                           LINE_UOM_CODE_T(Tbl_Index),
126                           PRICED_QUANTITY_T(Tbl_Index),
127                           PRICED_UOM_CODE_T(Tbl_Index),
128                           UOM_QUANTITY_T(Tbl_Index),
129                           CURRENCY_CODE_T(Tbl_Index),
130                           UNIT_PRICE_T(Tbl_Index),
131                           PERCENT_PRICE_T(Tbl_Index),
132                           ADJUSTED_UNIT_PRICE_T(Tbl_Index),
133                           PARENT_PRICE_T(Tbl_Index),
134                           PARENT_QUANTITY_T(Tbl_Index),
135                           PARENT_UOM_CODE_T(Tbl_Index),
136                           PROCESSING_ORDER_T(Tbl_Index),
137                           nvl(PROCESSED_FLAG_T(Tbl_Index),'N'),
138                           PROCESSED_CODE_T(Tbl_Index),
139                           PRICE_FLAG_T(Tbl_Index),
140                           PRICING_STATUS_CODE_T(Tbl_Index),
141                           PRICING_STATUS_TEXT_T(Tbl_Index),
142                           START_DATE_ACTIVE_FIRST_T(Tbl_Index),
143                           ACTIVE_DATE_FIRST_TYPE_T(Tbl_Index),
144                           START_DATE_ACTIVE_SECOND_T(Tbl_Index),
148                           LINE_AMOUNT_T(Tbl_Index),
145                           ACTIVE_DATE_SECOND_TYPE_T(Tbl_Index),
146                           GROUP_QUANTITY_T(Tbl_Index),
147                           GROUP_AMOUNT_T(Tbl_Index),
149                           nvl(ROUNDING_FLAG_T(Tbl_Index),'N'),
150                           ROUNDING_FACTOR_T(Tbl_Index),
151                           UPDATED_ADJUSTED_UNIT_PRICE_T(Tbl_Index),
152                           PRICE_REQUEST_CODE_T(Tbl_Index),
153                           HOLD_CODE_T(Tbl_Index),
154                           HOLD_TEXT_T(Tbl_Index),
155                           PRICE_LIST_HEADER_ID_T(Tbl_Index),
156                           nvl(VALIDATED_FLAG_T(Tbl_Index),'N'),
157                           nvl(QUALIFIERS_EXIST_FLAG_T(Tbl_Index),'N'),
158                           nvl(PRICING_ATTRS_EXIST_FLAG_T(Tbl_Index),'N'),
159                           nvl(PRIMARY_QUAL_MATCH_FLAG_T(Tbl_Index),'N'),
160                           USAGE_PRICING_TYPE_T(Tbl_Index)
161                         );
162 
163       IF l_debug = FND_API.G_TRUE THEN
164       QP_PREQ_GRP.engine_debug('***Inserted ' || LINE_ID_T.COUNT || ' Records into QP_DEBUG_REQ_LINES***');
165       END IF;
166      -- dbms_output.put_line('***Inserted 1 Record into QP_DEBUG_REQ_LINES***');
167     COMMIT;
168   REQUEST_ID_T.delete;
169   REQUEST_TYPE_CODE_T.delete;
170   LINE_ID_T.delete;
171   LINE_INDEX_T.delete;
172   LINE_TYPE_CODE_T.delete;
173   PRICING_EFFECTIVE_DATE_T.delete;
174   LINE_QUANTITY_T.delete;
175   LINE_UOM_CODE_T.delete;
176   PRICED_QUANTITY_T.delete;
177   PRICED_UOM_CODE_T.delete;
178   UOM_QUANTITY_T.delete;
179   CURRENCY_CODE_T.delete;
180   UNIT_PRICE_T.delete;
181   PERCENT_PRICE_T.delete;
182   ADJUSTED_UNIT_PRICE_T.delete;
183   PARENT_PRICE_T.delete;
184   PARENT_QUANTITY_T.delete;
185   PARENT_UOM_CODE_T.delete;
186   PROCESSING_ORDER_T.delete;
187   PROCESSED_FLAG_T.delete;
188   PROCESSED_CODE_T.delete;
189   PRICE_FLAG_T.delete;
190   PRICING_STATUS_CODE_T.delete;
191   PRICING_STATUS_TEXT_T.delete;
192   START_DATE_ACTIVE_FIRST_T.delete;
193   ACTIVE_DATE_FIRST_TYPE_T.delete;
194   START_DATE_ACTIVE_SECOND_T.delete;
195   ACTIVE_DATE_SECOND_TYPE_T.delete;
196   GROUP_QUANTITY_T.delete;
197   GROUP_AMOUNT_T.delete;
198   LINE_AMOUNT_T.delete;
199   ROUNDING_FLAG_T.delete;
200   ROUNDING_FACTOR_T.delete;
201   UPDATED_ADJUSTED_UNIT_PRICE_T.delete;
202   PRICE_REQUEST_CODE_T.delete;
203   HOLD_CODE_T.delete;
204   HOLD_TEXT_T.delete;
205   PRICE_LIST_HEADER_ID_T.delete;
206   VALIDATED_FLAG_T.delete;
207   QUALIFIERS_EXIST_FLAG_T.delete;
208   PRICING_ATTRS_EXIST_FLAG_T.delete;
209   PRIMARY_QUAL_MATCH_FLAG_T.delete;
210   USAGE_PRICING_TYPE_T.delete;
211   END IF;
212 END Insert_Line;
213 
214 PROCEDURE Insert_LDet IS
215 PRAGMA AUTONOMOUS_TRANSACTION;
216   Tbl_Index       NUMBER;
217 BEGIN
218   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
219   IF LINE_DETAIL_INDEX_T.COUNT >= 1 then
220     FORALL Tbl_Index IN LINE_DETAIL_INDEX_T.FIRST .. LINE_DETAIL_INDEX_T.LAST
221       INSERT INTO
222       QP_DEBUG_REQ_LDETS( REQUEST_ID,
223                           LINE_DETAIL_INDEX,
224                           LINE_DETAIL_TYPE_CODE,
225                           PRICE_BREAK_TYPE_CODE,
226                           LINE_INDEX,
227                           CREATED_FROM_LIST_HEADER_ID,
228                           CREATED_FROM_LIST_LINE_ID,
229                           CREATED_FROM_LIST_LINE_TYPE,
230                           CREATED_FROM_LIST_TYPE_CODE,
231                           MODIFIER_LEVEL_CODE,
232                           CREATED_FROM_SQL,
233                           PRICING_GROUP_SEQUENCE,
234                           OPERAND_CALCULATION_CODE,
235                           OPERAND_VALUE,
236                           ADJUSTMENT_AMOUNT,
237                           LINE_QUANTITY,
238                           SUBSTITUTION_TYPE_CODE,
239                           SUBSTITUTION_VALUE_FROM,
240                           SUBSTITUTION_VALUE_TO,
241                           ASK_FOR_FLAG,
242                           PRICE_FORMULA_ID,
243                           PROCESSED_FLAG,
244                           PRICING_STATUS_CODE,
245                           PRICING_STATUS_TEXT,
246                           PRODUCT_PRECEDENCE,
247                           INCOMPATABILITY_GRP_CODE,
248                           BEST_PERCENT,
249                           PRICING_PHASE_ID,
250                           APPLIED_FLAG,
251                           AUTOMATIC_FLAG,
252                           OVERRIDE_FLAG,
253                           PRINT_ON_INVOICE_FLAG,
254                           PRIMARY_UOM_FLAG,
255                           BENEFIT_QTY,
256                           BENEFIT_UOM_CODE,
257                           LIST_LINE_NO,
258                           ACCRUAL_FLAG,
259                           ACCRUAL_CONVERSION_RATE,
260                           ESTIM_ACCRUAL_RATE,
261                           RECURRING_FLAG,
262                           SELECTED_VOLUME_ATTR,
263                           ROUNDING_FACTOR,
264                           SECONDARY_PRICELIST_IND,
265                           GROUP_QUANTITY,
266                           GROUP_AMOUNT,
267                           PROCESS_CODE,
268                           UPDATED_FLAG,
269                           CHARGE_TYPE_CODE,
270                           CHARGE_SUBTYPE_CODE,
271                           LIMIT_CODE,
272                           LIMIT_TEXT,
273                           HEADER_LIMIT_EXISTS,
274                           LINE_LIMIT_EXISTS
275                         )
276                    VALUES
277                         ( REQUEST_ID_T(Tbl_Index),
278                           LINE_DETAIL_INDEX_T(Tbl_Index),
279                           LINE_DETAIL_TYPE_CODE_T(Tbl_Index),
280                           PRICE_BREAK_TYPE_CODE_T(Tbl_Index),
281                           LINE_INDEX_T(Tbl_Index),
282                           LIST_HEADER_ID_T(Tbl_Index),
283                           LIST_LINE_ID_T(Tbl_Index),
284                           LIST_LINE_TYPE_T(Tbl_Index),
285                           LIST_TYPE_CODE_T(Tbl_Index),
286                           MODIFIER_LEVEL_CODE_T(Tbl_Index),
287                           CREATED_FROM_SQL_T(Tbl_Index),
288                           PRICING_GROUP_SEQUENCE_T(Tbl_Index),
289                           OPERAND_CALCULATION_CODE_T(Tbl_Index),
290                           OPERAND_VALUE_T(Tbl_Index),
291                           ADJUSTMENT_AMOUNT_T(Tbl_Index),
292                           LINE_QUANTITY_T(Tbl_Index),
293                           SUBSTITUTION_TYPE_CODE_T(Tbl_Index),
294                           SUBSTITUTION_VALUE_FROM_T(Tbl_Index),
295                           SUBSTITUTION_VALUE_TO_T(Tbl_Index),
296                           nvl(ASK_FOR_FLAG_T(Tbl_Index),'N'),
297                           PRICE_FORMULA_ID_T(Tbl_Index),
298                           nvl(PROCESSED_FLAG_T(Tbl_Index),'N'),
299                           PRICING_STATUS_CODE_T(Tbl_Index),
300                           PRICING_STATUS_TEXT_T(Tbl_Index),
301                           PRODUCT_PRECEDENCE_T(Tbl_Index),
302                           INCOMPATABILITY_GRP_CODE_T(Tbl_Index),
303                           BEST_PERCENT_T(Tbl_Index),
304                           PRICING_PHASE_ID_T(Tbl_Index),
305                           nvl(APPLIED_FLAG_T(Tbl_Index),'N'),
306                           nvl(AUTOMATIC_FLAG_T(Tbl_Index),'N'),
307                           nvl(OVERRIDE_FLAG_T(Tbl_Index),'N'),
308                           nvl(PRINT_ON_INVOICE_FLAG_T(Tbl_Index),'N'),
309                           nvl(PRIMARY_UOM_FLAG_T(Tbl_Index),'N'),
310                           BENEFIT_QTY_T(Tbl_Index),
311                           BENEFIT_UOM_CODE_T(Tbl_Index),
312                           LIST_LINE_NO_T(Tbl_Index),
313                           nvl(ACCRUAL_FLAG_T(Tbl_Index),'N'),
314                           ACCRUAL_CONVERSION_RATE_T(Tbl_Index),
315                           ESTIM_ACCRUAL_RATE_T(Tbl_Index),
316                           RECURRING_FLAG_T(Tbl_Index),
317                           SELECTED_VOLUME_ATTR_T(Tbl_Index),
318                           ROUNDING_FACTOR_T(Tbl_Index),
319                           SECONDARY_PRICELIST_IND_T(Tbl_Index),
320                           GROUP_QUANTITY_T(Tbl_Index),
321                           GROUP_AMOUNT_T(Tbl_Index),
322                           PROCESS_CODE_T(Tbl_Index),
323                           nvl(UPDATED_FLAG_T(Tbl_Index),'N'),
324                           CHARGE_TYPE_CODE_T(Tbl_Index),
325                           CHARGE_SUBTYPE_CODE_T(Tbl_Index),
326                           LIMIT_CODE_T(Tbl_Index),
327                           LIMIT_TEXT_T(Tbl_Index),
328                           nvl(HEADER_LIMIT_EXISTS_T(Tbl_Index),'N'),
329                           nvl(LINE_LIMIT_EXISTS_T(Tbl_Index),'N')
330                         );
331 
332       IF l_debug = FND_API.G_TRUE THEN
333       QP_PREQ_GRP.engine_debug('***Inserted ' || LINE_DETAIL_INDEX_T.COUNT || ' Records into QP_DEBUG_REQ_LDETS***');
334       END IF;
335      -- dbms_output.put_line('***Inserted ' || LINE_DETAIL_INDEX_T.COUNT || ' Records into QP_DEBUG_REQ_LDETS***');
336 
337     COMMIT;
338   REQUEST_ID_T.delete;
339   LINE_DETAIL_INDEX_T.delete;
340   LINE_DETAIL_TYPE_CODE_T.delete;
341   PRICE_BREAK_TYPE_CODE_T.delete;
342   LINE_INDEX_T.delete;
343   LIST_HEADER_ID_T.delete;
344   LIST_LINE_ID_T.delete;
345   LIST_LINE_TYPE_T.delete;
346   LIST_TYPE_CODE_T.delete;
347   MODIFIER_LEVEL_CODE_T.delete;
348   CREATED_FROM_SQL_T.delete;
349   PRICING_GROUP_SEQUENCE_T.delete;
350   OPERAND_CALCULATION_CODE_T.delete;
351   OPERAND_VALUE_T.delete;
352   ADJUSTMENT_AMOUNT_T.delete;
353   LINE_QUANTITY_T.delete;
354   SUBSTITUTION_TYPE_CODE_T.delete;
355   SUBSTITUTION_VALUE_FROM_T.delete;
356   SUBSTITUTION_VALUE_TO_T.delete;
357   ASK_FOR_FLAG_T.delete;
358   PRICE_FORMULA_ID_T.delete;
359   PROCESSED_FLAG_T.delete;
360   PRICING_STATUS_CODE_T.delete;
361   PRICING_STATUS_TEXT_T.delete;
362   PRODUCT_PRECEDENCE_T.delete;
363   INCOMPATABILITY_GRP_CODE_T.delete;
364   BEST_PERCENT_T.delete;
365   PRICING_PHASE_ID_T.delete;
366   APPLIED_FLAG_T.delete;
367   AUTOMATIC_FLAG_T.delete;
371   BENEFIT_QTY_T.delete;
368   OVERRIDE_FLAG_T.delete;
369   PRINT_ON_INVOICE_FLAG_T.delete;
370   PRIMARY_UOM_FLAG_T.delete;
372   BENEFIT_UOM_CODE_T.delete;
373   LIST_LINE_NO_T.delete;
374   ACCRUAL_FLAG_T.delete;
375   ACCRUAL_CONVERSION_RATE_T.delete;
376   ESTIM_ACCRUAL_RATE_T.delete;
377   RECURRING_FLAG_T.delete;
378   SELECTED_VOLUME_ATTR_T.delete;
379   ROUNDING_FACTOR_T.delete;
380   SECONDARY_PRICELIST_IND_T.delete;
381   GROUP_QUANTITY_T.delete;
382   GROUP_AMOUNT_T.delete;
383   PROCESS_CODE_T.delete;
384   UPDATED_FLAG_T.delete;
385   CHARGE_TYPE_CODE_T.delete;
386   CHARGE_SUBTYPE_CODE_T.delete;
387   LIMIT_CODE_T.delete;
388   LIMIT_TEXT_T.delete;
389   HEADER_LIMIT_EXISTS_T.delete;
390   LINE_LIMIT_EXISTS_T.delete;
391   END IF;
392 
393 END Insert_LDet;
394 
395 PROCEDURE Insert_Line_Attr IS
396 PRAGMA AUTONOMOUS_TRANSACTION;
397   Tbl_Index       NUMBER;
398 BEGIN
399   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
400   IF LINE_INDEX_T.COUNT >= 1 then
401    -- dbms_output.put_line('***attrs - 5***');
402     FORALL Tbl_Index IN LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST
403       INSERT INTO
404       QP_DEBUG_REQ_LINE_ATTRS( REQUEST_ID,
405                                LINE_INDEX,
406                                LINE_DETAIL_INDEX,
407                                LINE_ATTRIBUTE_ID,
408                                ATTRIBUTE_LEVEL,
409                                ATTRIBUTE_TYPE,
410                                LIST_HEADER_ID,
411                                LIST_LINE_ID,
412                                CONTEXT,
413                                ATTRIBUTE,
414                                VALUE_FROM,
415                                SETUP_VALUE_FROM,
416                                VALUE_TO,
417                                SETUP_VALUE_TO,
418                                GROUPING_NUMBER,
419                                NO_QUALIFIERS_IN_GRP,
420                                COMPARISON_OPERATOR_TYPE_CODE,
421                                VALIDATED_FLAG,
422                                APPLIED_FLAG,
423                                PRICING_STATUS_CODE,
424                                PRICING_STATUS_TEXT,
425                                QUALIFIER_PRECEDENCE,
426                                PRICING_ATTR_FLAG,
427                                QUALIFIER_TYPE,
428                                DATATYPE,
429                                PRODUCT_UOM_CODE,
430                                PROCESSED_CODE,
431                                EXCLUDER_FLAG,
432                                GROUP_QUANTITY,
433                                GROUP_AMOUNT,
434                                DISTINCT_QUALIFIER_FLAG,
435                                PRICING_PHASE_ID,
436                                INCOMPATABILITY_GRP_CODE,
437                                LINE_DETAIL_TYPE_CODE,
438                                MODIFIER_LEVEL_CODE,
439                                PRIMARY_UOM_FLAG
440                              )
441                         VALUES
442                              ( REQUEST_ID_T(Tbl_Index),
443                                LINE_INDEX_T(Tbl_Index),
444                                LINE_DETAIL_INDEX_T(Tbl_Index),
445                                LINE_ATTRIBUTE_ID_T(Tbl_Index),
446                                ATTRIBUTE_LEVEL_T(Tbl_Index),
447                                ATTRIBUTE_TYPE_T(Tbl_Index),
448                                LIST_HEADER_ID_T(Tbl_Index),
449                                LIST_LINE_ID_T(Tbl_Index),
450                                CONTEXT_T(Tbl_Index),
451                                ATTRIBUTE_T(Tbl_Index),
452                                VALUE_FROM_T(Tbl_Index),
453                                SETUP_VALUE_FROM_T(Tbl_Index),
454                                VALUE_TO_T(Tbl_Index),
455                                SETUP_VALUE_TO_T(Tbl_Index),
456                                GROUPING_NUMBER_T(Tbl_Index),
457                                NO_QUALIFIERS_IN_GRP_T(Tbl_Index),
458                                COMP_OPERATOR_TYPE_CODE_T(Tbl_Index),
459                                nvl(VALIDATED_FLAG_T(Tbl_Index),'N'),
460                                nvl(APPLIED_FLAG_T(Tbl_Index),'N'),
461                                PRICING_STATUS_CODE_T(Tbl_Index),
462                                PRICING_STATUS_TEXT_T(Tbl_Index),
463                                QUALIFIER_PRECEDENCE_T(Tbl_Index),
464                                nvl(PRICING_ATTR_FLAG_T(Tbl_Index),'N'),
465                                QUALIFIER_TYPE_T(Tbl_Index),
466                                DATATYPE_T(Tbl_Index),
467                                PRODUCT_UOM_CODE_T(Tbl_Index),
468                                ATTR_PROCESSED_CODE_T(Tbl_Index),
469                                nvl(EXCLUDER_FLAG_T(Tbl_Index),'N'),
470                                GROUP_QUANTITY_T(Tbl_Index),
471                                GROUP_AMOUNT_T(Tbl_Index),
472                                nvl(DISTINCT_QUALIFIER_FLAG_T(Tbl_Index),'N'),
473                                PRICING_PHASE_ID_T(Tbl_Index),
474                                INCOMPATABILITY_GRP_CODE_T(Tbl_Index),
475                                LINE_DETAIL_TYPE_CODE_T(Tbl_Index),
476                                MODIFIER_LEVEL_CODE_T(Tbl_Index),
477                                nvl(PRIMARY_UOM_FLAG_T(Tbl_Index),'N')
478                              );
479     IF l_debug = FND_API.G_TRUE THEN
480     QP_PREQ_GRP.engine_debug('***Inserted ' || LINE_INDEX_T.COUNT || ' Records into QP_DEBUG_REQ_LINE_ATTRS***');
481     END IF;
485   REQUEST_ID_T.delete;
482    -- dbms_output.put_line('***Inserted ' || LINE_INDEX_T.COUNT || ' Records into QP_DEBUG_REQ_LINE_ATTRS***');
483     COMMIT;
484    -- dbms_output.put_line('***attrs - 6***');
486   LINE_INDEX_T.delete;
487   LINE_DETAIL_INDEX_T.delete;
488   LINE_ATTRIBUTE_ID_T.delete;
489   ATTRIBUTE_LEVEL_T.delete;
490   ATTRIBUTE_TYPE_T.delete;
491   LIST_HEADER_ID_T.delete;
492   LIST_LINE_ID_T.delete;
493   CONTEXT_T.delete;
494   ATTRIBUTE_T.delete;
495   VALUE_FROM_T.delete;
496   SETUP_VALUE_FROM_T.delete;
497   VALUE_TO_T.delete;
498   SETUP_VALUE_TO_T.delete;
499   GROUPING_NUMBER_T.delete;
500   NO_QUALIFIERS_IN_GRP_T.delete;
501   COMP_OPERATOR_TYPE_CODE_T.delete;
502   VALIDATED_FLAG_T.delete;
503   APPLIED_FLAG_T.delete;
504   PRICING_STATUS_CODE_T.delete;
505   PRICING_STATUS_TEXT_T.delete;
506   QUALIFIER_PRECEDENCE_T.delete;
507   PRICING_ATTR_FLAG_T.delete;
508   QUALIFIER_TYPE_T.delete;
509   DATATYPE_T.delete;
510   PRODUCT_UOM_CODE_T.delete;
511   PROCESSED_CODE_T.delete;
512   EXCLUDER_FLAG_T.delete;
513   GROUP_QUANTITY_T.delete;
514   GROUP_AMOUNT_T.delete;
515   DISTINCT_QUALIFIER_FLAG_T.delete;
516   PRICING_PHASE_ID_T.delete;
517   INCOMPATABILITY_GRP_CODE_T.delete;
518   LINE_DETAIL_TYPE_CODE_T.delete;
519   MODIFIER_LEVEL_CODE_T.delete;
520   PRIMARY_UOM_FLAG_T.delete;
521   END IF;
522 END Insert_Line_Attr;
523 
524 PROCEDURE Insert_RLTD_Line IS
525 PRAGMA AUTONOMOUS_TRANSACTION;
526   Tbl_Index       NUMBER;
527 BEGIN
528   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
529   IF LINE_INDEX_T.COUNT >= 1 then
530     FORALL Tbl_Index IN LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST
531       INSERT INTO
532       QP_DEBUG_REQ_RLTD_LINES( REQUEST_ID,
533                                REQUEST_TYPE_CODE,
534                                LINE_INDEX,
535                                LINE_DETAIL_INDEX,
536                                RELATIONSHIP_TYPE_CODE,
537                                RELATED_LINE_INDEX,
538                                RELATED_LINE_DETAIL_INDEX,
539                                PRICING_STATUS_CODE,
540                                PRICING_STATUS_TEXT,
541                                LIST_LINE_ID,
542                                RELATED_LIST_LINE_ID,
543                                RELATED_LIST_LINE_TYPE,
544                                OPERAND_CALCULATION_CODE,
545                                OPERAND,
546                                PRICING_GROUP_SEQUENCE,
547                                RELATIONSHIP_TYPE_DETAIL,
548                                SETUP_VALUE_FROM,
549                                SETUP_VALUE_TO,
550                                QUALIFIER_VALUE,
551                                ADJUSTMENT_AMOUNT,
552                                SATISFIED_RANGE_VALUE
553                              )
554                         VALUES
555                              ( REQUEST_ID_T(Tbl_Index),
556                                REQUEST_TYPE_CODE_T(Tbl_Index),
557                                LINE_INDEX_T(Tbl_Index),
558                                LINE_DETAIL_INDEX_T(Tbl_Index),
559                                RELATIONSHIP_TYPE_CODE_T(Tbl_Index),
560                                RELATED_LINE_INDEX_T(Tbl_Index),
561                                RELATED_LINE_DETAIL_INDEX_T(Tbl_Index),
562                                PRICING_STATUS_CODE_T(Tbl_Index),
563                                PRICING_STATUS_TEXT_T(Tbl_Index),
564                                LIST_LINE_ID_T(Tbl_Index),
565                                RELATED_LIST_LINE_ID_T(Tbl_Index),
566                                LIST_LINE_TYPE_T(Tbl_Index),
567                                OPERAND_CALCULATION_CODE_T(Tbl_Index),
568                                OPERAND_T(Tbl_Index),
569                                PRICING_GROUP_SEQUENCE_T(Tbl_Index),
570                                RELATIONSHIP_TYPE_DETAIL_T(Tbl_Index),
571                                SETUP_VALUE_FROM_T(Tbl_Index),
572                                SETUP_VALUE_TO_T(Tbl_Index),
573                                QUALIFIER_VALUE_T(Tbl_Index),
574                                ADJUSTMENT_AMOUNT_T(Tbl_Index),
575                                SATISFIED_RANGE_VALUE_T(Tbl_Index)
576                              );
577 
578       IF l_debug = FND_API.G_TRUE THEN
579       QP_PREQ_GRP.engine_debug('***Inserted ' || LINE_INDEX_T.COUNT || ' Record into QP_DEBUG_REQ_RLTD_LINES***');
580       END IF;
581      -- dbms_output.put_line('***Inserted ' || LINE_INDEX_T.COUNT || ' Record into QP_DEBUG_REQ_RLTD_LINES***');
582 
583     COMMIT;
584   REQUEST_ID_T.delete;
585   REQUEST_TYPE_CODE_T.delete;
586   LINE_INDEX_T.delete;
587   LINE_DETAIL_INDEX_T.delete;
588   RELATIONSHIP_TYPE_CODE_T.delete;
589   LINE_INDEX_T.delete;
590   LINE_DETAIL_INDEX_T.delete;
591   PRICING_STATUS_CODE_T.delete;
592   PRICING_STATUS_TEXT_T.delete;
593   LIST_LINE_ID_T.delete;
594   LIST_LINE_ID_T.delete;
595   LIST_LINE_TYPE_T.delete;
596   OPERAND_CALCULATION_CODE_T.delete;
597   OPERAND_T.delete;
598   PRICING_GROUP_SEQUENCE_T.delete;
599   RELATIONSHIP_TYPE_DETAIL_T.delete;
600   SETUP_VALUE_FROM_T.delete;
601   SETUP_VALUE_TO_T.delete;
602   QUALIFIER_VALUE_T.delete;
603   ADJUSTMENT_AMOUNT_T.delete;
604   SATISFIED_RANGE_VALUE_T.delete;
605   END IF;
606 
607 END Insert_RLTD_Line;
608 
609 PROCEDURE Insert_Step_Values IS
610 PRAGMA AUTONOMOUS_TRANSACTION;
611   Tbl_Index       NUMBER;
612 BEGIN
616       INSERT INTO
613   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
614   IF LINE_INDEX_T.COUNT >= 1 then
615     FORALL Tbl_Index IN LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST
617       QP_DEBUG_FORMULA_STEP_VALUES( REQUEST_ID,
618                                     PRICE_FORMULA_ID,
619                                     STEP_NUMBER,
620                                     COMPONENT_VALUE,
621                                     PRICE_FORMULA_LINE_TYPE_CODE,
622                                     LINE_INDEX,
623                                     LIST_LINE_TYPE_CODE,
624                                     LIST_HEADER_ID,
625                                     LIST_LINE_ID
626                                   )
627                              VALUES
628                                   ( REQUEST_ID_T(Tbl_Index),
629                                     PRICE_FORMULA_ID_T(Tbl_Index),
630                                     STEP_NUMBER_T(Tbl_Index),
631                                     COMPONENT_VALUE_T(Tbl_Index),
632                                     PRICE_FORM_LINE_TYPE_CODE_T(Tbl_Index),
633                                     LINE_INDEX_T(Tbl_Index),
634                                     LIST_LINE_TYPE_T(Tbl_Index),
635                                     LIST_HEADER_ID_T(Tbl_Index),
636                                     LIST_LINE_ID_T(Tbl_Index)
637                                    );
638 
639       IF l_debug = FND_API.G_TRUE THEN
640       QP_PREQ_GRP.engine_debug('***Inserted ' || LINE_INDEX_T.COUNT || ' Record into QP_DEBUG_FORMULA_STEP_VALUES***');
641       END IF;
642      -- dbms_output.put_line('***Inserted ' || LINE_INDEX_T.COUNT || ' Record into QP_DEBUG_FORMULA_STEP_VALUES***');
643 
644     COMMIT;
645   REQUEST_ID_T.delete;
646   PRICE_FORMULA_ID_T.delete;
647   STEP_NUMBER_T.delete;
648   COMPONENT_VALUE_T.delete;
649   PRICE_FORM_LINE_TYPE_CODE_T.delete;
650   LINE_INDEX_T.delete;
651   LIST_LINE_TYPE_T.delete;
652   LIST_HEADER_ID_T.delete;
653   LIST_LINE_ID_T.delete;
654   END IF;
655 
656 END Insert_Step_Values;
657 
658 FUNCTION REQUEST_ID RETURN NUMBER IS
659 BEGIN
660 RETURN G_DEBUG_REQUEST_ID;
661 END REQUEST_ID;
662 
663 PROCEDURE INSERT_DEBUG_LINE(p_text                 IN   VARCHAR2)
664 IS
665 PRAGMA AUTONOMOUS_TRANSACTION;
666 
667 BEGIN
668   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
669   IF (G_DEBUG_TEXT_LINE_NO is null) or (G_DEBUG_REQUEST_ID is null) then
670    -- dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: '|| 'This line cannot be written into QP_DEBUG_TEXT');
671      return;
672   else
673    -- dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: '|| 'Written one line into QP_DEBUG_TEXT');
674      G_DEBUG_TEXT_LINE_NO := G_DEBUG_TEXT_LINE_NO + 1;
675 
676      INSERT INTO qp_debug_text(REQUEST_ID,MESSAGE_LINE_NO,MESSAGE_TEXT)
677      VALUES (G_DEBUG_REQUEST_ID, G_DEBUG_TEXT_LINE_NO, p_text);
678      COMMIT;
679   end if;
680 EXCEPTION
681   WHEN OTHERS THEN
682    -- dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: '|| SQLERRM);
683     ROLLBACK;
684 END INSERT_DEBUG_LINE;
685 
686 PROCEDURE Generate_Debug_Req_Seq(x_return_status   out NOCOPY   varchar2,
687                                  x_status_text     out NOCOPY   varchar2)
688 IS
689  CURSOR DEBUG_REQUEST_ID_CUR IS
690         SELECT qp_debug_req_s.nextval FROM dual;
691 l_request_id       number;
692 BEGIN
693 -- dbms_output.put_line('*** Initializing Global Variables***');
694  G_DEBUG_TEXT_LINE_NO := 0;
695  OPEN DEBUG_REQUEST_ID_CUR;
696       FETCH DEBUG_REQUEST_ID_CUR INTO l_request_id;
697       G_DEBUG_REQUEST_ID := l_request_id;
698       if (DEBUG_REQUEST_ID_CUR%NOTFOUND) then
699          x_return_status := FND_API.G_RET_STS_ERROR;
700          x_status_text := 'DEBUG_REQUEST_ID_CUR Not Found - ' || SQLERRM;
701       end if;
702  CLOSE DEBUG_REQUEST_ID_CUR;
703 -- dbms_output.put_line('G_DEBUG_REQUEST_ID - ' || G_DEBUG_REQUEST_ID || ', G_DEBUG_TEXT_LINE_NO - ' || G_DEBUG_TEXT_LINE_NO);
704 EXCEPTION
705  WHEN OTHERS THEN
706    x_return_status := FND_API.G_RET_STS_ERROR;
707    x_status_text := 'DEBUG_REQUEST_ID_CUR Not Found - ' || SQLERRM;
708 END Generate_Debug_Req_Seq;
709 
710 PROCEDURE SET_REQUEST_TO_NULL IS
711 BEGIN
712  G_DEBUG_REQUEST_ID := null;
713 END SET_REQUEST_TO_NULL;
714 
715 PROCEDURE WRITE_TO_DEBUG_TABLES(p_control_rec          IN   QP_PREQ_GRP.CONTROL_RECORD_TYPE,
716                                 x_return_status        OUT  NOCOPY VARCHAR2,
717                                 x_return_status_text   OUT  NOCOPY VARCHAR2)
718 IS
719 
720   CURSOR lines_cur IS
721   SELECT REQUEST_TYPE_CODE,
722          LINE_ID,
723          LINE_INDEX,
724          LINE_TYPE_CODE,
725          PRICING_EFFECTIVE_DATE,
726          LINE_QUANTITY,
727          LINE_UOM_CODE,
728          PRICED_QUANTITY,
729          PRICED_UOM_CODE,
730          UOM_QUANTITY,
731          CURRENCY_CODE,
732          UNIT_PRICE,
733          PERCENT_PRICE,
734          ADJUSTED_UNIT_PRICE,
735          PARENT_PRICE,
736          PARENT_QUANTITY,
737          PARENT_UOM_CODE,
738          PROCESSING_ORDER,
739          PROCESSED_FLAG,
740          PROCESSED_CODE,
741          PRICE_FLAG,
742          PRICING_STATUS_CODE,
743          PRICING_STATUS_TEXT,
744          START_DATE_ACTIVE_FIRST,
745          ACTIVE_DATE_FIRST_TYPE,
746          START_DATE_ACTIVE_SECOND,
750          LINE_AMOUNT,
747          ACTIVE_DATE_SECOND_TYPE,
748          GROUP_QUANTITY,
749          GROUP_AMOUNT,
751          ROUNDING_FLAG,
752          ROUNDING_FACTOR,
753          UPDATED_ADJUSTED_UNIT_PRICE,
754          PRICE_REQUEST_CODE,
755          HOLD_CODE,
756          HOLD_TEXT,
757          PRICE_LIST_HEADER_ID,
758          VALIDATED_FLAG,
759          QUALIFIERS_EXIST_FLAG,
760          PRICING_ATTRS_EXIST_FLAG,
761          PRIMARY_QUALIFIERS_MATCH_FLAG,
762          USAGE_PRICING_TYPE,
763          LINE_CATEGORY,
764          CONTRACT_START_DATE,
765          CONTRACT_END_DATE,
766          NULL                            -- sfiresto 2374448
767   FROM qp_npreq_lines_tmp
768   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
769   --added by yangli for Java Engine 3086881
770   UNION ALL
771   SELECT REQUEST_TYPE_CODE,
772          LINE_ID,
773          LINE_INDEX,
774          LINE_TYPE_CODE,
775          PRICING_EFFECTIVE_DATE,
776          LINE_QUANTITY,
777          LINE_UOM_CODE,
778          PRICED_QUANTITY,
779          PRICED_UOM_CODE,
780          UOM_QUANTITY,
781          CURRENCY_CODE,
782          UNIT_PRICE,
783          PERCENT_PRICE,
784          ADJUSTED_UNIT_PRICE,
785          PARENT_PRICE,
786          PARENT_QUANTITY,
787          PARENT_UOM_CODE,
788          PROCESSING_ORDER,
789          PROCESSED_FLAG,
790          PROCESSED_CODE,
791          PRICE_FLAG,
792          PRICING_STATUS_CODE,
793          PRICING_STATUS_TEXT,
794          START_DATE_ACTIVE_FIRST,
795          ACTIVE_DATE_FIRST_TYPE,
796          START_DATE_ACTIVE_SECOND,
797          ACTIVE_DATE_SECOND_TYPE,
798          GROUP_QUANTITY,
799          GROUP_AMOUNT,
800          LINE_AMOUNT,
801          ROUNDING_FLAG,
802          ROUNDING_FACTOR,
803          UPDATED_ADJUSTED_UNIT_PRICE,
804          PRICE_REQUEST_CODE,
805          HOLD_CODE,
806          HOLD_TEXT,
807          PRICE_LIST_HEADER_ID,
808          VALIDATED_FLAG,
809          QUALIFIERS_EXIST_FLAG,
810          PRICING_ATTRS_EXIST_FLAG,
811          PRIMARY_QUALIFIERS_MATCH_FLAG,
812          USAGE_PRICING_TYPE,
813          LINE_CATEGORY,
814          CONTRACT_START_DATE,
815          CONTRACT_END_DATE,
816          NULL                            -- sfiresto 2374448
817   FROM qp_int_lines
818   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
819   --added by yangli for Java Engine 3086881
820   ORDER BY line_index;
821 
822   CURSOR LDETS_CUR IS
823   SELECT LINE_DETAIL_INDEX,
824          LINE_DETAIL_TYPE_CODE,
825          PRICE_BREAK_TYPE_CODE,
826          LINE_INDEX,
827          CREATED_FROM_LIST_HEADER_ID,
828          CREATED_FROM_LIST_LINE_ID,
829          CREATED_FROM_LIST_LINE_TYPE,
830          CREATED_FROM_LIST_TYPE_CODE,
831          MODIFIER_LEVEL_CODE,
832          CREATED_FROM_SQL,
833          PRICING_GROUP_SEQUENCE,
834          OPERAND_CALCULATION_CODE,
835          OPERAND_VALUE,
836          ADJUSTMENT_AMOUNT,
837          LINE_QUANTITY,
838          SUBSTITUTION_TYPE_CODE,
839          SUBSTITUTION_VALUE_FROM,
840          SUBSTITUTION_VALUE_TO,
841          ASK_FOR_FLAG,
842          PRICE_FORMULA_ID,
843          PROCESSED_FLAG,
844          PRICING_STATUS_CODE,
845          PRICING_STATUS_TEXT,
846          PRODUCT_PRECEDENCE,
847          INCOMPATABILITY_GRP_CODE,
848          BEST_PERCENT,
849          PRICING_PHASE_ID,
850          APPLIED_FLAG,
851          AUTOMATIC_FLAG,
852          OVERRIDE_FLAG,
853          PRINT_ON_INVOICE_FLAG,
854          PRIMARY_UOM_FLAG,
855          BENEFIT_QTY,
856          BENEFIT_UOM_CODE,
857          LIST_LINE_NO,
858          ACCRUAL_FLAG,
859          ACCRUAL_CONVERSION_RATE,
860          ESTIM_ACCRUAL_RATE,
861          RECURRING_FLAG,
862          SELECTED_VOLUME_ATTR,
863          ROUNDING_FACTOR,
864          SECONDARY_PRICELIST_IND,
865          GROUP_QUANTITY,
866          GROUP_AMOUNT,
867          PROCESS_CODE,
868          UPDATED_FLAG,
869          CHARGE_TYPE_CODE,
870          CHARGE_SUBTYPE_CODE,
871          LIMIT_CODE,
872          LIMIT_TEXT,
873          HEADER_LIMIT_EXISTS,
874          LINE_LIMIT_EXISTS,
875          CALCULATION_CODE,
876          CURRENCY_HEADER_ID,
877          PRICING_EFFECTIVE_DATE,
878          BASE_CURRENCY_CODE,
879          ORDER_CURRENCY,
880          CURRENCY_DETAIL_ID
881   FROM qp_npreq_ldets_tmp
882   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
883   --added by yangli for Java Engine 3086881
884   UNION ALL
885   SELECT LINE_DETAIL_INDEX,
886          LINE_DETAIL_TYPE_CODE,
887          PRICE_BREAK_TYPE_CODE,
888          LINE_INDEX,
889          CREATED_FROM_LIST_HEADER_ID,
890          CREATED_FROM_LIST_LINE_ID,
891          CREATED_FROM_LIST_LINE_TYPE,
892          CREATED_FROM_LIST_TYPE_CODE,
893          MODIFIER_LEVEL_CODE,
894          CREATED_FROM_SQL,
895          PRICING_GROUP_SEQUENCE,
896          OPERAND_CALCULATION_CODE,
897          OPERAND_VALUE,
898          ADJUSTMENT_AMOUNT,
899          LINE_QUANTITY,
900          SUBSTITUTION_TYPE_CODE,
901          SUBSTITUTION_VALUE_FROM,
905          PROCESSED_FLAG,
902          SUBSTITUTION_VALUE_TO,
903          ASK_FOR_FLAG,
904          PRICE_FORMULA_ID,
906          PRICING_STATUS_CODE,
907          PRICING_STATUS_TEXT,
908          PRODUCT_PRECEDENCE,
909          INCOMPATABILITY_GRP_CODE,
910          BEST_PERCENT,
911          PRICING_PHASE_ID,
912          APPLIED_FLAG,
913          AUTOMATIC_FLAG,
914          OVERRIDE_FLAG,
915          PRINT_ON_INVOICE_FLAG,
916          PRIMARY_UOM_FLAG,
917          BENEFIT_QTY,
918          BENEFIT_UOM_CODE,
919          LIST_LINE_NO,
920          ACCRUAL_FLAG,
921          ACCRUAL_CONVERSION_RATE,
922          ESTIM_ACCRUAL_RATE,
923          RECURRING_FLAG,
924          SELECTED_VOLUME_ATTR,
925          ROUNDING_FACTOR,
926          SECONDARY_PRICELIST_IND,
927          GROUP_QUANTITY,
928          GROUP_AMOUNT,
929          PROCESS_CODE,
930          UPDATED_FLAG,
931          CHARGE_TYPE_CODE,
932          CHARGE_SUBTYPE_CODE,
933          LIMIT_CODE,
934          LIMIT_TEXT,
935          HEADER_LIMIT_EXISTS,
936          LINE_LIMIT_EXISTS,
937          CALCULATION_CODE,
938          CURRENCY_HEADER_ID,
939          PRICING_EFFECTIVE_DATE,
940          BASE_CURRENCY_CODE,
941          ORDER_CURRENCY,
942          CURRENCY_DETAIL_ID
943   FROM qp_int_ldets
944   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
945   --added by yangli for Java Engine 3086881
946   ORDER BY LINE_INDEX, LINE_DETAIL_INDEX;
947 
948   CURSOR LINE_ATTRS_CUR IS
949   SELECT LINE_INDEX,
950          LINE_DETAIL_INDEX,
951          ATTRIBUTE_LEVEL,
952          ATTRIBUTE_TYPE,
953          LIST_HEADER_ID,
954          LIST_LINE_ID,
955          CONTEXT,
956          ATTRIBUTE,
957          VALUE_FROM,
958          SETUP_VALUE_FROM,
959          VALUE_TO,
960          SETUP_VALUE_TO,
961          GROUPING_NUMBER,
962          NO_QUALIFIERS_IN_GRP,
963          COMPARISON_OPERATOR_TYPE_CODE,
964          VALIDATED_FLAG,
965          APPLIED_FLAG,
966          PRICING_STATUS_CODE,
967          PRICING_STATUS_TEXT,
968          QUALIFIER_PRECEDENCE,
969          PRICING_ATTR_FLAG,
970          QUALIFIER_TYPE,
971          DATATYPE,
972          PRODUCT_UOM_CODE,
973          PROCESSED_CODE,
974          EXCLUDER_FLAG,
975          GROUP_QUANTITY,
976          GROUP_AMOUNT,
977          DISTINCT_QUALIFIER_FLAG,
978          PRICING_PHASE_ID,
979          INCOMPATABILITY_GRP_CODE,
980          LINE_DETAIL_TYPE_CODE,
981          MODIFIER_LEVEL_CODE,
982          PRIMARY_UOM_FLAG
983   FROM qp_npreq_line_attrs_tmp
984   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
985   --added by yangli for Java Engine 3086881
986   UNION ALL
987   SELECT LINE_INDEX,
988          LINE_DETAIL_INDEX,
989          ATTRIBUTE_LEVEL,
990          ATTRIBUTE_TYPE,
991          LIST_HEADER_ID,
992          LIST_LINE_ID,
993          CONTEXT,
994          ATTRIBUTE,
995          VALUE_FROM,
996          SETUP_VALUE_FROM,
997          VALUE_TO,
998          SETUP_VALUE_TO,
999          GROUPING_NUMBER,
1000          NO_QUALIFIERS_IN_GRP,
1001          COMPARISON_OPERATOR_TYPE_CODE,
1002          VALIDATED_FLAG,
1003          APPLIED_FLAG,
1004          PRICING_STATUS_CODE,
1005          PRICING_STATUS_TEXT,
1006          QUALIFIER_PRECEDENCE,
1007          PRICING_ATTR_FLAG,
1008          QUALIFIER_TYPE,
1009          DATATYPE,
1010          PRODUCT_UOM_CODE,
1011          PROCESSED_CODE,
1012          EXCLUDER_FLAG,
1013          GROUP_QUANTITY,
1014          GROUP_AMOUNT,
1015          DISTINCT_QUALIFIER_FLAG,
1016          PRICING_PHASE_ID,
1017          INCOMPATABILITY_GRP_CODE,
1018          LINE_DETAIL_TYPE_CODE,
1019          MODIFIER_LEVEL_CODE,
1020          PRIMARY_UOM_FLAG
1021   FROM qp_int_line_attrs
1022   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1023   --added by yangli for Java Engine 3086881
1024   ORDER BY LINE_INDEX, LINE_DETAIL_INDEX;
1025 
1026   CURSOR RLTD_LINES_CUR IS
1027   SELECT REQUEST_TYPE_CODE,
1028          LINE_INDEX,
1029          LINE_DETAIL_INDEX,
1030          RELATIONSHIP_TYPE_CODE,
1031          RELATED_LINE_INDEX,
1032          RELATED_LINE_DETAIL_INDEX,
1033          PRICING_STATUS_CODE,
1034          PRICING_STATUS_TEXT,
1035          LIST_LINE_ID,
1036          RELATED_LIST_LINE_ID,
1037          RELATED_LIST_LINE_TYPE,
1038          OPERAND_CALCULATION_CODE,
1039          OPERAND,
1040          PRICING_GROUP_SEQUENCE,
1041          RELATIONSHIP_TYPE_DETAIL,
1042          SETUP_VALUE_FROM,
1043          SETUP_VALUE_TO,
1044          QUALIFIER_VALUE,
1045          ADJUSTMENT_AMOUNT,
1046          SATISFIED_RANGE_VALUE
1047   FROM qp_npreq_rltd_lines_tmp
1048   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
1049   --added by yangli for Java Engine 3086881
1050   UNION ALL
1051   SELECT REQUEST_TYPE_CODE,
1052          LINE_INDEX,
1053          LINE_DETAIL_INDEX,
1054          RELATIONSHIP_TYPE_CODE,
1055          RELATED_LINE_INDEX,
1056          RELATED_LINE_DETAIL_INDEX,
1057          PRICING_STATUS_CODE,
1058          PRICING_STATUS_TEXT,
1059          LIST_LINE_ID,
1060          RELATED_LIST_LINE_ID,
1061          RELATED_LIST_LINE_TYPE,
1062          OPERAND_CALCULATION_CODE,
1063          OPERAND,
1064          PRICING_GROUP_SEQUENCE,
1065          RELATIONSHIP_TYPE_DETAIL,
1066          SETUP_VALUE_FROM,
1070          SATISFIED_RANGE_VALUE
1067          SETUP_VALUE_TO,
1068          QUALIFIER_VALUE,
1069          ADJUSTMENT_AMOUNT,
1071   FROM qp_int_rltd_lines
1072   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1073   --added by yangli for Java Engine 3086881
1074   ORDER BY LINE_INDEX, LINE_DETAIL_INDEX;
1075 
1076   CURSOR STEP_VALUES_CUR IS
1077   SELECT PRICE_FORMULA_ID,
1078          STEP_NUMBER,
1079          COMPONENT_VALUE,
1080          PRICE_FORMULA_LINE_TYPE_CODE,
1081          LINE_INDEX,
1082          LIST_LINE_TYPE_CODE,
1083          LIST_HEADER_ID,
1084          LIST_LINE_ID
1085   FROM qp_nformula_step_values_tmp
1086   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
1087   --added by yangli for Java Engine 3086881
1088   UNION ALL
1089   SELECT PRICE_FORMULA_ID,
1090          STEP_NUMBER,
1091          COMPONENT_VALUE,
1092          PRICE_FORMULA_LINE_TYPE_CODE,
1093          LINE_INDEX,
1094          LIST_LINE_TYPE_CODE,
1095          LIST_HEADER_ID,
1096          LIST_LINE_ID
1097   FROM qp_int_formula_step_values
1098   WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1099   --added by yangli for Java Engine 3086881
1100   ORDER BY LINE_INDEX, PRICE_FORMULA_ID, STEP_NUMBER;
1101 
1102 --  CURSOR REQUEST_ID_CUR IS
1103 --      SELECT qp_debug_req_s.nextval FROM dual;
1104 
1105   CURSOR LINE_ID_CUR IS
1106       SELECT LINE_ID FROM qp_npreq_lines_tmp
1107         WHERE    QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
1108                 AND LINE_TYPE_CODE = 'ORDER'
1109                 AND ROWNUM = 1
1110       UNION ALL
1111       SELECT LINE_ID FROM qp_int_lines
1112         WHERE    QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1113                 AND LINE_TYPE_CODE = 'ORDER'
1114                 AND ROWNUM = 1;
1115 
1116   CURSOR REQUEST_TYPE_CODE_CUR IS
1117       SELECT REQUEST_TYPE_CODE FROM qp_npreq_lines_tmp
1118       WHERE   QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
1119               AND ROWNUM = 1
1120       UNION ALL
1121       SELECT REQUEST_TYPE_CODE FROM qp_int_lines
1122       WHERE   QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1123              AND ROWNUM = 1;
1124 
1125   CURSOR CURRENCY_CODE_CUR IS
1126       SELECT CURRENCY_CODE FROM qp_npreq_lines_tmp
1127       WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N'
1128             AND ROWNUM = 1
1129       UNION ALL
1130       SELECT CURRENCY_CODE FROM qp_int_lines
1131       WHERE  QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'Y'
1132             AND ROWNUM = 1;
1133 
1134   CURSOR LINE_ATTR_ID_CUR is
1135       SELECT qp_line_attr_s.nextval FROM dual;
1136 
1137   CURSOR ORDER_NUMBER_CUR (p_line_id VARCHAR2) IS   -- sfiresto 2374448
1138       SELECT ORDER_NUMBER FROM OE_ORDER_HEADERS_ALL
1139       WHERE header_id = p_line_id;
1140 
1141   l_request_id             NUMBER;
1142   l_request_name           VARCHAR2(240);
1143   l_request_type_code      VARCHAR2(30);
1144   l_line_attribute_id      NUMBER;
1145   l_creation_date          DATE := SYSDATE;
1146   l_created_by             NUMBER := nvl(fnd_global.user_id,-1);
1147   l_line_id                number;
1148   l_currency_code          VARCHAR2(30);
1149   Tbl_Index                NUMBER := 0;
1150   l_set_request_name       VARCHAR2(100) := substr(nvl(fnd_profile.value('QP_SET_REQUEST_NAME'),'N'),1,100);
1151   l_order_number           VARCHAR2(50);    -- sfiresto 2374448
1152 
1153   REQUEST_TYPE_CODE_NOT_FOUND EXCEPTION;
1154   CURRENCY_CODE_NOT_FOUND     EXCEPTION;
1155   ORDER_NUMBER_NOT_FOUND      EXCEPTION;  -- sfiresto 2374448
1156   l_Rec_Count              Number;
1157 
1158 BEGIN
1159   l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1160   IF l_debug = FND_API.G_TRUE THEN
1161   QP_PREQ_GRP.engine_debug('***Begin Duplicating Temp Table Records ***');
1162   END IF;
1163  -- dbms_output.put_line('***Begin Duplicating Temp Table Records ***');
1164 
1165   OPEN LINE_ID_CUR;
1166        FETCH LINE_ID_CUR INTO l_line_id;
1167        if (LINE_ID_CUR%NOTFOUND) then
1168           l_request_name := G_DEBUG_REQUEST_ID;
1169        end if;
1170   CLOSE LINE_ID_CUR;
1171 
1172   OPEN ORDER_NUMBER_CUR(l_line_id);         -- sfiresto 2374448
1173        FETCH ORDER_NUMBER_CUR INTO l_order_number;
1174        if (ORDER_NUMBER_CUR%NOTFOUND) then
1175          null;
1176        end if;
1177   CLOSE ORDER_NUMBER_CUR;
1178 
1179   l_request_name := l_set_request_name || '-' || nvl(l_line_id,l_request_name);
1180 
1181   OPEN REQUEST_TYPE_CODE_CUR;
1182        FETCH REQUEST_TYPE_CODE_CUR INTO l_request_type_code;
1183        if (REQUEST_TYPE_CODE_CUR%NOTFOUND) then
1184           raise REQUEST_TYPE_CODE_NOT_FOUND;
1185        end if;
1186   CLOSE REQUEST_TYPE_CODE_CUR;
1187 
1188 
1189   OPEN CURRENCY_CODE_CUR;
1190        FETCH CURRENCY_CODE_CUR INTO l_currency_code;
1191        if (CURRENCY_CODE_CUR%NOTFOUND) then
1192           raise CURRENCY_CODE_NOT_FOUND;
1193        end if;
1194   CLOSE CURRENCY_CODE_CUR;
1195 
1196 
1197   --g_control_rec.REQUEST_ID := l_request_id;
1198   g_control_rec.REQUEST_ID := G_DEBUG_REQUEST_ID;
1199   g_control_rec.REQUEST_NAME := l_request_name;
1200   g_control_rec.ORDER_NUMBER := l_order_number;   -- sfiresto 2374448
1201   g_control_rec.CREATED_BY := l_created_by;
1202   g_control_rec.CREATION_DATE := l_creation_date;
1203   g_control_rec.PRICING_EVENT := p_control_rec.PRICING_EVENT;
1204   g_control_rec.CALCULATE_FLAG := p_control_rec.CALCULATE_FLAG;
1208   g_control_rec.ROUNDING_FLAG := p_control_rec.ROUNDING_FLAG;
1205   g_control_rec.SIMULATION_FLAG := p_control_rec.SIMULATION_FLAG;
1206   g_control_rec.REQUEST_TYPE_CODE := l_REQUEST_TYPE_CODE;
1207   g_control_rec.VIEW_CODE := p_control_rec.VIEW_CODE;
1209   g_control_rec.GSA_CHECK_FLAG := p_control_rec.GSA_CHECK_FLAG;
1210   g_control_rec.GSA_DUP_CHECK_FLAG := p_control_rec.GSA_DUP_CHECK_FLAG;
1211   g_control_rec.TEMP_TABLE_INSERT_FLAG := p_control_rec.TEMP_TABLE_INSERT_FLAG;
1212   g_control_rec.MANUAL_DISCOUNT_FLAG := p_control_rec.MANUAL_DISCOUNT_FLAG;
1213   g_control_rec.DEBUG_FLAG := p_control_rec.DEBUG_FLAG;
1214   g_control_rec.SOURCE_ORDER_AMOUNT_FLAG := p_control_rec.SOURCE_ORDER_AMOUNT_FLAG;
1215   g_control_rec.PUBLIC_API_CALL_FLAG := p_control_rec.PUBLIC_API_CALL_FLAG;
1216   g_control_rec.MANUAL_ADJUSTMENTS_CALL_FLAG := p_control_rec.MANUAL_ADJUSTMENTS_CALL_FLAG;
1217   g_control_rec.CHECK_CUST_VIEW_FLAG := p_control_rec.CHECK_CUST_VIEW_FLAG;
1218   g_control_rec.CURRENCY_CODE := l_currency_code;
1219 
1220   Insert_Request;
1221 
1222   OPEN lines_cur;
1223   LOOP
1224     IF l_debug = FND_API.G_TRUE THEN
1225     QP_PREQ_GRP.engine_debug('***Inside lines_cur Loop***');
1226     END IF;
1227    -- dbms_output.put_line('***Inside lines_cur Loop***');
1228     FETCH lines_cur
1229       BULK COLLECT INTO
1230            REQUEST_TYPE_CODE_T,
1231            LINE_ID_T,
1232            LINE_INDEX_T,
1233            LINE_TYPE_CODE_T,
1234            PRICING_EFFECTIVE_DATE_T,
1235            LINE_QUANTITY_T,
1236            LINE_UOM_CODE_T,
1237            PRICED_QUANTITY_T,
1238            PRICED_UOM_CODE_T,
1239            UOM_QUANTITY_T,
1240            CURRENCY_CODE_T,
1241            UNIT_PRICE_T,
1242            PERCENT_PRICE_T,
1243            ADJUSTED_UNIT_PRICE_T,
1244            PARENT_PRICE_T,
1245            PARENT_QUANTITY_T,
1246            PARENT_UOM_CODE_T,
1247            PROCESSING_ORDER_T,
1248            PROCESSED_FLAG_T,
1249            PROCESSED_CODE_T,
1250            PRICE_FLAG_T,
1251            PRICING_STATUS_CODE_T,
1252            PRICING_STATUS_TEXT_T,
1253            START_DATE_ACTIVE_FIRST_T,
1254            ACTIVE_DATE_FIRST_TYPE_T,
1255            START_DATE_ACTIVE_SECOND_T,
1256            ACTIVE_DATE_SECOND_TYPE_T,
1257            GROUP_QUANTITY_T,
1258            GROUP_AMOUNT_T,
1259            LINE_AMOUNT_T,
1260            ROUNDING_FLAG_T,
1261            ROUNDING_FACTOR_T,
1262            UPDATED_ADJUSTED_UNIT_PRICE_T,
1263            PRICE_REQUEST_CODE_T,
1264            HOLD_CODE_T,
1265            HOLD_TEXT_T,
1266            PRICE_LIST_HEADER_ID_T,
1267            VALIDATED_FLAG_T,
1268            QUALIFIERS_EXIST_FLAG_T,
1269            PRICING_ATTRS_EXIST_FLAG_T,
1270            PRIMARY_QUAL_MATCH_FLAG_T,
1271            USAGE_PRICING_TYPE_T,
1272            LINE_CATEGORY_T,
1273            CONTRACT_START_DATE_T,
1274            CONTRACT_END_DATE_T,
1275            LINE_NUMBER_T               -- sfiresto 2374448
1276         LIMIT 1000;
1277 
1278         IF LINE_ID_T.COUNT <> 0  then
1279            FOR Tbl_Index in  LINE_ID_T.FIRST .. LINE_ID_T.LAST LOOP
1280                --REQUEST_ID_T(Tbl_Index):= l_request_id;
1281                REQUEST_ID_T(Tbl_Index):= G_DEBUG_REQUEST_ID;
1282 
1283 
1284                IF l_REQUEST_TYPE_CODE = 'ONT' THEN                   -- sfiresto 2374448
1285                   IF LINE_TYPE_CODE_T(Tbl_Index) = 'ORDER' THEN
1286                      LINE_NUMBER_T(Tbl_Index) := l_order_number;
1287                   ELSIF LINE_TYPE_CODE_T(Tbl_Index) = 'LINE' THEN
1288                      BEGIN
1289                        SELECT LINE_NUMBER INTO LINE_NUMBER_T(Tbl_Index)
1290                        FROM OE_ORDER_LINES_ALL WHERE LINE_ID = LINE_ID_T(Tbl_Index);
1291                      EXCEPTION
1292                        WHEN NO_DATA_FOUND THEN
1293                          NULL;
1294                      END;
1295                   END IF;
1296                END IF;
1297 
1298            END LOOP;
1299         END IF;
1300 
1301     Insert_Line;
1302 
1303     IF l_debug = FND_API.G_TRUE THEN
1304     QP_PREQ_GRP.engine_debug('***Repeat lines_cur loop for next 1000 lines - if any***');
1305     END IF;
1306    -- dbms_output.put_line('***Repeat lines_cur loop for next 1000 lines - if any***');
1307     EXIT WHEN lines_cur%NOTFOUND;
1308 
1309   END LOOP; -- --loop over main lines_cur
1310   CLOSE lines_cur;
1311 
1312   OPEN ldets_cur;
1313   LOOP
1314     IF l_debug = FND_API.G_TRUE THEN
1315     QP_PREQ_GRP.engine_debug('***Inside ldets_cur Loop***');
1316     END IF;
1317    -- dbms_output.put_line('***Inside ldets_cur Loop***');
1318     FETCH ldets_cur
1319       BULK COLLECT INTO
1320          LINE_DETAIL_INDEX_T,
1321          LINE_DETAIL_TYPE_CODE_T,
1322          PRICE_BREAK_TYPE_CODE_T,
1323          LINE_INDEX_T,
1324          LIST_HEADER_ID_T,
1325          LIST_LINE_ID_T,
1326          LIST_LINE_TYPE_T,
1327          LIST_TYPE_CODE_T,
1328          MODIFIER_LEVEL_CODE_T,
1329          CREATED_FROM_SQL_T,
1330          PRICING_GROUP_SEQUENCE_T,
1331          OPERAND_CALCULATION_CODE_T,
1332          OPERAND_VALUE_T,
1333          ADJUSTMENT_AMOUNT_T,
1334          LINE_QUANTITY_T,
1335          SUBSTITUTION_TYPE_CODE_T,
1336          SUBSTITUTION_VALUE_FROM_T,
1337          SUBSTITUTION_VALUE_TO_T,
1338          ASK_FOR_FLAG_T,
1339          PRICE_FORMULA_ID_T,
1340          PROCESSED_FLAG_T,
1341          PRICING_STATUS_CODE_T,
1342          PRICING_STATUS_TEXT_T,
1343          PRODUCT_PRECEDENCE_T,
1347          APPLIED_FLAG_T,
1344          INCOMPATABILITY_GRP_CODE_T,
1345          BEST_PERCENT_T,
1346          PRICING_PHASE_ID_T,
1348          AUTOMATIC_FLAG_T,
1349          OVERRIDE_FLAG_T,
1350          PRINT_ON_INVOICE_FLAG_T,
1351          PRIMARY_UOM_FLAG_T,
1352          BENEFIT_QTY_T,
1353          BENEFIT_UOM_CODE_T,
1354          LIST_LINE_NO_T,
1355          ACCRUAL_FLAG_T,
1356          ACCRUAL_CONVERSION_RATE_T,
1357          ESTIM_ACCRUAL_RATE_T,
1358          RECURRING_FLAG_T,
1359          SELECTED_VOLUME_ATTR_T,
1360          ROUNDING_FACTOR_T,
1361          SECONDARY_PRICELIST_IND_T,
1362          GROUP_QUANTITY_T,
1363          GROUP_AMOUNT_T,
1364          PROCESS_CODE_T,
1365          UPDATED_FLAG_T,
1366          CHARGE_TYPE_CODE_T,
1367          CHARGE_SUBTYPE_CODE_T,
1368          LIMIT_CODE_T,
1369          LIMIT_TEXT_T,
1370          HEADER_LIMIT_EXISTS_T,
1371          LINE_LIMIT_EXISTS_T,
1372          CALCULATION_CODE_T,
1373          CURRENCY_HEADER_ID_T,
1374          PRICING_EFFECTIVE_DATE_T,
1375          BASE_CURRENCY_CODE_T,
1376          ORDER_CURRENCY_T,
1377          CURRENCY_DETAIL_ID_T
1378       LIMIT 1000;
1379 
1380         IF LINE_DETAIL_INDEX_T.COUNT <> 0  then
1381            FOR Tbl_Index in  LINE_DETAIL_INDEX_T.FIRST .. LINE_DETAIL_INDEX_T.LAST LOOP
1382                --REQUEST_ID_T(Tbl_Index):= l_request_id;
1383                REQUEST_ID_T(Tbl_Index):= G_DEBUG_REQUEST_ID;
1384            END LOOP;
1385         END IF;
1386 
1387 
1388     Insert_LDet;
1389 
1390     IF l_debug = FND_API.G_TRUE THEN
1391     QP_PREQ_GRP.engine_debug('***Repeat ldets_cur loop for next 1000 lines - if any***');
1392     END IF;
1393    -- dbms_output.put_line('***Repeat ldets_cur loop for next 1000 lines - if any***');
1394 
1395     EXIT WHEN ldets_cur%NOTFOUND;
1396   END LOOP; -- --loop over main ldets_cur
1397   CLOSE ldets_cur;
1398 
1399 
1400   OPEN line_attrs_cur;
1401   LOOP
1402     IF l_debug = FND_API.G_TRUE THEN
1403     QP_PREQ_GRP.engine_debug('***Inside line_attrs_cur Loop***');
1404     END IF;
1405    -- dbms_output.put_line('***Inside line_attrs_cur Loop***');
1406     FETCH line_attrs_cur
1407       BULK COLLECT INTO
1408          LINE_INDEX_T,
1409          LINE_DETAIL_INDEX_T,
1410          ATTRIBUTE_LEVEL_T,
1411          ATTRIBUTE_TYPE_T,
1412          LIST_HEADER_ID_T,
1413          LIST_LINE_ID_T,
1414          CONTEXT_T,
1415          ATTRIBUTE_T,
1416          VALUE_FROM_T,
1417          SETUP_VALUE_FROM_T,
1418          VALUE_TO_T,
1419          SETUP_VALUE_TO_T,
1420          GROUPING_NUMBER_T,
1421          NO_QUALIFIERS_IN_GRP_T,
1422          COMP_OPERATOR_TYPE_CODE_T,
1423          VALIDATED_FLAG_T,
1424          APPLIED_FLAG_T,
1425          PRICING_STATUS_CODE_T,
1426          PRICING_STATUS_TEXT_T,
1427          QUALIFIER_PRECEDENCE_T,
1428          PRICING_ATTR_FLAG_T,
1429          QUALIFIER_TYPE_T,
1430          DATATYPE_T,
1431          PRODUCT_UOM_CODE_T,
1432          ATTR_PROCESSED_CODE_T,
1433          EXCLUDER_FLAG_T,
1434          GROUP_QUANTITY_T,
1435          GROUP_AMOUNT_T,
1436          DISTINCT_QUALIFIER_FLAG_T,
1437          PRICING_PHASE_ID_T,
1438          INCOMPATABILITY_GRP_CODE_T,
1439          LINE_DETAIL_TYPE_CODE_T,
1440          MODIFIER_LEVEL_CODE_T,
1441          PRIMARY_UOM_FLAG_T
1442       LIMIT 1000;
1443 
1444    -- dbms_output.put_line('***attrs - 1***');
1445         IF LINE_INDEX_T.COUNT <> 0  then
1446    -- dbms_output.put_line('***attrs - 2***');
1447            FOR Tbl_Index in  LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST LOOP
1448    -- dbms_output.put_line('***attrs - 3***');
1449                --REQUEST_ID_T(Tbl_Index):= l_request_id;
1450                REQUEST_ID_T(Tbl_Index):= G_DEBUG_REQUEST_ID;
1451                select QP_LINE_ATTR_S.nextval into l_LINE_ATTRIBUTE_ID from dual;
1452                LINE_ATTRIBUTE_ID_T(Tbl_Index) := l_LINE_ATTRIBUTE_ID;
1453            END LOOP;
1454         END IF;
1455 
1456    -- dbms_output.put_line('***attrs - 4***');
1457     Insert_Line_Attr;
1458 
1459     IF l_debug = FND_API.G_TRUE THEN
1460     QP_PREQ_GRP.engine_debug('***Repeat line_attrs_cur loop for next 1000 lines - if any***');
1461     END IF;
1462    -- dbms_output.put_line('***Repeat line_attrs_cur loop for next 1000 lines - if any***');
1463     EXIT WHEN line_attrs_cur%NOTFOUND;
1464   END LOOP; -- --loop over main line_attrs_cur
1465   CLOSE line_attrs_cur;
1466 
1467   IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Running = 'N' THEN
1468   select count(*) into l_Rec_Count from qp_npreq_rltd_lines_tmp;
1469   IF l_debug = FND_API.G_TRUE THEN
1470   QP_PREQ_GRP.engine_debug('***Record count in qp_npreq_rltd_lines_tmp : ' || l_Rec_Count);
1471   END IF;
1472   ELSE
1473   select count(*) into l_Rec_Count from qp_int_rltd_lines;
1474   IF l_debug = FND_API.G_TRUE THEN
1475   QP_PREQ_GRP.engine_debug('***Record count in qp_int_rltd_lines : ' || l_Rec_Count);
1476   END IF;
1477   END IF;
1478   OPEN rltd_lines_cur;
1479   LOOP
1480     IF l_debug = FND_API.G_TRUE THEN
1481     QP_PREQ_GRP.engine_debug('***Inside rltd_lines_cur Loop***');
1482     END IF;
1483    -- dbms_output.put_line('***Inside rltd_lines_cur Loop***');
1484     FETCH rltd_lines_cur
1485       BULK COLLECT INTO
1486          REQUEST_TYPE_CODE_T,
1487          LINE_INDEX_T,
1488          LINE_DETAIL_INDEX_T,
1492          PRICING_STATUS_CODE_T,
1489          RELATIONSHIP_TYPE_CODE_T,
1490          RELATED_LINE_INDEX_T,
1491          RELATED_LINE_DETAIL_INDEX_T,
1493          PRICING_STATUS_TEXT_T,
1494          LIST_LINE_ID_T,
1495          RELATED_LIST_LINE_ID_T,
1496          LIST_LINE_TYPE_T,
1497          OPERAND_CALCULATION_CODE_T,
1498          OPERAND_T,
1499          PRICING_GROUP_SEQUENCE_T,
1500          RELATIONSHIP_TYPE_DETAIL_T,
1501          SETUP_VALUE_FROM_T,
1502          SETUP_VALUE_TO_T,
1503          QUALIFIER_VALUE_T,
1504          ADJUSTMENT_AMOUNT_T,
1505          SATISFIED_RANGE_VALUE_T
1506       LIMIT 1000;
1507 
1508       IF l_debug = FND_API.G_TRUE THEN
1509       QP_PREQ_GRP.engine_debug('***Inside rltd_lines_cur Loop : After Fetch***');
1510 
1511       QP_PREQ_GRP.engine_debug('LINE_INDEX_T.COUNT:' || LINE_INDEX_T.COUNT);
1512 
1513       END IF;
1514         IF LINE_INDEX_T.COUNT <> 0  then
1515            IF l_debug = FND_API.G_TRUE THEN
1516            QP_PREQ_GRP.engine_debug('inside loop');
1517            END IF;
1518            FOR Tbl_Index in  LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST LOOP
1519                --REQUEST_ID_T(Tbl_Index):= l_request_id;
1520                REQUEST_ID_T(Tbl_Index):= G_DEBUG_REQUEST_ID;
1521            END LOOP;
1522         END IF;
1523 
1524     Insert_RLTD_Line;
1525 
1526     IF l_debug = FND_API.G_TRUE THEN
1527     QP_PREQ_GRP.engine_debug('***Repeat rltd_lines_cur loop for next 1000 lines - if any***');
1528     END IF;
1529    -- dbms_output.put_line('***Repeat rltd_lines_cur loop for next 1000 lines - if any***');
1530     EXIT WHEN rltd_lines_cur%NOTFOUND;
1531   END LOOP; -- --loop over main rltd_lines_cur
1532   CLOSE rltd_lines_cur;
1533 
1534 
1535   OPEN step_values_cur;
1536   LOOP
1537     IF l_debug = FND_API.G_TRUE THEN
1538     QP_PREQ_GRP.engine_debug('***Inside step_values_cur Loop***');
1539     END IF;
1540    -- dbms_output.put_line('***Inside step_values_cur Loop***');
1541     FETCH step_values_cur
1542       BULK COLLECT INTO
1543          PRICE_FORMULA_ID_T,
1544          STEP_NUMBER_T,
1545          COMPONENT_VALUE_T,
1546          PRICE_FORM_LINE_TYPE_CODE_T,
1547          LINE_INDEX_T,
1548          LIST_LINE_TYPE_T,
1549          LIST_HEADER_ID_T,
1550          LIST_LINE_ID_T
1551       LIMIT 1000;
1552 
1553         IF LINE_INDEX_T.COUNT <> 0  then
1554            FOR Tbl_Index in  LINE_INDEX_T.FIRST .. LINE_INDEX_T.LAST LOOP
1555                --REQUEST_ID_T(Tbl_Index):= l_request_id;
1556                REQUEST_ID_T(Tbl_Index):= G_DEBUG_REQUEST_ID;
1557            END LOOP;
1558         END IF;
1559 
1560     Insert_Step_Values;
1561 
1562     IF l_debug = FND_API.G_TRUE THEN
1563     QP_PREQ_GRP.engine_debug('***Repeat step_values_cur loop for next 1000 lines - if any***');
1564     END IF;
1565    -- dbms_output.put_line('***Repeat step_values_cur loop for next 1000 lines - if any***');
1566     EXIT WHEN step_values_cur%NOTFOUND;
1567   END LOOP; -- --loop over main step_values_cur
1568   CLOSE step_values_cur;
1569 
1570   IF l_debug = FND_API.G_TRUE THEN
1571   QP_PREQ_GRP.engine_debug('***Procedure WRITE_TO_DEBUG_TABLES successfully completed ***');
1572   END IF;
1573  -- dbms_output.put_line('***Procedure WRITE_TO_DEBUG_TABLES successfully completed ***');
1574   IF l_debug = FND_API.G_TRUE THEN
1575   QP_PREQ_GRP.engine_debug('***End Duplicating Temp Table Records ***');
1576   END IF;
1577  -- dbms_output.put_line('***End Duplicating Temp Table Records ***');
1578   x_return_status := FND_API.G_RET_STS_SUCCESS;
1579   x_return_status_text := 'Procedure WRITE_TO_DEBUG_TABLES successfully completed';
1580 EXCEPTION
1581   WHEN NO_DATA_FOUND THEN
1582     IF l_debug = FND_API.G_TRUE THEN
1583     QP_PREQ_GRP.engine_debug('In WRITE_TO_DEBUG_TABLES: '|| SQLERRM);
1584     END IF;
1585    -- dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: '|| SQLERRM);
1586     x_return_status := FND_API.G_RET_STS_ERROR;
1587     x_return_status_text := substr(SQLERRM,1,240);
1588     IF l_debug = FND_API.G_TRUE THEN
1589     QP_PREQ_GRP.engine_debug('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1590     END IF;
1591    -- dbms_output.put_line('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1592     IF l_debug = FND_API.G_TRUE THEN
1593     QP_PREQ_GRP.engine_debug('***End Duplicating Temp Table Records ***');
1594     END IF;
1595    -- dbms_output.put_line('***End Duplicating Temp Table Records ***');
1596 
1597 WHEN REQUEST_TYPE_CODE_NOT_FOUND THEN
1598     IF l_debug = FND_API.G_TRUE THEN
1599     QP_PREQ_GRP.engine_debug('In WRITE_TO_DEBUG_TABLES: REQUEST_TYPE_CODE Not Found'|| SQLERRM);
1600     END IF;
1601   --  dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: REQUEST_TYPE_CODE Not Found: '|| SQLERRM);
1602     x_return_status := FND_API.G_RET_STS_ERROR;
1603     x_return_status_text := 'REQUEST_TYPE_CODE Not Found - ' || substr(SQLERRM,1,200);
1604     IF l_debug = FND_API.G_TRUE THEN
1605     QP_PREQ_GRP.engine_debug('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1606     END IF;
1607   --  dbms_output.put_line('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1608     IF l_debug = FND_API.G_TRUE THEN
1609     QP_PREQ_GRP.engine_debug('***End Duplicating Temp Table Records ***');
1610     END IF;
1611   --  dbms_output.put_line('***End Duplicating Temp Table Records ***');
1612 
1613   WHEN CURRENCY_CODE_NOT_FOUND THEN
1614     IF l_debug = FND_API.G_TRUE THEN
1615     QP_PREQ_GRP.engine_debug('In WRITE_TO_DEBUG_TABLES: CURRENCY_CODE Not Found'|| SQLERRM);
1616     END IF;
1617   --  dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: CURRENCY_CODE Not Found: '|| SQLERRM);
1618     x_return_status := FND_API.G_RET_STS_ERROR;
1619     x_return_status_text := 'CURRENCY_CODE Not Found - ' || substr(SQLERRM,1,200);
1620     IF l_debug = FND_API.G_TRUE THEN
1621     QP_PREQ_GRP.engine_debug('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1622     END IF;
1623   --  dbms_output.put_line('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1624     IF l_debug = FND_API.G_TRUE THEN
1625     QP_PREQ_GRP.engine_debug('***End Duplicating Temp Table Records ***');
1626     END IF;
1627   --  dbms_output.put_line('***End Duplicating Temp Table Records ***');
1628 
1629   WHEN OTHERS THEN
1630     IF l_debug = FND_API.G_TRUE THEN
1631     QP_PREQ_GRP.engine_debug('In WRITE_TO_DEBUG_TABLES: '|| SQLERRM);
1632     END IF;
1633    -- dbms_output.put_line('In WRITE_TO_DEBUG_TABLES: '|| SQLERRM);
1634     x_return_status := FND_API.G_RET_STS_ERROR;
1635     x_return_status_text := substr(SQLERRM,1,240);
1636     IF l_debug = FND_API.G_TRUE THEN
1637     QP_PREQ_GRP.engine_debug('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1638     END IF;
1639    -- dbms_output.put_line('***Procedure WRITE_TO_DEBUG_TABLES Failed ***');
1640     IF l_debug = FND_API.G_TRUE THEN
1641     QP_PREQ_GRP.engine_debug('***End Duplicating Temp Table Records ***');
1642     END IF;
1643    -- dbms_output.put_line('***End Duplicating Temp Table Records ***');
1644 
1645 END WRITE_TO_DEBUG_TABLES;
1646 
1647 END QP_COPY_DEBUG_PVT;