1 PACKAGE BODY FA_FAS955_XMLP_PKG AS
2 /* $Header: FAS955B.pls 120.0.12010000.1 2008/07/28 13:16:08 appldev ship $ */
3 function report_nameformula(Company_Name in varchar2) return varchar2 is
4 begin
5 DECLARE
6 l_report_name VARCHAR2(80);
7 l_conc_program_id NUMBER;
8 BEGIN
9 --Added during DT Fix
10 P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
11 --End of DT Fix
12 RP_Company_Name := Company_Name;
13 SELECT cr.concurrent_program_id
14 INTO l_conc_program_id
15 FROM FND_CONCURRENT_REQUESTS cr
16 WHERE cr.program_application_id = 140
17 AND cr.request_id = P_CONC_REQUEST_ID;
18 SELECT cp.user_concurrent_program_name
19 INTO l_report_name
20 FROM FND_CONCURRENT_PROGRAMS_VL cp
21 WHERE
22 cp.concurrent_program_id= l_conc_program_id
23 and cp.application_id = 140;
24 l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
25 RP_Report_Name := l_report_name;
26 RETURN(l_report_name);
27 EXCEPTION
28 WHEN OTHERS THEN
29 RP_Report_Name := ':Budget-To-Actual Report:';
30 RETURN(RP_REPORT_NAME);
31 END;
32 RETURN NULL; end;
33 function BeforeReport return boolean is
34 begin
35 /*SRW.USER_EXIT('FND SRWINIT');*/null;
36 return (TRUE);
37 end;
38 function AfterReport return boolean is
39 begin
40 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
41 return (TRUE);
42 end;
43 function period1_pcformula(Distribution_Source_Book in varchar2) return number is
44 begin
45 DECLARE
46 l_period_POD DATE;
47 l_period_PCD DATE;
48 l_period_PC NUMBER(15);
49 l_period_FY NUMBER(15);
50 l_period_num NUMBER(4);
51 l_quarter_num NUMBER(2);
52 BEGIN
53 SELECT period_counter,
54 period_open_date,
55 nvl(period_close_date, sysdate),
56 fiscal_year,
57 PERIOD_NUM,
58 QUARTER
59 INTO l_period_PC,
60 l_period_POD,
61 l_period_PCD,
62 l_period_FY,
63 l_period_num,
64 l_quarter_num
65 FROM FA_DEPRN_PERIODS,
66 FA_PERIOD_MAPS
67 WHERE book_type_code = Distribution_Source_Book
68 AND period_name = P_PERIOD1
69 AND period_num = qtr_last_period;
70 Period1_POD := l_period_POD;
71 Period1_PCD := l_period_PCD;
72 Period1_FY := l_period_FY;
73 PERIOD_NUM := l_period_num;
74 QUARTER_NUM := l_quarter_num;
75 return(l_period_PC);
76 END;
77 RETURN NULL; end;
78 function cat_pdevformula(CAT_PB_COST in number, CAT_PA_COST in number, precision in number) return number is
79 begin
80 IF (CAT_PB_COST = 0) THEN RETURN(NULL);
81 ELSE
82 RETURN(round(((CAT_PB_COST - CAT_PA_COST) / CAT_PB_COST * 100),precision));
83 END IF;
84 RETURN NULL; end;
85 function cat_qdevformula(CAT_QB_COST in number, CAT_QA_COST in number, precision in number) return number is
86 begin
87 IF (CAT_QB_COST = 0) THEN RETURN(NULL);
88 ELSE
89 RETURN(round(((CAT_QB_COST - CAT_QA_COST) / CAT_QB_COST * 100),precision));
90 END IF;
91 RETURN NULL; end;
92 function cat_ydevformula(CAT_YB_COST in number, CAT_YA_COST in number, precision in number) return number is
93 begin
94 IF (CAT_YB_COST = 0) THEN RETURN(NULL);
95 ELSE
96 RETURN(round(((CAT_YB_COST - CAT_YA_COST) / CAT_YB_COST * 100),precision));
97 END IF;
98 RETURN NULL; end;
99 function rp_ydevformula(RP_YB_COST in number, RP_YA_COST in number, prec_glob in varchar2) return number is
100 begin
101 IF (RP_YB_COST = 0) THEN RETURN(NULL);
102 ELSE
103 RETURN(round(((RP_YB_COST - RP_YA_COST) / RP_YB_COST * 100),prec_glob));
104 END IF;
105 RETURN NULL; end;
106 function rp_qdevformula(RP_QB_COST in number, RP_QA_COST in number, prec_glob in varchar2) return number is
107 begin
108 IF (RP_QB_COST = 0) THEN RETURN(NULL);
109 ELSE
110 RETURN(round(((RP_QB_COST - RP_QA_COST) / RP_QB_COST * 100),prec_glob));
111 END IF;
112 RETURN NULL; end;
113 function rp_pdevformula(RP_PB_COST in number, RP_PA_COST in number, prec_glob in varchar2) return number is
114 begin
115 IF (RP_PB_COST = 0) THEN RETURN(NULL);
116 ELSE
117 RETURN(round(((RP_PB_COST - RP_PA_COST) / RP_PB_COST * 100),prec_glob));
118 END IF;
119 RETURN NULL; end;
120 function cc_pdevformula(CC_PB_COST in number, CC_PA_COST in number, precision in number) return number is
121 begin
122 IF (CC_PB_COST = 0) THEN RETURN(NULL);
123 ELSE
124 RETURN(round(((CC_PB_COST - CC_PA_COST) / CC_PB_COST * 100),precision));
125 END IF;
126 RETURN NULL; end;
127 function cc_qdevformula(CC_QB_COST in number, CC_QA_COST in number, precision in number) return number is
128 begin
129 IF (CC_QB_COST = 0) THEN RETURN(NULL);
130 ELSE
131 RETURN(round(((CC_QB_COST - CC_QA_COST) / CC_QB_COST * 100),precision));
132 END IF;
133 RETURN NULL; end;
134 function cc_ydevformula(CC_YB_COST in number, CC_YA_COST in number, precision in number) return number is
135 begin
136 IF (CC_YB_COST = 0) THEN RETURN(NULL);
137 ELSE
138 RETURN(round(((CC_YB_COST - CC_YA_COST) / CC_YB_COST * 100),precision));
139 END IF;
140 RETURN NULL; end;
141 function bd_pdevformula(BD_PB_COST in number, BD_PA_COST in number, precision in number) return number is
142 begin
143 IF (BD_PB_COST = 0) THEN RETURN(NULL);
144 ELSE
145 RETURN(round(((BD_PB_COST - BD_PA_COST) / BD_PB_COST * 100),precision));
146 END IF;
147 RETURN NULL; end;
148 function bd_qdevformula(BD_QB_COST in number, BD_QA_COST in number) return number is
149 begin
150 IF (BD_QB_COST = 0) THEN RETURN(NULL);
151 ELSE
152 RETURN((BD_QB_COST - BD_QA_COST) / BD_QB_COST * 100);
153 END IF;
154 RETURN NULL; end;
155 function bd_ydevformula(BD_YB_COST in number, BD_YA_COST in number, precision in number) return number is
156 begin
157 IF (BD_YB_COST = 0) THEN RETURN(NULL);
158 ELSE
159 RETURN(round(((BD_YB_COST - BD_YA_COST) / BD_YB_COST * 100),precision));
160 END IF;
161 RETURN NULL; end;
162 function bal_pdevformula(BAL_PB_COST in number, BAL_PA_COST in number, precision in number) return number is
163 begin
164 IF (BAL_PB_COST = 0) THEN RETURN(NULL);
165 ELSE
166 RETURN(round(((BAL_PB_COST - BAL_PA_COST) / BAL_PB_COST * 100),precision));
167 END IF;
168 RETURN NULL; end;
169 function bal_ydevformula(BAL_YB_COST in number, BAL_YA_COST in number, precision in number) return number is
170 begin
171 IF (BAL_YB_COST = 0) THEN RETURN(NULL);
172 ELSE
173 RETURN(round((((BAL_YB_COST - BAL_YA_COST) / BAL_YB_COST) * 100),precision));
174 END IF;
175 RETURN NULL; end;
176 function bal_qdevformula(BAL_QB_COST in number, BAL_QA_COST in number, precision in number) return number is
177 begin
178 IF (BAL_QB_COST = 0 or BAL_QB_COST is null) THEN RETURN(NULL);
179 ELSE
180 return(round(((BAL_QB_COST - BAL_QA_COST) / BAL_QB_COST *100),precision));
181 END IF;
182 RETURN NULL; end;
183 --Functions to refer Oracle report placeholders--
184 Function ACCT_BAL_APROMPT_p return varchar2 is
185 Begin
186 return ACCT_BAL_APROMPT;
187 END;
191 END;
188 Function ACCT_CC_APROMPT_p return varchar2 is
189 Begin
190 return ACCT_CC_APROMPT;
192 Function CAT_MAJ_RPROMPT_p return varchar2 is
193 Begin
194 return CAT_MAJ_RPROMPT;
195 END;
196 Function Period1_POD_p return date is
197 Begin
198 return Period1_POD;
199 END;
200 Function Period1_PCD_p return date is
201 Begin
202 return Period1_PCD;
203 END;
204 Function Period1_FY_p return number is
205 Begin
206 return Period1_FY;
207 END;
208 Function PERIOD_NUM_p return number is
209 Begin
210 return PERIOD_NUM;
211 END;
212 Function QUARTER_NUM_p return number is
213 Begin
214 return QUARTER_NUM;
215 END;
216 Function RP_COMPANY_NAME_p return varchar2 is
217 Begin
218 return RP_COMPANY_NAME;
219 END;
220 Function RP_REPORT_NAME_p return varchar2 is
221 Begin
222 return RP_REPORT_NAME;
223 END;
224 END FA_FAS955_XMLP_PKG ;
225