DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FAS540_XMLP_PKG

Source


1 PACKAGE BODY FA_FAS540_XMLP_PKG AS
2 /* $Header: FAS540B.pls 120.0.12010000.1 2008/07/28 13:15:10 appldev ship $ */
3 function BeforeReport return boolean is
4 begin
5  P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
6 begin
7 /*SRW.USER_EXIT('FND SRWINIT');*/null;
8 END;  return (TRUE);
9 end;
10 function AfterReport return boolean is
11 begin
12 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
13   return (TRUE);
14 end;
15 function report_nameformula(Company_Name in varchar2) return varchar2 is
16 begin
17 DECLARE
18         l_report_name  VARCHAR2(80);
19   l_conc_program_id NUMBER;
20 BEGIN
21        RP_Company_Name := Company_Name;
22   SELECT cr.concurrent_program_id
23   INTO l_conc_program_id
24   FROM FND_CONCURRENT_REQUESTS cr
25   WHERE cr.program_application_id = 140
26   AND   cr.request_id = P_CONC_REQUEST_ID;
27   SELECT cp.user_concurrent_program_name
28   INTO   l_report_name
29   FROM    FND_CONCURRENT_PROGRAMS_VL cp
30   WHERE
31       cp.concurrent_program_id= l_conc_program_id
32   and cp.application_id = 140;
33  l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
34         RP_Report_Name := l_report_name;
35         RETURN(l_report_name);
36 EXCEPTION
37         WHEN OTHERS THEN
38         RP_Report_Name := ':Tax Additions Report:';
39         RETURN(RP_Report_Name);
40 END;
41 RETURN NULL; end;
42 function BOOKFormula return VARCHAR2 is
43 begin
44 DECLARE
45         l_book         VARCHAR2(15);
46         l_accounting_flex_structure number(15);
47         l_dist_book    VARCHAR2(15);
48         l_fiscal_year_name VARCHAR2(30);
49         l_currency_code VARCHAR2(15);
50         l_precision    number;
51 BEGIN
52         SELECT bc.book_type_code,
53                bc.accounting_flex_structure,
54                bc.distribution_source_book,
55                bc.fiscal_year_name,
56                sob.currency_code,
57                cur.precision
58         INTO   l_book,
59                l_accounting_flex_structure,
60                l_dist_book,
61                l_fiscal_year_name,
62                l_currency_code,
63                l_precision
64         FROM   fa_book_controls bc,
65                gl_sets_of_books sob,
66                fnd_currencies cur
67         WHERE  bc.book_type_code = P_BOOK
68         AND    bc.date_ineffective is null
69         AND    bc.set_of_books_id = sob.set_of_books_id
70         AND    sob.currency_code = cur.currency_code;
71         DIST_BOOK := l_dist_book;
72         ACCOUNTING_FLEX_STRUCTURE := l_accounting_flex_structure;
73         CURRENCY_CODE := l_currency_code;
74         FISCAL_YEAR_NAME := l_fiscal_year_name;
75         P_MIN_PRECISION := l_precision;
76         RETURN(l_book);
77 END;
78 RETURN NULL; end;
79 function PERIOD1Formula return VARCHAR2 is
80 begin
81 DECLARE
82          l_period_name   VARCHAR2(15);
83          l_period_counter number(15);
84 BEGIN
85          select period_name,
86                 period_counter
87          into l_period_name,
88               l_period_counter
89          from fa_deprn_periods
90          where book_type_code = P_BOOK
91          and   period_name = P_PERIOD1;
92          PERIOD1_PC := l_period_counter;
93          RETURN(l_period_name);
94 END;
95 RETURN NULL; end;
96 function PERIOD2Formula return VARCHAR2 is
97 begin
98 DECLARE
99         l_period_name VARCHAR2(15);
100         l_period_counter number(15);
101 BEGIN
102         select period_name,
103                period_counter
104         into   l_period_name,
105                l_period_counter
106         from fa_deprn_periods
107         where book_type_code = P_BOOK
108         and   period_name = P_PERIOD2;
109         PERIOD2_PC := l_period_counter;
110         RETURN(l_period_name);
111 EXCEPTION
112         WHEN NO_DATA_FOUND
113         THEN
114              PERIOD2_PC := PERIOD1_PC;
115              RETURN(P_PERIOD1);
116 END;
117 RETURN NULL; end;
118 function d_lifeformula(life in number, adj_rate in number, bonus_rate in number, prod in number) return varchar2 is
119 begin
120 begin
121 	return(fadolif(life, adj_rate, bonus_rate, prod));
122 end;
123 RETURN NULL; end;
124 --Functions to refer Oracle report placeholders--
125  Function DIST_BOOK_p return varchar2 is
126 	Begin
127 	 return DIST_BOOK;
128 	 END;
129  Function CURRENCY_CODE_p return varchar2 is
130 	Begin
131 	 return CURRENCY_CODE;
132 	 END;
133  Function FISCAL_YEAR_NAME_p return varchar2 is
134 	Begin
135 	 return FISCAL_YEAR_NAME;
136 	 END;
137  Function ACCOUNTING_FLEX_STRUCTURE_p return number is
138 	Begin
139 	 return ACCOUNTING_FLEX_STRUCTURE;
140 	 END;
141  Function PERIOD1_PC_p return number is
142 	Begin
143 	 return PERIOD1_PC;
144 	 END;
145  Function PERIOD2_PC_p return number is
146 	Begin
147 	 return PERIOD2_PC;
148 	 END;
149  Function RP_COMPANY_NAME_p return varchar2 is
150 	Begin
151 	 return RP_COMPANY_NAME;
152 	 END;
153  Function RP_REPORT_NAME_p return varchar2 is
154 	Begin
155 	 return RP_REPORT_NAME;
156 	 END;
157  Function RP_BAL_LPROMPT_p return varchar2 is
158 	Begin
159 	 return RP_BAL_LPROMPT;
160 	 END;
161 FUNCTION fadolif(life NUMBER,
162 		adj_rate NUMBER,
163 		bonus_rate NUMBER,
164 		prod NUMBER)
165 RETURN CHAR IS
166    retval CHAR(7);
167    num_chars NUMBER;
168    temp_retval number;
169 BEGIN
170    IF life IS NOT NULL
171    THEN
172       -- Fix for bug 601202 -- added substrb after lpad.  changed '90' to '999'
173       temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
174 		SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
175       retval := to_char(temp_retval,'999D99');
176    ELSIF adj_rate IS NOT NULL
177    THEN
178       /* Bug 1744591
179          Changed 90D99 to 990D99 */
180            retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
181    ELSIF prod IS NOT NULL
182    THEN
183 	--test for length of production_capacity; if it's longer
184 	--than 7 characters, then display in exponential notation
185       --IF prod <= 9999999
186       --THEN
187       --   retval := TO_CHAR(prod);
188       --ELSE
189       --   retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
190       --END IF;
191 	--display nothing for UOP assets
192 	retval := '';
193    ELSE
194 	--should not occur
195       retval := ' ';
196    END IF;
197    return(retval);
198 END;
199 --ADDED
200 function ACCT_BAL_LPROMPTFormula(ACCT_BAL_LPROMPT VARCHAR2) return VARCHAR2 is
201 begin
202 /*SRW.REFERENCE(:BOOK);
203 SRW.USER_EXIT('FND FLEXIDVAL
204                    CODE="GL#"
205                    NUM=":ACCOUNTING_FLEX_STRUCTURE"
206                    APPL_SHORT_NAME="SQLGL"
207                    DATA="12345678"
208                    LPROMPT=":ACCT_BAL_LPROMPT"
209                    DISPLAY="GL_BALANCING"'); */
210 RP_BAL_LPROMPT := ACCT_BAL_LPROMPT;
211 RETURN(ACCT_BAL_LPROMPT);
212 end;
213 END FA_FAS540_XMLP_PKG ;
214