DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FASRVPVW_XMLP_PKG

Source


1 PACKAGE BODY FA_FASRVPVW_XMLP_PKG AS
2 /* $Header: FASRVPVWB.pls 120.0.12010000.1 2008/07/28 13:17:37 appldev ship $ */
3   USER_EXIT_FAILURE EXCEPTION;
4   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
5     L_MAX_ASSET_ID NUMBER;
6     L_SUCCESS_COUNT NUMBER;
7     L_FAILURE_COUNT NUMBER;
8     L_RETURN_STATUS NUMBER;
9     L_BOOK VARCHAR2(15);
10     REVAL_ERR EXCEPTION;
11     L_REQUEST_ID NUMBER;
12     L_RESULT BOOLEAN;
13     L_PHASE VARCHAR2(500) := NULL;
14     L_STATUS VARCHAR2(500) := NULL;
15     L_DEVPHASE VARCHAR2(500) := 'PENDING';
16     L_DEVSTATUS VARCHAR2(500) := NULL;
17     L_MESSAGE VARCHAR2(500) := NULL;
18     DUMMY_DEFAULT BOOLEAN := FALSE;
19   BEGIN
20     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
21     select  SUBSTR(ARGUMENT1,INSTR(ARGUMENT1,'=',1,1)+1) into P_MASS_REVAL_ID1
22 FROM FND_CONCURRENT_REQUESTS
23 WHERE REQUEST_ID =P_CONC_REQUEST_ID;
24   RP_MASS_REVAL_ID := P_MASS_REVAL_ID1;
25     SELECT
26       BOOK_TYPE_CODE
27     INTO L_BOOK
28     FROM
29       FA_MASS_REVALUATIONS
30     WHERE MASS_REVAL_ID = P_MASS_REVAL_ID1;
31     IF (NOT FA_CACHE_PKG.FAZCBC(L_BOOK)) THEN
32       RAISE REVAL_ERR;
33     END IF;
34     FA_SRVR_MSG.INIT_SERVER_MESSAGE;
35     FA_DEBUG_PKG.INITIALIZE;
36     L_MAX_ASSET_ID := 0;
37     L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('OFA'
38                                               ,'FAVRVL'
39                                               ,''
40                                               ,''
41                                               ,DUMMY_DEFAULT
42                                               ,P_MASS_REVAL_ID1
43                                               ,'PREVIEW'
44                                               ,CHR(0)
45                                               ,''
46                                               ,''
47                                               ,''
48                                               ,''
49                                               ,''
50                                               ,''
51                                               ,''
52                                               ,''
53                                               ,''
54                                               ,''
55                                               ,''
56                                               ,''
57                                               ,''
58                                               ,''
59                                               ,''
60                                               ,''
61                                               ,''
62                                               ,''
63                                               ,''
64                                               ,''
65                                               ,''
66                                               ,''
67                                               ,''
68                                               ,''
69                                               ,''
70                                               ,''
71                                               ,''
72                                               ,''
73                                               ,''
74                                               ,''
75                                               ,''
76                                               ,''
77                                               ,''
78                                               ,''
79                                               ,''
80                                               ,''
81                                               ,''
82                                               ,''
83                                               ,''
84                                               ,''
85                                               ,''
86                                               ,''
87                                               ,''
88                                               ,''
89                                               ,''
90                                               ,''
91                                               ,''
92                                               ,''
93                                               ,''
94                                               ,''
95                                               ,''
96                                               ,''
97                                               ,''
98                                               ,''
99                                               ,''
100                                               ,''
101                                               ,''
102                                               ,''
103                                               ,''
104                                               ,''
105                                               ,''
106                                               ,''
107                                               ,''
108                                               ,''
109                                               ,''
110                                               ,''
111                                               ,''
112                                               ,''
113                                               ,''
114                                               ,''
115                                               ,''
116                                               ,''
117                                               ,''
118                                               ,''
119                                               ,''
120                                               ,''
121                                               ,''
122                                               ,''
123                                               ,''
124                                               ,''
125                                               ,''
126                                               ,''
127                                               ,''
128                                               ,''
129                                               ,''
130                                               ,''
131                                               ,''
132                                               ,''
133                                               ,''
134                                               ,''
135                                               ,''
136                                               ,''
137                                               ,''
138                                               ,''
139                                               ,''
140                                               ,''
141                                               ,'');
142     COMMIT;
143     IF (L_REQUEST_ID = 0) THEN
144       RAISE REVAL_ERR;
145     END IF;
146     FOR i IN 1 .. 10 LOOP
147       L_RESULT := FND_CONCURRENT.WAIT_FOR_REQUEST(REQUEST_ID => L_REQUEST_ID
148                                                  ,INTERVAL => 30
149                                                  ,MAX_WAIT => 32000
150                                                  ,PHASE => L_PHASE
151                                                  ,STATUS => L_STATUS
152                                                  ,DEV_PHASE => L_DEVPHASE
153                                                  ,DEV_STATUS => L_DEVSTATUS
154                                                  ,MESSAGE => L_MESSAGE);
155       IF (NVL(L_DEVPHASE = 'COMPLETE' AND L_DEVSTATUS = 'NORMAL'
156          ,FALSE)) THEN
157         EXIT;
158       ELSE
159         IF (I = 10) THEN
160           RAISE REVAL_ERR;
161         END IF;
162       END IF;
163     END LOOP;
164     P_CONC_REQUEST2_ID := L_REQUEST_ID;
165     RETURN (TRUE);
166   EXCEPTION
167     WHEN REVAL_ERR THEN
168       RETURN FALSE;
169     WHEN OTHERS THEN
170       RETURN FALSE;
171   END BEFOREREPORT;
172   FUNCTION AFTERREPORT RETURN BOOLEAN IS
173   BEGIN
174     UPDATE
175       FA_MASS_REVALUATIONS
176     SET
177       STATUS = 'PREVIEWED'
178     WHERE MASS_REVAL_ID = P_MASS_REVAL_ID1;
179     DELETE FROM FA_MASS_REVAL_REP_ITF
180      WHERE MASS_REVAL_ID = P_MASS_REVAL_ID1
181        AND REQUEST_ID = P_CONC_REQUEST_ID;
182     RETURN (TRUE);
183   END AFTERREPORT;
184   FUNCTION D_REVAL_PCTFORMULA(D_REVAL_PCT IN VARCHAR2) RETURN VARCHAR2 IS
185   BEGIN
186     DECLARE
187       H_MSG_BUFFER VARCHAR2(2000);
188     BEGIN
189       RETURN (D_REVAL_PCT);
190     EXCEPTION
191       WHEN USER_EXIT_FAILURE THEN
192         /*H_MSG_BUFFER := NVL(SRW.GETERR_RUN
193                            ,'d_reval_pctformula');*/
194 			   H_MSG_BUFFER := 'd_reval_pctformula';
195         RETURN (D_REVAL_PCT);
196       WHEN OTHERS THEN
197         RETURN (D_REVAL_PCT);
198     END;
199   END D_REVAL_PCTFORMULA;
200   FUNCTION REPORT_NAMEFORMULA(COMPANY IN VARCHAR2) RETURN VARCHAR2 IS
201   BEGIN
202     DECLARE
203       L_REPORT_NAME VARCHAR2(240);
204     BEGIN
205       RP_COMPANY := COMPANY;
206       SELECT
207         CP.USER_CONCURRENT_PROGRAM_NAME
208       INTO L_REPORT_NAME
209       FROM
210         FND_CONCURRENT_PROGRAMS_VL CP,
211         FND_CONCURRENT_REQUESTS CR
212       WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
213         AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
214         AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
215        l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
216          RP_REPORT_NAME := L_REPORT_NAME;
217       RETURN (L_REPORT_NAME);
218     EXCEPTION
219       WHEN OTHERS THEN
220         RP_REPORT_NAME := 'Mass Revaluation Preview Report';
221         RETURN ('Mass Revaluation Preview Report');
222     END;
223     RETURN NULL;
224   END REPORT_NAMEFORMULA;
225   FUNCTION BOOKFORMULA RETURN VARCHAR2 IS
226   BEGIN
227     DECLARE
228       L_CURRENCY_CODE VARCHAR2(15);
229       L_DESCRIPTION VARCHAR2(80);
230       L_BOOK_TYPE_CODE VARCHAR2(15);
231       L_DEFAULT_RFRF VARCHAR2(80);
232       TEMP_DEFAULT_RFRF VARCHAR2(3);
233       L_DEFAULT_LEF NUMBER;
234       L_DEFAULT_LEC NUMBER;
235       L_DEFAULT_MFRR NUMBER;
236     BEGIN
237       SELECT
238         MR.DESCRIPTION,
239         MR.BOOK_TYPE_CODE,
240         MR.DEFAULT_REVAL_FULLY_RSVD_FLAG,
241         MR.DEFAULT_LIFE_EXTENSION_FACTOR,
242         MR.DEFAULT_LIFE_EXTENSION_CEILING,
243         MR.DEFAULT_MAX_FULLY_RSVD_REVALS,
244         SOB.CURRENCY_CODE
245       INTO L_DESCRIPTION,L_BOOK_TYPE_CODE,TEMP_DEFAULT_RFRF,L_DEFAULT_LEF,L_DEFAULT_LEC,L_DEFAULT_MFRR,L_CURRENCY_CODE
246       FROM
247         FA_MASS_REVALUATIONS MR,
248         FA_BOOK_CONTROLS BC,
249         GL_SETS_OF_BOOKS SOB
250       WHERE MR.MASS_REVAL_ID = P_MASS_REVAL_ID1
251         AND MR.BOOK_TYPE_CODE = BC.BOOK_TYPE_CODE
252         AND BC.DATE_INEFFECTIVE is null
253         AND SOB.SET_OF_BOOKS_ID = BC.SET_OF_BOOKS_ID;
254       SELECT
255         MEANING
256       INTO L_DEFAULT_RFRF
257       FROM
258         FA_LOOKUPS
259       WHERE LOOKUP_TYPE = 'YESNO'
260         AND LOOKUP_CODE = NVL(TEMP_DEFAULT_RFRF
261          ,'NO');
262       CURRENCY_CODE := L_CURRENCY_CODE;
263       REVAL_DESCRIPTION := L_DESCRIPTION;
264       DEF_RFRF := L_DEFAULT_RFRF;
265       DEF_LEF := L_DEFAULT_LEF;
266       DEF_LEC := L_DEFAULT_LEC;
267       DEF_MFRR := L_DEFAULT_MFRR;
268       RETURN (L_BOOK_TYPE_CODE);
269     END;
270     RETURN NULL;
271   END BOOKFORMULA;
272   FUNCTION LIFE_INDFORMULA(LIFE_IND IN NUMBER) RETURN NUMBER IS
273   BEGIN
274     RETURN (LIFE_IND);
275   END LIFE_INDFORMULA;
276   FUNCTION D_ASS_REVAL_PCTFORMULA(REVAL_PCT IN NUMBER) RETURN VARCHAR2 IS
277   BEGIN
278     BEGIN
279       RETURN (REVAL_PCT);
280     END;
281     RETURN NULL;
282   END D_ASS_REVAL_PCTFORMULA;
283   FUNCTION D_ASS_FOUNDFORMULA(D_ASS_FOUND IN VARCHAR2) RETURN VARCHAR2 IS
284   BEGIN
285     RETURN (D_ASS_FOUND);
286   END D_ASS_FOUNDFORMULA;
287   FUNCTION D_LIFEFORMULA(LIFE_IN_MONTHS IN NUMBER) RETURN VARCHAR2 IS
288   BEGIN
289     IF LIFE_IN_MONTHS IS NOT NULL THEN
290       RETURN ((LPAD(TO_CHAR(TRUNC(LIFE_IN_MONTHS / 12
291                                ,0)
292                          ,'90')
293                  ,3
294                  ,' ') || '.' || SUBSTR(TO_CHAR(MOD(LIFE_IN_MONTHS
295                                ,12)
296                            ,'00')
297                    ,2
298                    ,2)));
299     ELSE
300       RETURN (NULL);
301     END IF;
302     RETURN NULL;
303   END D_LIFEFORMULA;
304   FUNCTION D_NEW_LIFEFORMULA(NEW_LIFE IN NUMBER) RETURN VARCHAR2 IS
305   BEGIN
306     IF (NEW_LIFE <> 0) THEN
307       RETURN ((LPAD(TO_CHAR(TRUNC(NEW_LIFE / 12
308                                ,0)
309                          ,'90')
310                  ,3
311                  ,' ') || '.' || SUBSTR(TO_CHAR(MOD(NEW_LIFE
312                                ,12)
313                            ,'00')
314                    ,2
315                    ,2)));
316     ELSE
317       RETURN (NULL);
318     END IF;
319     RETURN NULL;
320   END D_NEW_LIFEFORMULA;
321   FUNCTION D_LIFE_INDFORMULA(LIFE_IND IN NUMBER) RETURN VARCHAR2 IS
322   BEGIN
323     IF (LIFE_IND IS NULL) THEN
324       RETURN (NULL);
325     ELSE
326       RETURN ('*');
327     END IF;
328     RETURN NULL;
329   END D_LIFE_INDFORMULA;
330   FUNCTION D_ASS_FRRFFORMULA RETURN VARCHAR2 IS
331   BEGIN
332     RETURN (D_ASS_FRRF);
333   END D_ASS_FRRFFORMULA;
334   FUNCTION D_ASS_MFRRFORMULA(D_ASS_MFRR IN VARCHAR2) RETURN VARCHAR2 IS
335   BEGIN
336     IF (D_ASS_MFRR = '0') THEN
337       RETURN (NULL);
338     ELSE
339       RETURN (D_ASS_MFRR);
340     END IF;
341     RETURN NULL;
342   END D_ASS_MFRRFORMULA;
343   FUNCTION D_MFRRFORMULA(D_MFRR IN VARCHAR2) RETURN VARCHAR2 IS
344   BEGIN
345     IF (D_MFRR = '0') THEN
346       RETURN (NULL);
347     ELSE
348       RETURN (D_MFRR);
349     END IF;
350     RETURN NULL;
351   END D_MFRRFORMULA;
352   FUNCTION D_FOUNDFORMULA(D_FOUND IN VARCHAR2) RETURN VARCHAR2 IS
353   BEGIN
354     RETURN (D_FOUND);
355   END D_FOUNDFORMULA;
356   FUNCTION D_FRRFFORMULA(REVAL_FULLY_RSVD IN VARCHAR2) RETURN VARCHAR2 IS
357   BEGIN
358     RETURN (REVAL_FULLY_RSVD);
359   END D_FRRFFORMULA;
360   FUNCTION D_LEFFORMULA(D_LEF IN VARCHAR2) RETURN VARCHAR2 IS
361   BEGIN
362     RETURN (D_LEF);
363   END D_LEFFORMULA;
364   FUNCTION D_LECFORMULA(D_LEC IN VARCHAR2) RETURN VARCHAR2 IS
365   BEGIN
366     RETURN (D_LEC);
367   END D_LECFORMULA;
368   FUNCTION D_ASS_FRRF_P RETURN VARCHAR2 IS
369   BEGIN
370     RETURN D_ASS_FRRF;
371   END D_ASS_FRRF_P;
372   FUNCTION REVAL_DESCRIPTION_P RETURN VARCHAR2 IS
373   BEGIN
374     RETURN REVAL_DESCRIPTION;
375   END REVAL_DESCRIPTION_P;
376   FUNCTION CURRENCY_CODE_P RETURN VARCHAR2 IS
377   BEGIN
378     RETURN CURRENCY_CODE;
379   END CURRENCY_CODE_P;
380   FUNCTION DEF_RFRF_P RETURN VARCHAR2 IS
381   BEGIN
382     RETURN DEF_RFRF;
383   END DEF_RFRF_P;
384   FUNCTION DEF_LEC_P RETURN NUMBER IS
385   BEGIN
386     RETURN DEF_LEC;
387   END DEF_LEC_P;
388   FUNCTION DEF_MFRR_P RETURN NUMBER IS
389   BEGIN
390     RETURN DEF_MFRR;
391   END DEF_MFRR_P;
392   FUNCTION DEF_LEF_P RETURN NUMBER IS
393   BEGIN
394     RETURN DEF_LEF;
395   END DEF_LEF_P;
396   FUNCTION RP_COMPANY_P RETURN VARCHAR2 IS
397   BEGIN
398     RETURN RP_COMPANY;
399   END RP_COMPANY_P;
400   FUNCTION RP_REPORT_NAME_P RETURN VARCHAR2 IS
401   BEGIN
402     RETURN RP_REPORT_NAME;
403   END RP_REPORT_NAME_P;
404   FUNCTION RP_REPORT_EXEC_DATE_P RETURN DATE IS
405   BEGIN
406     RETURN RP_REPORT_EXEC_DATE;
407   END RP_REPORT_EXEC_DATE_P;
408   FUNCTION RP_MASS_REVAL_ID_P RETURN NUMBER IS
409   BEGIN
410     RETURN RP_MASS_REVAL_ID;
411   END RP_MASS_REVAL_ID_P;
412 END FA_FASRVPVW_XMLP_PKG;
413