DBA Data[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