DBA Data[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