1 PACKAGE BODY PA_PAXMGPBS_XMLP_PKG AS
2 /* $Header: PAXMGPBSB.pls 120.1 2008/01/03 11:14:05 krreddy noship $ */
3
4 FUNCTION get_cover_page_values RETURN BOOLEAN IS
5
6 BEGIN
7
8 RETURN(TRUE);
9
10 EXCEPTION
11 WHEN OTHERS THEN
12 RETURN(FALSE);
13
14 END;
15
16 function BeforeReport return boolean is
17 begin
18
19
20 Declare
21 init_failure exception;
22 org_name hr_organization_units.name%TYPE;
23 member_name VARCHAR2(240);
24 role_type VARCHAR2(80);
25 enter_param VARCHAR2(80);
26 p_number VARCHAR2(40);
27 p_name VARCHAR2(40);
28 p_never_billed VARCHAR2(80);
29 p_billing_method VARCHAR2(80);
30 BEGIN
31 CP_BILL_THRU_DATE:=TO_CHAR(BILL_THRU_DATE,'DD-MON-YY');
32
33 /*srw.user_exit('FND SRWINIT');*/null;
34
35
36
37 /*srw.user_exit('FND GETPROFILE
38 NAME="PA_RULE_BASED_OPTIMIZER"
39 FIELD=":p_rule_optimizer"
40 PRINT_ERROR="N"');*/null;
41
42
43
44
45
46
47
48 /*srw.user_exit('FND GETPROFILE
49 NAME="PA_DEBUG_MODE"
50 FIELD=":p_debug_mode"
51 PRINT_ERROR="N"');*/null;
52
53
54
55
56
57
58
59 if (p_start_organization_id is null and
60 project_member is null) then
61 select meaning into enter_param from pa_lookups where
62 lookup_type = 'ENTER VALUE' and
63 lookup_code = 'ENTER_ORG_MGR';
64 end if;
65 c_enter := enter_param;
66
67 If p_start_organization_id is not null then
68 select substr(name,1,60) into org_name from hr_organization_units where
69 organization_id = p_start_organization_id;
70 end if;
71 c_start_org := org_name;
72
73 IF project_member is not null then
74 select full_name into member_name from per_people_f where
75 person_id = project_member
76 and sysdate between effective_start_date
77 and nvl(effective_end_date,sysdate + 1)
78 and (Current_NPW_Flag='Y' OR Current_Employee_Flag='Y')
79 and Decode(Current_NPW_Flag,'Y',NPW_Number,employee_number) IS NOT NULL ;
80 end if;
81 c_project_member := member_name;
82
83 if project_role_type is not null then
84 select meaning into role_type
85 from pa_project_role_types where
86 project_role_type = PA_PAXMGPBS_XMLP_PKG.project_role_type;
87 end if;
88 c_role_type := role_type;
89
90 if project is not null then
91 select segment1 into p_number
92 from pa_projects where
93 project = project_id;
94 end if;
95 c_proj_number := p_number;
96
97 if project is not null then
98 select name into p_name
99 from pa_projects where
100 project = project_id;
101 end if;
102 c_proj_name := p_name;
103
104 if never_billed is not null then
105 select meaning into p_never_billed
106 from fnd_lookups where
107 never_billed = lookup_code
108 and lookup_type = 'YES_NO';
109 end if;
110 c_never_billed := p_never_billed;
111
112 if billing_method is not null then
113 select meaning into p_billing_method
114 from pa_lookups where
115 billing_method = lookup_code
116 and lookup_type = 'BILLING_TYPE';
117 end if;
118 c_billing_method := p_billing_method;
119
120
121 IF (get_company_name <> TRUE) THEN RAISE init_failure;
122 END IF;
123
124 IF (get_start_org <> TRUE) THEN
125 RAISE init_failure;
126 END IF;
127
128
129 EXCEPTION
130 WHEN NO_DATA_FOUND THEN
131 null;
132 WHEN OTHERS THEN
133 RAISE_application_error(-20101,null);/*SRW.PROGRAM_ABORT;*/null;
134
135 END; return (TRUE);
136 end;
137
138 FUNCTION get_company_name RETURN BOOLEAN IS
139 l_name gl_sets_of_books.name%TYPE;
140 BEGIN
141 SELECT gl.name
142 INTO l_name
143 FROM gl_sets_of_books gl,pa_implementations pi
144 WHERE gl.set_of_books_id = pi.set_of_books_id;
145
146 c_company_name_header := l_name;
147
148 RETURN (TRUE);
149
150 EXCEPTION
151
152 WHEN OTHERS THEN
153 RETURN (FALSE);
154
155 END;
156
157 FUNCTION get_start_org RETURN BOOLEAN IS
158 c_start_organization_id number;
159 BEGIN
160 IF project is null then
161 select
162 decode(p_start_organization_id,null,
163 start_organization_id,p_start_organization_id)
164 into
165 c_start_organization_id
166 from
167 pa_implementations;
168 ELSIF
169 project is not null then
170 select null
171 into c_start_organization_id
172 from sys.dual;
173 END IF;
174 insert into
175 pa_org_reporting_sessions
176 (start_organization_id,session_id)
177 values
178 (c_start_organization_id,userenv('SESSIONID'));
179
180 RETURN (TRUE);
181 EXCEPTION
182 WHEN NO_DATA_FOUND THEN
183 null;
184 WHEN OTHERS THEN
185 RETURN (FALSE);
186 END;
187
188 function AfterReport return boolean is
189 begin
190
191 BEGIN
192 /*srw.user_exit('FND SRWEXIT');*/null;
193
194 ROLLBACK;
195 END; return (TRUE);
196 end;
197
198 function CF_CURRECNY_CODEFormula return VARCHAR2 is
199 begin
200 return(pa_multi_currency.get_acct_currency_code);
201 end;
202
203 function cf_ubrformula(projfunc_ubr_amount in number) return number is
204 ubr number := null;
205 begin
206
207
208
209
210
211 return(NVL(projfunc_ubr_amount,0));
212 end;
213
214 function cf_1formula(enable_top_task_inv_mth_flag in varchar2) return varchar2 is
215 l_meaning varchar2(20);
216 begin
217 select meaning
218 into l_meaning
219 from pa_lookups
220 where lookup_type = 'YES_NO'
221 and lookup_code = nvl(enable_top_task_inv_mth_flag, 'N');
222
223 return l_meaning;
224 end;
225
226 --Functions to refer Oracle report placeholders--
227
228 Function C_COMPANY_NAME_HEADER_p return varchar2 is
229 Begin
230 return C_COMPANY_NAME_HEADER;
231 END;
232 Function C_start_org_p return varchar2 is
233 Begin
234 return C_start_org;
235 END;
236 Function C_project_member_p return varchar2 is
237 Begin
238 return C_project_member;
239 END;
240 Function C_role_type_p return varchar2 is
241 Begin
242 return C_role_type;
243 END;
244 Function C_enter_p return varchar2 is
245 Begin
246 return C_enter;
247 END;
248 Function C_proj_number_p return varchar2 is
249 Begin
250 return C_proj_number;
251 END;
252 Function C_proj_name_p return varchar2 is
253 Begin
254 return C_proj_name;
255 END;
256 Function C_never_billed_p return varchar2 is
257 Begin
258 return C_never_billed;
259 END;
260 Function C_billing_method_p return varchar2 is
261 Begin
262 return C_billing_method;
263 END;
264 END PA_PAXMGPBS_XMLP_PKG ;
265