[Home] [Help]
PACKAGE BODY: APPS.FA_FASFIADJ_XMLP_PKG
Source
1 PACKAGE BODY FA_FASFIADJ_XMLP_PKG AS
2 /* $Header: FASFIADJB.pls 120.0.12010000.1 2008/07/28 13:16:41 appldev ship $ */
3
4 function report_nameformula(Company_Name in varchar2) return varchar2 is
5 begin
6
7 DECLARE
8 l_report_name VARCHAR2(80);
9 BEGIN
10 RP_Company_Name := Company_Name;
11 SELECT cp.user_concurrent_program_name
12 INTO l_report_name
13 FROM FND_CONCURRENT_PROGRAMS_VL cp,
14 FND_CONCURRENT_REQUESTS cr
15 WHERE cr.request_id = P_CONC_REQUEST_ID
16 AND cp.application_id = cr.program_application_id
17 AND cp.concurrent_program_id=cr.concurrent_program_id;
18 l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
19 RP_Report_Name := l_report_name;
20 RETURN(l_report_name);
21
22 EXCEPTION
23 WHEN OTHERS THEN
24 RP_Report_Name := ':Financial Adjustments Report:';
25 RETURN(RP_REPORT_NAME);
26 END;
27 RETURN NULL; end;
28
29 function BeforeReport return boolean is
30 begin
31 P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
32
33 /*SRW.USER_EXIT('FND SRWINIT');*/null;
34
35 return (TRUE);
36 end;
37
38 function AfterReport return boolean is
39 begin
40
41 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
42 return (TRUE);
43 end;
44
45 function Period1_PCFormula return Number is
46 begin
47
48 DECLARE
49 l_period_POD DATE;
50 l_period_PCD DATE;
51 l_period_PC NUMBER(15);
52 l_period_FY NUMBER(15);
53 BEGIN
54 SELECT period_counter,
55 period_open_date,
56 nvl(period_close_date, sysdate),
57 fiscal_year
58 INTO l_period_PC,
59 l_period_POD,
60 l_period_PCD,
61 l_period_FY
62 FROM FA_DEPRN_PERIODS
63 WHERE book_type_code = P_BOOK
64 AND period_name = P_PERIOD1;
65
66 Period1_POD := l_period_POD;
67 Period1_PCD := l_period_PCD;
68 Period1_FY := l_period_FY;
69 return(l_period_PC);
70 END;
71 RETURN NULL; end;
72
73 function d_lifeformula(LIFE in number, ADJUSTED_RATE in number, BONUS_RATE in number, PRODUCTION in number) return varchar2 is
74 begin
75
76 /*SRW.REFERENCE(LIFE);*/null;
77
78 /*SRW.REFERENCE(ADJUSTED_RATE);*/null;
79
80 /*SRW.REFERENCE(BONUS_RATE);*/null;
81
82 /*SRW.REFERENCE(PRODUCTION);*/null;
83
84 BEGIN
85 RETURN(FADOLIF(LIFE, ADJUSTED_RATE, BONUS_RATE, PRODUCTION));
86 END;
87 RETURN NULL; end;
88
89 --Functions to refer Oracle report placeholders--
90
91 Function Period1_POD_p return date is
92 Begin
93 return Period1_POD;
94 END;
95 Function Period1_PCD_p return date is
96 Begin
97 return Period1_PCD;
98 END;
99 Function Period1_FY_p return number is
100 Begin
101 return Period1_FY;
102 END;
103 Function RP_COMPANY_NAME_p return varchar2 is
104 Begin
105 return RP_COMPANY_NAME;
106 END;
107 Function RP_REPORT_NAME_p return varchar2 is
108 Begin
109 return RP_REPORT_NAME;
110 END;
111 Function RP_BAL_LPROMPT_p return varchar2 is
112 Begin
113 return RP_BAL_LPROMPT;
114 END;
115 --ADDED AS PART OF PLS FIX--
116
117
118
119 FUNCTION fadolif(life NUMBER,
120 adj_rate NUMBER,
121 bonus_rate NUMBER,
122 prod NUMBER)
123 RETURN CHAR IS
124 retval CHAR(7);
125 num_chars NUMBER;
126 temp_retval number;
127
128 BEGIN
129
130 IF life IS NOT NULL
131 THEN
132
133 -- Fix for bug 601202 -- added substrb after lpad. changed '90' to '999'
134 temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
135 SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
136 retval := to_char(temp_retval,'999D99');
137
138 ELSIF adj_rate IS NOT NULL
139 THEN
140 /* Bug 1744591
141 Changed 90D99 to 990D99 */
142
143 retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
144
145 ELSIF prod IS NOT NULL
146 THEN
147 --test for length of production_capacity; if it's longer
148 --than 7 characters, then display in exponential notation
149
150 --IF prod <= 9999999
151 --THEN
152 -- retval := TO_CHAR(prod);
153 --ELSE
154 -- retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
155 --END IF;
156
157 --display nothing for UOP assets
158 retval := '';
159 ELSE
160 --should not occur
161 retval := ' ';
162 END IF;
163
164 return(retval);
165
166 END;
167 --END OF PLS FIX
168 END FA_FASFIADJ_XMLP_PKG ;
169