[Home] [Help]
PACKAGE BODY: APPS.FA_FAS770_XMLP_PKG
Source
1 PACKAGE BODY FA_FAS770_XMLP_PKG AS /* $Header: FAS770B.pls 120.0.12010000.1 2008/07/28 13:15:29 appldev ship $ */
2 /* $Header: FAS770B.pls 120.0.12010000.1 2008/07/28 13:15:29 appldev ship $ */
3
4 function BookFormula return VARCHAR2 is
5 begin
6
7 DECLARE
8 l_book VARCHAR2(15);
9 l_book_class VARCHAR2(15);
10 l_accounting_flex_structure NUMBER(15);
11 l_currency_code VARCHAR2(15);
12 l_distribution_source_book VARCHAR2(15);
13 l_precision NUMBER(15);
14 BEGIN
15 SELECT bc.book_type_code,
16 bc.book_class,
17 bc.accounting_flex_structure,
18 bc.distribution_source_book,
19 sob.currency_code,
20 cur.precision
21 INTO l_book,
22 l_book_class,
23 l_accounting_flex_Structure,
24 l_distribution_source_book,
25 l_currency_code,
26 l_precision
27 FROM FA_BOOK_CONTROLS bc,
28 GL_SETS_OF_BOOKS sob,
29 FND_CURRENCIES cur
30 WHERE bc.book_type_code = P_BOOK
31 AND sob.set_of_books_id = bc.set_of_books_id
32 AND sob.currency_code = cur.currency_code;
33
34 Book_Class := l_book_class;
35 Accounting_Flex_Structure:=l_accounting_flex_structure;
36 Distribution_SOurce_Book :=l_distribution_source_book;
37 Currency_Code := l_currency_code;
38 P_Min_Precision := l_precision;
39 return(l_book);
40 END;
41 RETURN NULL; end;
42
43 function report_nameformula(Company_Name in varchar2, ACCT_BAL_LPROMPT in varchar2) return varchar2 is
44 begin
45
46 DECLARE
47 l_report_name VARCHAR2(80);
48 BEGIN
49 --Added during DT Fix
50 P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
51 --End of DT Fix
52 RP_Company_Name := Company_Name;
53 /*SRW.REFERENCE(ACCT_BAL_LPROMPT);*/null;
54
55 C_BAL_LPROMPT := ACCT_BAL_LPROMPT;
56 SELECT cp.user_concurrent_program_name
57 INTO l_report_name
58 FROM FND_CONCURRENT_PROGRAMS_VL cp,
59 FND_CONCURRENT_REQUESTS cr
60 WHERE cr.request_id = P_CONC_REQUEST_ID
61 AND cp.application_id = cr.program_application_id
62 AND cp.concurrent_program_id=cr.concurrent_program_id;
63 l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
64
65 RP_Report_Name := l_report_name;
66 RETURN(l_report_name);
67
68 EXCEPTION
69 WHEN OTHERS THEN
70 RP_Report_Name := 'REPORT TITLE';
71 RETURN('REPORT TITLE');
72 END;
73 RETURN NULL; end;
74
75 function BeforeReport return boolean is
76 begin
77
78 /*SRW.USER_EXIT('FND SRWINIT');*/null;
79 return (TRUE);
80 end;
81
82 function AfterReport return boolean is
83 begin
84
85 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
86 return (TRUE);
87 end;
88
89 function report_period_close_dateformul(end_period_counter in number) return varchar2 is
90 begin
91
92 declare
93 end_date date;
94 end_date1 varchar2(20);
95 begin
96 select nvl(PERIOD_CLOSE_DATE,sysdate)
97 into end_date
98 FROM FA_DEPRN_PERIODS
99 WHERE BOOK_TYPE_CODE = P_BOOK
100 and period_counter = end_period_counter;
101 end_date1:=to_char(end_date,'DD-MON-YYYY');
102 return(end_date1);
103 end;
104 RETURN NULL; end;
105
106 function d_lifeformula(life_in_months in number, adj_rate in number, bonus_rate in number, prod in number) return varchar2 is
107 begin
108
109 begin
110 return(fadolif(life_in_months, adj_rate,
111 bonus_rate,
112 prod));
113 end;
114 RETURN NULL; end;
115
116 --Functions to refer Oracle report placeholders--
117
118 Function Accounting_Flex_Structure_p return number is
119 Begin
120 return Accounting_Flex_Structure;
121 END;
122 Function ACCT_BAL_APROMPT_p return varchar2 is
123 Begin
124 return ACCT_BAL_APROMPT;
125 END;
126 Function Currency_Code_p return varchar2 is
127 Begin
128 return Currency_Code;
129 END;
130 Function Book_Class_p return varchar2 is
131 Begin
132 return Book_Class;
133 END;
134 Function Distribution_Source_Book_p return varchar2 is
135 Begin
136 return Distribution_Source_Book;
137 END;
138 Function RP_COMPANY_NAME_p return varchar2 is
139 Begin
140 return RP_COMPANY_NAME;
141 END;
142 Function RP_REPORT_NAME_p return varchar2 is
143 Begin
144 return RP_REPORT_NAME;
145 END;
146 Function C_BAL_LPROMPT_p return varchar2 is
147 Begin
148 return C_BAL_LPROMPT;
149 END;
150
151 FUNCTION fadolif(life NUMBER,
152 adj_rate NUMBER,
153 bonus_rate NUMBER,
154 prod NUMBER)
155 RETURN CHAR IS
156 retval CHAR(7);
157 num_chars NUMBER;
158 temp_retval number;
159
160 BEGIN
161
162 IF life IS NOT NULL
163 THEN
164
165 -- Fix for bug 601202 -- added substrb after lpad. changed '90' to '999'
166 temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
167 SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
168 retval := to_char(temp_retval,'999D99');
169
170 ELSIF adj_rate IS NOT NULL
171 THEN
172 /* Bug 1744591
173 Changed 90D99 to 990D99 */
174
175 retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
176
177 ELSIF prod IS NOT NULL
178 THEN
179 --test for length of production_capacity; if it's longer
180 --than 7 characters, then display in exponential notation
181
182 --IF prod <= 9999999
183 --THEN
184 -- retval := TO_CHAR(prod);
185 --ELSE
186 -- retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
187 --END IF;
188
189 --display nothing for UOP assets
190 retval := '';
191 ELSE
192 --should not occur
193 retval := ' ';
194 END IF;
195
196 return(retval);
197
198 END;
199 END FA_FAS770_XMLP_PKG ;
200