DBA Data[Home] [Help]

PACKAGE: APPS.QP_PREQ_GRP

Source


1 PACKAGE QP_PREQ_GRP AUTHID CURRENT_USER AS
2 /* $Header: QPXGPRES.pls 120.11.12020000.4 2013/03/21 09:45:20 dnema ship $ */
3 
4 --Processing status
5 G_STATUS_NEW                      CONSTANT VARCHAR2(30):='N';
6 G_STATUS_DELETED                  CONSTANT VARCHAR2(30):='D';
7 G_STATUS_UNCHANGED                CONSTANT VARCHAR2(30):='X';
8 G_STATUS_TRANSIENT                CONSTANT VARCHAR2(30):='T';
9 G_STATUS_GROUPING                 CONSTANT VARCHAR2(30):='G';
10 G_STATUS_UPDATED                  CONSTANT VARCHAR2(30):='UPDATED';
11 G_STATUS_INVALID_PRICE_LIST       CONSTANT VARCHAR2(30):='IPL';
12 G_STATUS_GSA_VIOLATION            CONSTANT VARCHAR2(30):='GSA';
13 G_STS_LHS_NOT_FOUND               CONSTANT VARCHAR2(30):='NMS';
14 G_STATUS_FORMULA_ERROR            CONSTANT VARCHAR2(30):='FER';
15 G_STATUS_OTHER_ERRORS             CONSTANT VARCHAR2(30):='OER';
16 G_STATUS_SYSTEM_GENERATED         CONSTANT VARCHAR2(30):='S';
17 G_STATUS_BEST_PRICE_EVAL          CONSTANT VARCHAR2(30):= 'B';
18 G_STATUS_INCOMP_LOGIC             CONSTANT VARCHAR2(30):= 'I';
19 G_STATUS_CALC_ERROR		  CONSTANT VARCHAR2(30):='CALC';
20 G_STATUS_UOM_FAILURE              CONSTANT VARCHAR2(30):='UOM';
21 G_STATUS_PRIMARY_UOM_FLAG   	  CONSTANT VARCHAR2(30):='P_UOM_FLAG';
22 G_STATUS_OTHER_ITEM_BENEFITS      CONSTANT VARCHAR2(30):='OTHER_ITEM_BENEFITS';
23 G_STATUS_INVALID_UOM              CONSTANT VARCHAR2(30) := 'INVALID_UOM';
24 G_STATUS_DUP_PRICE_LIST           CONSTANT VARCHAR2(30) := 'DUPLICATE_PRICE_LIST';
25 G_STATUS_INVALID_UOM_CONV         CONSTANT VARCHAR2(30) := 'INVALID_UOM_CONV';
26 G_STATUS_INVALID_INCOMP           CONSTANT VARCHAR2(30) := 'INVALID_INCOMP';
27 G_STATUS_BEST_PRICE_EVAL_ERROR    CONSTANT VARCHAR2(30) := 'INVALID_BEST_PRICE';
28 G_STATUS_LIMIT_HOLD               CONSTANT VARCHAR2(30) := 'LIMIT';
29 G_STATUS_LIMIT_EXCEEDED           CONSTANT VARCHAR2(30) := 'EXCEEDED';
30 G_STATUS_LIMIT_ADJUSTED           CONSTANT VARCHAR2(30) := 'ADJUSTED';
31 G_STATUS_LIMIT_CONSUMED           CONSTANT VARCHAR2(30) := 'CONSUMED';
32 G_STATUS_MC_DIFFERENT_CURR        CONSTANT VARCHAR2(30) := 'DIFFERENT_CURR';
33 G_STATUS_MC_RATE_NOT_FOUND        CONSTANT VARCHAR2(30) := 'RATE_NOT_FOUND';
34 G_STATUS_MC_INVALID_CURR          CONSTANT VARCHAR2(30) := 'INVALID_CURR';
35 G_STATUS_MC_NO_USER_CONVTYPE      CONSTANT VARCHAR2(30) := 'NO_USER_CONVTYPE';
36 G_STATUS_MC_FORMULA_FAILURE       CONSTANT VARCHAR2(30) := 'FORMULA_FAILURE';
37 
38 --KDURGASI
39 G_STAGE_CACHE_MOD_LIN		  CONSTANT VARCHAR2(30) := 'MOD_LINE_CACHE';
40 G_STAGE_CACHE_MOD_LIN2		  CONSTANT VARCHAR2(30) := 'MOD_LINE_CACHE2';
41 G_STAGE_CACHE_MOD_HDR		  CONSTANT VARCHAR2(30) := 'MOD_HEADER_CACHE';
42 
43 G_STAGE_CACHE_PL_LIN		  CONSTANT VARCHAR2(30) := 'PL_LINE_CACHE';
44 G_STAGE_CACHE_PL_HDR		  CONSTANT VARCHAR2(30) := 'PL_HEADER_CACHE';
45 
46 G_STAGE_CACHE_PL_LIN2		  CONSTANT VARCHAR2(30) := 'PL_LINE_CACHE2';
47 
48 G_STAGE_CACHE_SEC_PL_HDR_SRCH	  CONSTANT VARCHAR2(30) := 'SEC_PL_SRCH_HDR_CACHE';
49 G_STAGE_CACHE_SEC_PL_LIN_SRCH	  CONSTANT VARCHAR2(30) := 'SEC_PL_SRCH_LIN_CACHE';
50 
51 G_STAGE_CACHE_SEC_PL_LIN_SRCH2	  CONSTANT VARCHAR2(30) := 'SEC_PL_SRCH_LIN_CACHE2';
52 
53 G_STAGE_CACHE_LST_HDR_LIN_SRCH	  CONSTANT VARCHAR2(30) := 'LIST_HDR_SRCH_LIN_CACHE';
54 
55 G_LIN_QTY_ATTR_SRCD		  VARCHAR2(1) := 'N';
56 
57 --KDURGASI
58 
59 
60 -- Global Currency Code Variable
61   G_CURRENCY_CODE                  VARCHAR2(30);
62   G_ANY_CURRENCY_CODE              CONSTANT VARCHAR2(30) := '<ALL>';
63   G_MIN_PRICING_DATE               DATE;
64   G_MAX_PRICING_DATE               DATE;
65 
66 --Processed code
67 G_NO_LIST_PASSED             	  CONSTANT   VARCHAR2(30):='NLP';
68 G_STATUS_NOT_IN_MINI_SEARCH       CONSTANT   VARCHAR2(30) := 'NMS';
69 G_STATUS_MINI_SEARCH_NOT_EXEC     CONSTANT  VARCHAR2(30) := 'NMSE';
70 G_BY_ENGINE                       CONSTANT  VARCHAR2(30) :='ENGINE';
71 
72 --DELETED BY STATUS CODE
73 G_DELETED_PBH                    CONSTANT VARCHAR2(30):='D_PBH';
74 G_DELETED_GRP                    CONSTANT VARCHAR2(30):='D_GRP';
75 G_DELETED_EXCLUDER               CONSTANT VARCHAR2(30):='D_EXCL';
76 G_DELETED_NULL_PRICE             CONSTANT VARCHAR2(30):='D_NULL_PRICE';
77 G_DELETED_CAL_ERROR              CONSTANT VARCHAR2(30):='D_CAL_ERROR';
78 G_DELETED_BETWEEN                CONSTANT VARCHAR2(30):='D_BETWEEN';
79 G_DELETED_PARENT_FAILS           CONSTANT VARCHAR2(30):='D_PBH_PARENT_FAILS';
80 
81 --Pattern Status Codes
82 G_DELETED_LINE		         CONSTANT VARCHAR2(30):='D_LINE';
83 G_DELETED_HDR		         CONSTANT VARCHAR2(30):='D_HDR';
84 G_DELETED_TCA	                 CONSTANT VARCHAR2(30):='D_TCA';
85 G_DEL_ATTR_NOT_SRCD_CMN_GRP      CONSTANT VARCHAR2(30):='D_ATTR_NOT_SRCD_CMN_GRP ';
86 G_DEL_ATTR_NOT_SRCD_GRP          CONSTANT VARCHAR2(30):='D_ATTR_NOT_SRCD_GRP ';
87 G_DEL_OTHR_OPR_CMN_GRP           CONSTANT VARCHAR2(30):='D_OTHR_OPR_CMN_GRP';
88 G_DEL_OTHR_OPR_GRP               CONSTANT VARCHAR2(30):='D_OTHR_OPR_GRP';
89 --Pattern Status Codes
90 
91 --PROCESSED FLAG for internal used only
92 G_NOT_PROCESSED             	  CONSTANT VARCHAR2(30):='N';
93 G_PROCESSED                 	  CONSTANT VARCHAR2(30):='Y';
94 G_BY_PBH                    	  CONSTANT VARCHAR2(30):='PBH';
95 
96 --VALIDATED_CODE
97 G_NOT_VALIDATED  			 CONSTANT VARCHAR2(30):='N';
98 G_VALIDATED      			 CONSTANT VARCHAR2(30):='Y';
99 
100 -- AG Change
101 TYPE PLS_INTEGER_TYPE   IS TABLE OF PLS_INTEGER INDEX BY BINARY_INTEGER;
102 TYPE NUMBER_TYPE        IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
103 TYPE VARCHAR_TYPE       IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
104 TYPE VARCHAR_30_TYPE       IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
105 TYPE FLAG_TYPE          IS TABLE OF VARCHAR2(1)   INDEX BY BINARY_INTEGER;
106 TYPE ROWID_TYPE         IS TABLE OF ROWID INDEX BY BINARY_INTEGER;
107 TYPE DATE_TYPE          IS TABLE OF DATE INDEX BY BINARY_INTEGER;
108 TYPE VARCHAR_3_TYPE     IS TABLE OF VARCHAR2(3) INDEX BY BINARY_INTEGER;
109 
110 --APPLIED_FLAG
111 G_LIST_APPLIED     			 CONSTANT VARCHAR2(30):='Y';
112 G_LIST_NOT_APPLIED 			 CONSTANT VARCHAR2(30):='N';
113 
114 --Line Type Code
115 G_PRICE_BREAK_TYPE     CONSTANT VARCHAR2(30):= 'PBH';
116 G_RECURRING_BREAK      CONSTANT VARCHAR2(30):= 'RECURRING';
117 G_OTHER_ITEM_DISCOUNT  CONSTANT VARCHAR2(30):= 'OID';
118 G_ITEM_UPGRADE	        CONSTANT VARCHAR2(30) :='IUE';
119 G_TERMS_SUBSTITUTION   CONSTANT VARCHAR2(30) := 'TSN';
120 G_COUPON_ISSUE         CONSTANT VARCHAR2(30) := 'CIE';
121 G_COUPON               CONSTANT VARCHAR2(30) := 'COUPON';
122 G_DISCOUNT             CONSTANT VARCHAR2(30) := 'DIS';
123 G_SURCHARGE            CONSTANT VARCHAR2(30) := 'SUR';
124 G_PROMO_GOODS_DISCOUNT CONSTANT VARCHAR2(30) := 'PRG';
125 G_FREIGHT_CHARGE       CONSTANT VARCHAR2(30) := 'FREIGHT_CHARGE';
126 
127 -- Operand Calculation Codes
128 G_PERCENT_DISCOUNT	   CONSTANT VARCHAR2(30) := '%';
129 G_AMOUNT_DISCOUNT      CONSTANT VARCHAR2(30) := 'AMT';
130 G_NEWPRICE_DISCOUNT    CONSTANT VARCHAR2(30) := 'NEWPRICE';
131 G_LUMPSUM_DISCOUNT 	   CONSTANT VARCHAR2(30) := 'LUMPSUM';
132 
133 -- Price List Types
134 G_UNIT_PRICE 		   CONSTANT  VARCHAR2(30) := 'UNIT_PRICE';
135 G_PERCENT_PRICE        CONSTANT  VARCHAR2(30) := 'PERCENT_PRICE';
136 G_BLOCK_PRICE          CONSTANT  VARCHAR2(30) := 'BLOCK_PRICE';
137 G_BREAKUNIT_PRICE      CONSTANT  VARCHAR2(30) := 'BREAKUNIT_PRICE';
138 
139 --Attribute type
140 G_QUALIFIER_TYPE       CONSTANT VARCHAR2(30):='QUALIFIER';
141 G_PRICING_TYPE         CONSTANT VARCHAR2(30):='PRICING';
142 G_PRODUCT_TYPE         CONSTANT VARCHAR2(30):='PRODUCT';
143 G_BENEFIT_TYPE         CONSTANT VARCHAR2(30):='BENEFIT';
147 G_ADJUSTMENT_LINE_TYPE CONSTANT VARCHAR2(30):='ADJUSTMENT_LINE';
144 G_QUANTITY             CONSTANT VARCHAR2(1):='Q';
145 G_AMOUNT               CONSTANT VARCHAR2(1):='A';
146 G_ORDER_LINE_TYPE      CONSTANT VARCHAR2(30):='ORDER_LINE';
148 G_CHILD_DETAIL_TYPE    CONSTANT VARCHAR2(30):='CHILD_DETAIL_LINE';
149 G_PRICE_LIST_TYPE      CONSTANT VARCHAR2(30):='PLL';
150 
151 --Line level
152 G_LINE_LEVEL              CONSTANT VARCHAR2(30):='LINE';
153 G_DETAIL_LEVEL            CONSTANT VARCHAR2(30):='DETAIL';
154 G_ORDER_LEVEL             CONSTANT VARCHAR2(30):='ORDER';
155 
156 G_LINE_GROUP              CONSTANT VARCHAR2(30):='LINEGROUP';
157 
158 --PROCESSED_CODE
159 G_LINE_GROUP_PROCESSED    CONSTANT VARCHAR2(30):='LGP';
160 G_DISCOUNT_MODE           CONSTANT VARCHAR2(3):='DIS';
161 G_PRICELIST_MODE          CONSTANT VARCHAR2(3):='PLL';
162 
163 --COMPARISON OPERATOR TYPE CODE
164 G_OPERATOR_BETWEEN CONSTANT VARCHAR2(30):='BETWEEN';
165 
166 --KDURGASI
167 G_OPERATOR_NOT_EQL CONSTANT VARCHAR2(30):='NOT =';
168 --KDURGASI
169 
170 --Context for list header and list line as qualifiers
171 G_LIST_HEADER_CONTEXT 			CONSTANT VARCHAR2(30):= 'MODLIST';
172 G_OLD_LIST_HEADER_CONTEXT 		CONSTANT VARCHAR2(30):='ORDER';
173 G_LIST_LINE_CONTEXT   			CONSTANT VARCHAR2(30):= 'LISTLINE';
174 G_PRIC_VOLUME_CONTEXT   	        CONSTANT VARCHAR2(30):= 'VOLUME';
175 G_PRIC_ITEM_CONTEXT   			CONSTANT VARCHAR2(30):= 'ITEM';
176 G_CUSTOMER_CONTEXT    			CONSTANT VARCHAR2(30) := 'CUSTOMER';
177 
178 -- Attributes
179 G_QUAL_ATTRIBUTE1    CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE1'; -- Promotion
180 G_QUAL_ATTRIBUTE2    CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE2'; -- List Line Id
181 G_QUAL_ATTRIBUTE6    CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE6';  -- Discount Id
182 G_PRIC_ATTRIBUTE1    CONSTANT VARCHAR2(30)  := 'PRICING_ATTRIBUTE1';
183 G_PRIC_ATTRIBUTE10   CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE10';
184 G_PRIC_ATTRIBUTE12   CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE12';
185 G_GSA_ATTRIBUTE      CONSTANT VARCHAR2(30) :='QUALIFIER_ATTRIBUTE15';
186 G_DISCOUNT_ATTRIBUTE CONSTANT VARCHAR2(30) :='QUALIFIER_ATTRIBUTE6';
187 G_PROMOTION_ATTRIBUTE CONSTANT VARCHAR2(30):='QUALIFIER_ATTRIBUTE1';
188 G_PRICELIST_ATTRIBUTE CONSTANT VARCHAR2(30):='QUALIFIER_ATTRIBUTE4';
189 G_QUANTITY_ATTRIBUTE CONSTANT VARCHAR2(30):='PRICING_ATTRIBUTE10';
190 G_LINE_AMT_ATTRIBUTE CONSTANT VARCHAR2(30):='PRICING_ATTRIBUTE12';
191 G_ORDER_AMOUNT_ATTRIBUTE CONSTANT VARCHAR2(30):='QUALIFIER_ATTRIBUTE10';
192 
193 --attributes for ignore_pricing 8203956
194 G_IGN_PRIC_ATTRIBUTE CONSTANT VARCHAR2(30):='QUALIFIER_ATTRIBUTE40';
195 G_DEF_PL_HDR_ID_ATTRIBUTE CONSTANT VARCHAR2(30):='QUALIFIER_ATTRIBUTE41';
196 -- ignore_pricing end
197 
198 --Need to change! these both may not be same
199 G_LINEGRP_QUANTITY_ATTRIBUTE CONSTANT VARCHAR2(30):='PRICING_ATTRIBUTE12';
200 G_LINEGRP_AMOUNT_ATTRIBUTE CONSTANT VARCHAR2(30):='PRICING_ATTRIBUTE12';
201 
202 -- Yes/No/Phase/Debug Flags
203 G_YES CONSTANT VARCHAR2(20) := 'Y';
204 G_NO CONSTANT VARCHAR2(20) := 'N';
205 G_DONT_WRITE_TO_DEBUG CONSTANT VARCHAR2(20) := 'V';
206 G_ENGINE_TIME_TRACE_ON CONSTANT VARCHAR2(20) := 'T';    --3085171
207 G_TIME_LOG_DBG_LEVEL CONSTANT VARCHAR2(1) := 'M'; -- Bug 8459818
208 
209 G_PHASE CONSTANT VARCHAR2(20):='P';
210 -- Best Price Evaluation Constants
211 G_DISCOUNT_PROCESSING   CONSTANT VARCHAR2(30) := 'DISCOUNT';
212 G_PRICELIST_PROCESSING  CONSTANT VARCHAR2(30) := 'PRICE_LIST';
213 
214 -- Incompatibility Processing
215 G_INCOMP_EXCLUSIVE CONSTANT VARCHAR2(30) := 'EXCL';
216 
217 --Incompatibility Resolve Codes
218 G_INCOMP_PRECEDENCE CONSTANT VARCHAR2(30) := 'PRECEDENCE';
219 G_INCOMP_BEST_PRICE CONSTANT VARCHAR2(30) := 'BEST_PRICE';
220 
221 -- Header/Line Qualifiers
222 G_HEADER_QUALIFIER CONSTANT VARCHAR2(30) := 'HQ';
223 G_LINE_QUALIFIER CONSTANT VARCHAR2(30) := 'LQ';
224 
225 -- Search Flags
226 G_NO_SEARCH CONSTANT VARCHAR2(30):='N';
227 G_YES_SEARCH  CONSTANT VARCHAR2(30):='Y';
228 
229 --Context for Product ITEN
230 G_ITEM_CONTEXT CONSTANT VARCHAR2(30):='ITEM';
231 
232 --INDICATE IF there is a pricing attribute passed in
233 G_PRICING_YES CONSTANT VARCHAR2(30):='Y';
234 G_PRICING_NO  CONSTANT VARCHAR2(30):='N';
235 
236 --EVENT CONSTANT
237 G_PRICE_LINE_EVENT CONSTANT VARCHAR2(30):='PRICE_LINE';
238 G_PRICE_ORDER_EVENT CONSTANT VARCHAR2(30):='PRICE_ORDER';
239 
240 --PRICE BREAK TYPE
241 G_RANGE_BREAK  CONSTANT VARCHAR2(30):='RANGE';
242 G_POINT_BREAK  CONSTANT VARCHAR2(30):='POINT';
243 
244 --G_RELATIONSHIP TYPE CODE
245 G_LINE_TO_LINE       CONSTANT VARCHAR2(30):='LINE_TO_LINE';
246 G_LINE_TO_DETAIL     CONSTANT VARCHAR2(30):='LINE_TO_DETAIL';
247 G_DETAIL_TO_DETAIL   CONSTANT VARCHAR2(30):='DETAIL_TO_DETAIL';
248 G_ORDER_TO_LINE      CONSTANT VARCHAR2(30):='ORDER_TO_LINE';
249 G_RELATED_ITEM_PRICE CONSTANT VARCHAR2(30):='RELATED_ITEM_PRICE';
250 G_PBH_LINE           CONSTANT VARCHAR2(30):='PBH_LINE';
251 G_SERVICE_LINE       CONSTANT VARCHAR2(30):='SERVICE_LINE';
252 G_GENERATED_LINE     CONSTANT VARCHAR2(30):='GENERATED_LINE';
253 
254 --List Header Type Code
255 G_DISCOUNT_LIST_HEADER  CONSTANT VARCHAR2(30):='DLT';
256 G_PRICE_LIST_HEADER     CONSTANT VARCHAR2(30):='PRL';
257 G_AGR_LIST_HEADER       CONSTANT VARCHAR2(30):='AGR';
258 G_CHARGES_HEADER        CONSTANT VARCHAR2(30):='CHARGES';
259 
260 --Profile Option Constants
261 --GSA
262 G_GSA_Max_Discount_Enabled CONSTANT VARCHAR2(30) := 'QP_VERIFY_GSA';
263 G_BYPASS_PRICING CONSTANT VARCHAR2(30) := 'QP_BYPASS_PRICING';
264 G_RETURN_MANUAL_DISCOUNTS CONSTANT VARCHAR2(30) := 'QP_RETURN_MANUAL_DISCOUNTS';
265 G_BLIND_DISCOUNT CONSTANT VARCHAR2(30) := 'QP_BLIND_DISCOUNT';
266 G_MULTI_CURRENCY CONSTANT VARCHAR2(30) := 'QP_MULTI_CURRENCY_INSTALLED'; -- vivek
267 
268 --DATA_TYPE
269 G_NUMERIC CONSTANT VARCHAR2(1):= 'N';
270 G_VARCHAR CONSTANT VARCHAR2(1):= 'C';
274 
271 G_DATE    CONSTANT VARCHAR2(1):= 'D';
272 G_DATE_X  CONSTANT VARCHAR2(1):= 'X';
273 G_DATE_Y  CONSTANT VARCHAR2(1):= 'Y';
275 --CONTROL RECORD constants
276 G_CALCULATE_ONLY      CONSTANT VARCHAR2(30):='C';
280 G_GSA_CHECK_FLAG           VARCHAR2(1);
277 G_SEARCH_ONLY         CONSTANT VARCHAR2(30):='N';
278 G_SEARCH_N_CALCULATE  CONSTANT VARCHAR2(30):='Y';
279 G_MANUAL_DISCOUNT_FLAG     VARCHAR2(1);
281 G_GSA_DUP_CHECK_FLAG       VARCHAR2(1);
282 G_TEMP_TABLE_INSERT_FLAG   VARCHAR2(1);
283 G_REQUEST_TYPE_CODE        VARCHAR2(30); -- rounding, 2457629, shu
284 G_ROUNDING_FLAG            VARCHAR2(1); -- rounding, 2457629, shu
285 G_PUBLIC_API_CALL_FLAG     VARCHAR2(1);
286 G_MANUAL_ADJUSTMENTS_CALL_FLAG VARCHAR2(1);
287 G_QUALIFY_SECONDARY        VARCHAR2(1); --secondary price list qualifiers
288 G_BLIND_DISCOUNT_PROFILE   VARCHAR2(1);
289 G_MULTI_CURRENCY_PROFILE   VARCHAR2(1); -- vivek
290 G_USE_MULTI_CURRENCY       VARCHAR2(1); -- vivek, for handle_break() as p_control_rec is not available
291 G_MCURR_INSTALLED_USED	   VARCHAR2(1); -- shulin
292 G_AM_INSTALLED_PROFILE VARCHAR2(1); -- yangli
293 
294 --KDURGASI changes for pattern based select modifiers
295   G_PAT_SEARCH_PATH	NUMBER(1);
296   G_QP_PATTERN_SEARCH   VARCHAR2(30);
297   G_QP_PATTERN_MOD_SEARCH CONSTANT VARCHAR2(1) := 'M';
298   G_QP_PATTERN_PRL_SEARCH CONSTANT VARCHAR2(1) := 'P';
299   G_QP_PATTERN_BOTH_SEARCH CONSTANT VARCHAR2(1) := 'B';
300 --KDURGASI changes for pattern based select modifiers
301 
302 G_YES_PROD_HDR_QUAL_IND           CONSTANT NUMBER :=6; -- Has Header Qualifiers,Products
303 G_YES_PROD_PRIC_HDR_QUAL_IND      CONSTANT NUMBER :=22;-- Has Header Qualifiers,Products and Pricing Attrs
304 G_YES_PROD_LINE_QUAL_IND          CONSTANT NUMBER :=12;-- Has Line Qualifiers,Products
305 G_YES_PROD_PRIC_LINE_QUAL_IND     CONSTANT NUMBER :=28;-- Has Line Qualifiers,Products and Pricing Attrs
306 G_YES_PROD_HDR_LINE_QUAL_IND      CONSTANT NUMBER :=14;-- Has Header, Line Qualifiers,Products
307 G_YES_PRIC_HDR_LINE_QUAL_IND      CONSTANT NUMBER :=30;-- Has Header, Line Qualifiers,Products,Pricing Attrs
308 G_YES_PROD_IND                    CONSTANT NUMBER :=4; -- Has Products
309 G_YES_PROD_PRIC_IND               CONSTANT NUMBER :=20;-- Has Products and Pricing Attrs
310 G_YES_HDR_QUAL_IND                CONSTANT NUMBER :=2; -- Has (Header Level) Qualifiers
311 G_YES_LINE_QUAL_IND               CONSTANT NUMBER :=8; -- Has (Line Level) Qualifiers
312 G_YES_HDR_LINE_QUAL_IND           CONSTANT NUMBER :=10;-- Has (Header+Line Level) Qualifiers
313 G_BLIND_DISCOUNT_IND              CONSTANT NUMBER :=0; -- Blind Discount
314 
315 G_NO_QUAL_IND         CONSTANT NUMBER := 2;
316 G_NO_PRIC_IND         CONSTANT NUMBER := 4;
317 G_NO_QUAL_PRIC_IND    CONSTANT NUMBER := 6;
318 
319 G_LINE_DETAIL_INDEX         PLS_INTEGER :=1;
320 G_REQUEST_ID                NUMBER ;
321 G_ORDER_PRICE_REQUEST_CODE  VARCHAR2(200); -- Limits
322 G_DEBUG_ENGINE                VARCHAR2(3);
323 G_INSERT_FORMULA_STEP_VALUES  VARCHAR2(1); --POSCO Performance
324 G_LIMITS_CODE_EXECUTED  VARCHAR2(1);
325 
326 --Usage_pricing_types
327 G_REGULAR_USAGE_TYPE CONSTANT VARCHAR2(30) := 'REGULAR';
328 G_AUTHORING_TYPE CONSTANT VARCHAR2(30) := 'AUTHORING';
329 G_BILLING_TYPE CONSTANT VARCHAR2(30) := 'BILLING';
330 
331 -- QP Debug Profile
332 G_QP_DEBUG_PROFILE_VALUE   VARCHAR2(1);
333 
334 -- accum range break
335 G_ORDER_ID NUMBER;       -- order header ID
336 G_LINE_ID NUMBER;        -- cached line ID; necessarily the current line ID!
337 G_PRICE_EFF_DATE DATE;   -- cached price effective date; also not necessarily current
338 
339 -- java engine performance
340 G_INT_LINES_NO NUMBER; -- number of lines in int table for current request
341 G_INT_LDETS_NO NUMBER; -- number of ldets in int table for current request
342 G_INT_ATTRS_NO NUMBER; -- number of attrs in int table for current request
343 G_INT_RELS_NO NUMBER; -- number of rellines in int table for current request
344 
345 --Begin: pattern_engine variables for create_pattern - SMUHAMME
346 G_PATRNS_TWO_THREE_INSERTED VARCHAR2(2);
347 --End:  pattern_engine variables for create_pattern - SMUHAMME
348 
349 -- part of security, but moved to spec for partial period pricing in R12
350 G_CURRENT_USER_OP_UNIT   NUMBER := NULL; -- security
351 
352 -- moved to spec for continuous breaks (4687551) in R12
353 G_BREAK_UOM_PRORATION     VARCHAR2(30);
354 
355 --added for bug 4900095
356 G_service_line_ind_tbl NUMBER_TYPE;
357 G_service_line_qty_tbl NUMBER_TYPE;
358 G_service_ldet_qty_tbl NUMBER_TYPE;
359 
360 TYPE duplicate_list_type IS RECORD
361 (list_line_id      NUMBER,
362  line_index        PLS_INTEGER,
363  line_detail_index PLS_INTEGER);
364 
365 TYPE duplicate_list_tbl_type IS TABLE OF duplicate_list_type INDEX BY BINARY_INTEGER;
366 l_dup_index              PLS_INTEGER:=0;
367 dup_tbl                  DUPLICATE_LIST_TBL_TYPE;
368 
369 TYPE LINE_REC_TYPE IS RECORD
373  LINE_INDEX              NUMBER      :=NULL,
370 (REQUEST_TYPE_CODE       VARCHAR2(30):=NULL,
371  PRICING_EVENT           VARCHAR2(30):=NULL,
372  HEADER_ID               NUMBER      :=NULL,
374  LINE_ID                 NUMBER      :=NULL,
375  LINE_TYPE_CODE          VARCHAR2(30):=NULL,
376  PRICING_EFFECTIVE_DATE  DATE        :=NULL,
377  ACTIVE_DATE_FIRST       DATE        :=NULL,
378  ACTIVE_DATE_FIRST_TYPE  VARCHAR2(30):=NULL,
379  ACTIVE_DATE_SECOND      DATE        :=NULL,
380  ACTIVE_DATE_SECOND_TYPE VARCHAR2(30):=NULL,
381  LINE_QUANTITY           NUMBER      :=NULL,
382  LINE_UOM_CODE           VARCHAR2(30):=NULL,
383  UOM_QUANTITY            NUMBER      :=NULL,
384  PRICED_QUANTITY         NUMBER      :=NULL,
385  PRICED_UOM_CODE         VARCHAR2(30):=NULL,
386  CURRENCY_CODE           VARCHAR2(30):=NULL,
387  UNIT_PRICE              NUMBER      :=NULL,
388  PERCENT_PRICE           NUMBER      :=NULL,
389  ADJUSTED_UNIT_PRICE     NUMBER      :=NULL,
390  UPDATED_ADJUSTED_UNIT_PRICE     NUMBER      :=NULL,
391  PARENT_PRICE            NUMBER      :=NULL,
392  PARENT_QUANTITY         NUMBER      :=NULL,
393  ROUNDING_FACTOR         NUMBER      :=NULL,
394  PARENT_UOM_CODE         VARCHAR2(30):=NULL,
395  PRICING_PHASE_ID        NUMBER      :=NULL,
396  PRICE_FLAG              VARCHAR2(1) :=NULL,
397  PROCESSED_CODE          VARCHAR2(240) :=NULL,
398  PRICE_REQUEST_CODE      VARCHAR2(240) :=NULL,
399  HOLD_CODE               VARCHAR2(240) := NULL,
400  HOLD_TEXT               VARCHAR2(2000) := NULL,
401  STATUS_CODE             VARCHAR2(30):=NULL,
402  STATUS_TEXT             VARCHAR2(2000):=NULL,
403  USAGE_PRICING_TYPE      VARCHAR2(30) := NULL,
404  LINE_CATEGORY           VARCHAR2(30) := NULL,
405  CONTRACT_START_DATE 	DATE := NULL, /* shulin */
406  CONTRACT_END_DATE 	DATE := NULL,  /* shulin */
407  LINE_UNIT_PRICE 	NUMBER := NULL,  /* shu_latest */
408  EXTENDED_PRICE          NUMBER := NULL, /* block pricing */
409  LIST_PRICE_OVERRIDE_FLAG VARCHAR2(1) := NULL, /* po integration */
410  CHARGE_PERIODICITY_CODE VARCHAR2(3) := NULL,
411  SERVICE_DURATION VARCHAR2(3) := NULL,
412  SERVICE_PERIOD VARCHAR2(3) := NULL
416 );
413  --ADJUSTED_UNIT_PRICE_UR     NUMBER := NULL, --[prarasto:Post Round]Added three fields for unrounded values, [julin/postround] redesign
414  --EXTENDED_SELLING_PRICE_UR  NUMBER := NULL, --[prarasto:Post Round]
415  --ORDER_UOM_SELLING_PRICE_UR NUMBER := NULL  --[prarasto:Post Round]
417 
418 TYPE LINE_TBL_TYPE IS TABLE OF LINE_REC_TYPE INDEX BY BINARY_INTEGER;
419 
420 
421 TYPE QUAL_REC_TYPE IS RECORD
422 (LINE_INDEX		       NUMBER       ,
423  QUALIFIER_CONTEXT             VARCHAR2(30) ,
424  QUALIFIER_ATTRIBUTE           VARCHAR2(30) ,
425  QUALIFIER_ATTR_VALUE_FROM     VARCHAR2(240) ,
426  QUALIFIER_ATTR_VALUE_TO       VARCHAR2(240) ,
427  COMPARISON_OPERATOR_CODE      VARCHAR2(30) ,
428  VALIDATED_FLAG                VARCHAR2(1)  ,
429  STATUS_CODE                   VARCHAR2(30):=NULL,
430  STATUS_TEXT                   VARCHAR2(240):=NULL
431 );
432 
433 
434 TYPE QUAL_TBL_TYPE IS TABLE OF QUAL_REC_TYPE INDEX BY BINARY_INTEGER;
435 
436 TYPE LINE_ATTR_REC_TYPE IS RECORD
437 (LINE_INDEX         NUMBER      :=NULL,
438  PRICING_CONTEXT    VARCHAR2(30):=NULL,
439  PRICING_ATTRIBUTE  VARCHAR2(30):=NULL,
440  PRICING_ATTR_VALUE_FROM VARCHAR2(240):=NULL,
441  PRICING_ATTR_VALUE_TO   VARCHAR2(240):=NULL,
442  VALIDATED_FLAG     VARCHAR2(1):=NULL,
443  STATUS_CODE             VARCHAR2(30):=NULL,
444  STATUS_TEXT             VARCHAR2(240):=NULL
445 );
446 
447 TYPE LINE_ATTR_TBL_TYPE IS TABLE OF LINE_ATTR_REC_TYPE INDEX BY BINARY_INTEGER;
448 
449 /*+-------------------------------------------------------------
450   |PRICING REQUEST LINE DETAIL
451   +------------------------------------------------------------
452 */
453 
454 TYPE LINE_DETAIL_REC_TYPE IS RECORD
455 (LINE_DETAIL_INDEX      NUMBER,
456  LINE_DETAIL_ID         NUMBER,
457  LINE_DETAIL_TYPE_CODE  VARCHAR2(30),
458  LINE_INDEX             NUMBER,
459  LIST_HEADER_ID         NUMBER,
460  LIST_LINE_ID           NUMBER,
461  LIST_LINE_TYPE_CODE    VARCHAR2(30),
462  SUBSTITUTION_TYPE_CODE VARCHAR2(30),  --obsoleting
463  SUBSTITUTION_FROM      VARCHAR2(240), --obsoleting
464  SUBSTITUTION_TO        VARCHAR2(240),
465  AUTOMATIC_FLAG         VARCHAR2(1),
466  OPERAND_CALCULATION_CODE VARCHAR2(30),  --added for pricing engine internal use only
467  OPERAND_VALUE          NUMBER,          --added for pricing engine internal use only
468  PRICING_GROUP_SEQUENCE NUMBER,          --added for pricing engine internal use only
469  PRICE_BREAK_TYPE_CODE  VARCHAR2(30),    --added for pricing engine internal use only
470  CREATED_FROM_LIST_TYPE_CODE   VARCHAR2(30),
471  PRICING_PHASE_ID       NUMBER,
472  LIST_PRICE             NUMBER,
473  LINE_QUANTITY          NUMBER,
474  ADJUSTMENT_AMOUNT      NUMBER,
475  APPLIED_FLAG           VARCHAR2(1),
476  MODIFIER_LEVEL_CODE    VARCHAR2(30),
477  STATUS_CODE            VARCHAR2(30):=NULL,
478  STATUS_TEXT            VARCHAR2(2000):=NULL,
479 --new addition might need to add
480  SUBSTITUTION_ATTRIBUTE VARCHAR2(240),
481  ACCRUAL_FLAG           VARCHAR2(1),
482  LIST_LINE_NO           VARCHAR2(240),
483  ESTIM_GL_VALUE          NUMBER,
484  ACCRUAL_CONVERSION_RATE NUMBER,
485 --Pass throuh components
486  OVERRIDE_FLAG          VARCHAR2(1),
487  PRINT_ON_INVOICE_FLAG  VARCHAR2(1),
488  INVENTORY_ITEM_ID      NUMBER,
489  ORGANIZATION_ID        NUMBER,
490  RELATED_ITEM_ID        NUMBER,
491  RELATIONSHIP_TYPE_ID   NUMBER,
492  --ACCRUAL_QTY                NUMBER,
493  --ACCRUAL_UOM_CODE           VARCHAR2(3),
494  ESTIM_ACCRUAL_RATE           NUMBER,
495  EXPIRATION_DATE              DATE,
496  BENEFIT_PRICE_LIST_LINE_ID  NUMBER,
497  RECURRING_FLAG               VARCHAR2(1),
498  RECURRING_VALUE              NUMBER, -- block pricing
499  BENEFIT_LIMIT                NUMBER,
500  CHARGE_TYPE_CODE             VARCHAR2(30),
501  CHARGE_SUBTYPE_CODE          VARCHAR2(30),
502  INCLUDE_ON_RETURNS_FLAG      VARCHAR2(1),
503  BENEFIT_QTY                  NUMBER,
504  BENEFIT_UOM_CODE             VARCHAR2(3),
505  SERVICE_DURATION	      NUMBER, -- SERVICE PROJECT
506  SERVICE_PERIOD		      VARCHAR2(3), -- SERVICE PROJECT
507  PRORATION_TYPE_CODE          VARCHAR2(30),
508  SOURCE_SYSTEM_CODE           VARCHAR2(30),
509  REBATE_TRANSACTION_TYPE_CODE VARCHAR2(30),
510  SECONDARY_PRICELIST_IND      VARCHAR2(1),
511  GROUP_VALUE                  NUMBER, -- This is used for LUMPSUM calculation for LINEGRP kind of modifiers
512  COMMENTS                     VARCHAR2(2000),
513  UPDATED_FLAG                 VARCHAR2(1),
514  PROCESS_CODE                 VARCHAR2(30),
515  LIMIT_CODE                   VARCHAR2(30),
516  LIMIT_TEXT                   VARCHAR2(240),
517  FORMULA_ID                   NUMBER,
518  CALCULATION_CODE             VARCHAR2(30) --This indicates if it is back_calcadj
519  ,ROUNDING_FACTOR              NUMBER, /* Vivek */
520  currency_detail_id        NUMBER, /* Vivek */
521  currency_header_id        NUMBER, /* Vivek */
522  selling_rounding_factor   NUMBER, /* Vivek */
523  order_currency            VARCHAR2(30), /* Vivek */
524  pricing_effective_date    DATE, /* Vivek */
525  base_currency_code        VARCHAR2(30), /* Vivek */
526 --added for aso
527  change_reason_code		VARCHAR2(30),
528  change_reason_text		VARCHAR2(2000),
532  );
529  break_uom_code            VARCHAR2(3),  /* Proration*/
530  break_uom_context         VARCHAR2(30), /* Proration*/
531  break_uom_attribute       VARCHAR2(30)  /* Proration*/
533 
534 TYPE LINE_DETAIL_TBL_TYPE IS TABLE OF LINE_DETAIL_REC_TYPE INDEX BY BINARY_INTEGER;
535 
536 
537 /*+------------------------------------------------------------
538   |PRICING REQUEST LINE DETAIL QUALIFIERS
539   +------------------------------------------------------------
540 */
541 TYPE LINE_DETAIL_QUAL_REC_TYPE IS RECORD
542 (LINE_DETAIL_INDEX          NUMBER,
543  QUALIFIER_CONTEXT          VARCHAR2(30),
544  QUALIFIER_ATTRIBUTE        VARCHAR2(30),
545  QUALIFIER_ATTR_VALUE_FROM  VARCHAR2(240),
546  QUALIFIER_ATTR_VALUE_TO    VARCHAR2(240),
547  COMPARISON_OPERATOR_CODE   VARCHAR2(30),
548  VALIDATED_FLAG             VARCHAR2(1),
549  STATUS_CODE             VARCHAR2(30):=NULL,
550  STATUS_TEXT             VARCHAR2(240):=NULL
551 );
552 
553 TYPE LINE_DETAIL_QUAL_TBL_TYPE IS TABLE OF LINE_DETAIL_QUAL_REC_TYPE INDEX BY BINARY_INTEGER;
554 
555 /*+------------------------------------------------------------
556   |PRICING REQUEST LINE DETAIL ATTRIBUTES
557   +------------------------------------------------------------
558 */
559 TYPE LINE_DETAIL_ATTR_REC_TYPE IS RECORD
560 (LINE_DETAIL_INDEX      NUMBER,
561 --added for usage pricing as line_index is a not null column in tmp table
562  LINE_INDEX		NUMBER,
563  PRICING_CONTEXT     VARCHAR2(30),
564  PRICING_ATTRIBUTE   VARCHAR2(30),
565  PRICING_ATTR_VALUE_FROM  VARCHAR2(240),
566  PRICING_ATTR_VALUE_TO  VARCHAR2(240),
567  VALIDATED_FLAG      VARCHAR2(1),
568  STATUS_CODE             VARCHAR2(30):=NULL,
569  STATUS_TEXT             VARCHAR2(240):=NULL
570 );
571 
572 TYPE LINE_DETAIL_ATTR_TBL_TYPE IS TABLE OF LINE_DETAIL_ATTR_REC_TYPE INDEX BY BINARY_INTEGER;
573 
574 
575 /*+------------------------------------------------------------
576   |PRICING REQUEST RELATED LINES
577   +------------------------------------------------------------
578 */
579 TYPE RELATED_LINES_REC_TYPE IS RECORD
580 (LINE_INDEX              NUMBER,
581  LINE_DETAIL_INDEX          NUMBER,
582  RELATIONSHIP_TYPE_CODE  VARCHAR2(30),
583  RELATED_LINE_INDEX         NUMBER,
584  RELATED_LINE_DETAIL_INDEX     NUMBER,
585  STATUS_CODE             VARCHAR2(30):=NULL,
586  STATUS_TEXT             VARCHAR2(240):=NULL);
587 
588 TYPE RELATED_LINES_TBL_TYPE IS TABLE OF RELATED_LINES_REC_TYPE INDEX BY BINARY_INTEGER;
589 
590 /*+--------------------------------------------------------------
591   |CONTROL RECORD
592   +--------------------------------------------------------------
593 */
594 TYPE CONTROL_RECORD_TYPE IS RECORD
595 (PRICING_EVENT   VARCHAR2(30),
596  CALCULATE_FLAG  VARCHAR2(30),
597  SIMULATION_FLAG VARCHAR2(1),
598  ROUNDING_FLAG    VARCHAR2(1),
599  GSA_CHECK_FLAG   VARCHAR2(1),
600  GSA_DUP_CHECK_FLAG VARCHAR2(1),
601  TEMP_TABLE_INSERT_FLAG VARCHAR2(1),
602  MANUAL_DISCOUNT_FLAG VARCHAR2(1),
603  DEBUG_FLAG           VARCHAR2(1),          --'Y' to turn on debugging
604  SOURCE_ORDER_AMOUNT_FLAG VARCHAR2(1),
605  PUBLIC_API_CALL_FLAG VARCHAR2(1),
606  MANUAL_ADJUSTMENTS_CALL_FLAG VARCHAR2(1),
607  GET_FREIGHT_FLAG VARCHAR2(1),
608 --cleanup changes
609    REQUEST_TYPE_CODE VARCHAR2(30),
610    VIEW_CODE VARCHAR2(50),
611    CHECK_CUST_VIEW_FLAG VARCHAR2(1),
612 --changed lines call changes
613    FULL_PRICING_CALL VARCHAR2(1), -- to indicate if passing all/changed lines
614    USE_MULTI_CURRENCY VARCHAR2(1) default 'N' -- vivek, 'Y' to use multi currency
615    ,USER_CONVERSION_RATE NUMBER default NULL -- vivek
616    ,USER_CONVERSION_TYPE VARCHAR2(30) default NULL -- vivek
617    ,FUNCTION_CURRENCY VARCHAR2(30) default NULL -- vivek
618    ,ORG_ID NUMBER default NULL -- added by prarasto for MOAC
619 );
620 
621 --CALCULATE_FLAG can be G_CALCULATE_ONLY, G_SEARCH_ONLY, G_SEARCH_N_CALCULATE
622 
623 PROCEDURE PRICE_REQUEST
624 (p_line_tbl               IN   LINE_TBL_TYPE,
625  p_qual_tbl               IN   QUAL_TBL_TYPE,
626  p_line_attr_tbl          IN   LINE_ATTR_TBL_TYPE,
627  p_line_detail_tbl        IN   LINE_DETAIL_TBL_TYPE,
628  p_line_detail_qual_tbl   IN   LINE_DETAIL_QUAL_TBL_TYPE,
629  p_line_detail_attr_tbl   IN   LINE_DETAIL_ATTR_TBL_TYPE,
630  p_related_lines_tbl      IN   RELATED_LINES_TBL_TYPE,
631  p_control_rec            IN   CONTROL_RECORD_TYPE,
632  x_line_tbl               OUT  NOCOPY LINE_TBL_TYPE,
633  x_line_qual              OUT  NOCOPY QUAL_TBL_TYPE,
634  x_line_attr_tbl          OUT  NOCOPY LINE_ATTR_TBL_TYPE,
635  x_line_detail_tbl        OUT  NOCOPY  LINE_DETAIL_TBL_TYPE,
636  x_line_detail_qual_tbl   OUT  NOCOPY  LINE_DETAIL_QUAL_TBL_TYPE,
637  x_line_detail_attr_tbl   OUT NOCOPY  LINE_DETAIL_ATTR_TBL_TYPE,
638  x_related_lines_tbl      OUT NOCOPY  RELATED_LINES_TBL_TYPE,
639  x_return_status          OUT NOCOPY  VARCHAR2,
640  x_return_status_text     OUT NOCOPY  VARCHAR2
641  );
642 
643 PROCEDURE Populate_Output
644 (x_line_tbl             OUT NOCOPY LINE_TBL_TYPE,
645  x_line_qual_tbl        OUT NOCOPY QUAL_TBL_TYPE,
646  x_line_attr_tbl        OUT NOCOPY LINE_ATTR_TBL_TYPE,
647  x_line_detail_tbl      OUT NOCOPY LINE_DETAIL_TBL_TYPE,
648  x_line_detail_qual_tbl OUT NOCOPY LINE_DETAIL_QUAL_TBL_TYPE,
649  x_line_detail_attr_tbl OUT NOCOPY LINE_DETAIL_ATTR_TBL_TYPE,
650  x_related_lines_tbl    OUT NOCOPY RELATED_LINES_TBL_TYPE);
651 
652 PROCEDURE ENGINE_DEBUG(p_text IN VARCHAR2);
653 FUNCTION GET_VERSION RETURN VARCHAR2;
654 FUNCTION GET_LINE_DETAIL_INDEX RETURN PLS_INTEGER;
655 
656 G_LINE_CATEGORY_DEF_tbl	 varchar_type;
657 G_CURRENCY_HEADER_ID_DEF_TBL	number_type; /* vivek */
658 G_SELLING_ROUNDING_DEF_TBL	number_type; /* vivek */
659 G_ORDER_CURRENCY_DEF_TBL	varchar_type; /* vivek */
660 G_PRICING_EFF_DATE_DEF_TBL	date_type; /* vivek */
664 G_LINE_UNIT_PRICE_DEF_TBL	number_type;	/* shu_latest */
661 G_BASE_CURRENCY_DEF_TBL	        varchar_type; /* vivek */
662 G_CONTRACT_START_DATE_DEF_TBL	date_type;	/* shulin */
663 G_CONTRACT_END_DATE_DEF_TBL	date_type;	/* shulin */
665 G_CATCHWEIGHT_QTY_DEF_TBL	number_type;
666 G_ACTUAL_ORDER_QTY_DEF_TBL	number_type;
667 G_CURRENCY_DETAIL_ID_DEF_TBL	number_type; /* sunilpandey */
668 G_LDET_LINE_QUANTITY_TBL        NUMBER_TYPE;
669 G_UPDATED_FLAG_DEF_TBL          VARCHAR_TYPE; -- begin shu, fix bug 2599822
670 G_CALCULATION_CODE_DEF_TBL      VARCHAR_TYPE;
671 G_CHANGE_REASON_CODE_DEF_TBL    VARCHAR_TYPE;
672 G_CHANGE_REASON_TEXT_DEF_TBL    VARCHAR_TYPE; -- end shu
673 G_LIST_LINE_ID_DEF_TBL	        number_type; /* bug 3020816 */
674 G_RLTD_LIST_LINE_ID_DEF_TBL	number_type; /* bug 3020816 */
675 G_REQUEST_TYPE_CODE_DEF_TBL     VARCHAR_TYPE; -- 3215497
676 G_PRICING_STATUS_CODE_DEF_TBL   VARCHAR_TYPE; -- 3215497
677 G_PRICING_STATUS_TEXT_DEF_TBL	varchar_type; --added by yangli for Java Engine change
678 G_PROCESS_CODE_DEF_TBL          VARCHAR_TYPE; -- 3125497
679 
680 G_ACCUM_CONTEXT_DEF_TBL         VARCHAR_TYPE; -- accum range break
681 G_ACCUM_ATTRIBUTE_DEF_TBL       VARCHAR_TYPE; -- accum range break
682 G_ACCUM_FLAG_DEF_TBL            VARCHAR_TYPE; -- accum range break
683 G_BREAK_UOM_CODE_DEF_TBL        VARCHAR_TYPE; /* Proration */
684 G_BREAK_UOM_CONTEXT_DEF_TBL     VARCHAR_TYPE; /* Proration */
685 G_BREAK_UOM_ATTRIBUTE_DEF_TBL   VARCHAR_TYPE; /* Proration */
686 G_LIST_PRICE_OVERRIDE_DEF_TBL   VARCHAR_TYPE; --po integration
687 G_PRICE_ADJUSTMENT_ID_DEF_TBL   NUMBER_TYPE; -- bug 3099847
688 G_CHARGE_PERIODICITY_DEF_TBL    VARCHAR_3_TYPE;
689 G_SERVICE_DURATION_DEF_TBL      NUMBER_TYPE;    -- SERVICE PROJECT
690 G_SERVICE_PERIOD_DEF_TBL        VARCHAR_TYPE;    -- SERVICE PROJECT
691 
692 /*+----------------------------------------------------------------------
693   |Procedure Group INSERT_LINES2
694   +----------------------------------------------------------------------
695 */
696 PROCEDURE INSERT_LINES2
697                 (p_LINE_INDEX              IN NUMBER_TYPE,
698                  p_LINE_TYPE_CODE          IN VARCHAR_TYPE,
699                  p_PRICING_EFFECTIVE_DATE  IN DATE_TYPE   ,
700                  p_ACTIVE_DATE_FIRST       IN DATE_TYPE   ,
701                  p_ACTIVE_DATE_FIRST_TYPE  IN VARCHAR_TYPE,
702                  p_ACTIVE_DATE_SECOND      IN DATE_TYPE   ,
703                  p_ACTIVE_DATE_SECOND_TYPE IN VARCHAR_TYPE ,
704                  p_LINE_QUANTITY           IN NUMBER_TYPE ,
705                  p_LINE_UOM_CODE           IN VARCHAR_TYPE,
706                  p_REQUEST_TYPE_CODE       IN VARCHAR_TYPE,
707                  p_PRICED_QUANTITY         IN NUMBER_TYPE,
708                  p_PRICED_UOM_CODE         IN VARCHAR_TYPE,
709                  p_CURRENCY_CODE           IN VARCHAR_TYPE,
710                  p_UNIT_PRICE              IN NUMBER_TYPE,
711                  p_ADJUSTED_UNIT_PRICE     IN NUMBER_TYPE,
712                  p_UPD_ADJUSTED_UNIT_PRICE IN NUMBER_TYPE,
713                  p_UOM_QUANTITY           IN NUMBER_TYPE,
714                  p_PRICE_FLAG             IN VARCHAR_TYPE,
715                  p_LINE_ID                IN NUMBER_TYPE,
716                  p_ROUNDING_FACTOR        IN PLS_INTEGER_TYPE,
717                  p_PRICE_LIST_ID          IN NUMBER_TYPE,
718                  p_PRICE_REQUEST_CODE     IN VARCHAR_TYPE,
719 		 p_USAGE_PRICING_TYPE     IN VARCHAR_TYPE,
720                  p_LINE_CATEGORY          IN VARCHAR_TYPE,
721                  p_CONTRACT_START_DATE	  IN DATE_TYPE,
722                  p_CONTRACT_END_DATE	  IN DATE_TYPE,
723 		 p_CATCHWEIGHT_QTY	  IN NUMBER_TYPE,
724 		 p_ACTUAL_ORDER_QTY	  IN NUMBER_TYPE,
725 		 p_LIST_PRICE_OVERRIDE_FLAG IN VARCHAR_TYPE := G_LIST_PRICE_OVERRIDE_DEF_TBL,
726                  p_charge_periodicity_code  IN VARCHAR_3_TYPE := G_CHARGE_PERIODICITY_DEF_TBL,
727 		 p_SERVICE_DURATION            IN NUMBER_TYPE:=G_SERVICE_DURATION_DEF_TBL,  -- SERVICE PROJECT
728 		 p_SERVICE_PERIOD              IN VARCHAR_TYPE:=G_SERVICE_PERIOD_DEF_TBL,    -- SERVICE PROJECT
729                  x_status_code            OUT NOCOPY VARCHAR2,
730                  x_status_text            OUT NOCOPY VARCHAR2 );
731 
732 /*+----------------------------------------------------------------------
733   |Procedure Public INSERT_LINES2
734   +----------------------------------------------------------------------
735 */
736 
737 PROCEDURE INSERT_LINES2
738                 (p_LINE_INDEX              IN PLS_INTEGER_TYPE,
739                  p_LINE_TYPE_CODE          IN VARCHAR_TYPE,
740                  p_PRICING_EFFECTIVE_DATE  IN DATE_TYPE   ,
741                  p_ACTIVE_DATE_FIRST       IN DATE_TYPE   ,
742                  p_ACTIVE_DATE_FIRST_TYPE  IN VARCHAR_TYPE,
743                  p_ACTIVE_DATE_SECOND      IN DATE_TYPE   ,
744                  p_ACTIVE_DATE_SECOND_TYPE IN VARCHAR_TYPE ,
745                  p_LINE_QUANTITY           IN NUMBER_TYPE ,
746                  p_LINE_UOM_CODE           IN VARCHAR_TYPE,
747                  p_REQUEST_TYPE_CODE      IN VARCHAR_TYPE,
748                  p_PRICED_QUANTITY        IN NUMBER_TYPE,
749                  p_PRICED_UOM_CODE        IN VARCHAR_TYPE,
750                  p_CURRENCY_CODE          IN VARCHAR_TYPE,
751                  p_UNIT_PRICE             IN NUMBER_TYPE,
752                  p_PERCENT_PRICE          IN NUMBER_TYPE,
753                  p_UOM_QUANTITY           IN NUMBER_TYPE,
754                  p_ADJUSTED_UNIT_PRICE    IN NUMBER_TYPE,
755                  p_UPD_ADJUSTED_UNIT_PRICE    IN NUMBER_TYPE,
756                  p_PROCESSED_FLAG         IN VARCHAR_TYPE,
757                  p_PRICE_FLAG             IN VARCHAR_TYPE,
758                  p_LINE_ID                IN NUMBER_TYPE,
759                  p_PROCESSING_ORDER       IN PLS_INTEGER_TYPE,
760                  p_PRICING_STATUS_CODE    IN VARCHAR_TYPE,
761                  p_PRICING_STATUS_TEXT    IN VARCHAR_TYPE,
762                  p_ROUNDING_FLAG          IN FLAG_TYPE,
766                  p_PRICE_LIST_ID          IN NUMBER_TYPE,
763                  p_ROUNDING_FACTOR        IN PLS_INTEGER_TYPE,
764                  p_QUALIFIERS_EXIST_FLAG  IN VARCHAR_TYPE,
765                  p_PRICING_ATTRS_EXIST_FLAG IN VARCHAR_TYPE,
767                  p_VALIDATED_FLAG         IN VARCHAR_TYPE,
768                  p_PRICE_REQUEST_CODE     IN VARCHAR_TYPE,
769 		 p_USAGE_PRICING_TYPE     IN VARCHAR_TYPE,
770                  p_LINE_CATEGORY          IN VARCHAR_TYPE := G_LINE_CATEGORY_DEF_TBL,
771                  p_CONTRACT_START_DATE	  IN DATE_TYPE := G_CONTRACT_START_DATE_DEF_TBL, /* shulin */
772                  p_CONTRACT_END_DATE	  IN DATE_TYPE := G_CONTRACT_END_DATE_DEF_TBL, /* shulin */
773                  p_LINE_UNIT_PRICE	  IN NUMBER_TYPE := G_LINE_UNIT_PRICE_DEF_TBL, /* shu_latest */
774 		 p_CATCHWEIGHT_QTY	  IN NUMBER_TYPE := G_CATCHWEIGHT_QTY_DEF_TBL,
775 		 p_ACTUAL_ORDER_QTY	  IN NUMBER_TYPE := G_ACTUAL_ORDER_QTY_DEF_TBL,
776 		 p_LIST_PRICE_OVERRIDE_FLAG IN VARCHAR_TYPE := G_LIST_PRICE_OVERRIDE_DEF_TBL,
777                  p_charge_periodicity_code IN VARCHAR_3_TYPE := G_CHARGE_PERIODICITY_DEF_TBL,
778 		 p_SERVICE_DURATION            IN NUMBER_TYPE:=G_SERVICE_DURATION_DEF_TBL,  -- SERVICE PROJECT
779 		 p_SERVICE_PERIOD              IN VARCHAR_TYPE:=G_SERVICE_PERIOD_DEF_TBL,    -- SERVICE PROJECT
780                  x_status_code            OUT NOCOPY VARCHAR2,
781                  x_status_text            OUT NOCOPY VARCHAR2 );
782 
783 /*+----------------------------------------------------------------------
784   |Procedure Group INSERT_LINE_ATTRS2
785   +----------------------------------------------------------------------
786 */
787 
788 PROCEDURE INSERT_LINE_ATTRS2
789    (    p_LINE_INDEX_tbl                NUMBER_TYPE,
790         p_LINE_DETAIL_INDEX_tbl         pls_integer_type ,
791         p_ATTRIBUTE_TYPE_tbl            varchar_type,
792         p_CONTEXT_tbl                   varchar_type,
793         p_ATTRIBUTE_tbl                 varchar_type,
794         p_VALUE_FROM_tbl                varchar_type,
795         p_VALUE_TO_tbl                  varchar_type,
796         p_VALIDATED_FLAG_tbl            varchar_type,
797         x_status_code                   OUT NOCOPY VARCHAR2,
798         x_status_text                   OUT NOCOPY VARCHAR2);
799 
800 /*+----------------------------------------------------------------------
801   |Procedure Public INSERT_LINE_ATTRS2
802   +----------------------------------------------------------------------
803 */
804 
805 PROCEDURE INSERT_LINE_ATTRS2
806    (    p_LINE_INDEX_tbl         pls_integer_type,
807         p_LINE_DETAIL_INDEX_tbl  pls_integer_type ,
808         p_ATTRIBUTE_LEVEL_tbl    varchar_type,
809         p_ATTRIBUTE_TYPE_tbl     varchar_type,
810         p_LIST_HEADER_ID_tbl     number_type,
811         p_LIST_LINE_ID_tbl       number_type,
812         p_CONTEXT_tbl            varchar_type,
813         p_ATTRIBUTE_tbl          varchar_type,
814         p_VALUE_FROM_tbl         varchar_type,
815         p_SETUP_VALUE_FROM_tbl   varchar_type,
816         p_VALUE_TO_tbl           varchar_type,
817         p_SETUP_VALUE_TO_tbl     varchar_type,
818         p_GROUPING_NUMBER_tbl    pls_integer_type,
819         p_NO_QUALIFIERS_IN_GRP_tbl      pls_integer_type,
820         p_COMPARISON_OPERATOR_TYPE_tbl  varchar_type,
821         p_VALIDATED_FLAG_tbl            varchar_type,
822         p_APPLIED_FLAG_tbl              varchar_type,
823         p_PRICING_STATUS_CODE_tbl       varchar_type,
824         p_PRICING_STATUS_TEXT_tbl       varchar_type,
825         p_QUALIFIER_PRECEDENCE_tbl      pls_integer_type,
826         p_DATATYPE_tbl                  varchar_type,
827         p_PRICING_ATTR_FLAG_tbl         varchar_type,
828         p_QUALIFIER_TYPE_tbl            varchar_type,
829         p_PRODUCT_UOM_CODE_TBL          varchar_type,
830         p_EXCLUDER_FLAG_TBL             varchar_type ,
831         p_PRICING_PHASE_ID_TBL          pls_integer_type,
832         p_INCOMPATABILITY_GRP_CODE_TBL  varchar_type,
833         p_LINE_DETAIL_TYPE_CODE_TBL     varchar_type,
834         p_MODIFIER_LEVEL_CODE_TBL       varchar_type,
835         p_PRIMARY_UOM_FLAG_TBL          varchar_type,
836         x_status_code                   OUT NOCOPY VARCHAR2,
837         x_status_text                   OUT NOCOPY VARCHAR2);
838 
839 /*+----------------------------------------------------------------------
840   |Procedure Group INSERT_LDETS2
841   +----------------------------------------------------------------------
842 */
843 
844 PROCEDURE INSERT_LDETS2
845                 (p_LINE_DETAIL_INDEX           IN PLS_INTEGER_TYPE,
846                  p_LINE_DETAIL_TYPE_CODE       IN VARCHAR_TYPE,
847                  p_PRICE_BREAK_TYPE_CODE       IN VARCHAR_TYPE,
848                  p_LINE_INDEX                  IN NUMBER_TYPE,
849                  p_LIST_HEADER_ID              IN NUMBER_TYPE,
850                  p_LIST_LINE_ID                IN NUMBER_TYPE,
851                  p_LIST_LINE_TYPE_CODE         IN VARCHAR_TYPE,
852                  p_LIST_TYPE_CODE              IN VARCHAR_TYPE,
853                  p_PRICING_GROUP_SEQUENCE      IN PLS_INTEGER_TYPE,
854                  p_PRICING_PHASE_ID            IN PLS_INTEGER_TYPE,
855                  p_OPERAND_CALCULATION_CODE    IN VARCHAR_TYPE,
856                  p_OPERAND_VALUE               IN VARCHAR_TYPE,
857                  p_SUBSTITUTION_TYPE_CODE      IN VARCHAR_TYPE,
858                  p_SUBSTITUTION_VALUE_FROM     IN VARCHAR_TYPE,
859                  p_SUBSTITUTION_VALUE_TO       IN VARCHAR_TYPE,
860                  p_PRICE_FORMULA_ID            IN NUMBER_TYPE,
861                  p_PRODUCT_PRECEDENCE          IN PLS_INTEGER_TYPE,
862                  p_INCOMPATABLILITY_GRP_CODE   IN VARCHAR_TYPE,
863                  p_APPLIED_FLAG                IN VARCHAR_TYPE,
864                  p_AUTOMATIC_FLAG              IN VARCHAR_TYPE,
865                  p_OVERRIDE_FLAG               IN VARCHAR_TYPE,
866                  p_MODIFIER_LEVEL_CODE         IN VARCHAR_TYPE,
870 		 p_SERVICE_PERIOD	       IN VARCHAR_TYPE := G_SERVICE_PERIOD_DEF_TBL,-- SERVICE PROJECT
867                  p_BENEFIT_QTY                 IN NUMBER_TYPE,
868                  p_BENEFIT_UOM_CODE            IN VARCHAR_TYPE,
869 		 p_SERVICE_DURATION	       IN NUMBER_TYPE := G_SERVICE_DURATION_DEF_TBL, -- SERVICE PROJECT
871                  p_LIST_LINE_NO                IN VARCHAR_TYPE,
872                  p_ACCRUAL_FLAG                IN VARCHAR_TYPE,
873                  p_ACCRUAL_CONVERSION_RATE     IN NUMBER_TYPE,
874 		 p_ESTIM_ACCRUAL_RATE          IN NUMBER_TYPE,
875                  p_CHARGE_TYPE_CODE            IN VARCHAR_TYPE,
876                  p_CHARGE_SUBTYPE_CODE         IN VARCHAR_TYPE,
877 		 p_LINE_QUANTITY               IN NUMBER_TYPE,
878 		 p_UPDATED_FLAG                IN VARCHAR_TYPE,
879 		 p_CALCULATION_CODE            IN VARCHAR_TYPE,
880 		 p_CHANGE_REASON_CODE          IN VARCHAR_TYPE,
881 		 p_CHANGE_REASON_TEXT          IN VARCHAR_TYPE,
882                  p_ACCUM_CONTEXT               IN VARCHAR_TYPE, -- accum range break
883                  p_ACCUM_ATTRIBUTE             IN VARCHAR_TYPE, -- accum range break
884                  p_ACCUM_FLAG                  IN VARCHAR_TYPE, -- accum range break
885 		 p_BREAK_UOM_CODE              IN VARCHAR_TYPE, /* Proration*/
886 		 p_BREAK_UOM_CONTEXT           IN VARCHAR_TYPE, /* Proration*/
887 		 p_BREAK_UOM_ATTRIBUTE         IN VARCHAR_TYPE, /* Proration*/
888                  x_status_code                 OUT NOCOPY VARCHAR2,
889                  x_status_text                 OUT NOCOPY VARCHAR2);
890 
891 
892 /*+----------------------------------------------------------------------
893   |Procedure Public INSERT_LDETS2
894   +----------------------------------------------------------------------
895 */
896 PROCEDURE INSERT_LDETS2
897                 (p_LINE_DETAIL_index           IN PLS_INTEGER_TYPE,
898                  p_LINE_DETAIL_TYPE_CODE       IN VARCHAR_TYPE,
899                  p_PRICE_BREAK_TYPE_CODE       IN VARCHAR_TYPE,
900                  p_LIST_PRICE                  IN NUMBER_TYPE,
901                  p_LINE_INDEX                  IN PLS_INTEGER_TYPE,
902                  p_CREATED_FROM_LIST_HEADER_ID IN NUMBER_TYPE,
903                  p_CREATED_FROM_LIST_LINE_ID   IN NUMBER_TYPE,
904                  p_CREATED_FROM_LIST_LINE_TYPE IN VARCHAR_TYPE,
905                  p_CREATED_FROM_LIST_TYPE_CODE IN VARCHAR_TYPE,
906                  p_CREATED_FROM_SQL            IN VARCHAR_TYPE,
907                  p_PRICING_GROUP_SEQUENCE      IN PLS_INTEGER_TYPE,
908                  P_PRICING_PHASE_ID            IN PLS_INTEGER_TYPE,
909                  p_OPERAND_CALCULATION_CODE    IN VARCHAR_TYPE,
910                  p_OPERAND_VALUE               IN VARCHAR_TYPE,
911                  p_SUBSTITUTION_TYPE_CODE      IN VARCHAR_TYPE,
912                  p_SUBSTITUTION_VALUE_FROM     IN VARCHAR_TYPE,
913                  p_SUBSTITUTION_VALUE_TO       IN VARCHAR_TYPE,
914                  p_ASK_FOR_FLAG                IN VARCHAR_TYPE,
915                  p_PRICE_FORMULA_ID            IN NUMBER_TYPE,
916                  p_PRICING_STATUS_CODE         IN VARCHAR_TYPE,
917                  p_PRICING_STATUS_TEXT         IN VARCHAR_TYPE,
918                  p_PRODUCT_PRECEDENCE          IN PLS_INTEGER_TYPE,
919                  p_INCOMPATABLILITY_GRP_CODE   IN VARCHAR_TYPE,
920                  p_PROCESSED_FLAG              IN VARCHAR_TYPE,
921                  p_APPLIED_FLAG                IN VARCHAR_TYPE,
922                  p_AUTOMATIC_FLAG              IN VARCHAR_TYPE,
923                  p_OVERRIDE_FLAG               IN VARCHAR_TYPE,
924                  p_PRIMARY_UOM_FLAG            IN VARCHAR_TYPE,
925                  p_PRINT_ON_INVOICE_FLAG       IN VARCHAR_TYPE,
926                  p_MODIFIER_LEVEL_CODE         IN VARCHAR_TYPE,
927                  p_BENEFIT_QTY                 IN NUMBER_TYPE,
928                  p_BENEFIT_UOM_CODE            IN VARCHAR_TYPE,
929 		 p_SERVICE_DURATION	       IN NUMBER_TYPE := G_SERVICE_DURATION_DEF_TBL, -- SERVICE PROJECT
930 		 p_SERVICE_PERIOD	       IN VARCHAR_TYPE := G_SERVICE_PERIOD_DEF_TBL,-- SERVICE PROJECT
931                  p_LIST_LINE_NO                IN VARCHAR_TYPE,
932                  p_ACCRUAL_FLAG                IN VARCHAR_TYPE,
933                  p_ACCRUAL_CONVERSION_RATE     IN NUMBER_TYPE,
934 		 p_ESTIM_ACCRUAL_RATE          IN NUMBER_TYPE,
935                  p_RECURRING_FLAG              IN VARCHAR_TYPE,
936                  p_SELECTED_VOLUME_ATTR        IN VARCHAR_TYPE,
937                  p_ROUNDING_FACTOR             IN PLS_INTEGER_TYPE,
938                  p_HEADER_LIMIT_EXISTS         IN VARCHAR_TYPE,
939                  p_LINE_LIMIT_EXISTS           IN VARCHAR_TYPE,
940                  p_CHARGE_TYPE_CODE            IN VARCHAR_TYPE,
941                  p_CHARGE_SUBTYPE_CODE         IN VARCHAR_TYPE,
942                  p_CURRENCY_DETAIL_ID          IN NUMBER_TYPE := G_CURRENCY_DETAIL_ID_DEF_TBL, /*sunilpandey */
943                  p_CURRENCY_HEADER_ID          IN NUMBER_TYPE := G_CURRENCY_HEADER_ID_DEF_TBL, /*vivek */
944                  p_SELLING_ROUNDING_FACTOR     IN NUMBER_TYPE := G_SELLING_ROUNDING_DEF_TBL, /*vivek */
945                  p_ORDER_CURRENCY              IN VARCHAR_TYPE := G_ORDER_CURRENCY_DEF_TBL, /*vivek */
946                  p_PRICING_EFFECTIVE_DATE      IN DATE_TYPE := G_PRICING_EFF_DATE_DEF_TBL,/*vivek */
947                  p_BASE_CURRENCY_CODE          IN VARCHAR_TYPE := G_BASE_CURRENCY_DEF_TBL,/*vivek */
948 		 p_LINE_QUANTITY               IN NUMBER_TYPE:=G_LDET_LINE_QUANTITY_TBL,
949 		 p_UPDATED_FLAG                IN VARCHAR_TYPE := G_UPDATED_FLAG_DEF_TBL, -- begin shu, fix Bug 2599822
950 		 p_CALCULATION_CODE            IN VARCHAR_TYPE := G_CALCULATION_CODE_DEF_TBL,
951 		 p_CHANGE_REASON_CODE          IN VARCHAR_TYPE := G_CHANGE_REASON_CODE_DEF_TBL,
952 		 p_CHANGE_REASON_TEXT          IN VARCHAR_TYPE := G_CHANGE_REASON_TEXT_DEF_TBL,-- end shu,fix Bug 2599822
953 		 p_PRICE_ADJUSTMENT_ID         IN NUMBER_TYPE := G_PRICE_ADJUSTMENT_ID_DEF_TBL, -- 3099847
954                  p_ACCUM_CONTEXT               IN VARCHAR_TYPE := G_ACCUM_CONTEXT_DEF_TBL, -- accum range break
955                  p_ACCUM_ATTRIBUTE             IN VARCHAR_TYPE := G_ACCUM_ATTRIBUTE_DEF_TBL, -- accum range break
956                  p_ACCUM_FLAG                  IN VARCHAR_TYPE := G_ACCUM_FLAG_DEF_TBL, -- accum range break
957 		 p_BREAK_UOM_CODE              IN VARCHAR_TYPE := G_BREAK_UOM_CODE_DEF_TBL, /* Proration*/
958 		 p_BREAK_UOM_CONTEXT           IN VARCHAR_TYPE := G_BREAK_UOM_CONTEXT_DEF_TBL, /* Proration*/
959 		 p_BREAK_UOM_ATTRIBUTE         IN VARCHAR_TYPE := G_BREAK_UOM_ATTRIBUTE_DEF_TBL, /* Proration*/
960                  p_PROCESS_CODE                IN VARCHAR_TYPE := G_PROCESS_CODE_DEF_TBL, -- 3215497
961                  x_status_code                 OUT NOCOPY VARCHAR2,
962                  x_status_text                 OUT NOCOPY VARCHAR2);
963 
964 /*+----------------------------------------------------------------------
965   |Procedure INSERT_RLTD_LINES2 , API to direct insert relationship table, Bug 2599822
966   +----------------------------------------------------------------------
967 */
968 PROCEDURE INSERT_RLTD_LINES2 (
969               p_LINE_INDEX                  IN PLS_INTEGER_TYPE,
970               p_LINE_DETAIL_INDEX           IN PLS_INTEGER_TYPE,
971               p_RELATIONSHIP_TYPE_CODE      IN VARCHAR_TYPE,
972               p_RELATED_LINE_INDEX          IN PLS_INTEGER_TYPE,
973               p_RELATED_LINE_DETAIL_INDEX   IN PLS_INTEGER_TYPE,
974               x_status_code                 OUT NOCOPY VARCHAR2,
975               x_status_text                 OUT NOCOPY VARCHAR2,
976               p_LIST_LINE_ID                IN NUMBER_TYPE := G_LIST_LINE_ID_DEF_TBL,/*bug 3020816*/
977               p_RELATED_LIST_LINE_ID        IN NUMBER_TYPE := G_RLTD_LIST_LINE_ID_DEF_TBL, /*bug 3020816*/
978               p_PRICING_STATUS_TEXT         IN VARCHAR_TYPE := G_PRICING_STATUS_TEXT_DEF_TBL);--added by yangli for Java Engine
979 
980 -- overloaded version using NUMBER_TYPE instead of PLS_INTEGER_TYPE
981 -- for backwards compatibility with pre-11.5.10 code, Bug 3215497
982 PROCEDURE INSERT_RLTD_LINES2 (
983               p_LINE_INDEX                  IN NUMBER_TYPE,
984               p_LINE_DETAIL_INDEX           IN NUMBER_TYPE,
985               p_RELATIONSHIP_TYPE_CODE      IN VARCHAR_TYPE,
986               p_RELATED_LINE_INDEX          IN NUMBER_TYPE,
987               p_RELATED_LINE_DETAIL_INDEX   IN NUMBER_TYPE,
988               x_status_code                 OUT NOCOPY VARCHAR2,
989               x_status_text                 OUT NOCOPY VARCHAR2,
990               p_LIST_LINE_ID                IN NUMBER_TYPE := G_LIST_LINE_ID_DEF_TBL,/*bug 3020816*/
991               p_RELATED_LIST_LINE_ID        IN NUMBER_TYPE := G_RLTD_LIST_LINE_ID_DEF_TBL, /*bug 3020816*/
992               p_PRICING_STATUS_TEXT         IN VARCHAR_TYPE := G_PRICING_STATUS_TEXT_DEF_TBL);--added by yangli for Java Engine
993 
994 -- shu, wrapper to call vivek's rounding API, which update the rounding_factor in qp_preq_lines_tmp table
995 PROCEDURE UPDATE_ROUNDING_FACTOR (
996 p_mcurr_installed_used_flag	IN  VARCHAR2, -- this is needed by qp_util_pub.get_rounding_factor
997 x_status_code                   OUT NOCOPY VARCHAR2,
998 x_status_text                   OUT NOCOPY VARCHAR2);
999 
1000 --hw
1001 -- global flag for new pricing engine call for caching purpose
1002 G_NEW_PRICING_CALL				varchar2(1) := G_YES;
1003 
1004 --hw 7/27/02
1005 -- session time and redo
1006 g_total_time			number := 0;
1007 g_total_redo			number := 0;
1008 g_start_time			number := 0;
1009 g_start_redo			number := 0;
1010 
1011 PROCEDURE Set_QP_Debug;
1012 
1013 --Begin:  pattern_engine procedures for create_pattern - SMUHAMME
1014 PROCEDURE populate_segment_id(x_status_code OUT NOCOPY VARCHAR2, x_status_text OUT NOCOPY VARCHAR2);
1015 PROCEDURE create_pattern(p_pricing_phase_id NUMBER, x_status_code OUT NOCOPY VARCHAR2, x_status_text OUT NOCOPY VARCHAR2);
1016 --End:  pattern_engine procedures for create_pattern - SMUHAMME
1017 
1018 -- Start KDURGASI changes for pattern based select modifiers
1019 PROCEDURE Select_modifiers_patrn(
1020 				p_pricing_phase_id IN NUMBER,
1021 				p_freeze_override_flag IN VARCHAR2,
1022 				p_search_path IN NUMBER,
1023 				x_status_code OUT NOCOPY VARCHAR2,
1024 				x_status_text OUT NOCOPY VARCHAR2);
1025 
1026 PROCEDURE QP_EVALUATE_OTHER_OPERATORS
1027 				(p_pricing_phase_id varchar2,
1028 				p_stage varchar2,
1029 				x_status_code OUT nocopy VARCHAR2,
1030 				x_status_text OUT nocopy VARCHAR2);
1031 
1032 PROCEDURE Populate_Pat_Temp_Tables(
1033     p_pricing_phase_id     IN  NUMBER,
1034     p_stage                IN VARCHAR2,
1035     x_status_code          OUT NOCOPY VARCHAR2,
1036     x_status_text          OUT NOCOPY VARCHAR2);
1037 
1038 PROCEDURE Populate_Temp_Tables_NEQ_BTW(
1039     p_pricing_phase_id IN  NUMBER,
1040     p_stage IN VARCHAR2,
1041     x_status_code OUT NOCOPY VARCHAR2,
1042     x_status_text OUT NOCOPY VARCHAR2);
1043 
1044 -- End KDURGASI changes for pattern based select modifiers
1045 
1046 END;