DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PAXACRTA_XMLP_PKG

Source


1 PACKAGE BODY PA_PAXACRTA_XMLP_PKG AS
2 /* $Header: PAXACRTAB.pls 120.0 2008/01/02 11:12:35 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   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
11   BEGIN
12     DECLARE
13       INIT_FAILURE EXCEPTION;
14       NDF VARCHAR2(80);
15       ERRBUF VARCHAR2(525);
16       MESSAGE_BUF VARCHAR2(256);
17       NUMBER_OF_MESSAGES NUMBER;
18     BEGIN
19       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
20       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
21       /*SRW.USER_EXIT('FND GETPROFILE
22                     NAME="PA_DEBUG_MODE"
23                     FIELD=":p_debug_mode"
24                     PRINT_ERROR="N"')*/NULL;
25       P_RULE_OPTIMIZER := FND_PROFILE.VALUE('PA_RULE_BASED_OPTIMIZER');
26       IF (GET_COMPANY_NAME <> TRUE) THEN
27         RAISE INIT_FAILURE;
28       END IF;
29       SELECT
30         MEANING
31       INTO NDF
32       FROM
33         PA_LOOKUPS
34       WHERE LOOKUP_CODE = 'NO_DATA_FOUND'
35         AND LOOKUP_TYPE = 'MESSAGE';
36       C_NO_DATA_FOUND := NDF;
37       /*SRW.MESSAGE(1
38                  ,'Concurrent request id is ' || TO_CHAR(P_CONC_REQUEST_ID))*/NULL;
39       /*SRW.MESSAGE(1
40                  ,'Calling Refresh Transaction Accumulation')*/NULL;
41       PA_PROJ_ACCUM_MAIN.BUILD_TXN_ACCUM(ERRBUF
42                                         ,C_RETCODE
43                                         ,P_PROJECT_NUM_FROM
44                                         ,P_PROJECT_NUM_TO
45                                         ,P_START_PA_PERIOD
46                                         ,P_END_PA_PERIOD
47                                         ,P_SYSTEM_LINKAGE_FUNCTION);
48       IF (C_RETCODE <> 0) THEN
49         /*SRW.MESSAGE(1
50                    ,ERRBUF)*/NULL;
51         NUMBER_OF_MESSAGES := PA_DEBUG.NO_OF_DEBUG_MESSAGES;
52         IF (P_DEBUG_MODE = 'Y' AND NUMBER_OF_MESSAGES > 0) THEN
53           /*SRW.MESSAGE(1
54                      ,'Debug Messages:')*/NULL;
55           FOR i IN 1 .. NUMBER_OF_MESSAGES LOOP
56             PA_DEBUG.GET_MESSAGE(I
57                                 ,MESSAGE_BUF);
58             /*SRW.MESSAGE(1
59                        ,MESSAGE_BUF)*/NULL;
60           END LOOP;
61         END IF;
62         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
63       END IF;
64     EXCEPTION
65       WHEN NO_DATA_FOUND THEN
66         SELECT
67           MEANING
68         INTO NDF
69         FROM
70           PA_LOOKUPS
71         WHERE LOOKUP_CODE = 'NO_DATA_FOUND'
72           AND LOOKUP_TYPE = 'MESSAGE';
73         C_NO_DATA_FOUND := NDF;
74         C_DUMMY_DATA := 1;
75       WHEN OTHERS THEN
76         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
77     END;
78     RETURN (TRUE);
79   END BEFOREREPORT;
80   FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
81     L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
82   BEGIN
83     SELECT
84       GL.NAME
85     INTO L_NAME
86     FROM
87       GL_SETS_OF_BOOKS GL,
88       PA_IMPLEMENTATIONS PI
89     WHERE GL.SET_OF_BOOKS_ID = PI.SET_OF_BOOKS_ID;
90     C_COMPANY_NAME_HEADER := L_NAME;
91     RETURN (TRUE);
92   EXCEPTION
93     WHEN OTHERS THEN
94       RETURN (FALSE);
95   END GET_COMPANY_NAME;
96   FUNCTION AFTERREPORT RETURN BOOLEAN IS
97   BEGIN
98     DECLARE
99       MESSAGE_BUF VARCHAR2(256);
100       NUMBER_OF_MESSAGES NUMBER;
101       ACCUM_ERROR EXCEPTION;
102       X_PROJECT_ID NUMBER;
103       X_RAW_COST_B NUMBER;
104       X_BILLABLE_RAW_COST_B NUMBER;
105       X_BURDENED_COST_B NUMBER;
106       X_BILLABLE_BURDENED_COST_B NUMBER;
107       X_QUANTITY_B NUMBER;
108       X_LABOR_HOURS_B NUMBER;
109       X_BILLABLE_QUANTITY_B NUMBER;
110       X_BILLABLE_LABOR_HOURS_B NUMBER;
111       X_REVENUE_B NUMBER;
112       X_RAW_COST_A NUMBER;
113       X_BILLABLE_RAW_COST_A NUMBER;
114       X_BURDENED_COST_A NUMBER;
115       X_BILLABLE_BURDENED_COST_A NUMBER;
116       X_QUANTITY_A NUMBER;
117       X_LABOR_HOURS_A NUMBER;
118       X_BILLABLE_QUANTITY_A NUMBER;
119       X_BILLABLE_LABOR_HOURS_A NUMBER;
120       X_REVENUE_A NUMBER;
121     BEGIN
122       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
123       NUMBER_OF_MESSAGES := PA_ACCUM_SRW.GET_NUMBER_OF_PROJECTS;
124       /*SRW.MESSAGE(1
125                  ,'No. of Projects Accumulated = ' || TO_CHAR(NUMBER_OF_MESSAGES))*/NULL;
126       BEGIN
127         FOR i IN 1 .. NUMBER_OF_MESSAGES LOOP
128           PA_ACCUM_SRW.REPORT_PROJECT_TXN_NUMBERS(I
129                                                  ,X_PROJECT_ID
130                                                  ,X_RAW_COST_B
131                                                  ,X_BILLABLE_RAW_COST_B
132                                                  ,X_BURDENED_COST_B
133                                                  ,X_BILLABLE_BURDENED_COST_B
134                                                  ,X_QUANTITY_B
135                                                  ,X_LABOR_HOURS_B
136                                                  ,X_BILLABLE_QUANTITY_B
137                                                  ,X_BILLABLE_LABOR_HOURS_B
138                                                  ,X_REVENUE_B
139                                                  ,X_RAW_COST_A
140                                                  ,X_BILLABLE_RAW_COST_A
141                                                  ,X_BURDENED_COST_A
142                                                  ,X_BILLABLE_BURDENED_COST_A
143                                                  ,X_QUANTITY_A
144                                                  ,X_LABOR_HOURS_A
145                                                  ,X_BILLABLE_QUANTITY_A
146                                                  ,X_BILLABLE_LABOR_HOURS_A
147                                                  ,X_REVENUE_A);
148           /*SRW.MESSAGE(1
149                      ,'Project Id = ')*/NULL;
150           /*SRW.MESSAGE(1
151                      ,'|---------------------|---------------------------|')*/NULL;
152           /*SRW.MESSAGE(1
153                      ,'| ACCUMULATION COLUMN |   Before    |    After    |')*/NULL;
154           /*SRW.MESSAGE(1
155                      ,'|---------------------|---------------------------|')*/NULL;
156           /*SRW.MESSAGE(1
157                      ,'|RAW COST             ' || FMT(X_RAW_COST_B) || FMT(X_RAW_COST_A))*/NULL;
158           /*SRW.MESSAGE(1
159                      ,'|BILLABLE RAW COST    ' || FMT(X_BILLABLE_RAW_COST_B) || FMT(X_BILLABLE_RAW_COST_A))*/NULL;
160           /*SRW.MESSAGE(1
161                      ,'|BURDENED COST        ' || FMT(X_BURDENED_COST_B) || FMT(X_BURDENED_COST_A))*/NULL;
162           /*SRW.MESSAGE(1
163                      ,'|BILLABLE BURDENED CST' || FMT(X_BILLABLE_BURDENED_COST_B) || FMT(X_BILLABLE_BURDENED_COST_A))*/NULL;
164           /*SRW.MESSAGE(1
165                      ,'|QUANTITY             ' || FMT(X_QUANTITY_B) || FMT(X_QUANTITY_A))*/NULL;
166           /*SRW.MESSAGE(1
167                      ,'|LABOR HOURS          ' || FMT(X_LABOR_HOURS_B) || FMT(X_LABOR_HOURS_A))*/NULL;
168           /*SRW.MESSAGE(1
169                      ,'|BILLABLE QUANTITY    ' || FMT(X_BILLABLE_QUANTITY_B) || FMT(X_BILLABLE_QUANTITY_A))*/NULL;
170           /*SRW.MESSAGE(1
171                      ,'|BILLABLE LABOR HOURS ' || FMT(X_BILLABLE_LABOR_HOURS_B) || FMT(X_BILLABLE_LABOR_HOURS_A))*/NULL;
172           /*SRW.MESSAGE(1
173                      ,'|REVENUE              ' || FMT(X_REVENUE_B) || FMT(X_REVENUE_A))*/NULL;
174           /*SRW.MESSAGE(1
175                      ,'|---------------------|---------------------------|')*/NULL;
176         END LOOP;
177       EXCEPTION
178         WHEN OTHERS THEN
179           NULL;
180       END;
181       NUMBER_OF_MESSAGES := PA_DEBUG.NO_OF_DEBUG_MESSAGES;
182       IF (P_DEBUG_MODE = 'Y' AND NUMBER_OF_MESSAGES > 0) THEN
183         /*SRW.MESSAGE(1
184                    ,'Debug Messages:')*/NULL;
185         FOR i IN 1 .. NUMBER_OF_MESSAGES LOOP
186           PA_DEBUG.GET_MESSAGE(I
187                               ,MESSAGE_BUF);
188           /*SRW.MESSAGE(1
189                      ,MESSAGE_BUF)*/NULL;
190         END LOOP;
191       END IF;
192     EXCEPTION
193       WHEN OTHERS THEN
194         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
195     END;
196     RETURN (TRUE);
197   END AFTERREPORT;
198   FUNCTION FMT(NUMBER_IN IN NUMBER) RETURN VARCHAR2 IS
199   BEGIN
200     RETURN TO_CHAR(NVL(NUMBER_IN
201                       ,0)
202                   ,'9999999990D99');
203   END FMT;
204   FUNCTION CF_CORBFORMULA(PROJECT_TYPE_CLASS_CODE IN VARCHAR2) RETURN VARCHAR2 IS
205   BEGIN
206     IF PROJECT_TYPE_CLASS_CODE = 'CAPITAL' THEN
207       RETURN P_CAPITAL;
208     ELSE
209       RETURN P_BILLABLE;
210     END IF;
211   END CF_CORBFORMULA;
212   FUNCTION CF_NOTCORBFORMULA(PROJECT_TYPE_CLASS_CODE IN VARCHAR2) RETURN VARCHAR2 IS
213   BEGIN
214     IF PROJECT_TYPE_CLASS_CODE = 'CAPITAL' THEN
215       RETURN P_NONCAPITAL;
216     ELSE
217       RETURN P_NONBILLABLE;
218     END IF;
219   END CF_NOTCORBFORMULA;
220   FUNCTION C_FMT_MASKFORMULA RETURN VARCHAR2 IS
221     TMP_FMT_MASK VARCHAR2(15);
222   BEGIN
223     TMP_FMT_MASK := PA_CURRENCY.CURRENCY_FMT_MASK(15);
224     RETURN TMP_FMT_MASK;
225   END C_FMT_MASKFORMULA;
226   FUNCTION CF_CMT_EXCEPTIONSFORMULA(SUM_EXCEPTION_CODE IN VARCHAR2) RETURN CHAR IS
227     TMP_MESSAGE VARCHAR2(255);
228   BEGIN
229     FND_MESSAGE.SET_NAME('PA'
230                         ,SUM_EXCEPTION_CODE);
231     SELECT
232       SUBSTRB(FND_MESSAGE.GET
233              ,1
234              ,255)
235     INTO TMP_MESSAGE
236     FROM
237       DUAL;
238     RETURN TMP_MESSAGE;
239   END CF_CMT_EXCEPTIONSFORMULA;
240   FUNCTION CF_CMT_LINE_EXCEPTFORMULA(CMT_REJECTION_CODE IN VARCHAR2) RETURN VARCHAR2 IS
241     TMP_LINE_EXCEPT VARCHAR2(255);
242   BEGIN
243     FND_MESSAGE.SET_NAME('PA'
244                         ,CMT_REJECTION_CODE);
245     SELECT
246       SUBSTRB(FND_MESSAGE.GET
247              ,1
248              ,255)
249     INTO TMP_LINE_EXCEPT
250     FROM
251       DUAL;
252     RETURN TMP_LINE_EXCEPT;
253   END CF_CMT_LINE_EXCEPTFORMULA;
254   FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
255   BEGIN
256     RETURN C_COMPANY_NAME_HEADER;
257   END C_COMPANY_NAME_HEADER_P;
258   FUNCTION C_NO_DATA_FOUND_P RETURN VARCHAR2 IS
259   BEGIN
260     RETURN C_NO_DATA_FOUND;
261   END C_NO_DATA_FOUND_P;
262   FUNCTION C_DUMMY_DATA_P RETURN NUMBER IS
263   BEGIN
264     RETURN C_DUMMY_DATA;
265   END C_DUMMY_DATA_P;
266   FUNCTION C_RETCODE_P RETURN NUMBER IS
267   BEGIN
268     RETURN C_RETCODE;
269   END C_RETCODE_P;
270 END PA_PAXACRTA_XMLP_PKG;
271