DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_JLARFEFR_XMLP_PKG

Source


1 PACKAGE BODY JL_JLARFEFR_XMLP_PKG AS
2 /* $Header: JLARFEFRB.pls 120.1 2007/12/25 16:32:35 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4     L_FLAG VARCHAR2(1);
5     L_SCALING_FACTOR NUMBER := 0;
6     ERRMSG VARCHAR2(1000);
7     ERRNUM NUMBER;
8   BEGIN
9     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
10     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
11     C_SCALING_FACTOR := L_SCALING_FACTOR;
12     IF UPPER(P_MRCSOBTYPE) = 'R' THEN
13       FND_CLIENT_INFO.SET_CURRENCY_CONTEXT(P_CA_SET_OF_BOOKS_ID);
14     END IF;
15     IF UPPER(P_MRCSOBTYPE) = 'R' THEN
16       SELECT
17         DISTRIBUTION_SOURCE_BOOK
18       INTO P_CORP_BOOK
19       FROM
20         FA_BOOK_CONTROLS_MRC_V
21       WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
22       SELECT
23         PERIOD_NAME
24       INTO C_PERIOD_FROM
25       FROM
26         FA_DEPRN_PERIODS_MRC_V
27       WHERE PERIOD_COUNTER = P_PERIOD_COUNTER_FROM
28         AND BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
29       SELECT
30         PERIOD_NAME
31       INTO C_PERIOD_TO
32       FROM
33         FA_DEPRN_PERIODS_MRC_V
34       WHERE PERIOD_COUNTER = P_PERIOD_COUNTER_TO
35         AND BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
36       /*SRW.MESSAGE('10000'
37                  ,'Check ==' || P_PERIOD_COUNTER_TO)*/NULL;
38       /*SRW.MESSAGE('10000'
39                  ,'Check ==' || P_BOOK_TYPE_CODE)*/NULL;
40       BEGIN
41         SELECT
42           'Y'
43         INTO L_FLAG
44         FROM
45           FA_DEPRN_PERIODS_MRC_V
46         WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
47           AND PERIOD_COUNTER = P_PERIOD_COUNTER_TO
48           AND PERIOD_CLOSE_DATE is not null;
49       EXCEPTION
50         WHEN NO_DATA_FOUND THEN
51           SET_NAME('JL'
52                   ,'JL_CO_FA_SAME_AS_PERIOD_CLOSED');
53           SET_TOKEN('PERIOD'
54                    ,C_PERIOD_TO
55                    ,TRUE);
56           SET_TOKEN('BOOK'
57                    ,P_BOOK_TYPE_CODE
58                    ,TRUE);
59           ERRMSG := GET;
60           /*SRW.MESSAGE(62331
61                      ,ERRMSG)*/NULL;
62           /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
63         WHEN OTHERS THEN
64           ERRMSG := SQLERRM;
65           ERRNUM := SQLCODE;
66           /*SRW.MESSAGE(ERRNUM
67                      ,ERRMSG)*/NULL;
68           /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
69       END;
70     ELSE
71       SELECT
72         DISTRIBUTION_SOURCE_BOOK
73       INTO P_CORP_BOOK
74       FROM
75         FA_BOOK_CONTROLS
76       WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
77       SELECT
78         PERIOD_NAME
79       INTO C_PERIOD_FROM
80       FROM
81         FA_DEPRN_PERIODS
82       WHERE PERIOD_COUNTER = P_PERIOD_COUNTER_FROM
83         AND BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
84       SELECT
85         PERIOD_NAME
86       INTO C_PERIOD_TO
87       FROM
88         FA_DEPRN_PERIODS
89       WHERE PERIOD_COUNTER = P_PERIOD_COUNTER_TO
90         AND BOOK_TYPE_CODE = P_BOOK_TYPE_CODE;
91       /*SRW.MESSAGE('10000'
92                  ,'Check ==' || P_PERIOD_COUNTER_TO)*/NULL;
93       /*SRW.MESSAGE('10000'
94                  ,'Check ==' || P_BOOK_TYPE_CODE)*/NULL;
95       BEGIN
96         SELECT
97           'Y'
98         INTO L_FLAG
99         FROM
100           FA_DEPRN_PERIODS
101         WHERE BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
102           AND PERIOD_COUNTER = P_PERIOD_COUNTER_TO
103           AND PERIOD_CLOSE_DATE is not null;
104       EXCEPTION
105         WHEN NO_DATA_FOUND THEN
106           SET_NAME('JL'
107                   ,'JL_CO_FA_SAME_AS_PERIOD_CLOSED');
108           SET_TOKEN('PERIOD'
109                    ,C_PERIOD_TO
110                    ,TRUE);
111           SET_TOKEN('BOOK'
112                    ,P_BOOK_TYPE_CODE
113                    ,TRUE);
114           ERRMSG := GET;
115           /*SRW.MESSAGE(62331
116                      ,ERRMSG)*/NULL;
117           /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
118         WHEN OTHERS THEN
119           ERRMSG := SQLERRM;
120           ERRNUM := SQLCODE;
121           /*SRW.MESSAGE(ERRNUM
122                      ,ERRMSG)*/NULL;
123           /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
124       END;
125     END IF;
126     JL_ZZ_FA_FUNCTIONS_PKG.POPULATE_FA_EXHIBIT_DATA(P_BOOK_TYPE_CODE
127                                                    ,P_CORP_BOOK
128                                                    ,P_CONC_REQUEST_ID
129                                                    ,P_PERIOD_COUNTER_FROM
130                                                    ,P_PERIOD_COUNTER_TO
131                                                    ,P_MRCSOBTYPE);
132     GET_BASE_CURR_DATA;
133     RETURN (TRUE);
134   END BEFOREREPORT;
135 
136   PROCEDURE GET_BASE_CURR_DATA IS
137     BASE_CURR FND_CURRENCIES_VL.CURRENCY_CODE%TYPE;
138     PREC FND_CURRENCIES_VL.PRECISION%TYPE;
139     MIN_AU FND_CURRENCIES_VL.MINIMUM_ACCOUNTABLE_UNIT%TYPE;
140     DESCR FND_CURRENCIES_VL.DESCRIPTION%TYPE;
141     ORG_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
142   BEGIN
143     BASE_CURR := '';
144     PREC := 0;
145     MIN_AU := 0;
146     DESCR := '';
147     ORG_NAME := '';
148     IF UPPER(P_MRCSOBTYPE) = 'R' THEN
149       BEGIN
150         SELECT
151           FCURR.CURRENCY_CODE,
152           FCURR.PRECISION,
153           FCURR.MINIMUM_ACCOUNTABLE_UNIT,
154           FCURR.DESCRIPTION,
155           GSBKS.NAME
156         INTO BASE_CURR,PREC,MIN_AU,DESCR,ORG_NAME
157         FROM
158           FA_BOOK_CONTROLS_MRC_V BKCTRL,
159           FND_CURRENCIES_VL FCURR,
160           GL_SETS_OF_BOOKS GSBKS
161         WHERE BKCTRL.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
162           AND BKCTRL.SET_OF_BOOKS_ID = GSBKS.SET_OF_BOOKS_ID
163           AND GSBKS.CURRENCY_CODE = FCURR.CURRENCY_CODE;
164       EXCEPTION
165         WHEN NO_DATA_FOUND THEN
166           RAISE_ERR('JL_AR_FA_CURR_DET_NOT_DEFINED'
167                    ,'N');
168         WHEN OTHERS THEN
169           RAISE_ORA_ERR;
170       END;
171     ELSE
172       BEGIN
173         SELECT
174           FCURR.CURRENCY_CODE,
175           FCURR.PRECISION,
176           FCURR.MINIMUM_ACCOUNTABLE_UNIT,
177           FCURR.DESCRIPTION,
178           GSBKS.NAME
179         INTO BASE_CURR,PREC,MIN_AU,DESCR,ORG_NAME
180         FROM
181           FA_BOOK_CONTROLS BKCTRL,
182           FND_CURRENCIES_VL FCURR,
183           GL_SETS_OF_BOOKS GSBKS
184         WHERE BKCTRL.BOOK_TYPE_CODE = P_BOOK_TYPE_CODE
185           AND BKCTRL.SET_OF_BOOKS_ID = GSBKS.SET_OF_BOOKS_ID
186           AND GSBKS.CURRENCY_CODE = FCURR.CURRENCY_CODE;
187       EXCEPTION
188         WHEN NO_DATA_FOUND THEN
189           RAISE_ERR('JL_AR_FA_CURR_DET_NOT_DEFINED'
190                    ,'N');
191         WHEN OTHERS THEN
192           RAISE_ORA_ERR;
193       END;
194     END IF;
195     C_BASE_CURRENCY_CODE := BASE_CURR;
196     C_BASE_PRECISION := PREC;
197     C_BASE_MIN_ACCT_UNIT := 0;
198     C_BASE_DESCRIPTION := DESCR;
199     C_ORGANIZATION_NAME := ORG_NAME;
200   END GET_BASE_CURR_DATA;
201 
202   FUNCTION AFTERREPORT RETURN BOOLEAN IS
203   BEGIN
204     BEGIN
205       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
206     EXCEPTION
207       WHEN OTHERS THEN
208         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
209     END;
210     RETURN (TRUE);
211   END AFTERREPORT;
212 
213   PROCEDURE RAISE_ORA_ERR IS
214     ERRMSG VARCHAR2(1000);
215     ERRNUM NUMBER;
216   BEGIN
217     ERRMSG := SQLERRM;
218     ERRNUM := SQLCODE;
219     /*SRW.MESSAGE(ERRNUM
220                ,ERRMSG)*/NULL;
221     /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
222   END RAISE_ORA_ERR;
223 
224   PROCEDURE RAISE_ERR(MSGNAME IN VARCHAR2
225                      ,ABORT_FLAG IN VARCHAR2) IS
226     ERRMSG VARCHAR2(1000);
227   BEGIN
228     SET_NAME('JL'
229             ,MSGNAME);
230     ERRMSG := GET;
231     /*SRW.MESSAGE(JL_ZZ_FA_UTILITIES_PKG.GET_APP_ERRNUM('JL'
232                                                      ,MSGNAME)
233                ,ERRMSG)*/NULL;
234     IF ABORT_FLAG = 'Y' THEN
235       /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
236     END IF;
237   END RAISE_ERR;
238 
239   FUNCTION AFTERPFORM RETURN BOOLEAN IS
240   BEGIN
241     IF P_CA_SET_OF_BOOKS_ID <> -1999 THEN
242       BEGIN
243         SELECT
244           MRC_SOB_TYPE_CODE,
245           CURRENCY_CODE
246         INTO P_MRCSOBTYPE,LP_CURRENCY_CODE
247         FROM
248           GL_SETS_OF_BOOKS
249         WHERE SET_OF_BOOKS_ID = P_CA_SET_OF_BOOKS_ID;
250       EXCEPTION
251         WHEN OTHERS THEN
252           P_MRCSOBTYPE := 'P';
253       END;
254     ELSE
255       P_MRCSOBTYPE := 'P';
256     END IF;
257     IF UPPER(P_MRCSOBTYPE) = 'R' THEN
258       LP_FA_BOOK_CONTROLS := 'FA_BOOK_CONTROLS_MRC_V';
259       LP_FA_BOOKS := 'FA_BOOKS_MRC_V';
260       LP_FA_ADJUSTMENTS := 'FA_ADJUSTMENTS_MRC_V';
261       LP_FA_DEPRN_PERIODS := 'FA_DEPRN_PERIODS_MRC_V';
262       LP_FA_DEPRN_SUMMARY := 'FA_DEPRN_SUMMARY_MRC_V';
263       LP_FA_DEPRN_DETAIL := 'FA_DEPRN_DETAIL_MRC_V';
264     ELSE
265       LP_FA_BOOK_CONTROLS := 'FA_BOOK_CONTROLS';
266       LP_FA_BOOKS := 'FA_BOOKS';
267       LP_FA_ADJUSTMENTS := 'FA_ADJUSTMENTS';
268       LP_FA_DEPRN_PERIODS := 'FA_DEPRN_PERIODS';
269       LP_FA_DEPRN_SUMMARY := 'FA_DEPRN_SUMMARY';
270       LP_FA_DEPRN_DETAIL := 'FA_DEPRN_DETAIL';
271     END IF;
272     RETURN (TRUE);
273   END AFTERPFORM;
274 
275   FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
276   BEGIN
277     RETURN C_BASE_CURRENCY_CODE;
278   END C_BASE_CURRENCY_CODE_P;
279 
280   FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
281   BEGIN
282     RETURN C_BASE_PRECISION;
283   END C_BASE_PRECISION_P;
284 
285   FUNCTION C_ORGANIZATION_NAME_P RETURN VARCHAR2 IS
286   BEGIN
287     RETURN C_ORGANIZATION_NAME;
288   END C_ORGANIZATION_NAME_P;
289 
290   FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
291   BEGIN
292     RETURN C_BASE_MIN_ACCT_UNIT;
293   END C_BASE_MIN_ACCT_UNIT_P;
294 
295   FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
296   BEGIN
297     RETURN C_BASE_DESCRIPTION;
298   END C_BASE_DESCRIPTION_P;
299 
300   FUNCTION C_PERIOD_FROM_P RETURN VARCHAR2 IS
301   BEGIN
302     RETURN C_PERIOD_FROM;
303   END C_PERIOD_FROM_P;
304 
305   FUNCTION C_PERIOD_TO_P RETURN VARCHAR2 IS
306   BEGIN
307     RETURN C_PERIOD_TO;
308   END C_PERIOD_TO_P;
309 
310   FUNCTION C_SCALING_FACTOR_P RETURN NUMBER IS
311   BEGIN
312     RETURN C_SCALING_FACTOR;
313   END C_SCALING_FACTOR_P;
314 
315   PROCEDURE SET_NAME(APPLICATION IN VARCHAR2
316                     ,NAME IN VARCHAR2) IS
317   BEGIN
318    /* STPROC.INIT('begin FND_MESSAGE.SET_NAME(:APPLICATION, :NAME); end;');
319     STPROC.BIND_I(APPLICATION);
320     STPROC.BIND_I(NAME);
321     STPROC.EXECUTE;*/
322     FND_MESSAGE.SET_NAME(APPLICATION,NAME);
323   END SET_NAME;
324 
325   PROCEDURE SET_TOKEN(TOKEN IN VARCHAR2
326                      ,VALUE IN VARCHAR2
327                      ,TRANSLATE IN BOOLEAN) IS
328 TRANSLATE1 BOOLEAN;
329   BEGIN
330    /* STPROC.INIT('declare TRANSLATE BOOLEAN; begin TRANSLATE := sys.diutil.int_to_bool(:TRANSLATE); FND_MESSAGE.SET_TOKEN(:TOKEN, :VALUE, TRANSLATE); end;');
331     STPROC.BIND_I(TRANSLATE);
332     STPROC.BIND_I(TOKEN);
333     STPROC.BIND_I(VALUE);
334     STPROC.EXECUTE;*/
335 
336     --TRANSLATE1 := sys.diutil.int_to_bool(TRANSLATE);
337     FND_MESSAGE.SET_TOKEN(TOKEN, VALUE, TRANSLATE1);
338   END SET_TOKEN;
339 
340   PROCEDURE RETRIEVE(MSGOUT OUT NOCOPY VARCHAR2) IS
341   BEGIN
342    /* STPROC.INIT('begin FND_MESSAGE.RETRIEVE(:MSGOUT); end;');
343     STPROC.BIND_O(MSGOUT);
344     STPROC.EXECUTE;
345     STPROC.RETRIEVE(1
346                    ,MSGOUT);*/
347 
348 		   FND_MESSAGE.RETRIEVE(MSGOUT);
349   END RETRIEVE;
350 
351   PROCEDURE CLEAR IS
352   BEGIN
353   /*  STPROC.INIT('begin FND_MESSAGE.CLEAR; end;');
354     STPROC.EXECUTE;*/null;
355   END CLEAR;
356 
357   FUNCTION GET_STRING(APPIN IN VARCHAR2
358                      ,NAMEIN IN VARCHAR2) RETURN VARCHAR2 IS
359     X0 VARCHAR2(2000);
360   BEGIN
361   /* STPROC.INIT('begin :X0 := FND_MESSAGE.GET_STRING(:APPIN, :NAMEIN); end;');
362     STPROC.BIND_O(X0);
363     STPROC.BIND_I(APPIN);
364     STPROC.BIND_I(NAMEIN);
365     STPROC.EXECUTE;
366     STPROC.RETRIEVE(1
367                    ,X0);*/
368     RETURN X0;
369   END GET_STRING;
370 
371   FUNCTION GET_NUMBER(APPIN IN VARCHAR2
372                      ,NAMEIN IN VARCHAR2) RETURN NUMBER IS
373     X0 NUMBER;
374   BEGIN
375   /*  STPROC.INIT('begin :X0 := FND_MESSAGE.GET_NUMBER(:APPIN, :NAMEIN); end;');
376     STPROC.BIND_O(X0);
377     STPROC.BIND_I(APPIN);
378     STPROC.BIND_I(NAMEIN);
379     STPROC.EXECUTE;
380     STPROC.RETRIEVE(1
381                    ,X0);*/
382     RETURN X0;
383   END GET_NUMBER;
384 
385   FUNCTION GET RETURN VARCHAR2 IS
386     X0 VARCHAR2(2000);
387   BEGIN
388    /* STPROC.INIT('begin :X0 := FND_MESSAGE.GET; end;');
389     STPROC.BIND_O(X0);
390     STPROC.EXECUTE;
391     STPROC.RETRIEVE(1
392                    ,X0);*/X0 := FND_MESSAGE.GET;
393     RETURN X0;
394   END GET;
395 
396   FUNCTION GET_ENCODED RETURN VARCHAR2 IS
397     X0 VARCHAR2(2000);
398   BEGIN
399   /*  STPROC.INIT('begin :X0 := FND_MESSAGE.GET_ENCODED; end;');
400     STPROC.BIND_O(X0);
401     STPROC.EXECUTE;
402     STPROC.RETRIEVE(1
403                    ,X0);*/
404     RETURN X0;
405   END GET_ENCODED;
406 
407   PROCEDURE PARSE_ENCODED(ENCODED_MESSAGE IN VARCHAR2
408                          ,APP_SHORT_NAME OUT NOCOPY VARCHAR2
409                          ,MESSAGE_NAME OUT NOCOPY VARCHAR2) IS
410   BEGIN
411  /*   STPROC.INIT('begin FND_MESSAGE.PARSE_ENCODED(:ENCODED_MESSAGE, :APP_SHORT_NAME, :MESSAGE_NAME); end;');
412     STPROC.BIND_I(ENCODED_MESSAGE);
413     STPROC.BIND_O(APP_SHORT_NAME);
414     STPROC.BIND_O(MESSAGE_NAME);
415     STPROC.EXECUTE;
416     STPROC.RETRIEVE(2
417                    ,APP_SHORT_NAME);
418     STPROC.RETRIEVE(3
419                    ,MESSAGE_NAME);*/null;
420   END PARSE_ENCODED;
421 
422   PROCEDURE SET_ENCODED(ENCODED_MESSAGE IN VARCHAR2) IS
423   BEGIN
424    /* STPROC.INIT('begin FND_MESSAGE.SET_ENCODED(:ENCODED_MESSAGE); end;');
425     STPROC.BIND_I(ENCODED_MESSAGE);
426     STPROC.EXECUTE;*/null;
427   END SET_ENCODED;
428 
429   PROCEDURE RAISE_ERROR IS
430   BEGIN
431    /* STPROC.INIT('begin FND_MESSAGE.RAISE_ERROR; end;');
432     STPROC.EXECUTE;*/null;
433   END RAISE_ERROR;
434 
435 END JL_JLARFEFR_XMLP_PKG;
436 
437