1 PACKAGE BODY PA_PACCINTG_XMLP_PKG AS
2 /* $Header: PACCINTGB.pls 120.0 2008/01/02 10:53:57 krreddy noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 L_PURGEABLE VARCHAR2(20);
5 L_MSG_COUNT NUMBER := 0;
6 L_MSG_DATA VARCHAR2(2000) := NULL;
7 L_RETURN_STATUS VARCHAR2(1);
8 NUMBER_OF_MESSAGES NUMBER;
9 MESSAGE_BUF VARCHAR2(2000);
10 INIT_FAILURE EXCEPTION;
11 BEGIN
12 /*SRW.MESSAGE('100'
13 ,'BEFORE CALLING INIT USEREXIT')*/NULL;
14 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
15 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
16 CP_RET_STS := 'S';
17 IF P_CONC_REQUEST_ID IS NULL THEN
18 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
19 /*SRW.MESSAGE('100'
20 ,'P_CONC_ID IS NULL')*/NULL;
21 END IF;
22 IF P_MODE IS NULL THEN
23 P_MODE := 'G';
24 END IF;
25 IF P_AUTO_RELEASE IS NULL THEN
26 P_AUTO_RELEASE := 'N';
27 END IF;
28 IF P_STORE_SRC_DET IS NULL THEN
29 P_STORE_SRC_DET := 'N';
30 END IF;
31 /*SRW.MESSAGE('100'
32 ,'BEFORE GETTTING THE DEBUG MODE PROFILE VALUE')*/NULL;
33 P_DEBUG_MODE := FND_PROFILE.VALUE('PA_DEBUG_MODE');
34 /*SRW.MESSAGE('100'
35 ,'BEFORE SETTING ALTER SEESION')*/NULL;
36 IF P_DEBUG_MODE = 'Y' THEN
37 EXECUTE IMMEDIATE
38 'ALTER SESSION SET SQL_TRACE TRUE';
39 END IF;
40 /*SRW.MESSAGE('100'
41 ,'BEFORE GETTTING THE COMP NAME')*/NULL;
42 IF (GET_COMPANY_NAME <> TRUE) THEN
43 RAISE INIT_FAILURE;
44 END IF;
45 /*SRW.MESSAGE('100'
46 ,'BEFORE CALLING THE who cals')*/NULL;
47 PA_ALLOC_RUN.INIT_WHO_COLS;
48 IF P_FROM_PROJECT_ID IS NOT NULL THEN
49 SELECT
50 SEGMENT1
51 INTO P_FROM_PROJ_NUM
52 FROM
53 PA_PROJECTS_ALL
54 WHERE PROJECT_ID = P_FROM_PROJECT_ID;
55 END IF;
56 IF P_TO_PROJECT_ID IS NOT NULL THEN
57 SELECT
58 SEGMENT1
59 INTO P_TO_PROJ_NUM
60 FROM
61 PA_PROJECTS_ALL
62 WHERE PROJECT_ID = P_TO_PROJECT_ID;
63 END IF;
64 IF P_EXP_ITEM_DATE IS NULL THEN
65 SELECT
66 END_DATE
67 INTO P_EXP_ITEM_DATE
68 FROM
69 PA_IMPLEMENTATIONS PIMP,
70 GL_PERIOD_STATUSES GLS
71 WHERE PIMP.SET_OF_BOOKS_ID = GLS.SET_OF_BOOKS_ID
72 AND GLS.APPLICATION_ID = 101
73 AND GLS.PERIOD_NAME = P_RUN_PERIOD;
74 END IF;
75 P_EXP_ITEM_DATE_1:=to_char(P_EXP_ITEM_DATE,'DD-MON-YY');
76 /*SRW.MESSAGE('100'
77 ,'BEFORE CALLING THE GET CAP')*/NULL;
78 /*SRW.MESSAGE('100'
79 ,'BEFORE CALLING THE GET CAP P1' || P_FROM_PROJ_NUM)*/NULL;
80 /*SRW.MESSAGE('100'
81 ,'BEFORE CALLING THE GET CAP P2' || P_TO_PROJ_NUM)*/NULL;
82 /*SRW.MESSAGE('100'
83 ,'BEFORE CALLING THE GET CAP P3' || P_RUN_PERIOD)*/NULL;
84 /*SRW.MESSAGE('100'
85 ,'BEFORE CALLING THE GET CAP P4' || P_EXP_ITEM_DATE)*/NULL;
86 /*SRW.MESSAGE('100'
87 ,'BEFORE CALLING THE GET CAP P5' || P_STORE_SRC_DET)*/NULL;
88 /*SRW.MESSAGE('100'
89 ,'BEFORE CALLING THE GET CAP P6' || P_AUTO_RELEASE)*/NULL;
90 PA_CAP_INT_PVT.GENERATE_CAP_INTEREST(P_FROM_PROJECT_NUM => P_FROM_PROJ_NUM
91 ,P_TO_PROJECT_NUM => P_TO_PROJ_NUM
92 ,P_GL_PERIOD => P_RUN_PERIOD
93 ,P_EXP_ITEM_DATE => P_EXP_ITEM_DATE
94 ,P_SOURCE_DETAILS => P_STORE_SRC_DET
95 ,P_AUTORELEASE => P_AUTO_RELEASE
96 ,P_MODE => P_MODE
97 ,X_RUN_ID => P_RUN_ID
98 ,X_RETURN_STATUS => L_RETURN_STATUS
99 ,X_ERROR_MSG_COUNT => L_MSG_COUNT
100 ,X_ERROR_MSG_CODE => L_MSG_DATA);
101 /*SRW.MESSAGE('100'
102 ,'AFTER CALLING THE GET CAP THE ERR BUF IS ' || L_MSG_DATA)*/NULL;
103 /*SRW.MESSAGE('100'
104 ,'AFTER CALLING THE GET CAP THE ERR BUF IS ' || L_RETURN_STATUS)*/NULL;
105 IF (L_RETURN_STATUS <> 'S') THEN
106 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
107 END IF;
108 RETURN (TRUE);
109 EXCEPTION
110 WHEN INIT_FAILURE THEN
111 /*SRW.MESSAGE('102'
112 ,'Unable to get the Title')*/NULL;
113 RETURN (TRUE);
114 WHEN OTHERS THEN
115 /*SRW.MESSAGE('101'
116 ,'before prinintg unexp err')*/NULL;
117 L_MSG_DATA := SQLERRM;
118 /*SRW.MESSAGE('101'
119 ,'Unexpected Error' || SUBSTR(L_MSG_DATA
120 ,1
121 ,100))*/NULL;
122 /*SRW.MESSAGE('101'
123 ,'About to call process failed run')*/NULL;
124 PROCESS_FAILED_RUN;
125 RETURN (TRUE);
126 END BEFOREREPORT;
127
128 FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
129 L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
130 BEGIN
131 SELECT
132 GL.NAME
133 INTO L_NAME
134 FROM
135 GL_SETS_OF_BOOKS GL,
136 PA_IMPLEMENTATIONS PI
137 WHERE GL.SET_OF_BOOKS_ID = PI.SET_OF_BOOKS_ID;
138 C_COMPANY_NAME := L_NAME;
139 RETURN (TRUE);
140 EXCEPTION
141 WHEN OTHERS THEN
142 RETURN (FALSE);
143 END GET_COMPANY_NAME;
144
145 PROCEDURE PROCESS_FAILED_RUN IS
146 NUMBER_OF_MESSAGES NUMBER;
147 MESSAGE_BUF VARCHAR2(2000);
148 L_PURGEABLE_FLAG PA_TRANSACTION_SOURCES.PURGEABLE_FLAG%TYPE;
149 L_RUN_STATUS_CODE PA_ALLOC_RUNS_ALL.RUN_STATUS%TYPE;
150 BEGIN
151 /*SRW.MESSAGE(1
152 ,'In process failerd run')*/NULL;
153 CP_RET_STS := 'E';
154 NUMBER_OF_MESSAGES := PA_DEBUG.NO_OF_DEBUG_MESSAGES;
155 /*SRW.MESSAGE(1
156 ,'Debug Messages:')*/NULL;
157 FOR i IN 1 .. NUMBER_OF_MESSAGES LOOP
158 PA_DEBUG.GET_MESSAGE(I
159 ,MESSAGE_BUF);
160 /*SRW.MESSAGE(1
161 ,MESSAGE_BUF)*/NULL;
162 END LOOP;
163 /*SRW.MESSAGE(1
164 ,'Leaving process failerd run')*/NULL;
165 EXCEPTION
166 WHEN OTHERS THEN
167 NULL;
168 END PROCESS_FAILED_RUN;
169
170 FUNCTION AFTERREPORT RETURN BOOLEAN IS
171 L_PURGEABLE_FLAG PA_TRANSACTION_SOURCES.PURGEABLE_FLAG%TYPE;
172 BEGIN
173 BEGIN
174 /*SRW.MESSAGE('2'
175 ,'In after report trigger with p_mode ' || P_MODE)*/NULL;
176 SELECT
177 PURGEABLE_FLAG
178 INTO L_PURGEABLE_FLAG
179 FROM
180 PA_TRANSACTION_SOURCES
181 WHERE TRANSACTION_SOURCE = 'Capitalized Interest';
182 IF ((P_MODE = 'R') OR (P_MODE = 'G' AND P_AUTO_RELEASE = 'Y')) THEN
183 IF (L_PURGEABLE_FLAG = 'Y') THEN
184 DELETE FROM PA_TRANSACTION_INTERFACE
185 WHERE TRANSACTION_SOURCE = 'Capitalized Interest'
186 AND BATCH_NAME = TO_CHAR(P_RUN_ID);
187 END IF;
188 DELETE FROM PA_TRANSACTION_XFACE_CONTROL
189 WHERE TRANSACTION_SOURCE = 'Capitalized Interest'
190 AND BATCH_NAME = TO_CHAR(P_RUN_ID);
191 END IF;
192 EXCEPTION
193 WHEN OTHERS THEN
194 NULL;
195 END;
196 IF CP_RET_STS = 'E' THEN
197 IF ((P_MODE = 'R') OR (P_MODE = 'G' AND P_AUTO_RELEASE = 'Y')) THEN
198 UPDATE
199 PA_ALLOC_RUNS_ALL
200 SET
201 RELEASE_REQUEST_ID = NULL
202 WHERE RUN_ID = P_RUN_ID;
203 END IF;
204 /*SRW.MESSAGE('2'
205 ,'In after report trigger |about to raise')*/NULL;
206 COMMIT;
207 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
208 END IF;
209 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
210 COMMIT;
211 /*SRW.MESSAGE('2'
212 ,'Leaving after rep trigger')*/NULL;
213 RETURN TRUE;
214 END AFTERREPORT;
215
216 FUNCTION CF_FORMAT_MASKFORMULA RETURN VARCHAR2 IS
217 BEGIN
218 RETURN (PA_MULTI_CURRENCY.GET_ACCT_CURRENCY_CODE);
219 END CF_FORMAT_MASKFORMULA;
220
221 FUNCTION C_COMPANY_NAME_P RETURN VARCHAR2 IS
222 BEGIN
223 RETURN C_COMPANY_NAME;
224 END C_COMPANY_NAME_P;
225
226 FUNCTION CP_RET_STS_P RETURN VARCHAR2 IS
227 BEGIN
228 RETURN CP_RET_STS;
229 END CP_RET_STS_P;
230
231 END PA_PACCINTG_XMLP_PKG;
232