DBA Data[Home] [Help]

PACKAGE BODY: APPS.BOM_CSTRPICR_XMLP_PKG

Source


1 PACKAGE BODY BOM_CSTRPICR_XMLP_PKG AS
2 /* $Header: CSTRPICRB.pls 120.1 2008/01/06 11:27:49 nchinnam noship $ */
3   FUNCTION AFTERREPORT RETURN BOOLEAN IS
4   BEGIN
5     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
6     EXECUTE IMMEDIATE
7       'ROLLBACK';
8     /*SRW.MESSAGE(0
9                ,'BOM_CSTRPICR_XMLP_PKG >>     ' || TO_CHAR(SYSDATE
10                       ,'Dy Mon DD HH24:MI:SS YYYY'))*/NULL;
11     RETURN (TRUE);
12   END AFTERREPORT;
13   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
14   BEGIN
15     DECLARE
16       L_FCN_CURRENCY VARCHAR2(15);
17       L_REPORT_NAME VARCHAR2(80);
18       SQL_STMT_NUM VARCHAR2(5);
19     BEGIN
20       SQL_STMT_NUM := '0: ';
21       P_EXCHANGE_RATE := FND_NUMBER.CANONICAL_TO_NUMBER(P_EXCHANGE_RATE_CHAR);
22       SQL_STMT_NUM := '1: ';
23       IF P_VIEW_COST <> 1 THEN
24         FND_MESSAGE.SET_NAME('null'
25                             ,'null');
26         /*SRW.USER_EXIT('FND MESSAGE_DISPLAY')*/NULL;
27         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
28       END IF;
29       SQL_STMT_NUM := '3: ';
30       SQL_STMT_NUM := '4: ';
31       SELECT
32         XFI.NAME,
33         GLL.CURRENCY_CODE
34       INTO P_LEGAL_ENTITY,L_FCN_CURRENCY
35       FROM
36         XLE_FIRSTPARTY_INFORMATION_V XFI,
37         GL_LEDGER_LE_V GLL
38       WHERE XFI.LEGAL_ENTITY_ID = P_LEGAL_ENTITY_ID
39         AND GLL.LEGAL_ENTITY_ID = XFI.LEGAL_ENTITY_ID
40         AND GLL.RELATIONSHIP_ENABLED_FLAG = 'Y'
41         AND GLL.LEDGER_CATEGORY_CODE = 'PRIMARY';
42       SQL_STMT_NUM := '5: ';
43       SELECT
44         NVL(FC.EXTENDED_PRECISION
45            ,PRECISION),
46         NVL(FC.PRECISION
47            ,0),
48         NVL(MINIMUM_ACCOUNTABLE_UNIT
49            ,POWER(10
50                 ,NVL(-PRECISION
51                    ,0)))
52       INTO P_EXT_PREC,P_PRECISION,ROUND_UNIT
53       FROM
54         FND_CURRENCIES FC
55       WHERE FC.CURRENCY_CODE = P_CURRENCY_CODE;
56       SQL_STMT_NUM := '6: ';
57       SELECT
58         MCS.CATEGORY_SET_NAME
59       INTO P_CAT_SET_NAME
60       FROM
61         MTL_CATEGORY_SETS MCS
62       WHERE MCS.CATEGORY_SET_ID = P_CATEGORY_SET;
63       SQL_STMT_NUM := '7: ';
64       SELECT
65         LU.MEANING
66       INTO P_DETAIL_LEVEL
67       FROM
68         MFG_LOOKUPS LU
69       WHERE LU.LOOKUP_TYPE = 'CST_BICR_DETAIL_OPTION'
70         AND LU.LOOKUP_CODE = P_RPT_OPTION;
71       SQL_STMT_NUM := '8: ';
72       SELECT
73         USERENV('SESSIONID')
74       INTO P_SESSIONID
75       FROM
76         DUAL;
77       SQL_STMT_NUM := '9: ';
78       SELECT
79         CT.COST_TYPE
80       INTO P_COST_TYPE
81       FROM
82         CST_COST_TYPES CT
83       WHERE CT.COST_TYPE_ID = P_COST_TYPE_ID;
84       SQL_STMT_NUM := '10: ';
85       SELECT
86         CCG.COST_GROUP
87       INTO P_COST_GROUP
88       FROM
89         CST_COST_GROUPS CCG
90       WHERE CCG.COST_GROUP_ID = P_COST_GROUP_ID
91         AND CCG.COST_GROUP_TYPE = 2;
92       SQL_STMT_NUM := '12: ';
93       SELECT
94         PERIOD_NAME
95       INTO P_PERIOD_NAME
96       FROM
97         CST_PAC_PERIODS
98       WHERE PAC_PERIOD_ID = P_PERIOD_ID
99         AND LEGAL_ENTITY = P_LEGAL_ENTITY_ID
100         AND COST_TYPE_ID = P_COST_TYPE_ID;
101       SQL_STMT_NUM := '13: ';
102       SELECT
103         MEANING
104       INTO P_SORT_BY
105       FROM
106         MFG_LOOKUPS
107       WHERE LOOKUP_TYPE = 'CST_ITEM_REPORT_SORT'
108         AND LOOKUP_CODE = P_SORT_OPTION;
109 	 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
110       IF P_CONC_REQUEST_ID > 0 THEN
111         SELECT
112           USER_CONCURRENT_PROGRAM_NAME
113         INTO P_REPORT_NAME
114         FROM
115           FND_CONCURRENT_PROGRAMS_TL
116         WHERE LANGUAGE = USERENV('LANG')
117           AND CONCURRENT_PROGRAM_ID IN (
118           SELECT
119             P.CONCURRENT_PROGRAM_ID
120           FROM
121             FND_CONCURRENT_PROGRAMS P,
122             FND_CONCURRENT_REQUESTS R
123           WHERE R.REQUEST_ID = P_CONC_REQUEST_ID
124             AND P.APPLICATION_ID = R.PROGRAM_APPLICATION_ID
125             AND P.CONCURRENT_PROGRAM_ID = R.CONCURRENT_PROGRAM_ID );
126       ELSE
127         SELECT
128           USER_CONCURRENT_PROGRAM_NAME
129         INTO P_REPORT_NAME
130         FROM
131           FND_CONCURRENT_PROGRAMS_TL
132         WHERE LANGUAGE = USERENV('LANG')
133           AND CONCURRENT_PROGRAM_ID IN (
134           SELECT
135             CONCURRENT_PROGRAM_ID
136           FROM
137             FND_CONCURRENT_PROGRAMS P
138           WHERE P.APPLICATION_ID = 702
139             AND P.CONCURRENT_PROGRAM_NAME = 'BOM_CSTRPICR_XMLP_PKG' );
140       END IF;
141       SQL_STMT_NUM := '14: ';
142       IF L_FCN_CURRENCY = P_CURRENCY_CODE THEN
143         P_CURRENCY_DSP := P_CURRENCY_CODE;
144       ELSE
145         P_CURRENCY_DSP := P_CURRENCY_CODE || ' @ ' || TO_CHAR(ROUND(1 / P_EXCHANGE_RATE
146                                        ,5)) || L_FCN_CURRENCY;
147       END IF;
148       SQL_STMT_NUM := '15: ';
149       BEGIN
150 
151         /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
152       EXCEPTION
153         WHEN OTHERS THEN
154           /*SRW.MESSAGE(999
155                      ,'FND SRWINIT >X')*/NULL;
156           RAISE;
157       END;
158       BEGIN
159         NULL;
160       EXCEPTION
161         WHEN OTHERS THEN
162           /*SRW.MESSAGE(999
163                      ,'FND FLEXSQL(MCAT) >X')*/NULL;
164           RAISE;
165       END;
166       BEGIN
167         NULL;
168       EXCEPTION
169         WHEN OTHERS THEN
170           /*SRW.MESSAGE(999
171                      ,'FND FLEXSQL(MSTK) >X')*/NULL;
172           RAISE;
173       END;
174       /*SRW.MESSAGE(0
175                  ,'BOM_CSTRPICR_XMLP_PKG <<     ' || TO_CHAR(SYSDATE
176                         ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
177     EXCEPTION
178       WHEN OTHERS THEN
179         /*SRW.MESSAGE(999
180                    ,SQL_STMT_NUM || SQLERRM)*/NULL;
181         /*SRW.MESSAGE(999
182                    ,'BOM_CSTRPICR_XMLP_PKG >X     ' || TO_CHAR(SYSDATE
183                           ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
184         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
185     END;
186     RETURN (TRUE);
187   END BEFOREREPORT;
188   FUNCTION BEFOREPFORM RETURN BOOLEAN IS
189   BEGIN
190     RETURN (TRUE);
191   END BEFOREPFORM;
192   FUNCTION IC_REP_TOTAL_RFORMULA(IC_REP_TOTAL IN NUMBER) RETURN NUMBER IS
193     IC_REP_TOTAL_R NUMBER;
194   BEGIN
195     IC_REP_TOTAL_R := ROUND(IC_REP_TOTAL / ROUND_UNIT) * ROUND_UNIT;
196     RETURN IC_REP_TOTAL_R;
197   END IC_REP_TOTAL_RFORMULA;
198   FUNCTION IC_ORDERFORMULA(IC_CATEGORY IN VARCHAR2
199                           ,IC_CATEGORY_SEGMENT IN VARCHAR2
200                           ,IC_CAT_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
201   BEGIN
202     /*SRW.REFERENCE(IC_CATEGORY)*/NULL;
203     /*SRW.REFERENCE(IC_CATEGORY_SEGMENT)*/NULL;
204     /*SRW.REFERENCE(IC_CAT_PSEG)*/NULL;
205     IF P_SORT_OPTION = 2 THEN
206       RETURN (IC_CAT_PSEG);
207     ELSE
208       RETURN ('Item Sort');
209     END IF;
210     RETURN NULL;
211   END IC_ORDERFORMULA;
212   FUNCTION IC_CAT_TOTAL_RFORMULA(IC_CAT_TOTAL IN NUMBER) RETURN NUMBER IS
213     IC_CAT_TOTAL_R NUMBER;
214   BEGIN
215     IC_CAT_TOTAL_R := ROUND(IC_CAT_TOTAL / ROUND_UNIT) * ROUND_UNIT;
216     RETURN IC_CAT_TOTAL_R;
217   END IC_CAT_TOTAL_RFORMULA;
218   FUNCTION IC_ITEM_PSEGFORMULA(IC_ITEM_NUMBER IN VARCHAR2
219                               ,IC_ITEM_SEGMENT IN VARCHAR2
220                               ,IC_ITEM_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
221   BEGIN
222     /*SRW.REFERENCE(IC_ITEM_NUMBER)*/NULL;
223     /*SRW.REFERENCE(IC_ITEM_SEGMENT)*/NULL;
224     RETURN (IC_ITEM_PSEG);
225   END IC_ITEM_PSEGFORMULA;
226   FUNCTION IC_CAT_PSEGFORMULA(IC_CATEGORY IN VARCHAR2
227                              ,IC_CATEGORY_SEGMENT IN VARCHAR2
228                              ,IC_CAT_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
229   BEGIN
230     /*SRW.REFERENCE(IC_CATEGORY)*/NULL;
231     /*SRW.REFERENCE(IC_CATEGORY_SEGMENT)*/NULL;
232     RETURN (IC_CAT_PSEG);
233   END IC_CAT_PSEGFORMULA;
234   FUNCTION IC_TOTAL_COST_RFORMULA(IC_TOTAL_COST IN NUMBER) RETURN NUMBER IS
235     IC_TOTAL_COST_R NUMBER;
236   BEGIN
237     IC_TOTAL_COST_R := STANDARD.ROUND(IC_TOTAL_COST / ROUND_UNIT
238                                      ,0) * ROUND_UNIT;
239     RETURN IC_TOTAL_COST_R;
240   END IC_TOTAL_COST_RFORMULA;
241   FUNCTION IC_MATL_COST_RFORMULA(IC_MATL_COST IN NUMBER) RETURN NUMBER IS
242     IC_MATL_COST_R NUMBER;
243   BEGIN
244     IC_MATL_COST_R := ROUND(IC_MATL_COST / ROUND_UNIT) * ROUND_UNIT;
245     RETURN IC_MATL_COST_R;
246   END IC_MATL_COST_RFORMULA;
247   FUNCTION IC_MO_COST_RFORMULA(IC_MO_COST IN NUMBER) RETURN NUMBER IS
248     IC_MO_COST_R NUMBER;
249   BEGIN
250     IC_MO_COST_R := ROUND(IC_MO_COST / ROUND_UNIT) * ROUND_UNIT;
251     RETURN IC_MO_COST_R;
252   END IC_MO_COST_RFORMULA;
253   FUNCTION IC_RES_COST_RFORMULA(IC_RES_COST IN NUMBER) RETURN NUMBER IS
254     IC_RES_COST_R NUMBER;
255   BEGIN
256     IC_RES_COST_R := ROUND(IC_RES_COST / ROUND_UNIT) * ROUND_UNIT;
257     RETURN IC_RES_COST_R;
258   END IC_RES_COST_RFORMULA;
259   FUNCTION IC_OVHD_COST_RFORMULA(IC_OVHD_COST IN NUMBER) RETURN NUMBER IS
260     IC_OVHD_COST_R NUMBER;
261   BEGIN
262     IC_OVHD_COST_R := ROUND(IC_OVHD_COST / ROUND_UNIT) * ROUND_UNIT;
263     RETURN IC_OVHD_COST_R;
264   END IC_OVHD_COST_RFORMULA;
265   FUNCTION IC_OSP_COST_RFORMULA(IC_OSP_COST IN NUMBER) RETURN NUMBER IS
266     IC_OSP_COST_R NUMBER;
267   BEGIN
268     IC_OSP_COST_R := ROUND(IC_OSP_COST / ROUND_UNIT) * ROUND_UNIT;
269     RETURN IC_OSP_COST_R;
270   END IC_OSP_COST_RFORMULA;
271   FUNCTION IC_TOT_MATL_COST_RFORMULA(IC_TOT_MATL_COST IN NUMBER) RETURN NUMBER IS
272     IC_TOT_MATL_COST_R NUMBER;
273   BEGIN
274     IC_TOT_MATL_COST_R := ROUND(IC_TOT_MATL_COST / ROUND_UNIT) * ROUND_UNIT;
275     RETURN IC_TOT_MATL_COST_R;
276   END IC_TOT_MATL_COST_RFORMULA;
277   FUNCTION IC_TOT_MO_COST_RFORMULA(IC_TOT_MO_COST IN NUMBER) RETURN NUMBER IS
278     IC_TOT_MO_COST_R NUMBER;
279   BEGIN
280     IC_TOT_MO_COST_R := ROUND(IC_TOT_MO_COST / ROUND_UNIT) * ROUND_UNIT;
281     RETURN IC_TOT_MO_COST_R;
282   END IC_TOT_MO_COST_RFORMULA;
283   FUNCTION IC_TOT_RES_COST_RFORMULA(IC_TOT_RES_COST IN NUMBER) RETURN NUMBER IS
284     IC_TOT_RES_COST_R NUMBER;
285   BEGIN
286     IC_TOT_RES_COST_R := ROUND(IC_TOT_RES_COST / ROUND_UNIT) * ROUND_UNIT;
287     RETURN IC_TOT_RES_COST_R;
288   END IC_TOT_RES_COST_RFORMULA;
289   FUNCTION IC_TOT_OVHD_COST_RFORMULA(IC_TOT_OVHD_COST IN NUMBER) RETURN NUMBER IS
290     IC_TOT_OVHD_COST_R NUMBER;
291   BEGIN
292     IC_TOT_OVHD_COST_R := ROUND(IC_TOT_OVHD_COST / ROUND_UNIT) * ROUND_UNIT;
293     RETURN IC_TOT_OVHD_COST_R;
294   END IC_TOT_OVHD_COST_RFORMULA;
295   FUNCTION IC_TOT_OSP_COST_RFORMULA(IC_TOT_OSP_COST IN NUMBER) RETURN NUMBER IS
296     IC_TOT_OSP_COST_R NUMBER;
297   BEGIN
298     IC_TOT_OSP_COST_R := ROUND(IC_TOT_OSP_COST / ROUND_UNIT) * ROUND_UNIT;
299     RETURN IC_TOT_OSP_COST_R;
300   END IC_TOT_OSP_COST_RFORMULA;
301   FUNCTION P_LEGAL_ENTITYVALIDTRIGGER RETURN BOOLEAN IS
302   BEGIN
303     RETURN (TRUE);
304   END P_LEGAL_ENTITYVALIDTRIGGER;
305   FUNCTION P_CAT_NUMVALIDTRIGGER RETURN BOOLEAN IS
306   BEGIN
307     RETURN (TRUE);
308   END P_CAT_NUMVALIDTRIGGER;
309   FUNCTION P_DETAIL_LEVELVALIDTRIGGER RETURN BOOLEAN IS
310   BEGIN
311     RETURN (TRUE);
312   END P_DETAIL_LEVELVALIDTRIGGER;
313   FUNCTION P_PERIOD_IDVALIDTRIGGER RETURN BOOLEAN IS
314   BEGIN
315     RETURN (TRUE);
316   END P_PERIOD_IDVALIDTRIGGER;
317   FUNCTION P_SORT_BYVALIDTRIGGER RETURN BOOLEAN IS
318   BEGIN
319     RETURN (TRUE);
320   END P_SORT_BYVALIDTRIGGER;
321   FUNCTION CF_RCV_VALUEFORMULA(CS_IC_QUANTITY_TOTAL2 IN NUMBER
322                               ,CS_ACQUISITION_COST2 IN NUMBER) RETURN NUMBER IS
323   BEGIN
324     RETURN (NVL(CS_IC_QUANTITY_TOTAL2
325               ,0) * NVL(CS_ACQUISITION_COST2
326               ,0));
327   END CF_RCV_VALUEFORMULA;
328   FUNCTION CF_TOTAL_VALUEFORMULA(CF_RCV_VALUE IN NUMBER
329                                 ,IC_TOTAL_COST_R IN NUMBER) RETURN NUMBER IS
330   BEGIN
331     RETURN (NVL(CF_RCV_VALUE
332               ,0) + NVL(IC_TOTAL_COST_R
333               ,0));
334   END CF_TOTAL_VALUEFORMULA;
335   FUNCTION IC_ACQUISITION_COST_RFORMULA(IC_ACQUISITION_COST IN NUMBER) RETURN NUMBER IS
336     IC_ACQUISITION_COST_R NUMBER;
337   BEGIN
338     IC_ACQUISITION_COST_R := STANDARD.ROUND(IC_ACQUISITION_COST / ROUND_UNIT
339                                            ,0) * ROUND_UNIT;
340     RETURN IC_ACQUISITION_COST_R;
341   END IC_ACQUISITION_COST_RFORMULA;
342   FUNCTION IC_VALUE_RFORMULA(IC_VALUE IN NUMBER) RETURN NUMBER IS
343     IC_VALUE_R NUMBER;
344   BEGIN
345     IC_VALUE_R := STANDARD.ROUND(IC_VALUE / ROUND_UNIT
346                                 ,0) * ROUND_UNIT;
347     RETURN IC_VALUE_R;
348   END IC_VALUE_RFORMULA;
349   FUNCTION CF_IC_VALUE_TOTAL2_RFORMULA(CS_IC_VALUE_TOTAL2 IN NUMBER) RETURN NUMBER IS
350     CF_IC_VALUE_TOTAL2_R NUMBER;
351   BEGIN
352     CF_IC_VALUE_TOTAL2_R := STANDARD.ROUND(CS_IC_VALUE_TOTAL2 / ROUND_UNIT
353                                           ,0) * ROUND_UNIT;
354     RETURN CF_IC_VALUE_TOTAL2_R;
355   END CF_IC_VALUE_TOTAL2_RFORMULA;
356   FUNCTION CF_ACQUISITION_COST2_RFORMULA(CS_ACQUISITION_COST2 IN NUMBER) RETURN NUMBER IS
357     CF_ACQUISITION_COST2_R NUMBER;
358   BEGIN
359     CF_ACQUISITION_COST2_R := STANDARD.ROUND(CS_ACQUISITION_COST2 / ROUND_UNIT
360                                             ,0) * ROUND_UNIT;
361     RETURN CF_ACQUISITION_COST2_R;
362   END CF_ACQUISITION_COST2_RFORMULA;
363   FUNCTION CF_RCV_VALUE_RFORMULA(CF_RCV_VALUE IN NUMBER) RETURN NUMBER IS
364     CF_RCV_VALUE_R NUMBER;
365   BEGIN
366     CF_RCV_VALUE_R := STANDARD.ROUND(CF_RCV_VALUE / ROUND_UNIT
367                                     ,0) * ROUND_UNIT;
368     RETURN CF_RCV_VALUE_R;
369   END CF_RCV_VALUE_RFORMULA;
370   FUNCTION CF_TOTAL_VALUE_RFORMULA(CF_TOTAL_VALUE IN NUMBER) RETURN NUMBER IS
371     CF_TOTAL_VALUE_R NUMBER;
372   BEGIN
373     CF_TOTAL_VALUE_R := STANDARD.ROUND(CF_TOTAL_VALUE / ROUND_UNIT
374                                       ,0) * ROUND_UNIT;
375     RETURN CF_TOTAL_VALUE_R;
376   END CF_TOTAL_VALUE_RFORMULA;
377 END BOM_CSTRPICR_XMLP_PKG;
378