[Home] [Help]
PACKAGE BODY: APPS.JL_JLMXFGLR_XMLP_PKG
Source
1 PACKAGE BODY JL_JLMXFGLR_XMLP_PKG AS
2 /* $Header: JLMXFGLRB.pls 120.1 2007/12/25 16:52:30 dwkrishn noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
6 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
7 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
8 FND_CLIENT_INFO.SET_CURRENCY_CONTEXT(P_CA_SET_OF_BOOKS_ID);
9 END IF;
10 GET_BASE_CURR_DATA;
11 CUSTOM_INIT;
12 RETURN (TRUE);
13 END BEFOREREPORT;
14
15 PROCEDURE GET_BASE_CURR_DATA IS
16 BASE_CURR AP_SYSTEM_PARAMETERS.BASE_CURRENCY_CODE%TYPE;
17 PREC FND_CURRENCIES_VL.PRECISION%TYPE;
18 MIN_AU FND_CURRENCIES_VL.MINIMUM_ACCOUNTABLE_UNIT%TYPE;
19 DESCR FND_CURRENCIES_VL.DESCRIPTION%TYPE;
20 ORG_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
21 BEGIN
22 BASE_CURR := '';
23 PREC := 0;
24 MIN_AU := 0;
25 DESCR := '';
26 ORG_NAME := '';
27 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
28 BEGIN
29 SELECT
30 FCURR.CURRENCY_CODE,
31 FCURR.PRECISION,
32 FCURR.MINIMUM_ACCOUNTABLE_UNIT,
33 FCURR.DESCRIPTION,
34 GSBKS.NAME
35 INTO BASE_CURR,PREC,MIN_AU,DESCR,ORG_NAME
36 FROM
37 FA_BOOK_CONTROLS_MRC_V BKCTRL,
38 FND_CURRENCIES_VL FCURR,
39 GL_SETS_OF_BOOKS GSBKS
40 WHERE BKCTRL.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
41 AND BKCTRL.SET_OF_BOOKS_ID = GSBKS.SET_OF_BOOKS_ID
42 AND GSBKS.CURRENCY_CODE = FCURR.CURRENCY_CODE;
43 EXCEPTION
44 WHEN NO_DATA_FOUND THEN
45 RAISE_ERR('JL_AR_FA_CUR_DET_NOT_DEFINED'
46 ,'N');
47 WHEN OTHERS THEN
48 RAISE_ORA_ERR;
49 END;
50 ELSE
51 BEGIN
52 SELECT
53 FCURR.CURRENCY_CODE,
54 FCURR.PRECISION,
55 FCURR.MINIMUM_ACCOUNTABLE_UNIT,
56 FCURR.DESCRIPTION,
57 GSBKS.NAME
58 INTO BASE_CURR,PREC,MIN_AU,DESCR,ORG_NAME
59 FROM
60 FA_BOOK_CONTROLS BKCTRL,
61 FND_CURRENCIES_VL FCURR,
62 GL_SETS_OF_BOOKS GSBKS
63 WHERE BKCTRL.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
64 AND BKCTRL.SET_OF_BOOKS_ID = GSBKS.SET_OF_BOOKS_ID
65 AND GSBKS.CURRENCY_CODE = FCURR.CURRENCY_CODE;
66 EXCEPTION
67 WHEN NO_DATA_FOUND THEN
68 RAISE_ERR('JL_AR_FA_CUR_DET_NOT_DEFINED'
69 ,'N');
70 WHEN OTHERS THEN
71 RAISE_ORA_ERR;
72 END;
73 END IF;
74 C_BASE_CURRENCY_CODE := BASE_CURR;
75 C_BASE_PRECISION := PREC;
76 C_BASE_MIN_ACCT_UNIT := MIN_AU;
77 C_BASE_DESCRIPTION := DESCR;
78 C_ORGANIZATION_NAME := ORG_NAME;
79 END GET_BASE_CURR_DATA;
80
81 FUNCTION AFTERREPORT RETURN BOOLEAN IS
82 BEGIN
83 BEGIN
84 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
85 EXCEPTION
86 WHEN OTHERS THEN
87 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
88 END;
89 RETURN (TRUE);
90 END AFTERREPORT;
91
92 FUNCTION C_PRICE_INDEXFORMULA(ASSET_CATEGORY IN NUMBER
93 ,ACQDATE IN DATE) RETURN NUMBER IS
94 X NUMBER(15);
95 CATEGORY_DESC VARCHAR2(40);
96 ERRMSG VARCHAR2(1000);
97 BEGIN
98 SELECT
99 FPI.PRICE_INDEX_ID
100 INTO X
101 FROM
102 FA_PRICE_INDEXES FPI,
103 FA_CATEGORY_BOOK_DEFAULTS FCBD
104 WHERE FCBD.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
105 AND FCBD.CATEGORY_ID = ASSET_CATEGORY
106 AND ACQDATE >= FCBD.START_DPIS
107 AND ACQDATE <= NVL(FCBD.END_DPIS
108 ,ACQDATE)
109 AND FCBD.PRICE_INDEX_NAME = FPI.PRICE_INDEX_NAME;
110 IF X IS NULL THEN
111 RAISE NO_DATA_FOUND;
112 END IF;
113 RETURN (X);
114 EXCEPTION
115 WHEN NO_DATA_FOUND THEN
116 SELECT
117 DESCRIPTION
118 INTO CATEGORY_DESC
119 FROM
120 FA_CATEGORIES
121 WHERE CATEGORY_ID = ASSET_CATEGORY;
122 SET_NAME('JL'
123 ,'JL_ZZ_FA_INDX_NOT_DEF_FOR_CATG');
124 SET_TOKEN('ASSET_CATEGORY'
125 ,CATEGORY_DESC
126 ,FALSE);
127 ERRMSG := GET;
128 /*SRW.MESSAGE(JL_ZZ_FA_UTILITIES_PKG.GET_APP_ERRNUM('JL'
129 ,'JL_ZZ_FA_INDX_NOT_DEF_FOR_CATG')
130 ,ERRMSG)*/NULL;
131 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
132 RETURN NULL;
133 WHEN OTHERS THEN
134 RAISE_ORA_ERR;
135 RETURN NULL;
136 END C_PRICE_INDEXFORMULA;
137
138 FUNCTION C_INDEX_VALUEFORMULA(C_PRICE_INDEX IN NUMBER
139 ,ACQDATE IN DATE) RETURN NUMBER IS
140 X NUMBER;
141 ERRMSG VARCHAR2(1000);
142 INDEX_NAME VARCHAR2(40);
143 BEGIN
144 BEGIN
145 SELECT
146 PRICE_INDEX_VALUE
147 INTO X
148 FROM
149 FA_PRICE_INDEX_VALUES
150 WHERE PRICE_INDEX_ID = C_PRICE_INDEX
151 AND ACQDATE BETWEEN FROM_DATE
152 AND TO_DATE;
153 EXCEPTION
154 WHEN NO_DATA_FOUND THEN
155 SELECT
156 PRICE_INDEX_NAME
157 INTO INDEX_NAME
158 FROM
159 FA_PRICE_INDEXES
160 WHERE PRICE_INDEX_ID = C_PRICE_INDEX;
161 SET_NAME('JL'
162 ,'JL_ZZ_FA_INDX_VAL_NOT_FOUND');
163 SET_TOKEN('PRICE_INDEX'
164 ,INDEX_NAME
165 ,FALSE);
166 SET_TOKEN('MISSING_DATE'
167 ,TO_CHAR(ACQDATE)
168 ,FALSE);
169 ERRMSG := GET;
170 /*SRW.MESSAGE(JL_ZZ_FA_UTILITIES_PKG.GET_APP_ERRNUM('JL'
171 ,'JL_ZZ_FA_INDX_VAL_NOT_FOUND')
172 ,ERRMSG)*/NULL;
173 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
174 RETURN NULL;
175 WHEN OTHERS THEN
176 RAISE_ORA_ERR;
177 RETURN NULL;
178 END;
179 RETURN (NVL(X
180 ,0));
181 END C_INDEX_VALUEFORMULA;
182
183 FUNCTION C_CORR_FACTORFORMULA(C_INDEX_VALUE_HALF_PERIOD IN NUMBER
184 ,C_INDEX_VALUE IN NUMBER) RETURN NUMBER IS
185 BEGIN
186 RETURN (TRUNC(C_INDEX_VALUE_HALF_PERIOD / C_INDEX_VALUE
187 ,C_RATIO_PRECISION));
188 END C_CORR_FACTORFORMULA;
189
190 FUNCTION C_ACCUM_DEPRN_PREV_YRFORMULA(ASSET_ID IN NUMBER
191 ,PERIOD_COUNTER IN NUMBER
192 ,RETIREMENT_ID IN NUMBER
193 ,ORIGINAL_COST IN NUMBER) RETURN NUMBER IS
194 T_ASSET_ID NUMBER := ASSET_ID;
195 T_BOOK_TYPE_CODE VARCHAR(30) := P_BOOK_TYPE_CODE;
196 T_PERIOD_START NUMBER := C_MIN_PERIOD_COUNTER;
197 T_PERIOD_END NUMBER := C_MAX_PERIOD_COUNTER;
198 T_PERIOD_COUNTER NUMBER := PERIOD_COUNTER;
199 T_RETIREMENT_ID NUMBER := RETIREMENT_ID;
200 T_ACC_DEPRN_PREV_FY NUMBER;
201 L_NR_COST NUMBER;
202 L_HAS_RESERVE_ADJUSTMENT NUMBER := 0;
203 L_HAS_RETIREMENT NUMBER := 0;
204 L_TOTAL_DEPRN_ADJUSTMENT NUMBER := 0;
205 L_LAST_DEPRN_PERIOD_PREV_FY NUMBER;
206 L_ACC_DEPRN_PREV_FY NUMBER := 0;
207 L_ADJUSTED_COST_PREV_FY NUMBER := 0;
208 L_PREV_ADJUSTED_COST NUMBER;
209 L_COST_RETIRED NUMBER := ORIGINAL_COST;
210 L_ADJ_COST_LESS_PART_RET NUMBER;
211 L_COST_BEGIN_YEAR NUMBER;
212 CURSOR C_RET_DEPRN_SUMMARY IS
213 SELECT
214 FDS.ADJUSTED_COST,
215 FDS.PERIOD_COUNTER
216 FROM
217 FA_DEPRN_SUMMARY FDS
218 WHERE FDS.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
219 AND FDS.ASSET_ID = T_ASSET_ID
220 AND FDS.PERIOD_COUNTER between T_PERIOD_START
221 AND T_PERIOD_COUNTER;
222 CURSOR C_RET_DEPRN_SUMMARY_MRC IS
223 SELECT
224 FDS.ADJUSTED_COST,
225 FDS.PERIOD_COUNTER
226 FROM
227 FA_DEPRN_SUMMARY FDS
228 WHERE FDS.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
229 AND FDS.ASSET_ID = T_ASSET_ID
230 AND FDS.PERIOD_COUNTER between T_PERIOD_START
231 AND T_PERIOD_COUNTER;
232 BEGIN
233 T_ACC_DEPRN_PREV_FY := 0;
234 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
235 BEGIN
236 SELECT
237 PERIOD_COUNTER,
238 DEPRN_RESERVE,
239 ADJUSTED_COST
240 INTO L_LAST_DEPRN_PERIOD_PREV_FY,L_ACC_DEPRN_PREV_FY,L_ADJUSTED_COST_PREV_FY
241 FROM
242 FA_DEPRN_SUMMARY_MRC_V
243 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
244 AND ASSET_ID = T_ASSET_ID
245 AND PERIOD_COUNTER = (
246 SELECT
247 MAX(FDS2.PERIOD_COUNTER)
248 FROM
249 FA_DEPRN_SUMMARY_MRC_V FDS2
250 WHERE FDS2.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
251 AND FDS2.ASSET_ID = T_ASSET_ID
252 AND FDS2.PERIOD_COUNTER <= T_PERIOD_START - 1 );
253 EXCEPTION
254 WHEN NO_DATA_FOUND THEN
255 L_ACC_DEPRN_PREV_FY := 0;
256 WHEN OTHERS THEN
257 L_ACC_DEPRN_PREV_FY := -1;
258 END;
259 IF L_ACC_DEPRN_PREV_FY = 0 THEN
260 T_ACC_DEPRN_PREV_FY := 0;
261 RETURN (NVL(T_ACC_DEPRN_PREV_FY
262 ,0));
263 END IF;
264 BEGIN
265 SELECT
266 COUNT(RET.RETIREMENT_ID)
267 INTO L_HAS_RETIREMENT
268 FROM
269 FA_RETIREMENTS_MRC_V RET,
270 FA_DEPRN_PERIODS_MRC_V FDP
271 WHERE RET.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
272 AND RET.STATUS <> 'DELETED'
273 AND RET.BOOK_TYPE_CODE = FDP.BOOK_TYPE_CODE
274 AND RET.ASSET_ID = T_ASSET_ID
275 AND RET.DATE_RETIRED between FDP.CALENDAR_PERIOD_OPEN_DATE
276 AND FDP.CALENDAR_PERIOD_CLOSE_DATE
277 AND FDP.FISCAL_YEAR = P_CURR_FY;
278 EXCEPTION
279 WHEN OTHERS THEN
280 RAISE_ORA_ERR;
281 END;
282 IF L_HAS_RETIREMENT = 0 THEN
283 T_ACC_DEPRN_PREV_FY := L_ACC_DEPRN_PREV_FY;
284 RETURN (NVL(T_ACC_DEPRN_PREV_FY
285 ,0));
286 END IF;
287 BEGIN
288 SELECT
289 BKS.COST
290 INTO L_COST_BEGIN_YEAR
291 FROM
292 FA_BOOKS_MRC_V BKS,
293 FA_DEPRN_PERIODS_MRC_V DPP
294 WHERE DPP.PERIOD_COUNTER = T_PERIOD_START
295 AND BKS.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
296 AND DPP.BOOK_TYPE_CODE = BKS.BOOK_TYPE_CODE
297 AND BKS.ASSET_ID = T_ASSET_ID
298 AND DPP.PERIOD_OPEN_DATE between BKS.DATE_EFFECTIVE
299 AND NVL(BKS.DATE_INEFFECTIVE
300 ,DPP.PERIOD_OPEN_DATE);
301 EXCEPTION
302 WHEN NO_DATA_FOUND THEN
303 L_COST_BEGIN_YEAR := 0;
304 WHEN OTHERS THEN
305 /*SRW.MESSAGE(1
306 ,'Error Calculation Cost at begining of the year')*/NULL;
307 END;
308 BEGIN
309 SELECT
310 COUNT(FDD.DEPRN_ADJUSTMENT_AMOUNT),
311 SUM(FDD.DEPRN_ADJUSTMENT_AMOUNT)
312 INTO L_HAS_RESERVE_ADJUSTMENT,L_TOTAL_DEPRN_ADJUSTMENT
313 FROM
314 FA_DEPRN_DETAIL_MRC_V FDD
315 WHERE FDD.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
316 AND FDD.ASSET_ID = T_ASSET_ID
317 AND FDD.PERIOD_COUNTER between T_PERIOD_START
318 AND T_PERIOD_END
319 AND FDD.DEPRN_ADJUSTMENT_AMOUNT <> 0;
320 EXCEPTION
321 WHEN OTHERS THEN
322 RAISE_ORA_ERR;
323 END;
324 IF L_HAS_RESERVE_ADJUSTMENT = 0 THEN
325 BEGIN
326 SELECT
327 DEPRN_RESERVE / L_COST_BEGIN_YEAR * L_COST_RETIRED
328 INTO T_ACC_DEPRN_PREV_FY
329 FROM
330 FA_DEPRN_SUMMARY_MRC_V
331 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
332 AND ASSET_ID = T_ASSET_ID
333 AND PERIOD_COUNTER = L_LAST_DEPRN_PERIOD_PREV_FY;
334 EXCEPTION
335 WHEN NO_DATA_FOUND THEN
336 T_ACC_DEPRN_PREV_FY := 0;
337 WHEN OTHERS THEN
338 T_ACC_DEPRN_PREV_FY := -1;
339 END;
340 ELSE
341 L_PREV_ADJUSTED_COST := L_ADJUSTED_COST_PREV_FY;
342 L_ADJ_COST_LESS_PART_RET := L_ADJUSTED_COST_PREV_FY;
343 FOR c_ret_rec IN C_RET_DEPRN_SUMMARY_MRC LOOP
344 IF L_ADJ_COST_LESS_PART_RET = 0 THEN
345 L_COST_RETIRED := 0;
346 EXIT;
347 END IF;
348 IF C_RET_REC.ADJUSTED_COST <> L_PREV_ADJUSTED_COST THEN
349 BEGIN
350 SELECT
351 RET.COST_RETIRED
352 INTO L_COST_RETIRED
353 FROM
354 FA_RETIREMENTS_MRC_V RET,
355 FA_DEPRN_PERIODS_MRC_V FDP
356 WHERE RET.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
357 AND RET.STATUS <> 'DELETED'
358 AND RET.BOOK_TYPE_CODE = FDP.BOOK_TYPE_CODE
359 AND RET.ASSET_ID = T_ASSET_ID
360 AND RET.DATE_RETIRED between FDP.CALENDAR_PERIOD_OPEN_DATE
361 AND FDP.CALENDAR_PERIOD_CLOSE_DATE
362 AND FDP.PERIOD_COUNTER = C_RET_REC.PERIOD_COUNTER;
363 EXCEPTION
364 WHEN NO_DATA_FOUND THEN
365 L_COST_RETIRED := 0;
366 WHEN OTHERS THEN
367 L_COST_RETIRED := 0;
368 END;
369 IF L_COST_RETIRED <> 0 THEN
370 IF L_COST_RETIRED <= L_ADJ_COST_LESS_PART_RET THEN
371 L_ADJ_COST_LESS_PART_RET := L_ADJ_COST_LESS_PART_RET - L_COST_RETIRED;
372 ELSE
373 L_COST_RETIRED := L_ADJ_COST_LESS_PART_RET;
374 L_ADJ_COST_LESS_PART_RET := 0;
375 END IF;
376 END IF;
377 L_PREV_ADJUSTED_COST := C_RET_REC.ADJUSTED_COST;
378 END IF;
379 END LOOP;
380 IF T_RETIREMENT_ID IS NULL THEN
381 T_ACC_DEPRN_PREV_FY := (L_ACC_DEPRN_PREV_FY / L_ADJUSTED_COST_PREV_FY) * L_ADJ_COST_LESS_PART_RET;
382 ELSE
383 T_ACC_DEPRN_PREV_FY := (L_ACC_DEPRN_PREV_FY / L_ADJUSTED_COST_PREV_FY) * L_COST_RETIRED;
384 END IF;
385 END IF;
386 ELSE
387 BEGIN
388 SELECT
389 PERIOD_COUNTER,
390 DEPRN_RESERVE,
391 ADJUSTED_COST
392 INTO L_LAST_DEPRN_PERIOD_PREV_FY,L_ACC_DEPRN_PREV_FY,L_ADJUSTED_COST_PREV_FY
393 FROM
394 FA_DEPRN_SUMMARY
395 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
396 AND ASSET_ID = T_ASSET_ID
397 AND PERIOD_COUNTER = (
398 SELECT
399 MAX(FDS2.PERIOD_COUNTER)
400 FROM
401 FA_DEPRN_SUMMARY FDS2
402 WHERE FDS2.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
403 AND FDS2.ASSET_ID = T_ASSET_ID
404 AND FDS2.PERIOD_COUNTER <= T_PERIOD_START - 1 );
405 EXCEPTION
406 WHEN NO_DATA_FOUND THEN
407 L_ACC_DEPRN_PREV_FY := 0;
408 WHEN OTHERS THEN
409 L_ACC_DEPRN_PREV_FY := -1;
410 END;
411 IF L_ACC_DEPRN_PREV_FY = 0 THEN
412 T_ACC_DEPRN_PREV_FY := 0;
413 RETURN (NVL(T_ACC_DEPRN_PREV_FY
414 ,0));
415 END IF;
416 BEGIN
417 SELECT
418 COUNT(RET.RETIREMENT_ID)
419 INTO L_HAS_RETIREMENT
420 FROM
421 FA_RETIREMENTS RET,
422 FA_DEPRN_PERIODS FDP
423 WHERE RET.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
424 AND RET.STATUS <> 'DELETED'
425 AND RET.BOOK_TYPE_CODE = FDP.BOOK_TYPE_CODE
426 AND RET.ASSET_ID = T_ASSET_ID
427 AND RET.DATE_RETIRED between FDP.CALENDAR_PERIOD_OPEN_DATE
428 AND FDP.CALENDAR_PERIOD_CLOSE_DATE
429 AND FDP.FISCAL_YEAR = P_CURR_FY;
430 EXCEPTION
431 WHEN OTHERS THEN
432 RAISE_ORA_ERR;
433 END;
434 IF L_HAS_RETIREMENT = 0 THEN
435 T_ACC_DEPRN_PREV_FY := L_ACC_DEPRN_PREV_FY;
436 RETURN (NVL(T_ACC_DEPRN_PREV_FY
437 ,0));
438 END IF;
439 BEGIN
440 SELECT
441 BKS.COST
442 INTO L_COST_BEGIN_YEAR
443 FROM
444 FA_BOOKS BKS,
445 FA_DEPRN_PERIODS DPP
446 WHERE DPP.PERIOD_COUNTER = T_PERIOD_START
447 AND BKS.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
448 AND DPP.BOOK_TYPE_CODE = BKS.BOOK_TYPE_CODE
449 AND BKS.ASSET_ID = T_ASSET_ID
450 AND DPP.PERIOD_OPEN_DATE between BKS.DATE_EFFECTIVE
451 AND NVL(BKS.DATE_INEFFECTIVE
452 ,DPP.PERIOD_OPEN_DATE);
453 EXCEPTION
454 WHEN NO_DATA_FOUND THEN
455 L_COST_BEGIN_YEAR := 0;
456 WHEN OTHERS THEN
457 /*SRW.MESSAGE(1
458 ,'Error Calculation Cost at begining of the year')*/NULL;
459 END;
460 BEGIN
461 SELECT
462 COUNT(FDD.DEPRN_ADJUSTMENT_AMOUNT),
463 SUM(FDD.DEPRN_ADJUSTMENT_AMOUNT)
464 INTO L_HAS_RESERVE_ADJUSTMENT,L_TOTAL_DEPRN_ADJUSTMENT
465 FROM
466 FA_DEPRN_DETAIL FDD
467 WHERE FDD.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
468 AND FDD.ASSET_ID = T_ASSET_ID
469 AND FDD.PERIOD_COUNTER between T_PERIOD_START
470 AND T_PERIOD_END
471 AND FDD.DEPRN_ADJUSTMENT_AMOUNT <> 0;
472 EXCEPTION
473 WHEN OTHERS THEN
474 RAISE_ORA_ERR;
475 END;
476 IF L_HAS_RESERVE_ADJUSTMENT = 0 THEN
477 BEGIN
478 SELECT
479 DEPRN_RESERVE / L_COST_BEGIN_YEAR * L_COST_RETIRED
480 INTO T_ACC_DEPRN_PREV_FY
481 FROM
482 FA_DEPRN_SUMMARY
483 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
484 AND ASSET_ID = T_ASSET_ID
485 AND PERIOD_COUNTER = L_LAST_DEPRN_PERIOD_PREV_FY;
486 EXCEPTION
487 WHEN NO_DATA_FOUND THEN
488 T_ACC_DEPRN_PREV_FY := 0;
489 WHEN OTHERS THEN
490 T_ACC_DEPRN_PREV_FY := -1;
491 END;
492 ELSE
493 L_PREV_ADJUSTED_COST := L_ADJUSTED_COST_PREV_FY;
494 L_ADJ_COST_LESS_PART_RET := L_ADJUSTED_COST_PREV_FY;
495 FOR c_ret_rec IN C_RET_DEPRN_SUMMARY LOOP
496 IF L_ADJ_COST_LESS_PART_RET = 0 THEN
497 L_COST_RETIRED := 0;
498 EXIT;
499 END IF;
500 IF C_RET_REC.ADJUSTED_COST <> L_PREV_ADJUSTED_COST THEN
501 BEGIN
502 SELECT
503 RET.COST_RETIRED
504 INTO L_COST_RETIRED
505 FROM
506 FA_RETIREMENTS RET,
507 FA_DEPRN_PERIODS FDP
508 WHERE RET.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
509 AND RET.STATUS <> 'DELETED'
510 AND RET.BOOK_TYPE_CODE = FDP.BOOK_TYPE_CODE
511 AND RET.ASSET_ID = T_ASSET_ID
512 AND RET.DATE_RETIRED between FDP.CALENDAR_PERIOD_OPEN_DATE
513 AND FDP.CALENDAR_PERIOD_CLOSE_DATE
514 AND FDP.PERIOD_COUNTER = C_RET_REC.PERIOD_COUNTER;
515 EXCEPTION
516 WHEN NO_DATA_FOUND THEN
517 L_COST_RETIRED := 0;
518 WHEN OTHERS THEN
519 L_COST_RETIRED := 0;
520 END;
521 IF L_COST_RETIRED <> 0 THEN
522 IF L_COST_RETIRED <= L_ADJ_COST_LESS_PART_RET THEN
523 L_ADJ_COST_LESS_PART_RET := L_ADJ_COST_LESS_PART_RET - L_COST_RETIRED;
524 ELSE
525 L_COST_RETIRED := L_ADJ_COST_LESS_PART_RET;
526 L_ADJ_COST_LESS_PART_RET := 0;
527 END IF;
528 END IF;
529 L_PREV_ADJUSTED_COST := C_RET_REC.ADJUSTED_COST;
530 END IF;
531 END LOOP;
532 IF T_RETIREMENT_ID IS NULL THEN
533 T_ACC_DEPRN_PREV_FY := (L_ACC_DEPRN_PREV_FY / L_ADJUSTED_COST_PREV_FY) * L_ADJ_COST_LESS_PART_RET;
534 ELSE
535 T_ACC_DEPRN_PREV_FY := (L_ACC_DEPRN_PREV_FY / L_ADJUSTED_COST_PREV_FY) * L_COST_RETIRED;
536 END IF;
537 END IF;
538 END IF;
539 RETURN (NVL(T_ACC_DEPRN_PREV_FY
540 ,0));
541 END C_ACCUM_DEPRN_PREV_YRFORMULA;
542
543 FUNCTION C_ADJ_NBVFORMULA(ORIGINAL_COST IN NUMBER
544 ,C_ACCUM_DEPRN_CURR_YR IN NUMBER
545 ,C_ACCUM_DEPRN_PREV_YR IN NUMBER
546 ,C_CORR_FACTOR IN NUMBER) RETURN NUMBER IS
547 T_ADJ_NBV NUMBER;
548 BEGIN
549 T_ADJ_NBV := (ORIGINAL_COST - (C_ACCUM_DEPRN_CURR_YR + C_ACCUM_DEPRN_PREV_YR)) * C_CORR_FACTOR;
550 RETURN (T_ADJ_NBV);
551 END C_ADJ_NBVFORMULA;
552
553 FUNCTION C_NBVFORMULA(ASSET_ID IN NUMBER
554 ,TRANSACTION_HEADER_ID IN NUMBER
555 ,PERIOD_COUNTER IN NUMBER
556 ,RETIREMENT_ID IN NUMBER
557 ,ORIGINAL_COST IN NUMBER) RETURN NUMBER IS
558 T_ASSET_ID NUMBER := ASSET_ID;
559 T_BOOK_TYPE_CODE VARCHAR(30) := P_BOOK_TYPE_CODE;
560 T_TRANSACTION_HEADER_ID NUMBER := TRANSACTION_HEADER_ID;
561 T_PERIOD_START NUMBER := C_MIN_PERIOD_COUNTER;
562 T_PERIOD_END NUMBER := C_MAX_PERIOD_COUNTER;
563 T_PERIOD_COUNTER NUMBER := PERIOD_COUNTER;
564 T_RETIREMENT_ID NUMBER := RETIREMENT_ID;
565 T_COST_RETIRED NUMBER := ORIGINAL_COST;
566 T_ACC_DEPRN_LIFE_TD NUMBER;
567 BEGIN
568 T_ACC_DEPRN_LIFE_TD := 0;
569 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
570 IF T_RETIREMENT_ID IS NOT NULL THEN
571 BEGIN
572 SELECT
573 SUM(FAD.ADJUSTMENT_AMOUNT)
574 INTO T_ACC_DEPRN_LIFE_TD
575 FROM
576 FA_ADJUSTMENTS_MRC_V FAD
577 WHERE FAD.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
578 AND FAD.ASSET_ID = T_ASSET_ID
579 AND FAD.SOURCE_TYPE_CODE = 'RETIREMENT'
580 AND FAD.ADJUSTMENT_TYPE = 'RESERVE'
581 AND FAD.TRANSACTION_HEADER_ID = T_TRANSACTION_HEADER_ID;
582 EXCEPTION
583 WHEN NO_DATA_FOUND THEN
584 T_ACC_DEPRN_LIFE_TD := 0;
585 WHEN OTHERS THEN
586 T_ACC_DEPRN_LIFE_TD := -1;
587 END;
588 ELSE
589 BEGIN
590 SELECT
591 DEPRN_RESERVE
592 INTO T_ACC_DEPRN_LIFE_TD
593 FROM
594 FA_DEPRN_SUMMARY_MRC_V
595 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
596 AND ASSET_ID = T_ASSET_ID
597 AND PERIOD_COUNTER = T_PERIOD_COUNTER;
598 EXCEPTION
599 WHEN NO_DATA_FOUND THEN
600 T_ACC_DEPRN_LIFE_TD := 0;
601 WHEN OTHERS THEN
602 T_ACC_DEPRN_LIFE_TD := -1;
603 END;
604 END IF;
605 ELSE
606 IF T_RETIREMENT_ID IS NOT NULL THEN
607 BEGIN
608 SELECT
609 SUM(FAD.ADJUSTMENT_AMOUNT)
610 INTO T_ACC_DEPRN_LIFE_TD
611 FROM
612 FA_ADJUSTMENTS FAD
613 WHERE FAD.BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
614 AND FAD.ASSET_ID = T_ASSET_ID
615 AND FAD.SOURCE_TYPE_CODE = 'RETIREMENT'
616 AND FAD.ADJUSTMENT_TYPE = 'RESERVE'
617 AND FAD.TRANSACTION_HEADER_ID = T_TRANSACTION_HEADER_ID;
618 EXCEPTION
619 WHEN NO_DATA_FOUND THEN
620 T_ACC_DEPRN_LIFE_TD := 0;
621 WHEN OTHERS THEN
622 T_ACC_DEPRN_LIFE_TD := -1;
623 END;
624 ELSE
625 BEGIN
626 SELECT
627 DEPRN_RESERVE
628 INTO T_ACC_DEPRN_LIFE_TD
629 FROM
630 FA_DEPRN_SUMMARY
631 WHERE BOOK_TYPE_CODE = T_BOOK_TYPE_CODE
632 AND ASSET_ID = T_ASSET_ID
633 AND PERIOD_COUNTER = T_PERIOD_COUNTER;
634 EXCEPTION
635 WHEN NO_DATA_FOUND THEN
636 T_ACC_DEPRN_LIFE_TD := 0;
637 WHEN OTHERS THEN
638 T_ACC_DEPRN_LIFE_TD := -1;
639 END;
640 END IF;
641 END IF;
642 RETURN (NVL(T_ACC_DEPRN_LIFE_TD
643 ,0));
644 END C_NBVFORMULA;
645
646 FUNCTION C_ACCUM_DEPRN_CURR_YRFORMULA(C_NBV IN NUMBER
647 ,C_ACCUM_DEPRN_PREV_YR IN NUMBER) RETURN NUMBER IS
648 V_YTD_DEPRN NUMBER;
649 BEGIN
650 V_YTD_DEPRN := C_NBV - C_ACCUM_DEPRN_PREV_YR;
651 RETURN (V_YTD_DEPRN);
652 END C_ACCUM_DEPRN_CURR_YRFORMULA;
653
654 FUNCTION C_INDEX_VALUE_HALF_PERIODFORMU(ACQDATE IN DATE
655 ,DATE_RETIRED IN DATE
656 ,C_PRICE_INDEX IN NUMBER) RETURN NUMBER IS
657 MON_NUM NUMBER(2);
658 MON_ACQUIRED NUMBER(2);
659 X NUMBER;
660 HALF_PERIOD_DATE DATE;
661 YEAR NUMBER;
662 ERRMSG VARCHAR2(1000);
663 INDEX_NAME VARCHAR2(40);
664 BEGIN
665 X := NULL;
666 IF ACQDATE BETWEEN C_FISCAL_START_DATE AND C_FISCAL_END_DATE THEN
667 MON_ACQUIRED := TO_NUMBER(TO_CHAR(ACQDATE
668 ,'MM'));
669 ELSE
670 MON_ACQUIRED := 0;
671 END IF;
672 MON_NUM := JL_ZZ_FA_FUNCTIONS_PKG.MIDDLE_MONTH(MON_ACQUIRED
673 ,TO_NUMBER(TO_CHAR(DATE_RETIRED
674 ,'MM'))
675 ,P_INCLUDE_DPIS
676 ,P_INCLUDE_RET);
677 IF MON_NUM = '0' THEN
678 YEAR := TO_CHAR(C_FISCAL_START_DATE - 365
679 ,'YYYY');
680 MON_NUM := '12';
681 ELSE
682 YEAR := TO_CHAR(C_FISCAL_START_DATE
683 ,'YYYY');
684 END IF;
685 HALF_PERIOD_DATE := LAST_DAY(TO_DATE('01-' || LPAD(TO_CHAR(MON_NUM)
686 ,2
687 ,'0') || '-' || TO_CHAR(YEAR)
688 ,'DD-MM-YYYY'));
689 BEGIN
690 SELECT
691 PRICE_INDEX_VALUE
692 INTO X
693 FROM
694 FA_PRICE_INDEX_VALUES
695 WHERE PRICE_INDEX_ID = C_PRICE_INDEX
696 AND HALF_PERIOD_DATE BETWEEN FROM_DATE
697 AND TO_DATE;
698 EXCEPTION
699 WHEN NO_DATA_FOUND THEN
700 SELECT
701 PRICE_INDEX_NAME
702 INTO INDEX_NAME
703 FROM
704 FA_PRICE_INDEXES
705 WHERE PRICE_INDEX_ID = C_PRICE_INDEX;
706 FND_MESSAGE.SET_NAME('JL'
707 ,'JL_ZZ_FA_INDX_VAL_NOT_FOUND');
708 FND_MESSAGE.SET_TOKEN('PRICE_INDEX'
709 ,INDEX_NAME
710 ,FALSE);
711 FND_MESSAGE.SET_TOKEN('MISSING_DATE'
712 ,TO_CHAR(HALF_PERIOD_DATE)
713 ,FALSE);
714 ERRMSG := FND_MESSAGE.GET;
715 /*SRW.MESSAGE(JL_ZZ_FA_UTILITIES_PKG.GET_APP_ERRNUM('JL'
716 ,'JL_ZZ_FA_INDX_VAL_NOT_FOUND')
717 ,ERRMSG)*/NULL;
718 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
719 RETURN NULL;
720 WHEN OTHERS THEN
721 RAISE_ORA_ERR;
722 RETURN NULL;
723 END;
724 RETURN (NVL(X
725 ,0));
726 END C_INDEX_VALUE_HALF_PERIODFORMU;
727
728 PROCEDURE CUSTOM_INIT IS
729 FIS_YR NUMBER(4);
730 CURR_PER_COUNTER NUMBER(15);
731 MAX_PER_COUNTER NUMBER(15);
732 MIN_PER_COUNTER NUMBER(15);
733 LAST_PER_COUNTER NUMBER(15);
734 V_RATIO_PRECISION VARCHAR2(10);
735 FROM_DATE DATE;
736 TO_DATE DATE;
737 BEGIN
738 FND_PROFILE.GET('JLZZ_INF_RATIO_PRECISION'
739 ,V_RATIO_PRECISION);
740 IF V_RATIO_PRECISION IS NULL THEN
741 C_RATIO_PRECISION := 38;
742 ELSE
743 C_RATIO_PRECISION := TO_NUMBER(V_RATIO_PRECISION);
744 END IF;
745 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
746 BEGIN
747 SELECT
748 MIN(PERIOD_COUNTER),
749 MAX(PERIOD_COUNTER)
750 INTO MIN_PER_COUNTER,MAX_PER_COUNTER
751 FROM
752 FA_DEPRN_PERIODS_MRC_V
753 WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
754 AND FISCAL_YEAR = P_CURR_FY;
755 EXCEPTION
756 WHEN NO_DATA_FOUND THEN
757 RAISE_ERR('JL_AR_FA_CUR_FY_DEP_PER_NOTDEF'
758 ,'N');
759 WHEN OTHERS THEN
760 RAISE_ORA_ERR;
761 END;
762 C_MIN_PERIOD_COUNTER := MIN_PER_COUNTER;
763 C_MAX_PERIOD_COUNTER := MAX_PER_COUNTER;
764 BEGIN
765 SELECT
766 MAX(PERIOD_COUNTER)
767 INTO LAST_PER_COUNTER
768 FROM
769 FA_DEPRN_PERIODS_MRC_V
770 WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
771 AND FISCAL_YEAR = P_CURR_FY - 1;
772 EXCEPTION
773 WHEN NO_DATA_FOUND THEN
774 RAISE_ERR('JL_AR_FA_PRV_FY_DEP_PER_NOTDEF'
775 ,'N');
776 WHEN OTHERS THEN
777 RAISE_ORA_ERR;
778 END;
779 C_LAST_PERIOD_COUNTER := LAST_PER_COUNTER;
780 BEGIN
781 SELECT
782 A.START_DATE,
783 A.END_DATE
784 INTO FROM_DATE,TO_DATE
785 FROM
786 FA_BOOK_CONTROLS_MRC_V B,
787 FA_FISCAL_YEAR A
788 WHERE A.FISCAL_YEAR = P_CURR_FY
789 AND B.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
790 AND B.FISCAL_YEAR_NAME = A.FISCAL_YEAR_NAME;
791 EXCEPTION
792 WHEN NO_DATA_FOUND THEN
793 RAISE_ERR('JL_AR_FA_FY_DETAIL_NOT_DEFINED'
794 ,'N');
795 WHEN OTHERS THEN
796 RAISE_ORA_ERR;
797 END;
798 ELSE
799 BEGIN
800 SELECT
801 MIN(PERIOD_COUNTER),
802 MAX(PERIOD_COUNTER)
803 INTO MIN_PER_COUNTER,MAX_PER_COUNTER
804 FROM
805 FA_DEPRN_PERIODS
806 WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
807 AND FISCAL_YEAR = P_CURR_FY;
808 EXCEPTION
809 WHEN NO_DATA_FOUND THEN
810 RAISE_ERR('JL_AR_FA_CUR_FY_DEP_PER_NOTDEF'
811 ,'N');
812 WHEN OTHERS THEN
813 RAISE_ORA_ERR;
814 END;
815 C_MIN_PERIOD_COUNTER := MIN_PER_COUNTER;
816 C_MAX_PERIOD_COUNTER := MAX_PER_COUNTER;
817 BEGIN
818 SELECT
819 MAX(PERIOD_COUNTER)
820 INTO LAST_PER_COUNTER
821 FROM
822 FA_DEPRN_PERIODS
823 WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
824 AND FISCAL_YEAR = P_CURR_FY - 1;
825 EXCEPTION
826 WHEN NO_DATA_FOUND THEN
827 RAISE_ERR('JL_AR_FA_PRV_FY_DEP_PER_NOTDEF'
828 ,'N');
829 WHEN OTHERS THEN
830 RAISE_ORA_ERR;
831 END;
832 C_LAST_PERIOD_COUNTER := LAST_PER_COUNTER;
833 BEGIN
834 SELECT
835 A.START_DATE,
836 A.END_DATE
837 INTO FROM_DATE,TO_DATE
838 FROM
839 FA_BOOK_CONTROLS B,
840 FA_FISCAL_YEAR A
841 WHERE A.FISCAL_YEAR = P_CURR_FY
842 AND B.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
843 AND B.FISCAL_YEAR_NAME = A.FISCAL_YEAR_NAME;
844 EXCEPTION
845 WHEN NO_DATA_FOUND THEN
846 RAISE_ERR('JL_AR_FA_FY_DETAIL_NOT_DEFINED'
847 ,'N');
848 WHEN OTHERS THEN
849 RAISE_ORA_ERR;
850 END;
851 END IF;
852 C_FISCAL_START_DATE := FROM_DATE;
853 C_FISCAL_END_DATE := TO_DATE;
854 END CUSTOM_INIT;
855
856 FUNCTION C_GAIN_LOSSFORMULA(C_ADJ_NBV IN NUMBER
857 ,C_PROC_SALE IN NUMBER) RETURN NUMBER IS
858 L_AMOUNT NUMBER;
859 BEGIN
860 L_AMOUNT := C_ADJ_NBV - C_PROC_SALE;
861 RETURN (L_AMOUNT);
862 END C_GAIN_LOSSFORMULA;
863
864 FUNCTION C_RET_DATEFORMULA RETURN DATE IS
865 BEGIN
866 DECLARE
867 MON_NUM NUMBER(2);
868 L_RET_DATE DATE;
869 BEGIN
870 RETURN (SYSDATE);
871 END;
872 RETURN NULL;
873 END C_RET_DATEFORMULA;
874
875 FUNCTION C_PROC_SALEFORMULA(PROCEEDS_OF_SALE IN NUMBER) RETURN NUMBER IS
876 BEGIN
877 RETURN (PROCEEDS_OF_SALE);
878 END C_PROC_SALEFORMULA;
879
880 PROCEDURE RAISE_ORA_ERR IS
881 ERRMSG VARCHAR2(1000);
882 ERRNUM NUMBER;
883 BEGIN
884 ERRMSG := SQLERRM;
885 ERRNUM := SQLCODE;
886 /*SRW.MESSAGE(ERRNUM
887 ,ERRMSG)*/NULL;
888 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
889 END RAISE_ORA_ERR;
890
891 PROCEDURE RAISE_ERR(MSGNAME IN VARCHAR2
892 ,ABORT_FLAG IN VARCHAR2) IS
893 ERRMSG VARCHAR2(1000);
894 BEGIN
895 FND_MESSAGE.SET_NAME('JL'
896 ,MSGNAME);
897 ERRMSG := FND_MESSAGE.GET;
898 /*SRW.MESSAGE(JL_ZZ_FA_UTILITIES_PKG.GET_APP_ERRNUM('JL'
899 ,MSGNAME)
900 ,ERRMSG)*/NULL;
901 IF ABORT_FLAG = 'Y' THEN
902 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
903 END IF;
904 END RAISE_ERR;
905
906 FUNCTION CF_1FORMULA RETURN CHAR IS
907 T_MEANING VARCHAR2(30);
908 BEGIN
909 SELECT
910 MEANING
911 INTO T_MEANING
912 FROM
913 FND_LOOKUPS
914 WHERE LOOKUP_TYPE = 'YES_NO'
915 AND LOOKUP_CODE = P_INCLUDE_DPIS;
916 RETURN (T_MEANING);
917 EXCEPTION
918 WHEN OTHERS THEN
919 RETURN (P_INCLUDE_DPIS);
920 END CF_1FORMULA;
921
922 FUNCTION CF_INCLUDE_RETFORMULA RETURN CHAR IS
923 T_MEANING VARCHAR2(30);
924 BEGIN
925 SELECT
926 MEANING
927 INTO T_MEANING
928 FROM
929 FND_LOOKUPS
930 WHERE LOOKUP_TYPE = 'YES_NO'
931 AND LOOKUP_CODE = P_INCLUDE_RET;
932 RETURN (T_MEANING);
933 EXCEPTION
934 WHEN OTHERS THEN
935 RETURN (P_INCLUDE_RET);
936 END CF_INCLUDE_RETFORMULA;
937
938 FUNCTION AFTERPFORM RETURN BOOLEAN IS
939 BEGIN
940 IF P_CA_SET_OF_BOOKS_ID <> -1999 THEN
941 BEGIN
942 SELECT
943 MRC_SOB_TYPE_CODE,
944 CURRENCY_CODE
945 INTO P_MRCSOBTYPE,LP_CURRENCY_CODE
946 FROM
947 GL_SETS_OF_BOOKS
948 WHERE SET_OF_BOOKS_ID = P_CA_SET_OF_BOOKS_ID;
949 EXCEPTION
950 WHEN OTHERS THEN
951 P_MRCSOBTYPE := 'P';
952 END;
953 ELSE
954 P_MRCSOBTYPE := 'P';
955 END IF;
956 IF UPPER(P_MRCSOBTYPE) = 'R' THEN
957 LP_FA_BOOK_CONTROLS := 'FA_BOOK_CONTROLS_MRC_V';
958 LP_FA_BOOKS := 'FA_BOOKS_MRC_V';
959 LP_FA_ADJUSTMENTS := 'FA_ADJUSTMENTS_MRC_V';
960 LP_FA_DEPRN_PERIODS := 'FA_DEPRN_PERIODS_MRC_V';
961 LP_FA_DEPRN_SUMMARY := 'FA_DEPRN_SUMMARY_MRC_V';
962 LP_FA_DEPRN_DETAIL := 'FA_DEPRN_DETAIL_MRC_V';
963 ELSE
964 LP_FA_BOOK_CONTROLS := 'FA_BOOK_CONTROLS';
965 LP_FA_BOOKS := 'FA_BOOKS';
966 LP_FA_ADJUSTMENTS := 'FA_ADJUSTMENTS';
967 LP_FA_DEPRN_PERIODS := 'FA_DEPRN_PERIODS';
968 LP_FA_DEPRN_SUMMARY := 'FA_DEPRN_SUMMARY';
969 LP_FA_DEPRN_DETAIL := 'FA_DEPRN_DETAIL';
970 END IF;
971 RETURN (TRUE);
972 END AFTERPFORM;
973
974 FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
975 BEGIN
976 RETURN C_BASE_CURRENCY_CODE;
977 END C_BASE_CURRENCY_CODE_P;
978
979 FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
980 BEGIN
981 RETURN C_BASE_PRECISION;
982 END C_BASE_PRECISION_P;
983
984 FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
985 BEGIN
986 RETURN C_BASE_MIN_ACCT_UNIT;
987 END C_BASE_MIN_ACCT_UNIT_P;
988
989 FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
990 BEGIN
991 RETURN C_BASE_DESCRIPTION;
992 END C_BASE_DESCRIPTION_P;
993
994 FUNCTION C_ORGANIZATION_NAME_P RETURN VARCHAR2 IS
995 BEGIN
996 RETURN C_ORGANIZATION_NAME;
997 END C_ORGANIZATION_NAME_P;
998
999 FUNCTION C_CURR_FISCAL_YR_P RETURN NUMBER IS
1000 BEGIN
1001 RETURN C_CURR_FISCAL_YR;
1002 END C_CURR_FISCAL_YR_P;
1003
1004 FUNCTION C_CURR_PERIOD_COUNTER_P RETURN NUMBER IS
1005 BEGIN
1006 RETURN C_CURR_PERIOD_COUNTER;
1007 END C_CURR_PERIOD_COUNTER_P;
1008
1009 FUNCTION C_LAST_PERIOD_COUNTER_P RETURN NUMBER IS
1010 BEGIN
1011 RETURN C_LAST_PERIOD_COUNTER;
1012 END C_LAST_PERIOD_COUNTER_P;
1013
1014 FUNCTION C_RATIO_PRECISION_P RETURN NUMBER IS
1015 BEGIN
1016 RETURN C_RATIO_PRECISION;
1017 END C_RATIO_PRECISION_P;
1018
1019 FUNCTION C_MIN_PERIOD_COUNTER_P RETURN NUMBER IS
1020 BEGIN
1021 RETURN C_MIN_PERIOD_COUNTER;
1022 END C_MIN_PERIOD_COUNTER_P;
1023
1024 FUNCTION C_MAX_PERIOD_COUNTER_P RETURN NUMBER IS
1025 BEGIN
1026 RETURN C_MAX_PERIOD_COUNTER;
1027 END C_MAX_PERIOD_COUNTER_P;
1028
1029 FUNCTION C_FISCAL_START_DATE_P RETURN DATE IS
1030 BEGIN
1031 RETURN C_FISCAL_START_DATE;
1032 END C_FISCAL_START_DATE_P;
1033
1034 FUNCTION C_FISCAL_END_DATE_P RETURN DATE IS
1035 BEGIN
1036 RETURN C_FISCAL_END_DATE;
1037 END C_FISCAL_END_DATE_P;
1038
1039 PROCEDURE SET_NAME(APPLICATION IN VARCHAR2
1040 ,NAME IN VARCHAR2) IS
1041 BEGIN
1042 /* STPROC.INIT('begin FND_MESSAGE.SET_NAME(:APPLICATION, :NAME); end;');
1043 STPROC.BIND_I(APPLICATION);
1044 STPROC.BIND_I(NAME);
1045 STPROC.EXECUTE;*/
1046
1047 FND_MESSAGE.SET_NAME(APPLICATION,NAME);
1048 END SET_NAME;
1049
1050 PROCEDURE SET_TOKEN(TOKEN IN VARCHAR2
1051 ,VALUE IN VARCHAR2
1052 ,TRANSLATE IN BOOLEAN) IS
1053 TRANSLATE1 BOOLEAN;
1054 BEGIN
1055 /*STPROC.INIT('declare TRANSLATE BOOLEAN; begin TRANSLATE := sys.diutil.int_to_bool(:TRANSLATE); FND_MESSAGE.SET_TOKEN(:TOKEN, :VALUE, TRANSLATE); end;');
1056 STPROC.BIND_I(TRANSLATE);
1057 STPROC.BIND_I(TOKEN);
1058 STPROC.BIND_I(VALUE);
1059 STPROC.EXECUTE;*/
1060
1061 -- TRANSLATE1 := sys.diutil.int_to_bool(TRANSLATE);
1062 FND_MESSAGE.SET_TOKEN(TOKEN, VALUE, TRANSLATE1);
1063 END SET_TOKEN;
1064
1065 PROCEDURE RETRIEVE(MSGOUT OUT NOCOPY VARCHAR2) IS
1066 BEGIN
1067 /* STPROC.INIT('begin FND_MESSAGE.RETRIEVE(:MSGOUT); end;');
1068 STPROC.BIND_O(MSGOUT);
1069 STPROC.EXECUTE;
1070 STPROC.RETRIEVE(1
1071 ,MSGOUT);*/null;
1072 END RETRIEVE;
1073
1074 PROCEDURE CLEAR IS
1075 BEGIN
1076 /* STPROC.INIT('begin FND_MESSAGE.CLEAR; end;');
1077 STPROC.EXECUTE;*/null;
1078 END CLEAR;
1079
1080 FUNCTION GET_STRING(APPIN IN VARCHAR2
1081 ,NAMEIN IN VARCHAR2) RETURN VARCHAR2 IS
1082 X0 VARCHAR2(2000);
1083 BEGIN
1084 /* STPROC.INIT('begin :X0 := FND_MESSAGE.GET_STRING(:APPIN, :NAMEIN); end;');
1085 STPROC.BIND_O(X0);
1086 STPROC.BIND_I(APPIN);
1087 STPROC.BIND_I(NAMEIN);
1088 STPROC.EXECUTE;
1089 STPROC.RETRIEVE(1
1090 ,X0);*/
1091 RETURN X0;
1092 END GET_STRING;
1093
1094 FUNCTION GET_NUMBER(APPIN IN VARCHAR2
1095 ,NAMEIN IN VARCHAR2) RETURN NUMBER IS
1096 X0 NUMBER;
1097 BEGIN
1098 /*STPROC.INIT('begin :X0 := FND_MESSAGE.GET_NUMBER(:APPIN, :NAMEIN); end;');
1099 STPROC.BIND_O(X0);
1100 STPROC.BIND_I(APPIN);
1101 STPROC.BIND_I(NAMEIN);
1102 STPROC.EXECUTE;
1103 STPROC.RETRIEVE(1
1104 ,X0);*/null;
1105 RETURN X0;
1106 END GET_NUMBER;
1107
1108 FUNCTION GET RETURN VARCHAR2 IS
1109 X0 VARCHAR2(2000);
1110 BEGIN
1111 /* STPROC.INIT('begin :X0 := FND_MESSAGE.GET; end;');
1112 STPROC.BIND_O(X0);
1113 STPROC.EXECUTE;
1114 STPROC.RETRIEVE(1
1115 ,X0);*/
1116
1117 X0 := FND_MESSAGE.GET;
1118 RETURN X0;
1119 END GET;
1120
1121 FUNCTION GET_ENCODED RETURN VARCHAR2 IS
1122 X0 VARCHAR2(2000);
1123 BEGIN
1124 /* STPROC.INIT('begin :X0 := FND_MESSAGE.GET_ENCODED; end;');
1125 STPROC.BIND_O(X0);
1126 STPROC.EXECUTE;
1127 STPROC.RETRIEVE(1
1128 ,X0);*/
1129 RETURN X0;
1130 END GET_ENCODED;
1131
1132 PROCEDURE PARSE_ENCODED(ENCODED_MESSAGE IN VARCHAR2
1133 ,APP_SHORT_NAME OUT NOCOPY VARCHAR2
1134 ,MESSAGE_NAME OUT NOCOPY VARCHAR2) IS
1135 BEGIN
1136 /* STPROC.INIT('begin FND_MESSAGE.PARSE_ENCODED(:ENCODED_MESSAGE, :APP_SHORT_NAME, :MESSAGE_NAME); end;');
1137 STPROC.BIND_I(ENCODED_MESSAGE);
1138 STPROC.BIND_O(APP_SHORT_NAME);
1139 STPROC.BIND_O(MESSAGE_NAME);
1140 STPROC.EXECUTE;
1141 STPROC.RETRIEVE(2
1142 ,APP_SHORT_NAME);
1143 STPROC.RETRIEVE(3
1144 ,MESSAGE_NAME);*/null;
1145 END PARSE_ENCODED;
1146
1147 PROCEDURE SET_ENCODED(ENCODED_MESSAGE IN VARCHAR2) IS
1148 BEGIN
1149 /* STPROC.INIT('begin FND_MESSAGE.SET_ENCODED(:ENCODED_MESSAGE); end;');
1150 STPROC.BIND_I(ENCODED_MESSAGE);
1151 STPROC.EXECUTE;*/null;
1152 END SET_ENCODED;
1153
1154 PROCEDURE RAISE_ERROR IS
1155 BEGIN
1156 /* STPROC.INIT('begin FND_MESSAGE.RAISE_ERROR; end;');
1157 STPROC.EXECUTE;*/null;
1158 END RAISE_ERROR;
1159
1160 END JL_JLMXFGLR_XMLP_PKG;
1161
1162