DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FASWIPCR_XMLP_PKG

Source


1 PACKAGE BODY FA_FASWIPCR_XMLP_PKG AS
2 /* $Header: FASWIPCRB.pls 120.0.12010000.1 2008/07/28 13:17:53 appldev 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