DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FAS490_XMLP_PKG

Source


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