[Home] [Help]
PACKAGE BODY: APPS.BOM_CSTRIRVW_XMLP_PKG
Source
1 PACKAGE BODY BOM_CSTRIRVW_XMLP_PKG AS
2 /* $Header: CSTRIRVWB.pls 120.1 2008/01/06 07:33:12 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_CSTRIRVW_XMLP_PKG >> ' || TO_CHAR(SYSDATE
10 ,'Dy Mon DD HH24:MI:SS YYYY'))*/NULL;
11 RETURN (TRUE);
12 END AFTERREPORT;
13
14 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
15 BEGIN
16 DECLARE
17 L_FCN_CURRENCY VARCHAR2(15);
18 L_REPORT_NAME VARCHAR2(80);
19 SQL_STMT_NUM VARCHAR2(5);
20 L_EXP_SUB NUMBER := P_EXP_SUB;
21 L_MSG_COUNT NUMBER;
22 L_MSG_DATA VARCHAR2(8000);
23 L_RETURN_STATUS VARCHAR2(1);
24 L_AS_OF_DATE VARCHAR2(30);
25 L_CST_INV_VAL EXCEPTION;
26 BEGIN
27 SQL_STMT_NUM := '0: ';
28 P_EXCHANGE_RATE := FND_NUMBER.CANONICAL_TO_NUMBER(P_EXCHANGE_RATE_CHAR);
29 --added as fix
30 qty_precision:=bom_common_xmlp_pkg.get_precision(P_qty_precision);
31
32 SQL_STMT_NUM := '2: ';
33 IF P_VIEW_COST <> 1 THEN
34 FND_MESSAGE.SET_NAME('null'
35 ,'null');
36 /*SRW.USER_EXIT('FND MESSAGE_DISPLAY')*/NULL;
37 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
38 END IF;
39 SQL_STMT_NUM := '4: ';
40 SELECT
41 O.ORGANIZATION_NAME,
42 MP.COST_ORGANIZATION_ID,
43 SOB.CURRENCY_CODE,
44 NVL(EXTENDED_PRECISION
45 ,PRECISION),
46 NVL(FC.PRECISION
47 ,0),
48 NVL(MINIMUM_ACCOUNTABLE_UNIT
49 ,POWER(10
50 ,NVL(-PRECISION
51 ,0))),
52 MCS.CATEGORY_SET_NAME,
53 DEFAULT_COST_TYPE_ID,
54 COST_TYPE,
55 LU2.MEANING,
56 USERENV('SESSIONID')
57 INTO P_ORGANIZATION,P_COST_ORG_ID,L_FCN_CURRENCY,P_EXT_PREC,P_PRECISION,ROUND_UNIT,P_CAT_SET_NAME,P_DEF_COST_TYPE,P_COST_TYPE,P_DETAIL_LEVEL,P_SESSIONID
58 FROM
59 ORG_ORGANIZATION_DEFINITIONS O,
60 MTL_PARAMETERS MP,
61 GL_SETS_OF_BOOKS SOB,
62 FND_CURRENCIES FC,
63 MTL_CATEGORY_SETS MCS,
64 CST_COST_TYPES,
65 MFG_LOOKUPS LU2
66 WHERE FC.CURRENCY_CODE = P_CURRENCY_CODE
67 AND O.ORGANIZATION_ID = P_ORG_ID
68 AND MP.ORGANIZATION_ID = P_ORG_ID
69 AND SOB.SET_OF_BOOKS_ID = O.SET_OF_BOOKS_ID
70 AND MCS.CATEGORY_SET_ID = P_CATEGORY_SET
71 AND COST_TYPE_ID = P_COST_TYPE_ID
72 AND LU2.LOOKUP_TYPE = 'CST_BICR_DETAIL_OPTION'
73 AND LU2.LOOKUP_CODE = P_RPT_OPTION;
74 BEGIN
75 qty_precision1:=bom_common_xmlp_pkg.get_precision(P_EXT_PREC);
76 SELECT
77 MEANING
78 INTO P_SORT_BY
79 FROM
80 MFG_LOOKUPS
81 WHERE LOOKUP_TYPE = 'CST_ITEM_REPORT_SORT'
82 AND LOOKUP_CODE = P_SORT_OPTION;
83 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
84 IF P_CONC_REQUEST_ID > 0 THEN
85 SELECT
86 USER_CONCURRENT_PROGRAM_NAME
87 INTO P_REPORT_NAME
88 FROM
89 FND_CONCURRENT_PROGRAMS_VL P,
90 FND_CONCURRENT_REQUESTS R
91 WHERE R.REQUEST_ID = P_CONC_REQUEST_ID
92 AND P.APPLICATION_ID = R.PROGRAM_APPLICATION_ID
93 AND P.CONCURRENT_PROGRAM_ID = R.CONCURRENT_PROGRAM_ID;
94 ELSE
95 SELECT
96 USER_CONCURRENT_PROGRAM_NAME
97 INTO P_REPORT_NAME
98 FROM
99 FND_CONCURRENT_PROGRAMS_VL P
100 WHERE P.APPLICATION_ID = 702
101 AND P.CONCURRENT_PROGRAM_NAME = DECODE(P_SORT_OPTION
102 ,4
103 ,'CSTRCGVW'
104 ,'BOM_CSTRIRVW_XMLP_PKG');
105 END IF;
106 EXCEPTION
107 WHEN NO_DATA_FOUND THEN
108 NULL;
109 WHEN OTHERS THEN
110 RAISE;
111 END;
112 SQL_STMT_NUM := '8: ';
113 IF L_FCN_CURRENCY = P_CURRENCY_CODE THEN
114 P_CURRENCY_DSP := P_CURRENCY_CODE;
115 ELSE
116 P_CURRENCY_DSP := P_CURRENCY_CODE || ' @ ' || TO_CHAR(ROUND(1 / P_EXCHANGE_RATE
117 ,5)) || L_FCN_CURRENCY;
118 END IF;
119 SQL_STMT_NUM := '9: ';
120 IF P_SORT_OPTION = 4 THEN
121 /*SRW.SET_MAXROW('Q_IC_MAIN'
122 ,0)*/NULL;
123 /*SRW.SET_MAXROW('Q_CG_COSTGROUP'
124 ,0)*/NULL;
125 /*SRW.SET_MAXROW('Q_CG_MAIN'
126 ,0)*/NULL;
127 L_EXP_SUB := 2;
128 ELSIF P_SORT_OPTION = 8 THEN
129 /*SRW.SET_MAXROW('Q_IC_MAIN'
130 ,0)*/NULL;
131 ELSE
132 /*SRW.SET_MAXROW('Q_CG_COSTGROUP'
133 ,0)*/NULL;
134 /*SRW.SET_MAXROW('Q_CG_MAIN'
135 ,0)*/NULL;
136 END IF;
137 BEGIN
138
139 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
140 EXCEPTION
141 WHEN OTHERS THEN
142 /*SRW.MESSAGE(999
143 ,'FND SRWINIT >X')*/NULL;
144 RAISE;
145 END;
146 BEGIN
147 NULL;
148 EXCEPTION
149 WHEN OTHERS THEN
150 /*SRW.MESSAGE(999
151 ,'FND FLEXSQL(MCAT) >X')*/NULL;
152 RAISE;
153 END;
154 BEGIN
155 NULL;
156 EXCEPTION
157 WHEN OTHERS THEN
158 /*SRW.MESSAGE(999
159 ,'FND FLEXSQL(MSTK) >X')*/NULL;
160 RAISE;
161 END;
162 SQL_STMT_NUM := '10: ';
163 CST_INVENTORY_PUB.CALCULATE_INVENTORYVALUE(P_API_VERSION => 1.0
164 ,P_INIT_MSG_LIST => CST_UTILITY_PUB.GET_TRUE
165 ,P_ORGANIZATION_ID => P_ORG_ID
166 ,P_ONHAND_VALUE => 1
167 ,P_INTRANSIT_VALUE => 1
168 ,P_RECEIVING_VALUE => 0
169 ,P_VALUATION_DATE => TO_DATE(P_AS_OF_DATE
170 ,'YYYY/MM/DD HH24:MI:SS')
171 ,P_COST_TYPE_ID => P_COST_TYPE_ID
172 ,P_ITEM_FROM => P_ITEM_FROM
173 ,P_ITEM_TO => P_ITEM_TO
174 ,P_CATEGORY_SET_ID => P_CATEGORY_SET
175 ,P_CATEGORY_FROM => P_CAT_FROM
176 ,P_CATEGORY_TO => P_CAT_TO
177 ,P_COST_GROUP_FROM => P_CG_FROM
178 ,P_COST_GROUP_TO => P_CG_TO
179 ,P_SUBINVENTORY_FROM => NULL
180 ,P_SUBINVENTORY_TO => NULL
181 ,P_QTY_BY_REVISION => P_ITEM_REVISION
182 ,P_ZERO_COST_ONLY => P_ZERO_COST
183 ,P_ZERO_QTY => P_ZERO_QTY
184 ,P_EXPENSE_ITEM => P_EXP_ITEM
185 ,P_EXPENSE_SUB => L_EXP_SUB
186 ,P_UNVALUED_TXNS => P_UNCOSTED_TXN
187 ,P_RECEIPT => 1
188 ,P_SHIPMENT => 1
189 ,X_RETURN_STATUS => L_RETURN_STATUS
190 ,X_MSG_COUNT => L_MSG_COUNT
191 ,X_MSG_DATA => L_MSG_DATA);
192 IF L_RETURN_STATUS <> CST_UTILITY_PUB.GET_RET_STS_SUCCESS THEN
193 RAISE L_CST_INV_VAL;
194 END IF;
195 FND_MSG_PUB.COUNT_AND_GET(P_ENCODED => CST_UTILITY_PUB.GET_FALSE
196 ,P_COUNT => L_MSG_COUNT
197 ,P_DATA => L_MSG_DATA);
198 IF (L_MSG_COUNT > 0) THEN
199 FOR i IN 1 .. L_MSG_COUNT LOOP
200 L_MSG_DATA := FND_MSG_PUB.GET(I
201 ,CST_UTILITY_PUB.GET_FALSE);
202 FND_FILE.PUT_LINE(CST_UTILITY_PUB.GET_LOG
203 ,I || '-' || L_MSG_DATA);
204 END LOOP;
205 END IF;
206 SELECT
207 TO_CHAR(TO_DATE(P_AS_OF_DATE
208 ,'YYYY/MM/DD HH24:MI:SS')
209 ,'DD-MON-YYYY HH24:MI:SS')
210 INTO L_AS_OF_DATE
211 FROM
212 DUAL;
213 -- P_AS_OF_DATE := L_AS_OF_DATE;
214 P_AS_OF_DATE1 := L_AS_OF_DATE;
215 /*SRW.MESSAGE(0
216 ,'BOM_CSTRIRVW_XMLP_PKG << ' || TO_CHAR(SYSDATE
217 ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
218 EXCEPTION
219 WHEN OTHERS THEN
220 /*SRW.MESSAGE(999
221 ,SQL_STMT_NUM || SQLERRM)*/NULL;
222 /*SRW.MESSAGE(999
223 ,'BOM_CSTRIRVW_XMLP_PKG >X ' || TO_CHAR(SYSDATE
224 ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
225 FND_MSG_PUB.COUNT_AND_GET(P_ENCODED => CST_UTILITY_PUB.GET_FALSE
226 ,P_COUNT => L_MSG_COUNT
227 ,P_DATA => L_MSG_DATA);
228 IF (L_MSG_COUNT > 0) THEN
229 FOR i IN 1 .. L_MSG_COUNT LOOP
230 L_MSG_DATA := FND_MSG_PUB.GET(I
231 ,CST_UTILITY_PUB.GET_FALSE);
232 /*SRW.MESSAGE(999
233 ,I || ': ' || L_MSG_DATA)*/NULL;
234 END LOOP;
235 END IF;
236 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
237 END;
238 RETURN (TRUE);
239 END BEFOREREPORT;
240
241 FUNCTION IC_ROWCOUNTFORMULA(IC_QUANTITY IN NUMBER) RETURN NUMBER IS
242 BEGIN
243 IF P_ZERO_QTY = 1 AND P_NEG_QTY = 1 AND IC_QUANTITY <= 0 THEN
244 RETURN (1);
245 ELSIF P_ZERO_QTY = 2 AND P_NEG_QTY = 1 AND IC_QUANTITY < 0 THEN
246 RETURN (1);
247 ELSIF P_ZERO_QTY = 2 AND P_NEG_QTY = 2 AND IC_QUANTITY <> 0 THEN
248 RETURN (1);
249 ELSIF P_ZERO_QTY = 1 AND P_NEG_QTY = 2 THEN
250 RETURN (1);
251 ELSE
252 RETURN (0);
253 END IF;
254 RETURN NULL;
255 END IC_ROWCOUNTFORMULA;
256
257 FUNCTION IC_TOTAL1FORMULA(IC_QUANTITY IN NUMBER
258 ,IC_TOTAL IN NUMBER) RETURN NUMBER IS
259 BEGIN
260 IF P_NEG_QTY = 1 AND IC_QUANTITY > 0 THEN
261 RETURN (0);
262 ELSE
263 RETURN (IC_TOTAL);
264 END IF;
265 RETURN NULL;
266 END IC_TOTAL1FORMULA;
267
268 FUNCTION CG_TOTAL1FORMULA(CG_QUANTITY IN NUMBER
269 ,CG_TOTAL IN NUMBER) RETURN NUMBER IS
270 BEGIN
271 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
272 RETURN (0);
273 ELSE
274 RETURN (CG_TOTAL);
275 END IF;
276 RETURN NULL;
277 END CG_TOTAL1FORMULA;
278
279 FUNCTION CG_ROWCOUNTFORMULA(CG_QUANTITY IN NUMBER) RETURN NUMBER IS
280 BEGIN
281 IF P_ZERO_QTY = 1 AND P_NEG_QTY = 1 AND CG_QUANTITY <= 0 THEN
282 RETURN (1);
283 ELSIF P_ZERO_QTY = 1 AND P_NEG_QTY = 2 THEN
284 RETURN (1);
285 ELSIF P_ZERO_QTY = 2 AND P_NEG_QTY = 1 AND CG_QUANTITY < 0 THEN
286 RETURN (1);
287 ELSIF P_ZERO_QTY = 2 AND P_NEG_QTY = 2 AND CG_QUANTITY <> 0 THEN
291 END IF;
288 RETURN (1);
289 ELSE
290 RETURN (0);
292 RETURN NULL;
293 END CG_ROWCOUNTFORMULA;
294
295 FUNCTION CG_MATL1FORMULA(CG_QUANTITY IN NUMBER
296 ,CG_MATL IN NUMBER) RETURN NUMBER IS
297 BEGIN
298 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
299 RETURN (0);
300 ELSE
301 RETURN (CG_MATL);
302 END IF;
303 RETURN NULL;
304 END CG_MATL1FORMULA;
305
306 FUNCTION CG_MOVH1FORMULA(CG_QUANTITY IN NUMBER
307 ,CG_MOVH IN NUMBER) RETURN NUMBER IS
308 BEGIN
309 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
310 RETURN (0);
311 ELSE
312 RETURN (CG_MOVH);
313 END IF;
314 RETURN NULL;
315 END CG_MOVH1FORMULA;
316
317 FUNCTION CG_RES1FORMULA(CG_QUANTITY IN NUMBER
318 ,CG_RES IN NUMBER) RETURN NUMBER IS
319 BEGIN
320 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
321 RETURN (0);
322 ELSE
323 RETURN (CG_RES);
324 END IF;
325 RETURN NULL;
326 END CG_RES1FORMULA;
327
328 FUNCTION CG_OSP1FORMULA(CG_QUANTITY IN NUMBER
329 ,CG_OSP IN NUMBER) RETURN NUMBER IS
330 BEGIN
331 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
332 RETURN (0);
333 ELSE
334 RETURN (CG_OSP);
335 END IF;
336 RETURN NULL;
337 END CG_OSP1FORMULA;
338
339 FUNCTION CG_OVHD1FORMULA(CG_QUANTITY IN NUMBER
340 ,CG_OVHD IN NUMBER) RETURN NUMBER IS
341 BEGIN
342 IF P_NEG_QTY = 1 AND CG_QUANTITY > 0 THEN
343 RETURN (0);
344 ELSE
345 RETURN (CG_OVHD);
346 END IF;
347 RETURN NULL;
348 END CG_OVHD1FORMULA;
349
350 FUNCTION IC_ORDERFORMULA(IC_CATEGORY IN VARCHAR2
351 ,IC_CATEGORY_SEGMENT IN VARCHAR2
352 ,IC_CAT_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
353 BEGIN
354 /*SRW.REFERENCE(IC_CATEGORY)*/NULL;
355 /*SRW.REFERENCE(IC_CATEGORY_SEGMENT)*/NULL;
356 /*SRW.REFERENCE(IC_CAT_PSEG)*/NULL;
357 IF P_SORT_OPTION = 2 THEN
358 RETURN (IC_CAT_PSEG);
359 ELSE
360 RETURN ('Item Sort');
361 END IF;
362 RETURN NULL;
363 END IC_ORDERFORMULA;
364
365 FUNCTION IC_ITEM_PSEGFORMULA(IC_ITEM_NUMBER IN VARCHAR2
366 ,IC_ITEM_SEGMENT IN VARCHAR2
367 ,IC_ITEM_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
368 BEGIN
369 /*SRW.REFERENCE(IC_ITEM_NUMBER)*/NULL;
370 /*SRW.REFERENCE(IC_ITEM_SEGMENT)*/NULL;
371 RETURN (IC_ITEM_PSEG);
372 END IC_ITEM_PSEGFORMULA;
373
374 FUNCTION IC_CAT_PSEGFORMULA(IC_CATEGORY IN VARCHAR2
375 ,IC_CATEGORY_SEGMENT IN VARCHAR2
376 ,IC_CAT_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
377 BEGIN
378 /*SRW.REFERENCE(IC_CATEGORY)*/NULL;
379 /*SRW.REFERENCE(IC_CATEGORY_SEGMENT)*/NULL;
380 RETURN (IC_CAT_PSEG);
381 END IC_CAT_PSEGFORMULA;
382
383 FUNCTION CG_ITEM_PSEGFORMULA(CG_ITEM_NUMBER IN VARCHAR2
384 ,CG_ITEM_SEGMENT IN VARCHAR2
385 ,CG_ITEM_PSEG IN VARCHAR2) RETURN VARCHAR2 IS
386 BEGIN
387 /*SRW.REFERENCE(CG_ITEM_NUMBER)*/NULL;
388 /*SRW.REFERENCE(CG_ITEM_SEGMENT)*/NULL;
389 RETURN (CG_ITEM_PSEG);
390 END CG_ITEM_PSEGFORMULA;
391
392 FUNCTION IC_QUANTITY1FORMULA(IC_QUANTITY IN NUMBER) RETURN NUMBER IS
393 BEGIN
394 IF P_NEG_QTY = 1 AND IC_QUANTITY > 0 THEN
395 RETURN (0);
396 ELSE
397 RETURN (IC_QUANTITY);
398 END IF;
399 RETURN NULL;
400 END IC_QUANTITY1FORMULA;
401
402 FUNCTION CG_CG_TOTALFORMULA(CG_CG_MATL IN NUMBER
403 ,CG_CG_MOVH IN NUMBER
404 ,CG_CG_RES IN NUMBER
405 ,CG_CG_OSP IN NUMBER
406 ,CG_CG_OVHD IN NUMBER) RETURN NUMBER IS
407 CG_CG_TOTAL NUMBER;
408 BEGIN
409 CG_CG_TOTAL := (CG_CG_MATL + CG_CG_MOVH + CG_CG_RES + CG_CG_OSP + CG_CG_OVHD);
410 CG_CG_TOTAL := STANDARD.ROUND(CG_CG_TOTAL / ROUND_UNIT) * ROUND_UNIT;
411 RETURN CG_CG_TOTAL;
412 END CG_CG_TOTALFORMULA;
413
414 FUNCTION CG_REP_TOTALFORMULA(CG_REP_MATL IN NUMBER
415 ,CG_REP_MOVH IN NUMBER
416 ,CG_REP_RES IN NUMBER
417 ,CG_REP_OSP IN NUMBER
418 ,CG_REP_OVHD IN NUMBER) RETURN NUMBER IS
419 CG_REP_TOTAL NUMBER;
420 BEGIN
421 CG_REP_TOTAL := (CG_REP_MATL + CG_REP_MOVH + CG_REP_RES + CG_REP_OSP + CG_REP_OVHD);
422 CG_REP_TOTAL := ROUND(CG_REP_TOTAL / ROUND_UNIT) * ROUND_UNIT;
423 RETURN CG_REP_TOTAL;
424 END CG_REP_TOTALFORMULA;
425
426 FUNCTION IC_ITEM_TOTAL_RFORMULA(IC_ITEM_TOTAL IN NUMBER) RETURN NUMBER IS
427 IC_ITEM_TOTAL_R NUMBER;
428 BEGIN
429 IC_ITEM_TOTAL_R := STANDARD.ROUND(IC_ITEM_TOTAL / ROUND_UNIT
430 ,0) * ROUND_UNIT;
431 RETURN IC_ITEM_TOTAL_R;
432 END IC_ITEM_TOTAL_RFORMULA;
433
434 FUNCTION IC_TOTAL_RFORMULA(IC_TOTAL IN NUMBER) RETURN NUMBER IS
435 IC_TOTAL_R NUMBER;
436 BEGIN
437 IC_TOTAL_R := STANDARD.ROUND(IC_TOTAL / ROUND_UNIT,0) * ROUND_UNIT;
438 RETURN IC_TOTAL_R;
439 END IC_TOTAL_RFORMULA;
440
441 FUNCTION IC_REP_TOTAL_RFORMULA(IC_REP_TOTAL IN NUMBER) RETURN NUMBER IS
442 IC_REP_TOTAL_R NUMBER;
443 BEGIN
444 IC_REP_TOTAL_R := ROUND(IC_REP_TOTAL / ROUND_UNIT) * ROUND_UNIT;
445 RETURN IC_REP_TOTAL_R;
446 END IC_REP_TOTAL_RFORMULA;
447
448 FUNCTION IC_CAT_TOTAL_RFORMULA(IC_CAT_TOTAL IN NUMBER) RETURN NUMBER IS
449 IC_CAT_TOTAL_R NUMBER;
450 BEGIN
451 IC_CAT_TOTAL_R := ROUND(IC_CAT_TOTAL / ROUND_UNIT) * ROUND_UNIT;
452 RETURN IC_CAT_TOTAL_R;
453 END IC_CAT_TOTAL_RFORMULA;
454
455 FUNCTION CG_TOTAL_RFORMULA(CG_TOTAL IN NUMBER) RETURN NUMBER IS
456 CG_TOTAL_R NUMBER;
457 BEGIN
458 CG_TOTAL_R := ROUND(CG_TOTAL / ROUND_UNIT) * ROUND_UNIT;
459 RETURN CG_TOTAL_R;
460 END CG_TOTAL_RFORMULA;
461
462 FUNCTION CG_CG_MATL_RFORMULA(CG_CG_MATL IN NUMBER) RETURN NUMBER IS
463 CG_CG_MATL_R NUMBER;
464 BEGIN
465 CG_CG_MATL_R := STANDARD.ROUND(CG_CG_MATL / ROUND_UNIT) * ROUND_UNIT;
466 RETURN CG_CG_MATL_R;
467 END CG_CG_MATL_RFORMULA;
468
469 FUNCTION CG_CG_MOVH_RFORMULA(CG_CG_MOVH IN NUMBER) RETURN NUMBER IS
470 CG_CG_MOVH_R NUMBER;
471 BEGIN
472 CG_CG_MOVH_R := ROUND(CG_CG_MOVH / ROUND_UNIT) * ROUND_UNIT;
473 RETURN CG_CG_MOVH_R;
474 END CG_CG_MOVH_RFORMULA;
475
476 FUNCTION CG_CG_OVHD_RFORMULA(CG_CG_OVHD IN NUMBER) RETURN NUMBER IS
477 CG_CG_OVHD_R NUMBER;
478 BEGIN
479 CG_CG_OVHD_R := ROUND(CG_CG_OVHD / ROUND_UNIT) * ROUND_UNIT;
480 RETURN CG_CG_OVHD_R;
481 END CG_CG_OVHD_RFORMULA;
482
483 FUNCTION CG_CG_RES_RFORMULA(CG_CG_RES IN NUMBER) RETURN NUMBER IS
484 CG_CG_RES_R NUMBER;
485 BEGIN
486 CG_CG_RES_R := ROUND(CG_CG_RES / ROUND_UNIT) * ROUND_UNIT;
487 RETURN CG_CG_RES_R;
488 END CG_CG_RES_RFORMULA;
489
490 FUNCTION CG_CG_OSP_RFORMULA(CG_CG_OSP IN NUMBER) RETURN NUMBER IS
491 CG_CG_OSP_R NUMBER;
492 BEGIN
493 CG_CG_OSP_R := ROUND(CG_CG_OSP / ROUND_UNIT) * ROUND_UNIT;
494 RETURN CG_CG_OSP_R;
495 END CG_CG_OSP_RFORMULA;
496
497 FUNCTION P_REPORT_NAMEVALIDTRIGGER RETURN BOOLEAN IS
498 BEGIN
499 RETURN (TRUE);
500 END P_REPORT_NAMEVALIDTRIGGER;
501
502 FUNCTION IC_UNIT_COST1FORMULA(IC_ITEM_QTY IN NUMBER
503 ,IC_ITEM_TOTAL IN NUMBER
504 ,IC_UNIT_COST IN NUMBER) RETURN NUMBER IS
505 BEGIN
506 IF (IC_ITEM_QTY <> 0) THEN
507 RETURN ROUND((IC_ITEM_TOTAL / IC_ITEM_QTY)
508 ,P_EXT_PREC);
509 ELSE
510 RETURN (IC_UNIT_COST);
511 END IF;
512 END IC_UNIT_COST1FORMULA;
513
514 END BOM_CSTRIRVW_XMLP_PKG;
515