[Home] [Help]
PACKAGE BODY: APPS.QP_QPXPRFOR_XMLP_PKG
Source
1 PACKAGE BODY QP_QPXPRFOR_XMLP_PKG AS
2 /* $Header: QPXPRFORB.pls 120.2 2010/11/03 16:05:45 smuhamme noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 BEGIN
6 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
7 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
8 EXCEPTION
9 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
10 /*SRW.MESSAGE(1000
11 ,'Failed in BEFORE REPORT trigger')*/NULL;
12 RETURN (FALSE);
13 END;
14 BEGIN
15 FND_MESSAGE.SET_NAME('QP'
16 ,'QP_GET_CUSTOM_PRICE');
17 P_CUSTOM_PRICE := FND_MESSAGE.GET;
18 END;
19 DECLARE
20 L_COMPANY_NAME VARCHAR2(100);
21 L_FUNCTIONAL_CURRENCY VARCHAR2(15);
22 BEGIN
23 SELECT
24 SOB.NAME,
25 SOB.CURRENCY_CODE
26 INTO L_COMPANY_NAME,L_FUNCTIONAL_CURRENCY
27 FROM
28 GL_SETS_OF_BOOKS SOB,
29 FND_CURRENCIES CUR
30 WHERE SOB.SET_OF_BOOKS_ID = P_SOB_ID
31 AND SOB.CURRENCY_CODE = CUR.CURRENCY_CODE;
32 RP_COMPANY_NAME := L_COMPANY_NAME;
33 EXCEPTION
34 WHEN NO_DATA_FOUND THEN
35 NULL;
36 END;
37 DECLARE
38 L_REPORT_NAME VARCHAR2(240);
39 BEGIN
40 SELECT
41 CP.USER_CONCURRENT_PROGRAM_NAME
42 INTO L_REPORT_NAME
43 FROM
44 FND_CONCURRENT_PROGRAMS_VL CP,
45 FND_CONCURRENT_REQUESTS CR
46 WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
47 AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
48 AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
49 RP_REPORT_NAME := L_REPORT_NAME;
50 EXCEPTION
51 WHEN NO_DATA_FOUND THEN
52 RP_REPORT_NAME := 'Pricing Formulas';
53 END;
54 RETURN (TRUE);
55 END BEFOREREPORT;
56
57 FUNCTION CF_FORMULA_TYPEFORMULA(PRICE_FORMULA_LINE_TYPE_CODE IN VARCHAR2) RETURN CHAR IS
58 L_FORMULA CHAR(80);
59 CURSOR CUR_FORMULA IS
60 SELECT
61 MEANING
62 FROM
63 QP_LOOKUPS
64 WHERE LOOKUP_TYPE = 'PRICE_FORMULA_LINE_TYPE_CODE'
65 AND LOOKUP_CODE = PRICE_FORMULA_LINE_TYPE_CODE;
66 BEGIN
67 OPEN CUR_FORMULA;
68 FETCH CUR_FORMULA
69 INTO L_FORMULA;
70 CLOSE CUR_FORMULA;
71 RETURN (L_FORMULA);
72 END CF_FORMULA_TYPEFORMULA;
73
74 FUNCTION CF_COMPONENTFORMULA(PRICE_LIST_LINE_ID IN NUMBER
75 ,PRICE_MODIFIER_LIST_ID IN NUMBER
76 ,PRICE_FORMULA_LINE_TYPE_CODE IN VARCHAR2
77 ,NUMERIC_CONSTANT IN NUMBER) RETURN CHAR IS
78 L_COMPONENT VARCHAR2(2000);
79 CURSOR CUR_PRICELIST IS
80 SELECT
81 H.NAME
82 FROM
83 QP_LIST_HEADERS_VL H,
84 QP_LIST_LINES D
85 WHERE D.LIST_LINE_ID = PRICE_LIST_LINE_ID
86 AND H.LIST_HEADER_ID = D.LIST_HEADER_ID;
87 CURSOR CUR_MODIFIER IS
88 SELECT
89 NAME
90 FROM
91 QP_LIST_HEADERS_VL
92 WHERE LIST_HEADER_ID = PRICE_MODIFIER_LIST_ID;
93 BEGIN
94 IF PRICE_FORMULA_LINE_TYPE_CODE = 'PLL' THEN
95 OPEN CUR_PRICELIST;
96 FETCH CUR_PRICELIST
97 INTO L_COMPONENT;
98 CLOSE CUR_PRICELIST;
99 ELSIF PRICE_FORMULA_LINE_TYPE_CODE = 'ML' THEN
100 OPEN CUR_MODIFIER;
101 FETCH CUR_MODIFIER
102 INTO L_COMPONENT;
103 CLOSE CUR_MODIFIER;
104 ELSIF PRICE_FORMULA_LINE_TYPE_CODE = 'NUM' THEN
105 L_COMPONENT := NUMERIC_CONSTANT;
106 ELSIF PRICE_FORMULA_LINE_TYPE_CODE = 'FUNC' THEN
107 L_COMPONENT := P_CUSTOM_PRICE;
108 END IF;
109 RETURN (L_COMPONENT);
110 END CF_COMPONENTFORMULA;
111
112 FUNCTION CF_OPERANDFORMULA(LIST_LINE_ID IN NUMBER) RETURN NUMBER IS
113 L_OPERAND NUMBER;
114 CURSOR CUR_OPERAND IS
115 SELECT
116 OPERAND
117 FROM
118 QP_LIST_LINES
119 WHERE LIST_LINE_ID = LIST_LINE_ID;
120 BEGIN
121 OPEN CUR_OPERAND;
122 FETCH CUR_OPERAND
123 INTO L_OPERAND;
124 CLOSE CUR_OPERAND;
125 RETURN (L_OPERAND);
126 END CF_OPERANDFORMULA;
127
128 FUNCTION CF_PRICING_CONTEXTFORMULA(PRICING_ATTRIBUTE_CONTEXT IN VARCHAR2
129 ,PRICING_ATTRIBUTE IN VARCHAR2) RETURN CHAR IS
130 X_ATTRIBUTE_CODE VARCHAR2(240);
131 X_SEGMENT_NAME VARCHAR2(240);
132 BEGIN
133 /*SRW.MESSAGE(1
134 ,' - in pricing_context - ')*/NULL;
135 QP_UTIL.GET_ATTRIBUTE_CODE('QP_ATTR_DEFNS_PRICING'
136 ,PRICING_ATTRIBUTE_CONTEXT
137 ,PRICING_ATTRIBUTE
138 ,X_ATTRIBUTE_CODE
139 ,X_SEGMENT_NAME);
140 /*SRW.MESSAGE(1
141 ,'segment_name = ' || X_SEGMENT_NAME)*/NULL;
142 /*SRW.MESSAGE(1
143 ,'attribute_code = ' || X_ATTRIBUTE_CODE)*/NULL;
144 RETURN (X_ATTRIBUTE_CODE);
145 END CF_PRICING_CONTEXTFORMULA;
146
147 FUNCTION CF_PRICING_CONTEXT1FORMULA(PRICING_ATTRIBUTE_CONTEXT1 IN VARCHAR2
148 ,PRICING_ATTRIBUTE1 IN VARCHAR2) RETURN CHAR IS
149 X_ATTRIBUTE_CODE VARCHAR2(240);
150 X_SEGMENT_NAME VARCHAR2(240);
151 BEGIN
152 /*SRW.MESSAGE(1
153 ,' - in pricing_context1 - ')*/NULL;
154 QP_UTIL.GET_ATTRIBUTE_CODE('QP_ATTR_DEFNS_PRICING'
155 ,PRICING_ATTRIBUTE_CONTEXT1
156 ,PRICING_ATTRIBUTE1
157 ,X_ATTRIBUTE_CODE
158 ,X_SEGMENT_NAME);
159 /*SRW.MESSAGE(1
160 ,'segment_name = ' || X_SEGMENT_NAME)*/NULL;
161 /*SRW.MESSAGE(1
162 ,'attribute_code = ' || X_ATTRIBUTE_CODE)*/NULL;
163 RETURN (X_ATTRIBUTE_CODE);
164 END CF_PRICING_CONTEXT1FORMULA;
165
166 FUNCTION AFTERREPORT RETURN BOOLEAN IS
167 BEGIN
168 BEGIN
169 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
170 EXCEPTION
171 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
172 /*SRW.MESSAGE(1
173 ,'Failed in AFTER REPORT TRIGGER')*/NULL;
174 RETURN (FALSE);
175 END;
176 RETURN (TRUE);
177 END AFTERREPORT;
178
179 FUNCTION CF_VALUE_FROMFORMULA(PRICING_ATTR_VALUE_FROM IN VARCHAR2
180 ,COMPARISON_OPERATOR_CODE IN VARCHAR2
181 ,PRICING_ATTRIBUTE_CONTEXT1 IN VARCHAR2
182 ,PRICING_ATTRIBUTE1 IN VARCHAR2) RETURN CHAR IS
183 X_ATTRIBUTE_CODE VARCHAR2(240);
184 CURSOR CUR_PRODUCT_CODE IS
185 SELECT
186 CATEGORY_NAME
187 FROM
188 QP_ITEM_CATEGORIES_V
189 WHERE CATEGORY_ID = PRICING_ATTR_VALUE_FROM
190 AND ROWNUM = 1;
191 BEGIN
192 /*SRW.MESSAGE(1
193 ,'operator code is ' || COMPARISON_OPERATOR_CODE)*/NULL;
194 IF PRICING_ATTRIBUTE_CONTEXT1 = 'ITEM' AND PRICING_ATTRIBUTE1 = 'PRICING_ATTRIBUTE2' AND COMPARISON_OPERATOR_CODE = '=' THEN
195 OPEN CUR_PRODUCT_CODE;
196 FETCH CUR_PRODUCT_CODE
197 INTO X_ATTRIBUTE_CODE;
198 CLOSE CUR_PRODUCT_CODE;
199 /*SRW.MESSAGE(1
200 ,'attribute code calculated is ' || X_ATTRIBUTE_CODE)*/NULL;
201 RETURN (X_ATTRIBUTE_CODE);
202 END IF;
203 X_ATTRIBUTE_CODE := '' || PRICING_ATTR_VALUE_FROM;
204 /*SRW.MESSAGE(1
205 ,'attribute code calculated is ' || X_ATTRIBUTE_CODE)*/NULL;
206 RETURN X_ATTRIBUTE_CODE;
207 END CF_VALUE_FROMFORMULA;
208
209 FUNCTION RP_REPORT_NAME_P RETURN VARCHAR2 IS
210 BEGIN
211 RETURN RP_REPORT_NAME;
212 END RP_REPORT_NAME_P;
213
214 FUNCTION RP_COMPANY_NAME_P RETURN VARCHAR2 IS
215 BEGIN
216 RETURN RP_COMPANY_NAME;
217 END RP_COMPANY_NAME_P;
218
219 END QP_QPXPRFOR_XMLP_PKG;