[Home] [Help]
PACKAGE BODY: APPS.FA_FASWIPCR_XMLP_PKG
Source
1 PACKAGE BODY FA_FASWIPCR_XMLP_PKG AS
2 /* $Header: FASWIPCRB.pls 120.1 2009/07/19 08:31:13 glchen ship $ */
3
4 function BookFormula return VARCHAR2 is
5 begin
6
7 DECLARE
8 l_book VARCHAR2(15);
9 l_accounting_flex_structure NUMBER(15);
10 l_currency_code VARCHAR2(15);
11 l_precision NUMBER(15);
12 BEGIN
13 SELECT bc.book_type_code,
14 bc.accounting_flex_structure,
15 sob.currency_code,
16 cur.precision
17 INTO l_book,
18 l_accounting_flex_Structure,
19 l_currency_code,
20 l_precision
21 FROM FA_BOOK_CONTROLS bc,
22 GL_SETS_OF_BOOKS sob,
23 FND_CURRENCIES cur
24 WHERE bc.book_type_code = P_BOOK
25 AND sob.set_of_books_id = bc.set_of_books_id
26 AND sob.currency_code = cur.currency_code;
27
28 Accounting_Flex_Structure:=l_accounting_flex_structure;
29 Currency_Code := l_currency_code;
30 Precision := l_precision;
31
32 return(l_book);
33 END;
34
35 RETURN NULL; end;
36
37 function Period1Formula return VARCHAR2 is
38 begin
39
40 DECLARE
41 l_period_name VARCHAR2(15);
42 l_period_POD VARCHAR2(21);
43 l_period_PCD VARCHAR2(21);
44 l_period_PC NUMBER(15);
45 l_period_FY NUMBER(15);
46 BEGIN
47 SELECT period_name,
48 period_counter,
49 to_char(period_open_date,'DD-MM-YYYY HH24:MI:SS'),
50 to_char(nvl(period_close_date, sysdate),'DD-MM-YYYY HH24:MI:SS'),
51 fiscal_year
52 INTO l_period_name,
53 l_period_PC,
54 l_period_POD,
55 l_period_PCD,
56 l_period_FY
57 FROM FA_DEPRN_PERIODS
58 WHERE book_type_code = P_BOOK
59 AND period_name = P_PERIOD1;
60
61 Period1_PC := l_period_PC;
62 Period1_POD := l_period_POD;
63 Period1_PCD := l_period_PCD;
64 Period1_FY := l_period_FY;
65 return(l_period_name);
66 END;
67
68 RETURN NULL; end;
69
70 function report_nameformula(Company_Name in varchar2) return varchar2 is
71 begin
72
73
74 DECLARE
75 l_report_name VARCHAR2(80);
76 l_conc_program_id NUMBER;
77 BEGIN
78 RP_Company_Name := Company_Name;
79
80 SELECT cr.concurrent_program_id
81 INTO l_conc_program_id
82 FROM FND_CONCURRENT_REQUESTS cr
83 WHERE cr.program_application_id = 140
84 AND cr.request_id = P_CONC_REQUEST_ID;
85
86 SELECT cp.user_concurrent_program_name
87 INTO l_report_name
88 FROM FND_CONCURRENT_PROGRAMS_VL cp
89 WHERE
90 cp.concurrent_program_id= l_conc_program_id
91 and cp.application_id = 140;
92
93 l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
94 RP_Report_Name := l_report_name;
95 RETURN(l_report_name);
96
97 EXCEPTION
98 WHEN OTHERS THEN
99 RP_Report_Name := ':Contruction In Process Capitalization Report:';
100 RETURN(RP_Report_Name);
101 END;
102 RETURN NULL; end;
103
104 function Period2Formula return VARCHAR2 is
105 begin
106
107 DECLARE
108 l_period_name VARCHAR2(15);
109 l_period_POD VARCHAR2(21);
110 l_period_PCD VARCHAR2(21);
111 l_period_PC NUMBER(15);
112 l_period_FY NUMBER(15);
113 BEGIN
114 SELECT period_name,
115 period_counter,
116 to_char(period_open_date,'DD-MM-YYYY HH24:MI:SS'),
117 to_char(nvl(period_close_date, sysdate),
118 'DD-MM-YYYY HH24:MI:SS'),
119 fiscal_year
120 INTO l_period_name,
121 l_period_PC,
122 l_period_POD,
123 l_period_PCD,
124 l_period_FY
125 FROM FA_DEPRN_PERIODS
126 WHERE book_type_code = P_BOOK
127 AND period_name = P_PERIOD2;
128
129 Period2_PC := l_period_PC;
130 Period2_POD := l_period_POD;
131 Period2_PCD := l_period_PCD;
132 Period2_FY := l_period_FY;
133 return(l_period_name);
134 EXCEPTION
135 WHEN NO_DATA_FOUND
136 THEN
137 Period2_PC := Period1_PC;
138 Period2_POD := Period1_POD;
139 Period2_PCD := Period1_PCD;
140 Period2_FY := Period1_FY;
141 return(P_PERIOD1);
142 END;
143 RETURN NULL; end;
144
145 function BeforeReport return boolean is
146 begin
147
148 /*SRW.USER_EXIT('FND SRWINIT');*/null;
149 P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
150 return (TRUE);
151 end;
152
153 function AfterReport return boolean is
154 begin
155
156 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
157 return (TRUE);
158 end;
159
160 function d_lifeformula(life in number, adj_rate in number, capacity in number) return varchar2 is
161 begin
162
163 begin
164 return(fadolif(life, adj_rate, 0, capacity));
165 end;
166
167 RETURN NULL; end;
168
169 --Functions to refer Oracle report placeholders--
170
171 Function Accounting_Flex_Structure_p return number is
172 Begin
173 return Accounting_Flex_Structure;
174 END;
175 Function ACCT_BAL_APROMPT_p return varchar2 is
176 Begin
177 return ACCT_BAL_APROMPT;
178 END;
179 Function ACCT_CC_APROMPT_p return varchar2 is
180 Begin
181 return ACCT_CC_APROMPT;
182 END;
183 Function Currency_Code_p return varchar2 is
184 Begin
185 return Currency_Code;
186 END;
187 Function Period1_PC_p return number is
188 Begin
189 return Period1_PC;
190 END;
191 Function Period1_PCD_p return varchar2 is
192 Begin
193 return Period1_PCD;
194 END;
195 Function Period1_POD_p return varchar2 is
196 Begin
197 return Period1_POD;
198 END;
199 Function Period1_FY_p return number is
200 Begin
201 return Period1_FY;
202 END;
203 Function Period2_FY_p return number is
204 Begin
205 return Period2_FY;
206 END;
207 Function Period2_PCD_p return varchar2 is
208 Begin
209 return Period2_PCD;
210 END;
211 Function Period2_POD_p return varchar2 is
212 Begin
213 return Period2_POD;
214 END;
215 Function Period2_PC_p return number is
216 Begin
217 return Period2_PC;
218 END;
219 Function Precision_p return number is
220 Begin
221 return Precision;
222 END;
223 Function RP_COMPANY_NAME_p return varchar2 is
224 Begin
225 return RP_COMPANY_NAME;
226 END;
227 Function RP_REPORT_NAME_p return varchar2 is
228 Begin
229 return RP_REPORT_NAME;
230 END;
231 --MODIFIED
232 Function RP_BAL_LPROMPT_p(ACCT_BAL_LPROMPT VARCHAR2) return varchar2 is
233 Begin
234 RP_BAL_LPROMPT :=ACCT_BAL_LPROMPT;
235 return RP_BAL_LPROMPT;
236 END;
237 --MODIFIED
238 Function RP_CC_LPROMPT_p(ACCT_CC_LPROMPT VARCHAR2) return varchar2 is
239 Begin
240 RP_CC_LPROMPT:=ACCT_CC_LPROMPT;
241 return RP_CC_LPROMPT;
242 END;
243 --added
244 FUNCTION fadolif(life NUMBER,
245 adj_rate NUMBER,
246 bonus_rate NUMBER,
247 prod NUMBER)
248 RETURN CHAR IS
249 retval CHAR(7);
250 num_chars NUMBER;
251 temp_retval number;
252
253 BEGIN
254
255 IF life IS NOT NULL
256 THEN
257
258 -- Fix for bug 601202 -- added substrb after lpad. changed '90' to '999'
259 temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
260 SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
261 retval := to_char(temp_retval,'999D99');
262
263 ELSIF adj_rate IS NOT NULL
264 THEN
265 /* Bug 1744591
266 Changed 90D99 to 990D99 */
267
268 retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
269
270 ELSIF prod IS NOT NULL
271 THEN
272 --test for length of production_capacity; if it's longer
273 --than 7 characters, then display in exponential notation
274
275 --IF prod <= 9999999
276 --THEN
277 -- retval := TO_CHAR(prod);
278 --ELSE
279 -- retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
280 --END IF;
281
282 --display nothing for UOP assets
283 retval := '';
284 ELSE
285 --should not occur
286 retval := ' ';
287 END IF;
288
289 return(retval);
290
291 END;
292 --END OF PLS FIX
293
294 END FA_FASWIPCR_XMLP_PKG ;
295