[Home] [Help]
PACKAGE BODY: APPS.AP_APXIIWKF_XMLP_PKG
Source
1 PACKAGE BODY AP_APXIIWKF_XMLP_PKG AS
2 /* $Header: APXIIWKFB.pls 120.0 2007/12/27 07:46:53 vjaganat noship $ */
3 FUNCTION GET_BASE_CURR_DATA RETURN BOOLEAN IS
4 BASE_CURR AP_SYSTEM_PARAMETERS.BASE_CURRENCY_CODE%TYPE;
5 PREC FND_CURRENCIES_VL.PRECISION%TYPE;
6 MIN_AU FND_CURRENCIES_VL.MINIMUM_ACCOUNTABLE_UNIT%TYPE;
7 DESCR FND_CURRENCIES_VL.DESCRIPTION%TYPE;
8 BEGIN
9 BASE_CURR := '';
10 PREC := 0;
11 MIN_AU := 0;
12 DESCR := '';
13 SELECT
14 P.BASE_CURRENCY_CODE,
15 C.PRECISION,
16 C.MINIMUM_ACCOUNTABLE_UNIT,
17 C.DESCRIPTION
18 INTO BASE_CURR,PREC,MIN_AU,DESCR
19 FROM
20 AP_SYSTEM_PARAMETERS P,
21 FND_CURRENCIES_VL C
22 WHERE P.BASE_CURRENCY_CODE = C.CURRENCY_CODE;
23 C_BASE_CURRENCY_CODE := BASE_CURR;
24 C_BASE_PRECISION := PREC;
25 C_BASE_MIN_ACCT_UNIT := MIN_AU;
26 C_BASE_DESCRIPTION := DESCR;
27 RETURN (TRUE);
28 RETURN NULL;
29 EXCEPTION
30 WHEN OTHERS THEN
31 RETURN (FALSE);
32 END GET_BASE_CURR_DATA;
33
34 FUNCTION CUSTOM_INIT RETURN BOOLEAN IS
35 BEGIN
36 RETURN (TRUE);
37 RETURN NULL;
38 EXCEPTION
39 WHEN OTHERS THEN
40 IF (SQLCODE < 0) THEN
41 /*SRW.MESSAGE('999'
42 ,SQLERRM)*/NULL;
43 END IF;
44 RETURN (FALSE);
45 END CUSTOM_INIT;
46
47 FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
48 BEGIN
49 RETURN (TRUE);
50 RETURN NULL;
51 EXCEPTION
52 WHEN OTHERS THEN
53 RETURN (FALSE);
54 END GET_COVER_PAGE_VALUES;
55
56 FUNCTION GET_NLS_STRINGS RETURN BOOLEAN IS
57 NLS_VOID AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
58 NLS_NA AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
59 NLS_ALL AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
60 NLS_YES FND_LOOKUPS.MEANING%TYPE;
61 NLS_NO FND_LOOKUPS.MEANING%TYPE;
62 BEGIN
63 SELECT
64 LY.MEANING,
65 LN.MEANING,
66 L1.DISPLAYED_FIELD,
67 L2.DISPLAYED_FIELD,
68 L3.DISPLAYED_FIELD
69 INTO NLS_YES,NLS_NO,NLS_ALL,NLS_VOID,NLS_NA
70 FROM
71 FND_LOOKUPS LY,
72 FND_LOOKUPS LN,
73 AP_LOOKUP_CODES L1,
74 AP_LOOKUP_CODES L2,
75 AP_LOOKUP_CODES L3
76 WHERE LY.LOOKUP_TYPE = 'YES_NO'
77 AND LY.LOOKUP_CODE = 'Y'
78 AND LN.LOOKUP_TYPE = 'YES_NO'
79 AND LN.LOOKUP_CODE = 'N'
80 AND L1.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
81 AND L1.LOOKUP_CODE = 'ALL'
82 AND L2.LOOKUP_TYPE = 'NLS TRANSLATION'
83 AND L2.LOOKUP_CODE = 'VOID'
84 AND L3.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
85 AND L3.LOOKUP_CODE = 'NA';
86 C_NLS_YES := NLS_YES;
87 C_NLS_NO := NLS_NO;
88 C_NLS_ALL := NLS_ALL;
89 C_NLS_VOID := NLS_VOID;
90 C_NLS_NA := NLS_NA;
91 FND_MESSAGE.SET_NAME('SQLAP'
92 ,'AP_APPRVL_NO_DATA');
93 C_NLS_NO_DATA_EXISTS := FND_MESSAGE.GET;
94 FND_MESSAGE.SET_NAME('SQLAP'
95 ,'AP_ALL_END_OF_REPORT');
96 C_NLS_END_OF_REPORT := FND_MESSAGE.GET;
97 -- C_NLS_NO_DATA_EXISTS := C_NLS_NO_DATA_EXISTS ;
98 -- C_NLS_END_OF_REPORT := C_NLS_END_OF_REPORT ;
99 RETURN (TRUE);
100 RETURN NULL;
101 EXCEPTION
102 WHEN OTHERS THEN
103 RETURN (FALSE);
104 END GET_NLS_STRINGS;
105
106 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
107 BEGIN
108 DECLARE
109 INIT_FAILURE EXCEPTION;
110 CURRENT_CALLING_SEQUENCE VARCHAR2(2000);
111 DEBUG_INFO VARCHAR2(200);
112 BEGIN
113 CURRENT_CALLING_SEQUENCE := 'Before Report Trigger<-AP_APXIIWKF_XMLP_PKG';
114 C_REPORT_START_DATE := SYSDATE;
115 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
116 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
117 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
118 /*SRW.MESSAGE('1'
119 ,'(Before Report) After SRWINIT')*/NULL;
120 END IF;
121 IF (GET_COMPANY_NAME <> TRUE) THEN
122 RAISE INIT_FAILURE;
123 END IF;
124 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
125 /*SRW.MESSAGE('2'
126 ,'(Before Report) After Get_Company_Name')*/NULL;
127 END IF;
128 IF (GET_NLS_STRINGS <> TRUE) THEN
129 RAISE INIT_FAILURE;
130 END IF;
131 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
132 /*SRW.MESSAGE('3'
133 ,'(Before Report) After Get_NLS_Strings')*/NULL;
134 END IF;
135 IF (GET_BASE_CURR_DATA <> TRUE) THEN
136 RAISE INIT_FAILURE;
137 END IF;
138 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
139 /*SRW.MESSAGE('4'
140 ,'(Before Report) After Get_Base_Curr_Data')*/NULL;
141 END IF;
142 IF (OPEN_INTERFACE_WORKFLOW(P_SOURCE
143 ,P_GROUP_ID
144 ,CURRENT_CALLING_SEQUENCE) <> TRUE) THEN
145 RAISE INIT_FAILURE;
146 END IF;
147 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
148 /*SRW.MESSAGE('10'
149 ,'(Before Report) After Open_Interface_Workflow')*/NULL;
150 END IF;
151 IF (P_DEBUG_SWITCH in ('y','Y')) THEN
152 /*SRW.BREAK*/NULL;
153 END IF;
154 RETURN (TRUE);
155 EXCEPTION
156 WHEN OTHERS THEN
157 IF (SQLCODE < 0) THEN
158 /*SRW.MESSAGE('999'
159 ,SQLERRM)*/NULL;
160 END IF;
161 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
162 END;
163 RETURN (TRUE);
164 END BEFOREREPORT;
165
166 FUNCTION AFTERREPORT RETURN BOOLEAN IS
167 BEGIN
168 BEGIN
169 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
170 IF (P_DEBUG_SWITCH = 'Y') THEN
171 /*SRW.MESSAGE('20'
172 ,'After SRWEXIT')*/NULL;
173 END IF;
174 EXCEPTION
175 WHEN OTHERS THEN
176 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
177 END;
178 RETURN (TRUE);
179 END AFTERREPORT;
180
181 FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
182 L_CHART_OF_ACCOUNTS_ID GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE;
183 L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
184 L_SOB_ID NUMBER;
185 BEGIN
186 IF P_SET_OF_BOOKS_ID IS NOT NULL THEN
187 L_SOB_ID := P_SET_OF_BOOKS_ID;
188 SELECT
189 NAME,
190 CHART_OF_ACCOUNTS_ID
191 INTO L_NAME,L_CHART_OF_ACCOUNTS_ID
192 FROM
193 GL_SETS_OF_BOOKS
194 WHERE SET_OF_BOOKS_ID = L_SOB_ID;
195 C_COMPANY_NAME_HEADER := L_NAME;
196 C_CHART_OF_ACCOUNTS_ID := L_CHART_OF_ACCOUNTS_ID;
197 END IF;
198 RETURN (TRUE);
199 RETURN NULL;
200 EXCEPTION
201 WHEN OTHERS THEN
202 RETURN (FALSE);
203 END GET_COMPANY_NAME;
204
205 FUNCTION OPEN_INTERFACE_WORKFLOW(P_SOURCE IN VARCHAR2
206 ,P_GROUP_ID IN VARCHAR2
207 ,P_CALLING_SEQUENCE IN VARCHAR2) RETURN BOOLEAN IS
208 CURSOR WORKFLOW_INVOICES IS
209 SELECT
210 INVOICE_ID
211 FROM
212 AP_INVOICES_INTERFACE
213 WHERE SOURCE = P_SOURCE
214 AND ( ( P_GROUP_ID IS NULL )
215 OR ( GROUP_ID = P_GROUP_ID ) )
216 AND NVL(WORKFLOW_FLAG
217 ,'D') = 'Y';
218 L_INVOICE_ID NUMBER;
219 L_NUM_INVOICES NUMBER := 0;
220 CURRENT_CALLING_SEQUENCE VARCHAR2(2000);
221 DEBUG_INFO VARCHAR2(100);
222 BEGIN
223 CURRENT_CALLING_SEQUENCE := 'Import_Workflow<- ' || P_CALLING_SEQUENCE;
224 DEBUG_INFO := 'Open workflow_invoices cursor';
225 OPEN WORKFLOW_INVOICES;
226 LOOP
227 DEBUG_INFO := 'Fetch from workflow_invoices cursor';
228 FETCH WORKFLOW_INVOICES
229 INTO L_INVOICE_ID;
230 EXIT WHEN WORKFLOW_INVOICES%NOTFOUND;
231 DEBUG_INFO := 'Call workflow process for invoice_id ' || TO_CHAR(L_INVOICE_ID);
232 START_INVOICE_PROCESS(L_INVOICE_ID);
233 END LOOP;
234 DEBUG_INFO := 'Close workflow_invoices cursor';
235 CLOSE WORKFLOW_INVOICES;
236 RETURN (TRUE);
237 RETURN NULL;
238 EXCEPTION
239 WHEN OTHERS THEN
240 /*SRW.MESSAGE('999'
241 ,DEBUG_INFO)*/NULL;
242 IF (SQLCODE < 0) THEN
243 /*SRW.MESSAGE('999'
244 ,SQLERRM)*/NULL;
245 END IF;
246 CLOSE WORKFLOW_INVOICES;
247 RETURN (FALSE);
248 END OPEN_INTERFACE_WORKFLOW;
249
250 FUNCTION C_NLS_YES_P RETURN VARCHAR2 IS
251 BEGIN
252 RETURN C_NLS_YES;
253 END C_NLS_YES_P;
254
255 FUNCTION C_NLS_NO_P RETURN VARCHAR2 IS
256 BEGIN
257 RETURN C_NLS_NO;
258 END C_NLS_NO_P;
259
260 FUNCTION C_NLS_ALL_P RETURN VARCHAR2 IS
261 BEGIN
262 RETURN C_NLS_ALL;
263 END C_NLS_ALL_P;
264
265 FUNCTION C_NLS_NO_DATA_EXISTS_P RETURN VARCHAR2 IS
266 BEGIN
267 RETURN C_NLS_NO_DATA_EXISTS;
268 END C_NLS_NO_DATA_EXISTS_P;
269
270 FUNCTION C_NLS_VOID_P RETURN VARCHAR2 IS
271 BEGIN
272 RETURN C_NLS_VOID;
273 END C_NLS_VOID_P;
274
275 FUNCTION C_NLS_NA_P RETURN VARCHAR2 IS
276 BEGIN
277 RETURN C_NLS_NA;
278 END C_NLS_NA_P;
279
280 FUNCTION C_NLS_END_OF_REPORT_P RETURN VARCHAR2 IS
281 BEGIN
282 RETURN C_NLS_END_OF_REPORT;
283 END C_NLS_END_OF_REPORT_P;
284
285 FUNCTION C_REPORT_START_DATE_P RETURN DATE IS
286 BEGIN
287 RETURN C_REPORT_START_DATE;
288 END C_REPORT_START_DATE_P;
289
290 FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
291 BEGIN
292 RETURN C_COMPANY_NAME_HEADER;
293 END C_COMPANY_NAME_HEADER_P;
294
295 FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
296 BEGIN
297 RETURN C_BASE_CURRENCY_CODE;
298 END C_BASE_CURRENCY_CODE_P;
299
300 FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
301 BEGIN
302 RETURN C_BASE_PRECISION;
303 END C_BASE_PRECISION_P;
304
305 FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
306 BEGIN
307 RETURN C_BASE_MIN_ACCT_UNIT;
308 END C_BASE_MIN_ACCT_UNIT_P;
309
310 FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
311 BEGIN
312 RETURN C_BASE_DESCRIPTION;
313 END C_BASE_DESCRIPTION_P;
314
315 FUNCTION C_CHART_OF_ACCOUNTS_ID_P RETURN NUMBER IS
316 BEGIN
317 RETURN C_CHART_OF_ACCOUNTS_ID;
318 END C_CHART_OF_ACCOUNTS_ID_P;
319
320 FUNCTION INVOICE_IMPORT_WORKFLOW_P RETURN VARCHAR2 IS
321 BEGIN
322 RETURN INVOICE_IMPORT_WORKFLOW;
323 END INVOICE_IMPORT_WORKFLOW_P;
324
325 PROCEDURE CUSTOM_VALIDATE_INVOICE(P_ITEM_TYPE IN VARCHAR2
326 ,P_ITEM_KEY IN VARCHAR2
327 ,P_ACTID IN NUMBER
328 ,P_FUNMODE IN VARCHAR2
329 ,P_RESULT OUT NOCOPY VARCHAR2) IS
330 BEGIN
331 -- STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.CUSTOM_VALIDATE_INVOICE(:P_ITEM_TYPE, :P_ITEM_KEY, :P_ACTID, :P_FUNMODE, :P_RESULT); end;');
332 -- STPROC.BIND_I(P_ITEM_TYPE);
333 -- STPROC.BIND_I(P_ITEM_KEY);
334 -- STPROC.BIND_I(P_ACTID);
335 -- STPROC.BIND_I(P_FUNMODE);
336 -- STPROC.BIND_O(P_RESULT);
337 -- STPROC.EXECUTE;
338 -- STPROC.RETRIEVE(5
339 -- ,P_RESULT);
340 NULL;
341 END CUSTOM_VALIDATE_INVOICE;
342
343 PROCEDURE DO_CUSTOM_VALIDATION(P_INVOICE_ID IN NUMBER
344 ,P_RETURN_ERROR_MESSAGE OUT NOCOPY VARCHAR2) IS
345 BEGIN
346 -- STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.DO_CUSTOM_VALIDATION(:P_INVOICE_ID, :P_RETURN_ERROR_MESSAGE); end;');
347 -- STPROC.BIND_I(P_INVOICE_ID);
348 -- STPROC.BIND_O(P_RETURN_ERROR_MESSAGE);
349 -- STPROC.EXECUTE;
350 --STPROC.RETRIEVE(2
351 -- ,P_RETURN_ERROR_MESSAGE);
352 NULL;
353 END DO_CUSTOM_VALIDATION;
354
355 PROCEDURE START_INVOICE_PROCESS(P_INVOICE_ID IN NUMBER) IS
356 BEGIN
357 -- STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.START_INVOICE_PROCESS(:P_INVOICE_ID); end;');
358 -- STPROC.BIND_I(P_INVOICE_ID);
359 -- STPROC.EXECUTE;
360 NULL;
361 END START_INVOICE_PROCESS;
362
363 END AP_APXIIWKF_XMLP_PKG;
364