[Home] [Help]
PACKAGE BODY: APPS.ZX_ZXXINUTR_XMLP_PKG
Source
1 PACKAGE BODY ZX_ZXXINUTR_XMLP_PKG AS
2 /* $Header: ZXXINUTRB.pls 120.1.12010000.1 2008/07/28 13:28:00 appldev ship $ */
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 := P_CURR_CODE;
10 PREC := 0;
11 MIN_AU := 0;
12 DESCR := '';
13 SELECT
14 C.PRECISION,
15 C.MINIMUM_ACCOUNTABLE_UNIT,
16 C.DESCRIPTION
17 INTO PREC,MIN_AU,DESCR
18 FROM
19 FND_CURRENCIES_VL C
20 WHERE CURRENCY_CODE = BASE_CURR;
21 C_BASE_CURRENCY_CODE := BASE_CURR;
22 C_BASE_PRECISION := PREC;
23 C_BASE_MIN_ACCT_UNIT := MIN_AU;
24 C_BASE_DESCRIPTION := DESCR;
25 RETURN (TRUE);
26 EXCEPTION
27 WHEN OTHERS THEN
28 RETURN (FALSE);
29 END GET_BASE_CURR_DATA;
30
31 FUNCTION CUSTOM_INIT RETURN BOOLEAN IS
32 L_NLS_REPORT_BASIS FND_LOOKUPS.MEANING%TYPE;
33 L_NLS_INV_STATUS FND_LOOKUPS.MEANING%TYPE;
34 L_NLS_ORDERBY FND_LOOKUPS.MEANING%TYPE;
35 BEGIN
36 P_MIN_PRECISION := C_BASE_PRECISION;
37 P_TAX_PARAM_DISP := P_TAX_PARAM;
38 P_INV_STATUS_D := P_INV_STATUS;
39 IF P_TAX_PARAM_DISP IS NULL THEN
40 P_TAX_PARAM_DISP := 'All';
41 C_NLS_TAX_PARAM := C_NLS_ALL;
42 END IF;
43 IF P_INV_STATUS_D IS NULL OR P_INV_STATUS_D = 'ALL' THEN
44 P_INV_STATUS_D := 'ALL';
45 END IF;
46 /*SRW.MESSAGE('101'
47 ,'Custom Init :' || P_REPORT_BASIS || P_INV_STATUS || P_ORDERBY)*/NULL;
48 SELECT
49 ALC1.MEANING,
50 ALC2.MEANING,
51 ALC3.MEANING
52 INTO L_NLS_REPORT_BASIS,L_NLS_INV_STATUS,L_NLS_ORDERBY
53 FROM
54 FND_LOOKUPS ALC1,
55 FND_LOOKUPS ALC2,
56 FND_LOOKUPS ALC3
57 WHERE ALC1.LOOKUP_TYPE = 'ZX_TRL_TAX_USE_DATE_BASIS'
58 AND ALC1.LOOKUP_CODE = P_REPORT_BASIS
59 AND ALC2.LOOKUP_TYPE = 'ZX_TRL_INVOICE_STATUS'
60 AND ALC2.LOOKUP_CODE = P_INV_STATUS_D
61 AND ALC3.LOOKUP_TYPE = 'ZX_TRL_VENDOR_OR_INVOICE'
62 AND ALC3.LOOKUP_CODE = P_ORDERBY;
63 /*SRW.MESSAGE('101'
64 ,'After Custom Init SQL Call')*/NULL;
65 C_NLS_REPORT_BASIS := L_NLS_REPORT_BASIS;
66 C_NLS_INV_STATUS := L_NLS_INV_STATUS;
67 C_NLS_ORDERBY := L_NLS_ORDERBY;
68 RETURN (TRUE);
69 EXCEPTION
70 WHEN NO_DATA_FOUND THEN
71 /*SRW.MESSAGE('101'
72 ,'Data Not Found')*/NULL;
73 WHEN OTHERS THEN
74 RETURN (FALSE);
75 END CUSTOM_INIT;
76
77 FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
78 BEGIN
79 RETURN (TRUE);
80 EXCEPTION
81 WHEN OTHERS THEN
82 RETURN (FALSE);
83 END GET_COVER_PAGE_VALUES;
84
85 FUNCTION GET_NLS_STRINGS RETURN BOOLEAN IS
86 NLS_ALL AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
87 NLS_YES FND_LOOKUPS.MEANING%TYPE;
88 NLS_NO FND_LOOKUPS.MEANING%TYPE;
89 BEGIN
90 NLS_ALL := '';
91 NLS_YES := '';
92 NLS_NO := '';
93 SELECT
94 LY.MEANING,
95 LN.MEANING,
96 LA.DISPLAYED_FIELD
97 INTO NLS_YES,NLS_NO,NLS_ALL
98 FROM
99 FND_LOOKUPS LY,
100 FND_LOOKUPS LN,
101 AP_LOOKUP_CODES LA
102 WHERE LY.LOOKUP_TYPE = 'YES_NO'
103 AND LY.LOOKUP_CODE = 'Y'
104 AND LN.LOOKUP_TYPE = 'YES_NO'
105 AND LN.LOOKUP_CODE = 'N'
106 AND LA.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
107 AND LA.LOOKUP_CODE = 'ALL';
108 C_NLS_YES := NLS_YES;
109 C_NLS_NO := NLS_NO;
110 C_NLS_ALL := NLS_ALL;
111 FND_MESSAGE.SET_NAME('SQLAP'
112 ,'AP_APPRVL_NO_DATA');
113 C_NLS_NO_DATA_EXISTS := FND_MESSAGE.GET;
114 -- C_NLS_NO_DATA_EXISTS := '*** ' || C_NLS_NO_DATA_EXISTS || ' ***';
115 FND_MESSAGE.SET_NAME('SQLAP'
116 ,'AP_ALL_END_OF_REPORT');
117 C_NLS_END_OF_REPORT := FND_MESSAGE.GET;
118 -- C_NLS_END_OF_REPORT := '*** ' || C_NLS_END_OF_REPORT || ' ***';
119 RETURN (TRUE);
120 EXCEPTION
121 WHEN OTHERS THEN
122 RETURN (FALSE);
123 END GET_NLS_STRINGS;
124
125 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
126 BEGIN
127 DECLARE
128 INIT_FAILURE EXCEPTION;
129 BEGIN
130 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
131
132 P_START_DATE_D := to_char(P_START_DATE,'DD-MON-YYYY');
133 P_END_DATE_D := to_char(P_END_DATE,'DD-MON-YYYY');
134
135 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
136 IF (P_DEBUG_SWITCH = 'Y') THEN
137 /*SRW.MESSAGE('1'
138 ,'After SRWINIT')*/NULL;
139 END IF;
140 IF (GET_COMPANY_NAME <> TRUE) THEN
141 RAISE INIT_FAILURE;
142 END IF;
143 IF (P_DEBUG_SWITCH = 'Y') THEN
144 /*SRW.MESSAGE('2'
145 ,'After Get_Company_Name')*/NULL;
146 END IF;
147 IF (GET_NLS_STRINGS <> TRUE) THEN
148 RAISE INIT_FAILURE;
149 END IF;
150 IF (P_DEBUG_SWITCH = 'Y') THEN
151 /*SRW.MESSAGE('3'
152 ,'After Get_NLS_Strings')*/NULL;
153 END IF;
154 IF (GET_BASE_CURR_DATA <> TRUE) THEN
155 /*SRW.MESSAGE('1000'
156 ,'Base failed')*/NULL;
157 RAISE INIT_FAILURE;
158 END IF;
159 IF (P_DEBUG_SWITCH = 'Y') THEN
160 /*SRW.MESSAGE('4'
161 ,'After Get_Base_Curr_Data')*/NULL;
162 END IF;
163 P_SUMMARY_FLAG_D:=P_SUMMARY_FLAG;
164
165 IF P_ORDERBY <> 'VENDOR' THEN
166 /*SRW.MESSAGE('101'
167 ,'Summary flag ')*/NULL;
168 P_SUMMARY_FLAG_D := 'N';
169 END IF;
170 IF (CUSTOM_INIT <> TRUE) THEN
171 /*SRW.MESSAGE('101'
172 ,'Custom init fail')*/NULL;
173 RAISE INIT_FAILURE;
174 END IF;
175 IF (P_DEBUG_SWITCH = 'Y') THEN
176 /*SRW.MESSAGE('7'
177 ,'After Custom_Init')*/NULL;
178 END IF;
179 IF (P_DEBUG_SWITCH = 'Y') THEN
180 /*SRW.BREAK*/NULL;
181 END IF;
182 RETURN (TRUE);
183 EXCEPTION
184 WHEN OTHERS THEN
185 /*SRW.MESSAGE('120'
186 ,'In others')*/NULL;
187 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
188 END;
189 END BEFOREREPORT;
190
191 FUNCTION AFTERREPORT RETURN BOOLEAN IS
192 BEGIN
193 BEGIN
194 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
195 IF (P_DEBUG_SWITCH = 'Y') THEN
196 /*SRW.MESSAGE('20'
197 ,'After SRWEXIT')*/NULL;
198 END IF;
199 EXCEPTION
200 WHEN OTHERS THEN
201 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
202 END;
203 RETURN (TRUE);
204 END AFTERREPORT;
205
206 FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
207 L_CHART_OF_ACCOUNTS_ID GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE;
208 L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
209 L_SOB_ID NUMBER;
210 L_REPORT_START_DATE DATE;
211 BEGIN
212 L_REPORT_START_DATE := SYSDATE;
213 L_SOB_ID := P_SET_OF_BOOKS_ID;
214 SELECT
215 NAME,
216 CHART_OF_ACCOUNTS_ID
217 INTO L_NAME,L_CHART_OF_ACCOUNTS_ID
218 FROM
219 GL_SETS_OF_BOOKS
220 WHERE SET_OF_BOOKS_ID = L_SOB_ID;
221 C_COMPANY_NAME_HEADER := L_NAME;
222 C_CHART_OF_ACCOUNTS_ID := L_CHART_OF_ACCOUNTS_ID;
223 C_REPORT_START_DATE := L_REPORT_START_DATE;
224 /*SRW.MESSAGE(113
225 ,C_COMPANY_NAME_HEADER)*/NULL;
226 /*SRW.MESSAGE(114
227 ,C_CHART_OF_ACCOUNTS_ID)*/NULL;
228 /*SRW.MESSAGE(115
229 ,C_REPORT_START_DATE)*/NULL;
230 RETURN (TRUE);
231 EXCEPTION
232 WHEN OTHERS THEN
233 RETURN (FALSE);
234 END GET_COMPANY_NAME;
235
236 FUNCTION CALCULATE_RUN_TIME RETURN BOOLEAN IS
237 END_DATE DATE;
238 START_DATE DATE;
239 BEGIN
240 END_DATE := SYSDATE;
241 START_DATE := C_REPORT_START_DATE;
242 C_REPORT_RUN_TIME := TO_CHAR(TO_DATE('01/01/0001'
243 ,'DD/MM/YYYY') + ((END_DATE - START_DATE))
244 ,'HH24:MI:SS');
245 RETURN (TRUE);
246 EXCEPTION
247 WHEN OTHERS THEN
248 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
249 END CALCULATE_RUN_TIME;
250
251 FUNCTION ITEM_AMOUNT(C_INVOICE_ID IN NUMBER
252 ,C_TAX_NAME IN VARCHAR2
253 ,C_INVOICE_TAX_ID IN NUMBER) RETURN NUMBER IS
254 L_ITEM_AMOUNT NUMBER;
255 BEGIN
256 /*SRW.REFERENCE(C_INVOICE_ID)*/NULL;
257 /*SRW.REFERENCE(C_TAX_NAME)*/NULL;
258 SELECT
259 SUM(AMOUNT)
260 INTO L_ITEM_AMOUNT
261 FROM
262 AP_INVOICE_DISTRIBUTIONS_ALL D
263 WHERE D.INVOICE_ID = C_INVOICE_ID
264 AND D.LINE_TYPE_LOOKUP_CODE not in ( 'NONREC_TAX' , 'REC_TAX' , 'TERV' , 'TIPV' , 'AWT' )
265 AND D.TAX_CODE_ID = C_INVOICE_TAX_ID
266 AND ( P_REPORT_BASIS <> 'GL'
267 OR D.ACCOUNTING_DATE between P_START_DATE
268 AND P_END_DATE )
269 AND NVL(D.ORG_ID
270 ,-99) in (
271 SELECT
272 - 99
273 FROM
274 DUAL
275 UNION ALL
276 SELECT
277 ORGANIZATION_ID
278 FROM
279 HR_ORGANIZATION_INFORMATION,
280 FND_PRODUCT_GROUPS
281 WHERE NVL(MULTI_ORG_FLAG
282 ,'N') = 'Y'
283 AND ORG_INFORMATION_CONTEXT = 'Operating Unit Information'
284 AND DECODE(P_REPORTING_LEVEL
285 ,'1000'
286 ,TO_NUMBER(ORG_INFORMATION3)
287 ,'2000'
288 ,TO_NUMBER(ORG_INFORMATION2)
289 ,'3000'
290 ,ORGANIZATION_ID) = P_REPORTING_ENTITY_ID );
291 RETURN (L_ITEM_AMOUNT);
292 EXCEPTION
293 WHEN OTHERS THEN
294 RETURN (0);
295 END ITEM_AMOUNT;
296
297 FUNCTION TAX_AMOUNT(C_TAXABLE_AMOUNT IN NUMBER
298 ,C_TAX_RATE IN NUMBER) RETURN NUMBER IS
299 L_TAX_AMOUNT NUMBER;
300 BEGIN
301 /*SRW.REFERENCE(C_TAXABLE_AMOUNT)*/NULL;
302 /*SRW.REFERENCE(C_TAX_RATE)*/NULL;
303 SELECT
304 DECODE(C_BASE_MIN_ACCT_UNIT
305 ,''
306 ,ROUND(C_TAXABLE_AMOUNT * (C_TAX_RATE / 100)
307 ,C_BASE_PRECISION)
308 ,ROUND(C_TAXABLE_AMOUNT * (C_TAX_RATE / 100) / C_BASE_MIN_ACCT_UNIT) * C_BASE_MIN_ACCT_UNIT)
309 INTO L_TAX_AMOUNT
310 FROM
311 SYS.DUAL;
312 RETURN (L_TAX_AMOUNT);
313 END TAX_AMOUNT;
314
315 FUNCTION AFTERPFORM RETURN BOOLEAN IS
316 BEGIN
317 FND_MO_REPORTING_API.INITIALIZE(P_REPORTING_LEVEL
318 ,P_REPORTING_ENTITY_ID
319 ,'AUTO');
320 /*SRW.MESSAGE(104
321 ,'After Init')*/NULL;
322 P_ORG_WHERE_V := FND_MO_REPORTING_API.GET_PREDICATE('v'
323 ,NULL);
324 /*SRW.MESSAGE(105
325 ,'After p_org_v')*/NULL;
326 P_ORG_WHERE_VS := FND_MO_REPORTING_API.GET_PREDICATE('vs'
327 ,NULL);
328 /*SRW.MESSAGE(106
329 ,'After p_org_vs')*/NULL;
330 P_ORG_WHERE_I := FND_MO_REPORTING_API.GET_PREDICATE('i'
331 ,NULL);
332 /*SRW.MESSAGE(107
333 ,'After i')*/NULL;
334 P_ORG_WHERE_D := FND_MO_REPORTING_API.GET_PREDICATE('d'
335 ,NULL);
336 /*SRW.MESSAGE(108
337 ,'After d')*/NULL;
338 P_ORG_WHERE_B := FND_MO_REPORTING_API.GET_PREDICATE('b'
339 ,NULL);
340 /*SRW.MESSAGE(109
341 ,'After b')*/NULL;
342 P_ORG_WHERE_T := FND_MO_REPORTING_API.GET_PREDICATE('t'
343 ,NULL);
344 /*SRW.MESSAGE(110
345 ,'After t')*/NULL;
346 P_ORG_WHERE_H := XLA_MO_REPORTING_API.GET_PREDICATE('h'
347 ,NULL);
348 /*SRW.MESSAGE(111
349 ,'After h')*/NULL;
350 P_ORG_WHERE_D2 := FND_MO_REPORTING_API.GET_PREDICATE('d2'
351 ,NULL);
352 /*SRW.MESSAGE(112
353 ,'After d2')*/NULL;
354 P_LEVEL_NAME := FND_MO_REPORTING_API.GET_REPORTING_LEVEL_NAME;
355 /*SRW.MESSAGE(113
356 ,'After level')*/NULL;
357 P_ENTITY_NAME := FND_MO_REPORTING_API.GET_REPORTING_ENTITY_NAME;
358 /*SRW.MESSAGE(114
359 ,'After name')*/NULL;
360 if p_org_where_h is null then
361 p_org_where_h := ' ';
362 end if;
363
364 RETURN (TRUE);
365 END AFTERPFORM;
366
367 FUNCTION C_OLD_VENDOR_ID_P RETURN NUMBER IS
368 BEGIN
369 RETURN C_OLD_VENDOR_ID;
370 END C_OLD_VENDOR_ID_P;
371
372 FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
373 BEGIN
374 RETURN C_BASE_CURRENCY_CODE;
375 END C_BASE_CURRENCY_CODE_P;
376
377 FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
378 BEGIN
379 RETURN C_BASE_PRECISION;
380 END C_BASE_PRECISION_P;
381
382 FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
383 BEGIN
384 RETURN C_BASE_MIN_ACCT_UNIT;
385 END C_BASE_MIN_ACCT_UNIT_P;
386
387 FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
388 BEGIN
389 RETURN C_BASE_DESCRIPTION;
390 END C_BASE_DESCRIPTION_P;
391
392 FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
393 BEGIN
394 RETURN C_COMPANY_NAME_HEADER;
395 END C_COMPANY_NAME_HEADER_P;
396
397 FUNCTION C_REPORT_START_DATE_P RETURN DATE IS
398 BEGIN
399 RETURN C_REPORT_START_DATE;
400 END C_REPORT_START_DATE_P;
401
402 FUNCTION C_NLS_YES_P RETURN VARCHAR2 IS
403 BEGIN
404 RETURN C_NLS_YES;
405 END C_NLS_YES_P;
406
407 FUNCTION C_NLS_NO_P RETURN VARCHAR2 IS
408 BEGIN
409 RETURN C_NLS_NO;
410 END C_NLS_NO_P;
411
412 FUNCTION C_NLS_ALL_P RETURN VARCHAR2 IS
413 BEGIN
414 RETURN C_NLS_ALL;
415 END C_NLS_ALL_P;
416
417 FUNCTION C_NLS_NO_DATA_EXISTS_P RETURN VARCHAR2 IS
418 BEGIN
419 RETURN C_NLS_NO_DATA_EXISTS;
420 END C_NLS_NO_DATA_EXISTS_P;
421
422 FUNCTION C_REPORT_RUN_TIME_P RETURN VARCHAR2 IS
423 BEGIN
424 RETURN C_REPORT_RUN_TIME;
425 END C_REPORT_RUN_TIME_P;
426
427 FUNCTION C_CHART_OF_ACCOUNTS_ID_P RETURN NUMBER IS
428 BEGIN
429 RETURN C_CHART_OF_ACCOUNTS_ID;
430 END C_CHART_OF_ACCOUNTS_ID_P;
431
432 FUNCTION C_NLS_REPORT_BASIS_P RETURN VARCHAR2 IS
433 BEGIN
434 RETURN C_NLS_REPORT_BASIS;
435 END C_NLS_REPORT_BASIS_P;
436
437 FUNCTION C_NLS_INV_STATUS_P RETURN VARCHAR2 IS
438 BEGIN
439 RETURN C_NLS_INV_STATUS;
440 END C_NLS_INV_STATUS_P;
441
442 FUNCTION C_NLS_ORDERBY_P RETURN VARCHAR2 IS
443 BEGIN
444 RETURN C_NLS_ORDERBY;
445 END C_NLS_ORDERBY_P;
446
447 FUNCTION C_NLS_TAX_PARAM_P RETURN VARCHAR2 IS
448 BEGIN
449 RETURN C_NLS_TAX_PARAM;
450 END C_NLS_TAX_PARAM_P;
451
452 FUNCTION C_NLS_END_OF_REPORT_P RETURN VARCHAR2 IS
453 BEGIN
454 RETURN C_NLS_END_OF_REPORT;
455 END C_NLS_END_OF_REPORT_P;
456
457 END ZX_ZXXINUTR_XMLP_PKG;
458