DBA Data[Home] [Help]

PACKAGE BODY: APPS.JE_JEFIASDR_XMLP_PKG

Source


1 PACKAGE BODY JE_JEFIASDR_XMLP_PKG AS
2 /* $Header: JEFIASDRB.pls 120.1 2007/12/25 16:52:14 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4   BEGIN
5     IF P_DEBUG_SWITCH = 'Y' THEN
6       /*SRW.MESSAGE(001
7                  ,'At the beginning of BeforeReport trigger.')*/NULL;
8     END IF;
9     BEGIN
10       SELECT
11         SOB.LEDGER_ID,
12         SOB.NAME,
13         SC.CATEGORY_FLEX_STRUCTURE,
14         BC.BOOK_TYPE_CODE,
15         BC.ACCOUNTING_FLEX_STRUCTURE,
16         BC.DISTRIBUTION_SOURCE_BOOK,
17         SOB.CURRENCY_CODE,
18         CR.PRECISION
19       INTO C_SET_OF_BOOKS_ID,C_SOB_NAME,C_CAT_FLEX_STRUCT,C_BOOK_TYPE_CODE,C_ACCT_FLEX_STRUCT,C_DISTRIBUTION_SOURCE_BOOK,C_CURRENCY_CODE,C_PRECISION
20       FROM
21         FND_CURRENCIES_VL CR,
22         FA_SYSTEM_CONTROLS SC,
23         GL_LEDGERS_PUBLIC_V SOB,
24         FA_BOOK_CONTROLS BC
25       WHERE BC.BOOK_TYPE_CODE = P_TAX_BOOK
26         AND SOB.LEDGER_ID = BC.SET_OF_BOOKS_ID
27         AND CR.CURRENCY_CODE = SOB.CURRENCY_CODE;
28       /*SRW.MESSAGE(002
29                  ,'Distribution source book is ' || C_DISTRIBUTION_SOURCE_BOOK)*/NULL;
30       IF P_DEBUG_SWITCH = 'Y' THEN
31         /*SRW.MESSAGE(002
32                    ,'SOB Id is ' || TO_CHAR(C_SET_OF_BOOKS_ID))*/NULL;
33         /*SRW.MESSAGE(002
34                    ,'Category flex structure is ' || TO_CHAR(C_CAT_FLEX_STRUCT))*/NULL;
35         /*SRW.MESSAGE(002
36                    ,'Book type code is ' || C_BOOK_TYPE_CODE)*/NULL;
37         /*SRW.MESSAGE(002
38                    ,'Accouting flex structure is ' || TO_CHAR(C_ACCT_FLEX_STRUCT))*/NULL;
39         /*SRW.MESSAGE(002
40                    ,'Distribution source book is ' || C_DISTRIBUTION_SOURCE_BOOK)*/NULL;
41         /*SRW.MESSAGE(002
42                    ,'Currency code is ' || C_CURRENCY_CODE)*/NULL;
43       END IF;
44     EXCEPTION
45       WHEN TOO_MANY_ROWS THEN
46         /*SRW.MESSAGE('222'
47                    ,'ERROR. Set of Book info brings back too many rows.')*/NULL;
48         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
49       WHEN NO_DATA_FOUND THEN
50         /*SRW.MESSAGE('223'
51                    ,'ERROR. Set of Books info brings back no rows')*/NULL;
52         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
53     END;
54     BEGIN
55       SELECT
56         F.PERIOD_OPEN_DATE FROM_OPEN_DATE,
57         NVL(F.PERIOD_CLOSE_DATE
58            ,SYSDATE) FROM_CLOSE_DATE,
59         sysdate REPORT_DATE,
60         F.PERIOD_COUNTER FROM_COUNTER,
61         F.CALENDAR_PERIOD_OPEN_DATE CALENDAR_OPEN_DATE,
62         NVL(T.CALENDAR_PERIOD_CLOSE_DATE
63            ,SYSDATE) CALENDAR_CLOSE_DATE,
64         F.FISCAL_YEAR FROM_FISCAL_YEAR,
65         T.PERIOD_COUNTER TO_COUNTER,
66         T.PERIOD_OPEN_DATE TO_OPEN_DATE,
67         NVL(T.PERIOD_CLOSE_DATE
68            ,C.LAST_DEPRN_RUN_DATE),
69         T.PERIOD_CLOSE_DATE TIME_TO_CLOSE_DATE
70       INTO C_FROM_OPEN_DATE,C_FROM_CLOSE_DATE,C_REPORT_DATE,C_FROM_COUNTER,C_CALENDAR_OPEN_DATE,C_CALENDAR_CLOSE_DATE,C_FROM_FISCAL_YEAR,C_TO_COUNTER,C_TO_OPEN_DATE,C_TO_CLOSE_DATE,C_TIME_TO_CLOSE_DATE
71       FROM
72         FA_DEPRN_PERIODS F,
73         FA_DEPRN_PERIODS T,
74         FA_BOOK_CONTROLS C
75       WHERE F.PERIOD_COUNTER = (
76         SELECT
77           MIN(F1.PERIOD_COUNTER)
78         FROM
79           FA_DEPRN_PERIODS F1
80         WHERE F1.BOOK_TYPE_CODE = P_TAX_BOOK
81           AND F1.FISCAL_YEAR = F.FISCAL_YEAR )
82         AND T.PERIOD_NAME = P_PERIOD_NAME
83         AND F.BOOK_TYPE_CODE = P_TAX_BOOK
84         AND T.BOOK_TYPE_CODE = P_TAX_BOOK
85         AND T.FISCAL_YEAR = F.FISCAL_YEAR
86         AND C.BOOK_TYPE_CODE = T.BOOK_TYPE_CODE
87         AND C.BOOK_TYPE_CODE = F.BOOK_TYPE_CODE;
88       IF P_DEBUG_SWITCH = 'Y' THEN
89         /*SRW.MESSAGE(003
90                    ,'C_from_open_date is ' || C_FROM_OPEN_DATE)*/NULL;
91         /*SRW.MESSAGE(003
92                    ,'C_from_close_date is ' || TO_CHAR(C_FROM_CLOSE_DATE))*/NULL;
93         /*SRW.MESSAGE(003
94                    ,'--------------------')*/NULL;
95         /*SRW.MESSAGE(003
96                    ,'C_report_date is ' || C_REPORT_DATE)*/NULL;
97         /*SRW.MESSAGE(003
98                    ,'C_from_fiscal_year is ' || C_FROM_FISCAL_YEAR)*/NULL;
99         /*SRW.MESSAGE(003
100                    ,'--------------------')*/NULL;
101         /*SRW.MESSAGE(003
102                    ,'C_from_counter is ' || TO_CHAR(C_FROM_COUNTER))*/NULL;
103         /*SRW.MESSAGE(003
104                    ,'C_to_counter is ' || TO_CHAR(C_TO_COUNTER))*/NULL;
105         /*SRW.MESSAGE(003
106                    ,'--------------------')*/NULL;
107         /*SRW.MESSAGE(003
108                    ,'C_calendar_open_date is ' || TO_CHAR(C_CALENDAR_OPEN_DATE))*/NULL;
109         /*SRW.MESSAGE(003
110                    ,'C_calendar_close_date is ' || TO_CHAR(C_CALENDAR_CLOSE_DATE))*/NULL;
111         /*SRW.MESSAGE(003
112                    ,'--------------------')*/NULL;
113         /*SRW.MESSAGE(003
114                    ,'C_to_open_date is ' || C_TO_OPEN_DATE)*/NULL;
115         /*SRW.MESSAGE(003
116                    ,'C_to_close_date is ' || C_TO_CLOSE_DATE)*/NULL;
117         /*SRW.MESSAGE(003
118                    ,'C_time_to_close_date is ' || C_TIME_TO_CLOSE_DATE)*/NULL;
119       END IF;
120     EXCEPTION
121       WHEN TOO_MANY_ROWS THEN
122         /*SRW.MESSAGE('224'
123                    ,'ERROR. Period info brings back too many rows.  (TAX BOOK)')*/NULL;
124         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
125       WHEN NO_DATA_FOUND THEN
126         /*SRW.MESSAGE('225'
127                    ,'ERROR. Period info brings back no rows.  (TAX BOOK)')*/NULL;
128         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
129     END;
130     SELECT
131       MIN(L.PERIOD_COUNTER)
132     INTO CP_LASTYR_BEGIN_PERIOD_COUNTER
133     FROM
134       FA_DEPRN_PERIODS P,
135       FA_DEPRN_PERIODS L
136     WHERE P.BOOK_TYPE_CODE = P_TAX_BOOK
137       AND L.BOOK_TYPE_CODE = P_TAX_BOOK
138       AND P.PERIOD_NAME = P_PERIOD_NAME
139       AND L.FISCAL_YEAR = P.FISCAL_YEAR - 1;
140     IF P_DEBUG_SWITCH = 'Y' THEN
141       /*SRW.MESSAGE(014
142                  ,'CP_lastyr_begin_period_counter is ' || CP_LASTYR_BEGIN_PERIOD_COUNTER)*/NULL;
143     END IF;
144     BEGIN
145       SELECT
146         MIN(PERIOD_COUNTER) CORPORATE_FROM_COUNTER,
147         MIN(CALENDAR_PERIOD_OPEN_DATE) CORPORATE_CALENDAR_OPEN_DATE
148       INTO C_CORP_FROM_COUNTER,C_CORP_CALENDAR_OPEN_DATE
149       FROM
150         FA_DEPRN_PERIODS
151       WHERE BOOK_TYPE_CODE = C_DISTRIBUTION_SOURCE_BOOK
152         AND FISCAL_YEAR = C_FROM_FISCAL_YEAR;
153       IF P_DEBUG_SWITCH = 'Y' THEN
154         /*SRW.MESSAGE(004
155                    ,'C_corp_from_counter is ' || TO_CHAR(C_CORP_FROM_COUNTER))*/NULL;
156         /*SRW.MESSAGE(004
157                    ,'C_corp_calendar_open_date is ' || TO_CHAR(C_CORP_CALENDAR_OPEN_DATE))*/NULL;
158       END IF;
159     EXCEPTION
160       WHEN TOO_MANY_ROWS THEN
161         /*SRW.MESSAGE('226'
162                    ,'ERROR. Period info brings back too many rows. (CORP BOOK) - From Counter')*/NULL;
163         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
164       WHEN NO_DATA_FOUND THEN
165         /*SRW.MESSAGE('227'
166                    ,'ERROR. Period info brings back no rows.  (CORP BOOK) - From Counter')*/NULL;
167         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
168     END;
169     BEGIN
170       SELECT
171         MAX(PERIOD_COUNTER) CORPORATE_TO_COUNTER,
172         NVL(MAX(CALENDAR_PERIOD_CLOSE_DATE)
173            ,SYSDATE) CORPORATE_CALENDAR_CLOSE_DATE
174       INTO C_CORP_TO_COUNTER,C_CORP_CALENDAR_CLOSE_DATE
175       FROM
176         FA_DEPRN_PERIODS
177       WHERE BOOK_TYPE_CODE = C_DISTRIBUTION_SOURCE_BOOK
178         AND C_CALENDAR_CLOSE_DATE between CALENDAR_PERIOD_OPEN_DATE
179         AND CALENDAR_PERIOD_CLOSE_DATE
180         AND FISCAL_YEAR = C_FROM_FISCAL_YEAR;
181       IF P_DEBUG_SWITCH = 'Y' THEN
182         /*SRW.MESSAGE(005
183                    ,'C_corp_to_counter is ' || TO_CHAR(C_CORP_TO_COUNTER))*/NULL;
184         /*SRW.MESSAGE(005
185                    ,'C_corp_calendar_close_date is ' || TO_CHAR(C_CORP_CALENDAR_CLOSE_DATE))*/NULL;
186       END IF;
187     EXCEPTION
188       WHEN TOO_MANY_ROWS THEN
189         /*SRW.MESSAGE('228'
190                    ,'ERROR. Period info brings back too many rows.  (CORP BOOK) - To Counter')*/NULL;
191         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
192       WHEN NO_DATA_FOUND THEN
193         /*SRW.MESSAGE('229'
194                    ,'ERROR. Period info brings back no rows.  (CORP BOOK) - To Counter')*/NULL;
195         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
196     END;
197     BEGIN
198       SELECT
199         T.PERIOD_OPEN_DATE CORP_TO_OPEN_DATE,
200         NVL(T.PERIOD_CLOSE_DATE
201            ,C.LAST_DEPRN_RUN_DATE),
202         T.PERIOD_CLOSE_DATE CORP_TIME_TO_CLOSE_DATE
203       INTO C_CORP_TO_OPEN_DATE,C_CORP_TO_CLOSE_DATE,C_CORP_TIME_TO_CLOSE_DATE
204       FROM
205         FA_DEPRN_PERIODS T,
206         FA_BOOK_CONTROLS C
207       WHERE T.PERIOD_COUNTER = C_CORP_TO_COUNTER
208         AND T.BOOK_TYPE_CODE = C_DISTRIBUTION_SOURCE_BOOK
209         AND T.FISCAL_YEAR = C_FROM_FISCAL_YEAR
210         AND C.BOOK_TYPE_CODE = T.BOOK_TYPE_CODE;
211       IF P_DEBUG_SWITCH = 'Y' THEN
212         /*SRW.MESSAGE(006
213                    ,'C_corp_time_to_close_date is ' || C_CORP_TIME_TO_CLOSE_DATE)*/NULL;
214         /*SRW.MESSAGE(006
215                    ,'C_corp_to_open_date is ' || C_CORP_TO_OPEN_DATE)*/NULL;
216       END IF;
217     EXCEPTION
218       WHEN TOO_MANY_ROWS THEN
219         /*SRW.MESSAGE('230'
220                    ,'ERROR. Period info brings back too many rows.  (CORP BOOK) - Dates')*/NULL;
221         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
222       WHEN NO_DATA_FOUND THEN
223         /*SRW.MESSAGE('231'
224                    ,'ERROR. Period info brings back no rows.  (CORP BOOK) - Dates')*/NULL;
225         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
226     END;
227     IF C_TIME_TO_CLOSE_DATE IS NULL THEN
228       SELECT
229         LAST_DEPRN_RUN_DATE
230       INTO C_TIME_TO_CLOSE_DATE
231       FROM
232         FA_BOOK_CONTROLS
233       WHERE BOOK_TYPE_CODE = P_TAX_BOOK;
234       IF P_DEBUG_SWITCH = 'Y' THEN
235         /*SRW.MESSAGE(007
236                    ,'C_time_to_close_date is ' || C_TIME_TO_CLOSE_DATE)*/NULL;
237       END IF;
238     END IF;
239     IF C_CORP_TIME_TO_CLOSE_DATE IS NULL THEN
240       SELECT
241         LAST_DEPRN_RUN_DATE
242       INTO C_CORP_TIME_TO_CLOSE_DATE
243       FROM
244         FA_BOOK_CONTROLS
245       WHERE BOOK_TYPE_CODE = C_DISTRIBUTION_SOURCE_BOOK;
246       IF P_DEBUG_SWITCH = 'Y' THEN
247         /*SRW.MESSAGE(008
248                    ,'C_corp_time_to_close_date is ' || C_CORP_TIME_TO_CLOSE_DATE)*/NULL;
249       END IF;
250     END IF;
251     SELECT
252       PERIOD_CLOSE_DATE
253     INTO CP_CLOSE_DATE
254     FROM
255       FA_DEPRN_PERIODS
256     WHERE BOOK_TYPE_CODE = P_TAX_BOOK
257       AND PERIOD_COUNTER = C_TO_COUNTER;
258     IF P_DEBUG_SWITCH = 'Y' THEN
259       /*SRW.MESSAGE(009
260                  ,'CP_close_date is ' || CP_CLOSE_DATE)*/NULL;
261     END IF;
262     IF P_DEBUG_SWITCH = 'Y' THEN
263       /*SRW.MESSAGE('200'
264                  ,'----- Summary of book time ranges ----')*/NULL;
265       /*SRW.MESSAGE('201'
266                  ,'Corp Calendar Open Date: ' || TO_CHAR(C_CORP_CALENDAR_OPEN_DATE))*/NULL;
267       /*SRW.MESSAGE('202'
268                  ,'Corp Calendar Close Date: ' || TO_CHAR(C_CORP_CALENDAR_CLOSE_DATE))*/NULL;
269       /*SRW.MESSAGE('203'
270                  ,'Corp To close date: ' || C_CORP_TO_CLOSE_DATE)*/NULL;
271       /*SRW.MESSAGE('204'
272                  ,'Corp To open date: ' || C_CORP_TO_OPEN_DATE)*/NULL;
273       /*SRW.MESSAGE('205'
274                  ,'Corp From Counter: ' || TO_CHAR(C_CORP_FROM_COUNTER))*/NULL;
275       /*SRW.MESSAGE('206'
276                  ,'Corp To Counter: ' || TO_CHAR(C_CORP_TO_COUNTER))*/NULL;
277       /*SRW.MESSAGE('207'
278                  ,'Tax Calendar Open Date: ' || TO_CHAR(C_CALENDAR_OPEN_DATE))*/NULL;
279       /*SRW.MESSAGE('208'
280                  ,'Tax Calendar Close Date: ' || TO_CHAR(C_CALENDAR_CLOSE_DATE))*/NULL;
281       /*SRW.MESSAGE('209'
282                  ,'Tax To Open Date: ' || C_TO_OPEN_DATE)*/NULL;
283       /*SRW.MESSAGE('210'
284                  ,'Tax To Close Date: ' || C_TO_CLOSE_DATE)*/NULL;
285       /*SRW.MESSAGE('211'
286                  ,'Tax From Counter: ' || TO_CHAR(C_FROM_COUNTER))*/NULL;
287       /*SRW.MESSAGE('212'
288                  ,'Tax To Counter: ' || TO_CHAR(C_TO_COUNTER))*/NULL;
289       /*SRW.MESSAGE('213'
290                  ,'C Time To Close Date: ' || C_TIME_TO_CLOSE_DATE)*/NULL;
291     END IF;
292     BEGIN
293       SELECT
294         FFS.FLEX_VALUE_SET_ID
295       INTO C_ACCOUNT_FLEX_ID
296       FROM
297         FND_APPLICATION_VL FAP,
298         FND_ID_FLEX_SEGMENTS_VL FFS,
299         FND_ID_FLEX_STRUCTURES FIF,
300         FND_SEGMENT_ATTRIBUTE_VALUES FSAV
301       WHERE FAP.APPLICATION_SHORT_NAME = 'SQLGL'
302         AND FFS.APPLICATION_ID = FAP.APPLICATION_ID
303         AND FFS.ID_FLEX_CODE = 'GL#'
304         AND FFS.ID_FLEX_NUM = C_ACCT_FLEX_STRUCT
305         AND FIF.APPLICATION_ID = FAP.APPLICATION_ID
306         AND FIF.ID_FLEX_CODE = FFS.ID_FLEX_CODE
307         AND FIF.ID_FLEX_NUM = FFS.ID_FLEX_NUM
308         AND FSAV.SEGMENT_ATTRIBUTE_TYPE = 'GL_ACCOUNT'
309         AND FSAV.APPLICATION_ID = FAP.APPLICATION_ID
310         AND FSAV.ID_FLEX_NUM = FFS.ID_FLEX_NUM
311         AND FSAV.ID_FLEX_CODE = FFS.ID_FLEX_CODE
312         AND FSAV.APPLICATION_COLUMN_NAME = FFS.APPLICATION_COLUMN_NAME
313         AND FSAV.ATTRIBUTE_VALUE = 'Y';
314       IF P_DEBUG_SWITCH = 'Y' THEN
315         /*SRW.MESSAGE(010
316                    ,'Account Flex Id is ' || TO_CHAR(C_ACCOUNT_FLEX_ID))*/NULL;
317       END IF;
318     EXCEPTION
319       WHEN TOO_MANY_ROWS THEN
320         /*SRW.MESSAGE('232'
321                    ,'ERROR. GL Account Flex value selection brings back too many rows')*/NULL;
322         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
323       WHEN NO_DATA_FOUND THEN
324         /*SRW.MESSAGE('233'
325                    ,'ERROR. GL Acccount Flex value selection brings back no rows')*/NULL;
326         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
327     END;
328     /*SRW.REFERENCE(C_CAT_FLEX_STRUCT)*/NULL;
329     C_WHERE_CAT_FLEX := 'AND ' || C_WHERE_CAT_FLEX;
330     IF P_DEBUG_SWITCH = 'Y' THEN
331       /*SRW.MESSAGE(011
332                  ,'C_where_cat_flex is ' || C_WHERE_CAT_FLEX)*/NULL;
333     END IF;
334     /*SRW.REFERENCE(C_CAT_FLEX_STRUCT)*/NULL;
335     IF P_DEBUG_SWITCH = 'Y' THEN
336       /*SRW.MESSAGE(012
337                  ,'C_major_category is ' || C_MAJOR_CATEGORY)*/NULL;
338     END IF;
339     /*SRW.REFERENCE(C_CAT_FLEX_STRUCT)*/NULL;
340     IF P_DEBUG_SWITCH = 'Y' THEN
341       /*SRW.MESSAGE(013
342                  ,'C_all_category is ' || C_ALL_CATEGORY)*/NULL;
343     END IF;
344     BEGIN
345       SELECT
346         USER_CONCURRENT_PROGRAM_NAME
347       INTO CP_REPORT_NAME
348       FROM
349         FND_CONCURRENT_REQUESTS R,
350         FND_CONCURRENT_PROGRAMS_VL P
351       WHERE R.REQUEST_ID = P_CONC_REQUEST_ID
352         AND R.CONCURRENT_PROGRAM_ID = P.CONCURRENT_PROGRAM_ID
353         AND R.PROGRAM_APPLICATION_ID = P.APPLICATION_ID;
354     EXCEPTION
355       WHEN NO_DATA_FOUND THEN
356         CP_REPORT_NAME := 'Finnish Deferred Depreciation Report';
357     END;
358     CP_PERIOD_NAME := P_PERIOD_NAME;
359     CP_TAX_BOOK := P_TAX_BOOK;
360     CP_DISTRIBUTION_CORP_BOOK := C_DISTRIBUTION_SOURCE_BOOK;
361     CP_SOB_NAME := C_SOB_NAME;
362     CP_FROM_FISCAL_YEAR := C_FROM_FISCAL_YEAR;
363     CP_CURRENCY_CODE := C_CURRENCY_CODE;
364     CP_CALENDAR_OPEN_DATE := C_CALENDAR_OPEN_DATE;
365     CP_CALENDAR_CLOSE_DATE := C_CALENDAR_CLOSE_DATE;
366     CP_REPORT_TYPE := UPPER(P_REPORT_TYPE);
367     IF P_DEBUG_SWITCH = 'Y' THEN
368       /*SRW.MESSAGE(666
369                  ,'Rep Name is ' || CP_REPORT_NAME)*/NULL;
370       /*SRW.MESSAGE(666
371                  ,'Period name is ' || P_PERIOD_NAME || ' or ' || CP_PERIOD_NAME)*/NULL;
372       /*SRW.MESSAGE(666
373                  ,'Tax Book is ' || P_TAX_BOOK || ' or ' || CP_TAX_BOOK)*/NULL;
374       /*SRW.MESSAGE(666
375                  ,'SOB Name is ' || C_SOB_NAME || ' or ' || CP_SOB_NAME)*/NULL;
376       /*SRW.MESSAGE(666
377                  ,'Fiscal Year is ' || C_FROM_FISCAL_YEAR || ' or ' || CP_FROM_FISCAL_YEAR)*/NULL;
378       /*SRW.MESSAGE(666
379                  ,'Currency code is ' || C_CURRENCY_CODE || ' or ' || CP_CURRENCY_CODE)*/NULL;
380     END IF;
381     RETURN (TRUE);
382   END BEFOREREPORT;
383 
384   FUNCTION C_COST_ACCT_DESCFORMULA(COST_ACCOUNT IN VARCHAR2) RETURN VARCHAR2 IS
385   BEGIN
386     DECLARE
387       OUT_STRING VARCHAR(240);
388     BEGIN
389       GET_THE_ACCT_DESC(COST_ACCOUNT
390                        ,OUT_STRING);
391       RETURN (OUT_STRING);
392     END;
393     RETURN NULL;
394   END C_COST_ACCT_DESCFORMULA;
395 
396   FUNCTION CF_ASSET_CLOSE_NBVFORMULA(CF_ASS_INITIAL_NBV_ADJUSTED IN NUMBER
397                                     ,CF_ASS_TAX_ADDITIONS IN NUMBER
398                                     ,CS_ASS_TAX_RETIREMENT IN NUMBER
399                                     ,A1_1 IN NUMBER
400                                     ,CF_ASS_DEF_DP IN NUMBER) RETURN NUMBER IS
401   BEGIN
402     RETURN (NVL(CF_ASS_INITIAL_NBV_ADJUSTED
403               ,0) + NVL(CF_ASS_TAX_ADDITIONS
404               ,0) - NVL(CS_ASS_TAX_RETIREMENT
405               ,0) - NVL(A1_1
406               ,0) - NVL(CF_ASS_DEF_DP
407               ,0));
408   END CF_ASSET_CLOSE_NBVFORMULA;
409 
410   FUNCTION AFTERREPORT RETURN BOOLEAN IS
411   BEGIN
412     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
413     RETURN (TRUE);
414   END AFTERREPORT;
415 
416   FUNCTION AFTERPFORM RETURN BOOLEAN IS
417   BEGIN
418     BEGIN
419       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
420       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
421     EXCEPTION
422       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
423         BEGIN
424           /*SRW.MESSAGE(100
425                      ,'Foundation is not initialised')*/NULL;
426           /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
427         END;
428     END;
429     IF (P_AS_NUM_LOW IS NOT NULL AND P_AS_NUM_HIGH IS NOT NULL) THEN
430       C_ASSET_WHERE := 'and fad.asset_number between :P_AS_NUM_LOW and :P_AS_NUM_HIGH';
431     END IF;
432     IF (P_AS_NUM_LOW IS NULL AND P_AS_NUM_HIGH IS NULL) THEN
433       C_ASSET_WHERE := 'and 1=1';
434     END IF;
435     IF (P_AS_NUM_LOW IS NULL AND P_AS_NUM_HIGH IS NOT NULL) THEN
436       C_ASSET_WHERE := 'and fad.asset_number <= :P_AS_NUM_HIGH';
437     END IF;
438     IF (P_AS_NUM_LOW IS NOT NULL AND P_AS_NUM_HIGH IS NULL) THEN
439       C_ASSET_WHERE := 'and fad.asset_number >= :P_AS_NUM_LOW';
440     END IF;
441     RETURN (TRUE);
442   END AFTERPFORM;
443 
444   PROCEDURE GET_THE_ACCT_DESC(P_ACCOUNT IN VARCHAR2
445                              ,P_DESCR OUT NOCOPY VARCHAR2) IS
446   BEGIN
447     SELECT
448       FVS.DESCRIPTION
449     INTO P_DESCR
450     FROM
451       FND_FLEX_VALUES_VL FVS
452     WHERE FVS.FLEX_VALUE_SET_ID = C_ACCOUNT_FLEX_ID
453       AND FVS.FLEX_VALUE = P_ACCOUNT;
454   EXCEPTION
455     WHEN OTHERS THEN
456       /*SRW.MESSAGE('231'
457                  ,'ERROR. Selecting account segment description')*/NULL;
458       /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
459   END GET_THE_ACCT_DESC;
460 
461   FUNCTION CF_F_CAT_CORP_GAINFORMULA(CS_F_CAT_CORP_SALES_PROCEEDS IN NUMBER
462                                     ,CS_F_CAT_RETIREMENT IN NUMBER) RETURN NUMBER IS
463   BEGIN
464     RETURN (CS_F_CAT_CORP_SALES_PROCEEDS - CS_F_CAT_RETIREMENT);
465   END CF_F_CAT_CORP_GAINFORMULA;
466 
467   FUNCTION CF_F_ASSET_COST_ENDFORMULA(CS_F_CAT_CORP_COST IN NUMBER
468                                      ,CS_F_CAT_CORP_ADDITION IN NUMBER
469                                      ,CS_F_CAT_CORP_RETIREMENT IN NUMBER) RETURN NUMBER IS
470   BEGIN
474   FUNCTION CF_F_CAT_CORP_DEPRN_RESERVEFOR(CS_F_CAT_CORP_DEPRN_RESERVE IN NUMBER
471     RETURN (CS_F_CAT_CORP_COST + CS_F_CAT_CORP_ADDITION - CS_F_CAT_CORP_RETIREMENT);
472   END CF_F_ASSET_COST_ENDFORMULA;
473 
475                                          ,CF_F_CAT_CP_YTD IN NUMBER
476                                          ,CS_F_CAT_CORP_RET_RESERVE IN NUMBER) RETURN NUMBER IS
477   BEGIN
478     RETURN (CS_F_CAT_CORP_DEPRN_RESERVE + CF_F_CAT_CP_YTD - CS_F_CAT_CORP_RET_RESERVE);
479   END CF_F_CAT_CORP_DEPRN_RESERVEFOR;
480 
481   FUNCTION CF_F_CAT_NBV_STARTFORMULA(CS_F_CAT_CORP_COST IN NUMBER
482                                     ,CS_F_CAT_CORP_DEPRN_RESERVE IN NUMBER) RETURN NUMBER IS
483   BEGIN
484     RETURN (CS_F_CAT_CORP_COST - CS_F_CAT_CORP_DEPRN_RESERVE);
485   END CF_F_CAT_NBV_STARTFORMULA;
486 
487   FUNCTION CF_F_CAT_NBV_ENDFORMULA(CF_F_CAT_ASSET_COST_END IN NUMBER
488                                   ,CF_F_CAT_CORP_DEPRN_RESERVE IN NUMBER) RETURN NUMBER IS
489   BEGIN
490     RETURN (CF_F_CAT_ASSET_COST_END - CF_F_CAT_CORP_DEPRN_RESERVE);
491   END CF_F_CAT_NBV_ENDFORMULA;
492 
493   FUNCTION CF_F_CAT_CORP_DEPN_RESERVEFORM(CS_F_CAT_TAX_DEPRN_RESERVE IN NUMBER
494                                          ,CS_F_CAT_CORP_DEPRN_RESERVE IN NUMBER) RETURN NUMBER IS
495   BEGIN
496     RETURN (CS_F_CAT_TAX_DEPRN_RESERVE - CS_F_CAT_CORP_DEPRN_RESERVE);
497   END CF_F_CAT_CORP_DEPN_RESERVEFORM;
498 
499   FUNCTION CF_F_CAT_DEF_DEPRN_YTDFORMULA(CF_F_CAT_TAX_YTD_DEP IN NUMBER
500                                         ,CF_F_CAT_CP_YTD IN NUMBER) RETURN NUMBER IS
501   BEGIN
502     RETURN (CF_F_CAT_TAX_YTD_DEP - CF_F_CAT_CP_YTD);
503   END CF_F_CAT_DEF_DEPRN_YTDFORMULA;
504 
505   FUNCTION CF_F_CAT_DEFERRED_DEPRNFORMULA(CF_F_CAT_CORP_DEPN_RESERVE IN NUMBER
506                                          ,CF_F_CAT_DEF_DEPRN_YTD IN NUMBER
507                                          ,CS_F_CAT_CORP_RET_RESERVE IN NUMBER) RETURN NUMBER IS
508   BEGIN
509     RETURN (CF_F_CAT_CORP_DEPN_RESERVE + CF_F_CAT_DEF_DEPRN_YTD + CS_F_CAT_CORP_RET_RESERVE);
510   END CF_F_CAT_DEFERRED_DEPRNFORMULA;
511 
512   FUNCTION CF_F_CAT_RETIREMENTSFORMULA(CS_F_CAT_CORP_SALES_PROCEEDS IN NUMBER
513                                       ,CS_F_CAT_CORP_NBV_RETIRED IN NUMBER) RETURN NUMBER IS
514   BEGIN
515     RETURN (CS_F_CAT_CORP_SALES_PROCEEDS - CS_F_CAT_CORP_NBV_RETIRED);
516   END CF_F_CAT_RETIREMENTSFORMULA;
517 
518   FUNCTION CF_ASS_TAX_ADDITIONSFORMULA(CS_ASS_TAX_ADDITIONS IN NUMBER) RETURN NUMBER IS
519   BEGIN
520     RETURN (CS_ASS_TAX_ADDITIONS);
521   END CF_ASS_TAX_ADDITIONSFORMULA;
522 
523   FUNCTION CF_ASS_CORP_ADDITIONSFORMULA(CS_ASS_CORP_ADDITIONS IN NUMBER) RETURN NUMBER IS
524   BEGIN
525     RETURN (CS_ASS_CORP_ADDITIONS);
526   END CF_ASS_CORP_ADDITIONSFORMULA;
527 
528   FUNCTION CF_ASS_DEF_DPFORMULA(CS_ASS_TAX_DEPRN IN NUMBER
529                                ,A1_1 IN NUMBER
530                                ,CS_ASS_THIS_FISADJ IN NUMBER) RETURN NUMBER IS
531   BEGIN
532     RETURN (CS_ASS_TAX_DEPRN - A1_1 + CS_ASS_THIS_FISADJ);
533   END CF_ASS_DEF_DPFORMULA;
534 
535   FUNCTION CF_F_CAT_CP_YTDFORMULA(CS_F_CAT_CORP_YTD_DEPRN IN NUMBER) RETURN NUMBER IS
536   BEGIN
537     RETURN (CS_F_CAT_CORP_YTD_DEPRN);
538   END CF_F_CAT_CP_YTDFORMULA;
539 
540   FUNCTION CF_F_CAT_TAX_YTD_DEPFORMULA(CS_F_CAT_TAX_YTD_DEPRN IN NUMBER
541                                       ,CS_F_CAT_TAX_RESERVE_RETIRED IN NUMBER) RETURN NUMBER IS
542   BEGIN
543     RETURN (CS_F_CAT_TAX_YTD_DEPRN + CS_F_CAT_TAX_RESERVE_RETIRED);
544   END CF_F_CAT_TAX_YTD_DEPFORMULA;
545 
546   FUNCTION CF_F_CAT_RETIRE_DIFFFORMULA(CS_F_CAT_CORP_RET_RESERVE IN NUMBER
547                                       ,CS_F_CAT_TAX_RESERVE_RETIRED IN NUMBER) RETURN NUMBER IS
548   BEGIN
549     RETURN (CS_F_CAT_CORP_RET_RESERVE - CS_F_CAT_TAX_RESERVE_RETIRED);
550   END CF_F_CAT_RETIRE_DIFFFORMULA;
551 
552   FUNCTION CF_1FORMULA0029(CF_F_CAT_CORP_DEPN_RESERVE IN NUMBER
553                           ,CS_CAT_DEF_DEPRN IN NUMBER
554                           ,CF_F_CAT_RETIRE_DIFF IN NUMBER) RETURN NUMBER IS
555   BEGIN
556     RETURN (CF_F_CAT_CORP_DEPN_RESERVE + CS_CAT_DEF_DEPRN + CF_F_CAT_RETIRE_DIFF);
557   END CF_1FORMULA0029;
558 
559   FUNCTION CF_ASS_INITIAL_NBV_ADJUSTEDFOR(ASSET_NUMBER IN VARCHAR2
560                                          ,CAT_ID IN NUMBER
561                                          ,ENABLED_FLAG IN VARCHAR2
562                                          ,INITIAL_NBV IN NUMBER
563                                          ,CS_ASS_FISCAL_ADJUSTMENT IN NUMBER) RETURN NUMBER IS
564   BEGIN
565     IF P_DEBUG_SWITCH = 'Y' THEN
566       /*SRW.MESSAGE(100
567                  ,'In function CF_ASS_INITIAL_NBV_ADJUSTED.')*/NULL;
568       /*SRW.MESSAGE(101
569                  ,'Asset Number ' || ASSET_NUMBER)*/NULL;
570       /*SRW.MESSAGE(102
571                  ,'Asset Category: ' || CAT_ID)*/NULL;
572       /*SRW.MESSAGE(103
573                  ,'Enabled flag: ' || ENABLED_FLAG)*/NULL;
574       /*SRW.MESSAGE(104
575                  ,'Initial NBV: ' || INITIAL_NBV)*/NULL;
576       /*SRW.MESSAGE(105
577                  ,'CS Asset Fiscal Adjustment: ' || CS_ASS_FISCAL_ADJUSTMENT)*/NULL;
578     END IF;
579     RETURN (INITIAL_NBV - NVL(CS_ASS_FISCAL_ADJUSTMENT
580               ,0));
581   END CF_ASS_INITIAL_NBV_ADJUSTEDFOR;
582 
583   FUNCTION CF_ASS_TAX_DP_RESERVE_ADJUSTED(TAX_DP_RESERVE IN NUMBER
584                                          ,CS_ASS_FISCAL_ADJUSTMENT IN NUMBER) RETURN NUMBER IS
585   BEGIN
586     RETURN (TAX_DP_RESERVE + NVL(CS_ASS_FISCAL_ADJUSTMENT
587               ,0));
588   END CF_ASS_TAX_DP_RESERVE_ADJUSTED;
589 
590   FUNCTION CF_REPORT_DATEFORMULA RETURN CHAR IS
591   BEGIN
592     RETURN (FND_DATE.DATE_TO_CHARDT(C_REPORT_DATE));
593   END CF_REPORT_DATEFORMULA;
594 
598   END STRUCT_NUM_P;
595   FUNCTION STRUCT_NUM_P RETURN VARCHAR2 IS
596   BEGIN
597     RETURN STRUCT_NUM;
599 
600   FUNCTION SET_OF_BOOKS_NAME_P RETURN VARCHAR2 IS
601   BEGIN
602     RETURN SET_OF_BOOKS_NAME;
603   END SET_OF_BOOKS_NAME_P;
604 
605   FUNCTION SELECT_ALL_P RETURN VARCHAR2 IS
606   BEGIN
607     RETURN SELECT_ALL;
608   END SELECT_ALL_P;
609 
610   FUNCTION WHERE_FLEX_P RETURN VARCHAR2 IS
611   BEGIN
612     RETURN WHERE_FLEX;
613   END WHERE_FLEX_P;
614 
615   FUNCTION ORDERBY_ACCT_P RETURN VARCHAR2 IS
616   BEGIN
617     RETURN ORDERBY_ACCT;
618   END ORDERBY_ACCT_P;
619 
620   FUNCTION PRECISION_P RETURN NUMBER IS
621   BEGIN
622     RETURN PRECISION;
623   END PRECISION_P;
624 
625   FUNCTION FUNC_CURRENCY_P RETURN VARCHAR2 IS
626   BEGIN
627     RETURN FUNC_CURRENCY;
628   END FUNC_CURRENCY_P;
629 
630   FUNCTION C_BOOK_CLASS_P RETURN VARCHAR2 IS
631   BEGIN
632     RETURN C_BOOK_CLASS;
633   END C_BOOK_CLASS_P;
634 
635   FUNCTION C_ACCOUNT_FLEX_ID_P RETURN NUMBER IS
636   BEGIN
637     RETURN C_ACCOUNT_FLEX_ID;
638   END C_ACCOUNT_FLEX_ID_P;
639 
640   FUNCTION CP_CLOSE_DATE_P RETURN DATE IS
641   BEGIN
642     RETURN CP_CLOSE_DATE;
643   END CP_CLOSE_DATE_P;
644 
645   FUNCTION CP_LASTYR_BEGIN_PERIOD_COUNTE RETURN NUMBER IS
646   BEGIN
647     RETURN CP_LASTYR_BEGIN_PERIOD_COUNTER;
648   END CP_LASTYR_BEGIN_PERIOD_COUNTE;
649 
650   FUNCTION CP_REPORT_NAME_P RETURN VARCHAR2 IS
651   BEGIN
652     RETURN CP_REPORT_NAME;
653   END CP_REPORT_NAME_P;
654 
655   FUNCTION CP_FROM_FISCAL_YEAR_P RETURN VARCHAR2 IS
656   BEGIN
657     RETURN CP_FROM_FISCAL_YEAR;
658   END CP_FROM_FISCAL_YEAR_P;
659 
660   FUNCTION CP_PERIOD_NAME_P RETURN VARCHAR2 IS
661   BEGIN
662     RETURN CP_PERIOD_NAME;
663   END CP_PERIOD_NAME_P;
664 
665   FUNCTION CP_TAX_BOOK_P RETURN VARCHAR2 IS
666   BEGIN
667     RETURN CP_TAX_BOOK;
668   END CP_TAX_BOOK_P;
669 
670   FUNCTION CP_DISTRIBUTION_CORP_BOOK_P RETURN VARCHAR2 IS
671   BEGIN
672     RETURN CP_DISTRIBUTION_CORP_BOOK;
673   END CP_DISTRIBUTION_CORP_BOOK_P;
674 
675   FUNCTION CP_CURRENCY_CODE_P RETURN VARCHAR2 IS
676   BEGIN
677     RETURN CP_CURRENCY_CODE;
678   END CP_CURRENCY_CODE_P;
679 
680   FUNCTION CP_SOB_NAME_P RETURN VARCHAR2 IS
681   BEGIN
682     RETURN CP_SOB_NAME;
683   END CP_SOB_NAME_P;
684 
685   FUNCTION CP_CALENDAR_OPEN_DATE_P RETURN VARCHAR2 IS
686   BEGIN
687     RETURN CP_CALENDAR_OPEN_DATE;
688   END CP_CALENDAR_OPEN_DATE_P;
689 
690   FUNCTION CP_CALENDAR_CLOSE_DATE_P RETURN VARCHAR2 IS
691   BEGIN
692     RETURN CP_CALENDAR_CLOSE_DATE;
693   END CP_CALENDAR_CLOSE_DATE_P;
694 
695   FUNCTION CP_REPORT_TYPE_P RETURN VARCHAR2 IS
696   BEGIN
697     RETURN CP_REPORT_TYPE;
698   END CP_REPORT_TYPE_P;
699 
700 END JE_JEFIASDR_XMLP_PKG;
701 
702 
703