1 PACKAGE BODY PA_PAXPRTSK_XMLP_PKG AS
2 /* $Header: PAXPRTSKB.pls 120.0 2008/01/02 11:52:10 krreddy noship $ */
3 FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
4 BEGIN
5 RETURN (TRUE);
6 EXCEPTION
7 WHEN OTHERS THEN
8 RETURN (FALSE);
9 END GET_COVER_PAGE_VALUES;
10
11 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
12 BEGIN
13 DECLARE
14 INIT_FAILURE EXCEPTION;
15 P_NAME VARCHAR2(30);
16 P_NUMBER VARCHAR2(30);
17 P_TASK_ID NUMBER(15);
18 P_TASK_NAME VARCHAR2(30);
19 P_TASK_NUMBER VARCHAR2(30);
20 DISP_SUBTASKS VARCHAR2(40);
21 DISP_ST_DETAILS VARCHAR2(40);
22 BEGIN
23 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
24 C_TOP_TASK_ID := TOP_TASK_ID;
25 C_DISPLAY_SUBTASKS := NVL(DISPLAY_SUBTASKS,'Y');
26 C_DISPLAY_SUBTASK_DETAILS := NVL(DISPLAY_SUBTASK_DETAILS,'Y');
27 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
28 SELECT
29 DECODE(PA_INSTALL.IS_BILLING_LICENSED
30 ,'Y'
31 ,'N'
32 ,'Y')
33 INTO P_COSTING
34 FROM
35 DUAL;
36 P_RULE_OPTIMIZER := FND_PROFILE.VALUE('PA_RULE_BASED_OPTIMIZER');
37 IF P_RULE_OPTIMIZER = 'Y' THEN
38 EXECUTE IMMEDIATE
39 'ALTER SESSION SET OPTIMIZER_GOAL = RULE';
40 END IF;
41 P_DEBUG_MODE := FND_PROFILE.VALUE('PA_DEBUG_MODE');
42 SELECT
43 NAME,
44 SEGMENT1
45 INTO P_NAME,P_NUMBER
46 FROM
47 PA_PROJECTS
48 WHERE PROJECT_ID = PROJ;
49 C_PROJECT_NAME := P_NAME;
50 C_PROJECT_NUMBER := P_NUMBER;
51 IF C_TOP_TASK_ID IS NOT NULL THEN
52 SELECT
53 T.TASK_ID
54 INTO P_TASK_ID
55 FROM
56 PA_TASKS T
57 WHERE PROJECT_ID = PROJ
58 AND DECODE(C_TOP_TASK_ID
59 ,''
60 ,T.PARENT_TASK_ID
61 ,'All'
62 ,T.PARENT_TASK_ID
63 ,NULL) is null
64 AND DECODE(C_TOP_TASK_ID
65 ,''
66 ,T.TASK_ID
67 ,'All'
68 ,T.TASK_ID
69 ,C_TOP_TASK_ID) = T.TASK_ID;
70 END IF;
71 C_TASK_ID := P_TASK_ID;
72 IF C_DISPLAY_SUBTASKS IS NOT NULL THEN
73 SELECT
74 SUBSTR(MEANING
75 ,1
76 ,40)
77 INTO DISP_SUBTASKS
78 FROM
79 FND_LOOKUPS
80 WHERE LOOKUP_CODE = C_DISPLAY_SUBTASKS
81 AND LOOKUP_TYPE = 'YES_NO';
82 END IF;
83 C_DISPLAY_SUB := DISP_SUBTASKS;
84 IF C_DISPLAY_SUBTASKS IS NOT NULL THEN
85 SELECT
86 SUBSTR(MEANING
87 ,1
88 ,40)
89 INTO DISP_ST_DETAILS
90 FROM
91 FND_LOOKUPS
92 WHERE LOOKUP_CODE = C_DISPLAY_SUBTASK_DETAILS
93 AND LOOKUP_TYPE = 'YES_NO';
94 END IF;
95 C_DISPLAY_ST_DET := DISP_ST_DETAILS;
96 IF C_TOP_TASK_ID IS NOT NULL THEN
97 SELECT
98 TASK_NAME,
99 TASK_NUMBER
100 INTO P_TASK_NAME,P_TASK_NUMBER
101 FROM
102 PA_TASKS
103 WHERE TASK_ID = C_TOP_TASK_ID;
104 C_TASK_NAME := P_TASK_NAME;
105 C_TASK_NUMBER := P_TASK_NUMBER;
106 END IF;
107 IF (GET_COMPANY_NAME <> TRUE) THEN
108 RAISE INIT_FAILURE;
109 END IF;
110 IF (NO_DATA_FOUND_FUNC <> TRUE) THEN
111 RAISE INIT_FAILURE;
112 END IF;
113 EXCEPTION
114 WHEN NO_DATA_FOUND THEN
115 IF (NO_DATA_FOUND_FUNC <> TRUE) THEN
116 RAISE INIT_FAILURE;
117 END IF;
118 WHEN OTHERS THEN
119 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,NULL);
120 END;
121 RETURN (TRUE);
122 END BEFOREREPORT;
123
124 FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
125 L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
126 BEGIN
127 SELECT
128 GL.NAME
129 INTO L_NAME
130 FROM
131 GL_SETS_OF_BOOKS GL,
132 PA_IMPLEMENTATIONS PI
133 WHERE GL.SET_OF_BOOKS_ID = PI.SET_OF_BOOKS_ID;
134 C_COMPANY_NAME_HEADER := L_NAME;
135 RETURN (TRUE);
136 EXCEPTION
137 WHEN OTHERS THEN
138 RETURN (FALSE);
139 END GET_COMPANY_NAME;
140
141 FUNCTION NO_DATA_FOUND_FUNC RETURN BOOLEAN IS
142 MESSAGE_NAME VARCHAR2(80);
143 BEGIN
144 SELECT
145 MEANING
146 INTO MESSAGE_NAME
147 FROM
148 PA_LOOKUPS
149 WHERE LOOKUP_TYPE = 'MESSAGE'
150 AND LOOKUP_CODE = 'NO_DATA_FOUND';
151 C_NO_DATA_FOUND := SUBSTR(MESSAGE_NAME,4,14);
152 RETURN (TRUE);
153 EXCEPTION
154 WHEN OTHERS THEN
155 RETURN (FALSE);
156 END NO_DATA_FOUND_FUNC;
157
158 FUNCTION G_PARENTGROUPFILTER RETURN BOOLEAN IS
159 BEGIN
160 RETURN (TRUE);
161 END G_PARENTGROUPFILTER;
162
163 FUNCTION AFTERREPORT RETURN BOOLEAN IS
164 BEGIN
165 BEGIN
166 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
167 END;
168 RETURN (TRUE);
169 END AFTERREPORT;
170
171 FUNCTION G_SUBTASK_DETAILGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
172 BEGIN
173 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
174 RETURN (FALSE);
175 ELSE
176 RETURN (TRUE);
177 END IF;
178 RETURN (TRUE);
179 END G_SUBTASK_DETAILGROUPFILTER;
180
181 FUNCTION G_JOB_BILL_RATESGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
182 BEGIN
183 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
184 RETURN (FALSE);
185 ELSE
186 RETURN (TRUE);
187 END IF;
188 RETURN (TRUE);
189 END G_JOB_BILL_RATESGROUPFILTER;
190
191 FUNCTION G_JOB_TITLE_ORGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
192 BEGIN
193 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
194 RETURN (FALSE);
195 ELSE
196 RETURN (TRUE);
197 END IF;
198 RETURN (TRUE);
199 END G_JOB_TITLE_ORGROUPFILTER;
200
201 FUNCTION G_JOB_ASSGN_ORGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
202 BEGIN
203 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
204 RETURN (FALSE);
205 ELSE
206 RETURN (TRUE);
207 END IF;
208 RETURN (TRUE);
209 END G_JOB_ASSGN_ORGROUPFILTER;
210
211 FUNCTION G_LABOR_MULTGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
212 BEGIN
213 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
214 RETURN (FALSE);
215 ELSE
216 RETURN (TRUE);
217 END IF;
218 RETURN (TRUE);
219 END G_LABOR_MULTGROUPFILTER;
220
221 FUNCTION G_NL_BILL_RATESGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
222 BEGIN
223 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
224 RETURN (FALSE);
225 ELSE
226 RETURN (TRUE);
227 END IF;
228 RETURN (TRUE);
229 END G_NL_BILL_RATESGROUPFILTER;
230
231 FUNCTION G_EMP_BILL_RATESGROUPFILTER(DIRECT IN VARCHAR2) RETURN BOOLEAN IS
232 BEGIN
233 IF P_COSTING = 'Y' OR DIRECT = 'N' THEN
234 RETURN (FALSE);
235 ELSE
236 RETURN (TRUE);
237 END IF;
238 RETURN (TRUE);
239 END G_EMP_BILL_RATESGROUPFILTER;
240
241 FUNCTION CF_JOB_REASONFORMULA(JOB_DISC_REASON IN VARCHAR2) RETURN CHAR IS
242 L_REASON PA_LOOKUPS.MEANING%TYPE;
243 BEGIN
244 SELECT
245 MEANING
246 INTO L_REASON
247 FROM
248 PA_LOOKUPS
249 WHERE LOOKUP_TYPE = 'RATE AND DISCOUNT REASON'
250 AND LOOKUP_CODE = JOB_DISC_REASON;
251 RETURN (L_REASON);
252 EXCEPTION
253 WHEN OTHERS THEN
254 L_REASON := NULL;
255 RETURN (L_REASON);
256 END CF_JOB_REASONFORMULA;
257
258 FUNCTION CF_NL_REASONFORMULA(NL_DISC_REASON IN VARCHAR2) RETURN CHAR IS
259 L_REASON PA_LOOKUPS.MEANING%TYPE;
260 BEGIN
261 SELECT
262 MEANING
263 INTO L_REASON
264 FROM
265 PA_LOOKUPS
266 WHERE LOOKUP_TYPE = 'RATE AND DISCOUNT REASON'
267 AND LOOKUP_CODE = NL_DISC_REASON;
268 RETURN (L_REASON);
269 EXCEPTION
270 WHEN OTHERS THEN
271 L_REASON := NULL;
272 RETURN (L_REASON);
273 END CF_NL_REASONFORMULA;
274
275 FUNCTION CF_EMP_REASONFORMULA(RATE_DISC_REASON_CODE IN VARCHAR2) RETURN CHAR IS
276 L_REASON PA_LOOKUPS.MEANING%TYPE;
277 BEGIN
278 SELECT
279 MEANING
280 INTO L_REASON
281 FROM
282 PA_LOOKUPS
283 WHERE LOOKUP_TYPE = 'RATE AND DISCOUNT REASON'
284 AND LOOKUP_CODE = RATE_DISC_REASON_CODE;
285 RETURN (L_REASON);
286 EXCEPTION
287 WHEN OTHERS THEN
288 L_REASON := NULL;
289 RETURN (L_REASON);
290 END CF_EMP_REASONFORMULA;
291
292 FUNCTION CF_REVENUE_ACCRUAL_MTHFORMULA(REVENUE_ACCRUAL_METHOD IN VARCHAR2
293 ,PROJECT_ID1 IN NUMBER) RETURN CHAR IS
294 TMP_FLAG VARCHAR2(80);
295 BEGIN
296 IF REVENUE_ACCRUAL_METHOD IS NOT NULL THEN
297 SELECT
298 MEANING
299 INTO TMP_FLAG
300 FROM
301 PA_LOOKUPS LKP,
302 PA_PROJECTS PRJ
303 WHERE LKP.LOOKUP_TYPE = 'REVENUE ACCRUAL METHOD'
304 AND LKP.LOOKUP_CODE = PRJ.REVENUE_ACCRUAL_METHOD
305 AND PRJ.PROJECT_ID = PROJECT_ID1;
306 RETURN TMP_FLAG;
307 ELSE
308 RETURN NULL;
309 END IF;
310 EXCEPTION
311 WHEN OTHERS THEN
312 RAISE;
313 END CF_REVENUE_ACCRUAL_MTHFORMULA;
314
315 FUNCTION CF_INV_MTHFORMULA(INVOICE_METHOD IN VARCHAR2
316 ,PROJECT_ID1 IN NUMBER) RETURN CHAR IS
317 TMP_FLAG VARCHAR2(80);
318 BEGIN
319 IF INVOICE_METHOD IS NOT NULL THEN
320 SELECT
321 MEANING
322 INTO TMP_FLAG
323 FROM
324 PA_LOOKUPS LKP,
325 PA_PROJECTS PRJ
326 WHERE LKP.LOOKUP_TYPE = 'INVOICE METHOD'
327 AND LKP.LOOKUP_CODE = PRJ.INVOICE_METHOD
328 AND PRJ.PROJECT_ID = PROJECT_ID1;
329 RETURN TMP_FLAG;
330 ELSE
331 RETURN NULL;
332 END IF;
333 EXCEPTION
334 WHEN OTHERS THEN
335 RAISE;
336 END CF_INV_MTHFORMULA;
337
338 FUNCTION CF_CUSTOMER_NUMBERFORMULA(CUSTOMER_ID1 IN NUMBER
339 ,PROJECT_ID1 IN NUMBER) RETURN CHAR IS
340 TMP_FLAG VARCHAR2(80);
341 BEGIN
342 IF CUSTOMER_ID1 IS NOT NULL THEN
343 SELECT
344 CUSTOMER_NUMBER
345 INTO TMP_FLAG
346 FROM
347 PA_PROJECT_CUSTOMERS_V
348 WHERE PROJECT_ID = PROJECT_ID1
349 AND CUSTOMER_ID = CUSTOMER_ID1;
350 RETURN TMP_FLAG;
351 ELSE
352 RETURN NULL;
353 END IF;
354 EXCEPTION
355 WHEN OTHERS THEN
356 RAISE;
357 END CF_CUSTOMER_NUMBERFORMULA;
358
359 FUNCTION CF_CUSTOMER_NAMEFORMULA(CUSTOMER_ID1 IN NUMBER
360 ,PROJECT_ID1 IN NUMBER) RETURN CHAR IS
361 TMP_FLAG VARCHAR2(80);
362 BEGIN
363 IF CUSTOMER_ID1 IS NOT NULL THEN
364 SELECT
365 CUSTOMER_NAME
366 INTO TMP_FLAG
367 FROM
368 PA_PROJECT_CUSTOMERS_V
369 WHERE PROJECT_ID = PROJECT_ID1
370 AND CUSTOMER_ID = CUSTOMER_ID1;
371 RETURN TMP_FLAG;
372 ELSE
373 RETURN NULL;
374 END IF;
375 EXCEPTION
376 WHEN OTHERS THEN
377 RAISE;
378 END CF_CUSTOMER_NAMEFORMULA;
379
380 FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
381 BEGIN
382 RETURN C_COMPANY_NAME_HEADER;
383 END C_COMPANY_NAME_HEADER_P;
384
385 FUNCTION C_PROJECT_NAME_P RETURN VARCHAR2 IS
386 BEGIN
387 RETURN C_PROJECT_NAME;
388 END C_PROJECT_NAME_P;
389
390 FUNCTION C_PROJECT_NUMBER_P RETURN VARCHAR2 IS
391 BEGIN
392 RETURN C_PROJECT_NUMBER;
393 END C_PROJECT_NUMBER_P;
394
395 FUNCTION C_NO_DATA_FOUND_P RETURN VARCHAR2 IS
396 BEGIN
397 RETURN C_NO_DATA_FOUND;
398 END C_NO_DATA_FOUND_P;
399
400 FUNCTION C_TASK_ID_P RETURN NUMBER IS
401 BEGIN
402 RETURN C_TASK_ID;
403 END C_TASK_ID_P;
404
405 FUNCTION C_TASK_NAME_P RETURN VARCHAR2 IS
406 BEGIN
407 RETURN C_TASK_NAME;
408 END C_TASK_NAME_P;
409
410 FUNCTION C_TASK_NUMBER_P RETURN VARCHAR2 IS
411 BEGIN
412 RETURN C_TASK_NUMBER;
413 END C_TASK_NUMBER_P;
414
415 FUNCTION C_DISPLAY_ST_DET_P RETURN VARCHAR2 IS
416 BEGIN
417 RETURN C_DISPLAY_ST_DET;
418 END C_DISPLAY_ST_DET_P;
419
420 FUNCTION C_DISPLAY_SUB_P RETURN VARCHAR2 IS
421 BEGIN
422 RETURN C_DISPLAY_SUB;
423 END C_DISPLAY_SUB_P;
424
425 FUNCTION GET_CURRENCY_CODE RETURN VARCHAR2 IS
426 X0 VARCHAR2(2000);
427 BEGIN
428 /* STPROC.INIT('begin :X0 := PA_CURRENCY.GET_CURRENCY_CODE; end;');
429 STPROC.BIND_O(X0);
430 STPROC.EXECUTE;
431 STPROC.RETRIEVE(1
432 ,X0);
433 RETURN X0;*/
434 RETURN NULL;
435 END GET_CURRENCY_CODE;
436
437 FUNCTION ROUND_CURRENCY_AMT(X_AMOUNT IN NUMBER) RETURN NUMBER IS
438 X0 NUMBER;
439 BEGIN
440 /* STPROC.INIT('begin :X0 := PA_CURRENCY.ROUND_CURRENCY_AMT(:X_AMOUNT); end;');
441 STPROC.BIND_O(X0);
442 STPROC.BIND_I(X_AMOUNT);
443 STPROC.EXECUTE;
444 STPROC.RETRIEVE(1
445 ,X0);
446 RETURN X0;*/
447 RETURN NULL;
448 END ROUND_CURRENCY_AMT;
449
450 FUNCTION CURRENCY_FMT_MASK(X_LENGTH IN NUMBER) RETURN VARCHAR2 IS
451 X0 VARCHAR2(2000);
452 BEGIN
453 /* STPROC.INIT('begin :X0 := PA_CURRENCY.CURRENCY_FMT_MASK(:X_LENGTH); end;');
454 STPROC.BIND_O(X0);
455 STPROC.BIND_I(X_LENGTH);
456 STPROC.EXECUTE;
457 STPROC.RETRIEVE(1
458 ,X0);
459 RETURN X0;*/
460 RETURN NULL;
461 END CURRENCY_FMT_MASK;
462
463 FUNCTION RPT_CURRENCY_FMT_MASK(X_ORG_ID IN NUMBER
464 ,X_LENGTH IN NUMBER) RETURN VARCHAR2 IS
465 X0 VARCHAR2(2000);
466 BEGIN
467 /*STPROC.INIT('begin :X0 := PA_CURRENCY.RPT_CURRENCY_FMT_MASK(:X_ORG_ID, :X_LENGTH); end;');
468 STPROC.BIND_O(X0);
469 STPROC.BIND_I(X_ORG_ID);
470 STPROC.BIND_I(X_LENGTH);
471 STPROC.EXECUTE;
472 STPROC.RETRIEVE(1
473 ,X0);
474 RETURN X0;*/
475 RETURN NULL;
476 END RPT_CURRENCY_FMT_MASK;
477
478 END PA_PAXPRTSK_XMLP_PKG;
479