DBA Data[Home] [Help]

PACKAGE BODY: APPS.AP_APXKIRKI_XMLP_PKG

Source


1 PACKAGE BODY AP_APXKIRKI_XMLP_PKG AS
2 /* $Header: APXKIRKIB.pls 120.0 2007/12/27 08:09:12 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     ORG_ID AP_SYSTEM_PARAMETERS.ORG_ID%TYPE;
9   BEGIN
10     BASE_CURR := '';
11     PREC := 0;
12     MIN_AU := 0;
13     DESCR := '';
14     SELECT
15       P.BASE_CURRENCY_CODE,
16       C.PRECISION,
17       C.MINIMUM_ACCOUNTABLE_UNIT,
18       C.DESCRIPTION,
19       P.ORG_ID
20     INTO BASE_CURR,PREC,MIN_AU,DESCR,ORG_ID
21     FROM
22       AP_SYSTEM_PARAMETERS P,
23       FND_CURRENCIES_VL C
24     WHERE P.BASE_CURRENCY_CODE = C.CURRENCY_CODE;
25     C_BASE_CURRENCY_CODE := BASE_CURR;
26     C_BASE_PRECISION := PREC;
27     C_BASE_MIN_ACCT_UNIT := MIN_AU;
28     C_BASE_DESCRIPTION := DESCR;
29     C_ORG_ID := ORG_ID;
30     IF P_MIN_PRECISION = 0 THEN
31       P_MIN_PRECISION := PREC;
32     END IF;
33     RETURN (TRUE);
34     RETURN NULL;
35   EXCEPTION
36     WHEN OTHERS THEN
37       RETURN (FALSE);
38   END GET_BASE_CURR_DATA;
39 
40   FUNCTION CUSTOM_INIT RETURN BOOLEAN IS
41   BEGIN
42     /*SRW.MESSAGE('1001'
43                ,'period_data: Getting period information...')*/NULL;
44     IF (PERIOD_DATA <> TRUE) THEN
45       RETURN (FALSE);
46     END IF;
47     /*SRW.REFERENCE(C_PERIOD_TYPE)*/NULL;
48     IF C_PERIOD_TYPE IS NULL THEN
49       RETURN (TRUE);
50     END IF;
51     /*SRW.MESSAGE('1002'
52                ,'all_period: Getting data prior to requested period...')*/NULL;
53     IF (ALL_PERIOD <> TRUE) THEN
54       RETURN (FALSE);
55     END IF;
56     /*SRW.MESSAGE('1003'
57                ,'matching_holds: Getting matching hold data...')*/NULL;
58     IF (MATCHING_HOLDS <> TRUE) THEN
59       RETURN (FALSE);
60     END IF;
61     /*SRW.MESSAGE('1004'
62                ,'invoice_data: Getting invoice data...')*/NULL;
63     IF (INVOICE_DATA <> TRUE) THEN
64       RETURN (FALSE);
65     END IF;
66     /*SRW.MESSAGE('1005'
67                ,'variance_data: Getting invoice variance data...')*/NULL;
68     IF (VARIANCE_DATA <> TRUE) THEN
69       RETURN (FALSE);
70     END IF;
71     IF C_STATUS = 'N' THEN
72       UPDATE
73         AP_OTHER_PERIODS
74       SET
75         STATUS = 'S'
76       WHERE PERIOD_NAME = P_PERIOD_NAME
77         AND MODULE = C_MODULE;
78       COMMIT;
79     END IF;
80     /*SRW.MESSAGE('1006'
81                ,'current_period: Getting data for requested period...')*/NULL;
82     IF (CURRENT_PERIOD <> TRUE) THEN
83       RETURN (FALSE);
84     END IF;
85     IF C_STATUS = 'N' THEN
86       /*SRW.MESSAGE('1007'
87                  ,'insert_key_ind: Inserting into key_ind tables...')*/NULL;
88       IF (INSERT_KEY_IND <> TRUE) THEN
89         RETURN (FALSE);
90       END IF;
91     ELSE
92       /*SRW.MESSAGE('1008'
93                  ,'update_key_ind: Updating key_ind tables...')*/NULL;
94       IF (UPDATE_KEY_IND <> TRUE) THEN
95         RETURN (FALSE);
96       END IF;
97     END IF;
98     UPDATE
99       AP_OTHER_PERIODS
100     SET
101       STATUS = 'C'
102     WHERE PERIOD_NAME = P_PERIOD_NAME
103       AND MODULE = C_MODULE;
104     /*SRW.MESSAGE('1009'
105                ,'prior_period: Getting prior period data...')*/NULL;
106     IF (PRIOR_PERIOD <> TRUE) THEN
107       RETURN (FALSE);
108     END IF;
109     /*SRW.MESSAGE('1010'
110                ,'calculate_statistics: Calculating statistics...')*/NULL;
111     IF (CALCULATE_STATISTICS <> TRUE) THEN
112       RETURN (FALSE);
113     END IF;
114     RETURN NULL;
115   EXCEPTION
116     WHEN OTHERS THEN
117       RETURN (FALSE);
118   END CUSTOM_INIT;
119 
120   FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
121   BEGIN
122     RETURN (TRUE);
123     RETURN NULL;
124   EXCEPTION
125     WHEN OTHERS THEN
126       RETURN (FALSE);
127   END GET_COVER_PAGE_VALUES;
128 
129   FUNCTION GET_NLS_STRINGS RETURN BOOLEAN IS
130     NLS_ALL AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
131     NLS_NA AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
132     NLS_YES FND_LOOKUPS.MEANING%TYPE;
133     NLS_NO FND_LOOKUPS.MEANING%TYPE;
134   BEGIN
135     NLS_ALL := '';
136     NLS_YES := '';
137     NLS_NO := '';
138     NLS_NA := '';
139     SELECT
140       LY.MEANING,
141       LN.MEANING,
142       LA.DISPLAYED_FIELD,
143       LNA.DISPLAYED_FIELD
144     INTO NLS_YES,NLS_NO,NLS_ALL,NLS_NA
145     FROM
146       FND_LOOKUPS LY,
147       FND_LOOKUPS LN,
148       AP_LOOKUP_CODES LA,
149       AP_LOOKUP_CODES LNA
150     WHERE LY.LOOKUP_TYPE = 'YES_NO'
151       AND LY.LOOKUP_CODE = 'Y'
152       AND LN.LOOKUP_TYPE = 'YES_NO'
153       AND LN.LOOKUP_CODE = 'N'
154       AND LA.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
155       AND LA.LOOKUP_CODE = 'ALL'
156       AND LNA.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
157       AND LNA.LOOKUP_CODE = 'NA';
158     C_NLS_YES := NLS_YES;
159     C_NLS_NO := NLS_NO;
160     C_NLS_ALL := NLS_ALL;
161     C_NLS_NA := NLS_NA;
162     FND_MESSAGE.SET_NAME('SQLAP'
163                         ,'AP_APPRVL_NO_DATA');
164     C_NLS_NO_DATA_EXISTS := FND_MESSAGE.GET;
165     C_NLS_NO_DATA_EXISTS := C_NLS_NO_DATA_EXISTS;
166     FND_MESSAGE.SET_NAME('SQLAP'
167                         ,'AP_ALL_END_OF_REPORT');
168     C_NLS_END_OF_REPORT := FND_MESSAGE.GET;
169     C_NLS_END_OF_REPORT := C_NLS_END_OF_REPORT ;
170     RETURN (TRUE);
171     RETURN NULL;
172   EXCEPTION
173     WHEN OTHERS THEN
174       RETURN (FALSE);
175   END GET_NLS_STRINGS;
176 
177   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
178   BEGIN
179     DECLARE
180       INIT_FAILURE EXCEPTION;
181     BEGIN
182       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
183       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
184       IF (P_DEBUG_SWITCH = 'Y') THEN
185         /*SRW.MESSAGE('1'
186                    ,'After SRWINIT')*/NULL;
187       END IF;
188       IF (GET_PERIOD_NAME_FROM_ROWID <> TRUE) THEN
189         RAISE INIT_FAILURE;
190       END IF;
191       IF (P_DEBUG_SWITCH = 'Y') THEN
192         /*SRW.MESSAGE('2'
193                    ,'After Get_Period_Name')*/NULL;
194       END IF;
195       IF (GET_COMPANY_NAME <> TRUE) THEN
196         RAISE INIT_FAILURE;
197       END IF;
198       IF (P_DEBUG_SWITCH = 'Y') THEN
199         /*SRW.MESSAGE('3'
200                    ,'After Get_Company_Name')*/NULL;
201       END IF;
202       IF (GET_NLS_STRINGS <> TRUE) THEN
203         RAISE INIT_FAILURE;
204       END IF;
205       IF (P_DEBUG_SWITCH = 'Y') THEN
206         /*SRW.MESSAGE('4'
207                    ,'After Get_NLS_Strings')*/NULL;
208       END IF;
209       IF (GET_BASE_CURR_DATA <> TRUE) THEN
210         RAISE INIT_FAILURE;
211       END IF;
212       IF (P_DEBUG_SWITCH = 'Y') THEN
213         /*SRW.MESSAGE('5'
214                    ,'After Get_Base_Curr_Data')*/NULL;
215       END IF;
216       IF (GET_WHERE_CONDITIONS <> TRUE) THEN
217         RAISE INIT_FAILURE;
218       END IF;
219       IF (P_DEBUG_SWITCH = 'Y') THEN
220         /*SRW.MESSAGE('8'
221                    ,'After Get_Where_Conditions')*/NULL;
222       END IF;
223       IF (GET_SYSTEM_USER_NAME <> TRUE) THEN
224         RAISE INIT_FAILURE;
225       END IF;
226       IF (P_DEBUG_SWITCH = 'Y') THEN
227         /*SRW.MESSAGE('9'
228                    ,'After Get_System_User_Name')*/NULL;
229       END IF;
230       IF (CUSTOM_INIT <> TRUE) THEN
231         RAISE INIT_FAILURE;
232       END IF;
233       IF (P_DEBUG_SWITCH = 'Y') THEN
234         /*SRW.MESSAGE('10'
235                    ,'After Custom_Init')*/NULL;
236       END IF;
237       IF (P_DEBUG_SWITCH = 'Y') THEN
238         /*SRW.BREAK*/NULL;
239       END IF;
240       RETURN (TRUE);
241     EXCEPTION
242       WHEN OTHERS THEN
243         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
244     END;
245     RETURN (TRUE);
246   END BEFOREREPORT;
247 
248   FUNCTION AFTERREPORT RETURN BOOLEAN IS
249   BEGIN
250     BEGIN
251       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
252       IF (P_DEBUG_SWITCH = 'Y') THEN
253         /*SRW.MESSAGE('20'
254                    ,'After SRWEXIT')*/NULL;
255         UPDATE
256           AP_OTHER_PERIODS
257         SET
258           STATUS = 'Y'
259         WHERE PERIOD_NAME = P_PERIOD_NAME
260           AND PERIOD_TYPE = C_PERIOD_TYPE
261           AND MODULE = 'KEY INDICATORS'
262           AND APPLICATION_ID = 200;
263         COMMIT;
264       END IF;
265     EXCEPTION
266       WHEN OTHERS THEN
267         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
268     END;
269     RETURN (TRUE);
270   END AFTERREPORT;
271 
272   FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
273     L_CHART_OF_ACCOUNTS_ID GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE;
274     L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
275     L_SOB_ID NUMBER;
276     L_REPORT_START_DATE DATE;
277   BEGIN
278     L_REPORT_START_DATE := SYSDATE;
279     L_SOB_ID := P_SET_OF_BOOKS_ID;
280     SELECT
281       NAME,
282       CHART_OF_ACCOUNTS_ID
283     INTO L_NAME,L_CHART_OF_ACCOUNTS_ID
284     FROM
285       GL_SETS_OF_BOOKS
286     WHERE SET_OF_BOOKS_ID = L_SOB_ID;
287     C_COMPANY_NAME_HEADER := L_NAME;
288     C_CHART_OF_ACCOUNTS_ID := L_CHART_OF_ACCOUNTS_ID;
289     C_REPORT_START_DATE := L_REPORT_START_DATE;
290     RETURN (TRUE);
291     RETURN NULL;
292   EXCEPTION
293     WHEN OTHERS THEN
294       RETURN (FALSE);
295   END GET_COMPANY_NAME;
296 
297   FUNCTION CALCULATE_RUN_TIME RETURN BOOLEAN IS
298     END_DATE DATE;
299     START_DATE DATE;
300   BEGIN
301     END_DATE := SYSDATE;
302     START_DATE := C_REPORT_START_DATE;
303     C_REPORT_RUN_TIME := TO_CHAR(TO_DATE('01/01/0001'
304                                         ,'DD/MM/YYYY') + ((END_DATE - START_DATE))
305                                 ,'HH24:MI:SS');
306     RETURN (TRUE);
307     RETURN NULL;
308   EXCEPTION
309     WHEN OTHERS THEN
310       /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
311   END CALCULATE_RUN_TIME;
312 
313   FUNCTION PERIOD_DATA RETURN BOOLEAN IS
314     L_PERIOD_YEAR AP_OTHER_PERIODS.PERIOD_YEAR%TYPE;
315     L_PRIOR_PERIOD_YEAR AP_OTHER_PERIODS.PERIOD_YEAR%TYPE;
316     L_PERIOD_NUM AP_OTHER_PERIODS.PERIOD_NUM%TYPE;
317     L_PRIOR_PERIOD_NUM AP_OTHER_PERIODS.PERIOD_NUM%TYPE;
318     L_PRIOR_PERIOD_NAME AP_OTHER_PERIODS.PERIOD_NAME%TYPE;
319     L_PERIOD_TYPE AP_OTHER_PERIODS.PERIOD_TYPE%TYPE;
320     L_START_DATE AP_OTHER_PERIODS.START_DATE%TYPE;
321     L_PRIOR_START_DATE AP_OTHER_PERIODS.START_DATE%TYPE;
322     L_END_DATE AP_OTHER_PERIODS.END_DATE%TYPE;
323     L_PRIOR_END_DATE AP_OTHER_PERIODS.END_DATE%TYPE;
324     L_STATUS AP_OTHER_PERIODS.STATUS%TYPE;
325     PERIOD_NOT_DEFINED EXCEPTION;
326   BEGIN
327     BEGIN
328       SELECT
329         PERIOD_YEAR,
330         PERIOD_NUM,
331         PERIOD_TYPE,
332         START_DATE,
333         END_DATE,
334         STATUS
335       INTO L_PERIOD_YEAR,L_PERIOD_NUM,L_PERIOD_TYPE,L_START_DATE,L_END_DATE,L_STATUS
336       FROM
337         AP_OTHER_PERIODS
338       WHERE ROWID = P_PERIOD_ROWID
339         AND MODULE = C_MODULE;
340     EXCEPTION
341       WHEN NO_DATA_FOUND THEN
342         RAISE PERIOD_NOT_DEFINED;
343     END;
344     IF L_PERIOD_NUM = 1 THEN
345       L_PRIOR_PERIOD_YEAR := L_PERIOD_YEAR - 1;
346       SELECT
347         MAX(PERIOD_NUM)
348       INTO L_PRIOR_PERIOD_NUM
349       FROM
350         AP_OTHER_PERIODS
351       WHERE PERIOD_TYPE = L_PERIOD_TYPE
352         AND PERIOD_YEAR = L_PRIOR_PERIOD_YEAR
353         AND MODULE = C_MODULE;
354     ELSE
355       L_PRIOR_PERIOD_NUM := L_PERIOD_NUM - 1;
356       L_PRIOR_PERIOD_YEAR := L_PERIOD_YEAR;
357     END IF;
358     BEGIN
359       SELECT
360         PERIOD_NAME,
361         START_DATE,
362         END_DATE
363       INTO L_PRIOR_PERIOD_NAME,L_PRIOR_START_DATE,L_PRIOR_END_DATE
364       FROM
365         AP_OTHER_PERIODS
366       WHERE PERIOD_TYPE = L_PERIOD_TYPE
367         AND PERIOD_YEAR = L_PRIOR_PERIOD_YEAR
368         AND PERIOD_NUM = L_PRIOR_PERIOD_NUM
369         AND MODULE = C_MODULE;
370     EXCEPTION
371       WHEN NO_DATA_FOUND THEN
372         L_PRIOR_PERIOD_NAME := '';
373         L_PRIOR_START_DATE := '';
374         L_PRIOR_START_DATE := '';
375     END;
376     C_PERIOD_YEAR := L_PERIOD_YEAR;
377     C_PRIOR_PERIOD_YEAR := L_PRIOR_PERIOD_YEAR;
378     C_PERIOD_NUM := L_PERIOD_NUM;
379     C_PRIOR_PERIOD_NUM := L_PRIOR_PERIOD_NUM;
380     C_PRIOR_PERIOD_NAME := L_PRIOR_PERIOD_NAME;
381     C_PERIOD_TYPE := L_PERIOD_TYPE;
382     C_START_DATE := L_START_DATE;
383     C_PRIOR_START_DATE := L_PRIOR_START_DATE;
384     C_END_DATE := L_END_DATE;
385     C_PRIOR_END_DATE := L_PRIOR_END_DATE;
386     C_STATUS := L_STATUS;
387     RETURN (TRUE);
388     /*SRW.MESSAGE('1'
389                ,C_PRIOR_PERIOD_NAME)*/NULL;
390     RETURN NULL;
391   EXCEPTION
392     WHEN PERIOD_NOT_DEFINED THEN
393       /*SRW.MESSAGE('101'
394                  ,'Current period is not defined.')*/NULL;
395       RETURN (TRUE);
396     WHEN OTHERS THEN
397       RETURN (FALSE);
398   END PERIOD_DATA;
399 
400   FUNCTION ALL_PERIOD RETURN BOOLEAN IS
401     L_TOTAL_VENDORS NUMBER := 0;
402     L_TOTAL_INACTIVE NUMBER := 0;
403     L_TOTAL_ONE_TIME NUMBER := 0;
404     L_TOTAL_1099 NUMBER := 0;
405     L_TOTAL_VOIDED NUMBER := 0;
406     L_TOTAL_DISTS NUMBER := 0;
407     L_TOTAL_BATCHES NUMBER := 0;
408     L_TOTAL_INVOICES NUMBER := 0;
409     L_TOTAL_INVOICES_DLR NUMBER := 0;
410     L_TOTAL_INVOICE_HOLDS NUMBER := 0;
411     L_TOTAL_INVOICE_HOLDS_DLR NUMBER := 0;
412     L_TOTAL_CLEARED NUMBER := 0;
413     L_TOTAL_CLEARED_DLR NUMBER := 0;
414     L_TOTAL_STOPPED NUMBER := 0;
415     L_TOTAL_MAN_CHECKS NUMBER := 0;
416     L_TOTAL_MAN_CHECKS_DLR NUMBER := 0;
417     L_TOTAL_AUTO_CHECKS NUMBER := 0;
418     L_TOTAL_AUTO_CHECKS_DLR NUMBER := 0;
419     L_TOTAL_SPOILED NUMBER := 0;
420     L_TOTAL_OUTSTANDING NUMBER := 0;
421     L_TOTAL_PAID_INV NUMBER := 0;
422     L_TOTAL_DISCS_DLR NUMBER := 0;
423     L_TOTAL_DISCS NUMBER := 0;
424     L_TOTAL_SCHEDULED NUMBER := 0;
425     L_TOTAL_SITES NUMBER := 0;
426     L_TOTAL_REFUND_CHECKS NUMBER := 0;
427     L_TOTAL_REFUND_CHECKS_DLR NUMBER := 0;
428     L_TOTAL_OUTSTANDING_DLR NUMBER := 0;
429     L_TOTAL_LINES NUMBER := 0;
430   BEGIN
431     SELECT
432       count(*),
433       NVL(SUM(DECODE(SIGN(NVL(END_DATE_ACTIVE
434                              ,SYSDATE + 1) - SYSDATE)
435                     ,1
436                     ,0
437                     ,1))
438          ,0),
439       NVL(SUM(DECODE(ONE_TIME_FLAG
440                     ,'Y'
441                     ,1
442                     ,0))
443          ,0),
444       NVL(SUM(DECODE(TYPE_1099
445                     ,NULL
446                     ,0
447                     ,1))
448          ,0)
449     INTO L_TOTAL_VENDORS,L_TOTAL_INACTIVE,L_TOTAL_ONE_TIME,L_TOTAL_1099
450     FROM
451       PO_VENDORS
452     WHERE TRUNC(CREATION_DATE) <= TO_DATE(C_END_DATE
453            ,'DD/MM/YYYY');
454     SELECT
455       count(*)
456     INTO L_TOTAL_VOIDED
457     FROM
458       AP_CHECKS
459     WHERE VOID_DATE <= TO_DATE(C_END_DATE
460            ,'DD/MM/YYYY');
461     SELECT
462       count(*)
463     INTO L_TOTAL_DISTS
464     FROM
465       AP_INVOICE_DISTRIBUTIONS DIS
466     WHERE TRUNC(DIS.CREATION_DATE) <= TO_DATE(C_END_DATE
467            ,'DD/MM/YYYY');
468     SELECT
469       count(*)
470     INTO L_TOTAL_LINES
471     FROM
472       AP_INVOICE_LINES LINES
473     WHERE TRUNC(LINES.CREATION_DATE) <= TO_DATE(C_END_DATE
474            ,'DD/MM/YYYY');
475     SELECT
476       count(( BATCH_ID )),
477       nvl(count(*),
478           0),
479       SUM(NVL(BASE_AMOUNT
480              ,NVL(INVOICE_AMOUNT
481                 ,0)))
482     INTO L_TOTAL_BATCHES,L_TOTAL_INVOICES,L_TOTAL_INVOICES_DLR
483     FROM
484       AP_INVOICES
485     WHERE TRUNC(CREATION_DATE) <= TO_DATE(C_END_DATE
486            ,'DD/MM/YYYY');
487     SELECT
488       NVL(SUM(DECODE(AP_HOLDS.HOLD_LOOKUP_CODE
489                     ,NULL
490                     ,0
491                     ,1))
492          ,0),
493       NVL(SUM(DECODE(AP_HOLDS.HOLD_LOOKUP_CODE
494                     ,NULL
495                     ,0
496                     ,NVL(AP_INVOICES.BASE_AMOUNT
497                        ,AP_INVOICES.INVOICE_AMOUNT)))
498          ,0)
499     INTO L_TOTAL_INVOICE_HOLDS,L_TOTAL_INVOICE_HOLDS_DLR
500     FROM
501       AP_INVOICES,
502       AP_HOLDS,
503       AP_HOLD_CODES
504     WHERE AP_INVOICES.INVOICE_ID = AP_HOLDS.INVOICE_ID
505       AND AP_HOLDS.HOLD_LOOKUP_CODE = AP_HOLD_CODES.HOLD_LOOKUP_CODE
506       AND AP_HOLD_CODES.HOLD_TYPE = 'INVOICE HOLD REASON'
507       AND AP_HOLDS.RELEASE_LOOKUP_CODE IS NULL
508       AND TRUNC(AP_INVOICES.CREATION_DATE) <= TO_DATE(C_END_DATE
509            ,'DD/MM/YYYY');
510     SELECT
511       count(*),
512       NVL(SUM(NVL(CLEARED_BASE_AMOUNT
513                  ,NVL(CLEARED_AMOUNT
514                     ,AMOUNT)))
515          ,0)
516     INTO L_TOTAL_CLEARED,L_TOTAL_CLEARED_DLR
517     FROM
518       AP_CHECKS
519     WHERE CLEARED_DATE <= TO_DATE(C_END_DATE
520            ,'DD/MM/YYYY');
521     SELECT
522       count(*)
523     INTO L_TOTAL_STOPPED
524     FROM
525       AP_CHECKS
526     WHERE STOPPED_BY is not null
527       AND VOID_DATE is null
528       AND RELEASED_DATE is null;
529     SELECT
530       NVL(SUM(DECODE(PAYMENT_TYPE_FLAG
531                     ,'R'
532                     ,0
533                     ,(DECODE(CHECKRUN_NAME
534                           ,NULL
535                           ,1
536                           ,0))))
537          ,0),
538       NVL(SUM(DECODE(PAYMENT_TYPE_FLAG
539                     ,'R'
540                     ,0
541                     ,(DECODE(CHECKRUN_NAME
542                           ,NULL
543                           ,NVL(BASE_AMOUNT
544                              ,AMOUNT)
545                           ,0))))
546          ,0),
547       NVL(SUM(DECODE(CHECKRUN_NAME
548                     ,NULL
549                     ,0
550                     ,1))
551          ,0),
552       NVL(SUM(DECODE(CHECKRUN_NAME
553                     ,NULL
554                     ,0
555                     ,NVL(BASE_AMOUNT
556                        ,AMOUNT)))
557          ,0),
558       NVL(SUM(DECODE(STATUS_LOOKUP_CODE
559                     ,'SPOILED'
560                     ,1
561                     ,0))
562          ,0),
563       SUM(DECODE(CLEARED_DATE
564                 ,NULL
565                 ,DECODE(STATUS_LOOKUP_CODE
566                       ,'NEGOTIABLE'
567                       ,1
568                       ,'ISSUED'
569                       ,1
570                       ,'VOIDED'
571                       ,1
572                       ,'STOP INITIATED'
573                       ,1
574                       ,0)
575                 ,0)),
576       SUM(DECODE(CLEARED_DATE
577                 ,NULL
578                 ,DECODE(STATUS_LOOKUP_CODE
579                       ,'NEGOTIABLE'
580                       ,NVL(BASE_AMOUNT
581                          ,AMOUNT)
582                       ,'ISSUED'
583                       ,NVL(BASE_AMOUNT
584                          ,AMOUNT)
585                       ,'VOIDED'
586                       ,NVL(BASE_AMOUNT
587                          ,AMOUNT)
588                       ,'STOP INITIATED'
589                       ,NVL(BASE_AMOUNT
590                          ,AMOUNT)
591                       ,0)
592                 ,0))
593     INTO L_TOTAL_MAN_CHECKS,L_TOTAL_MAN_CHECKS_DLR,L_TOTAL_AUTO_CHECKS,L_TOTAL_AUTO_CHECKS_DLR,L_TOTAL_SPOILED,L_TOTAL_OUTSTANDING,L_TOTAL_OUTSTANDING_DLR
594     FROM
595       AP_CHECKS
596     WHERE CHECK_DATE <= TO_DATE(C_END_DATE
597            ,'DD/MM/YYYY')
598       AND NVL(VOID_DATE
599        ,SYSDATE + 1) >= sysdate;
600     SELECT
601       NVL(SUM(DECODE(CHECKRUN_NAME
602                     ,NULL
603                     ,1
604                     ,0))
605          ,0),
606       NVL(SUM(DECODE(CHECKRUN_NAME
607                     ,NULL
608                     ,NVL(BASE_AMOUNT
609                        ,AMOUNT)
610                     ,0))
611          ,0)
612     INTO L_TOTAL_REFUND_CHECKS,L_TOTAL_REFUND_CHECKS_DLR
613     FROM
614       AP_CHECKS
615     WHERE CHECK_DATE <= TO_DATE(C_END_DATE
616            ,'DD/MM/YYYY')
617       AND NVL(VOID_DATE
618        ,SYSDATE + 1) >= sysdate
619       AND PAYMENT_TYPE_FLAG = 'R';
620     SELECT
621       count(( INVOICE_ID )),
622       NVL(SUM(NVL(AP_UTILITIES_PKG.AP_ROUND_CURRENCY((DISCOUNT_TAKEN * NVL(PAY.EXCHANGE_RATE
623                                                         ,1))
624                                                     ,C_BASE_CURRENCY_CODE)
625                  ,0))
626          ,0),
627       NVL(SUM(DECODE(DISCOUNT_TAKEN
628                     ,NULL
629                     ,0
630                     ,0
631                     ,0
632                     ,1))
633          ,0)
634     INTO L_TOTAL_PAID_INV,L_TOTAL_DISCS_DLR,L_TOTAL_DISCS
635     FROM
636       AP_CHECKS CHK,
637       AP_INVOICE_PAYMENTS PAY
638     WHERE CHECK_DATE <= TO_DATE(C_END_DATE
639            ,'DD/MM/YYYY')
640       AND PAY.CHECK_ID = CHK.CHECK_ID
641       AND NVL(VOID_DATE
642        ,SYSDATE + 1) >= sysdate;
643     SELECT
644       count(*)
645     INTO L_TOTAL_SCHEDULED
646     FROM
647       AP_PAYMENT_SCHEDULES PAY,
648       AP_INVOICES INV
649     WHERE PAY.INVOICE_ID = INV.INVOICE_ID
650       AND TRUNC(INV.CREATION_DATE) <= TO_DATE(C_END_DATE
651            ,'DD/MM/YYYY');
652     SELECT
653       count(*)
654     INTO L_TOTAL_SITES
655     FROM
656       PO_VENDORS PV,
657       PO_VENDOR_SITES PVS
658     WHERE TRUNC(PVS.CREATION_DATE) <= TO_DATE(C_END_DATE
659            ,'DD/MM/YYYY')
660       AND PV.VENDOR_ID = PVS.VENDOR_ID
661       AND TRUNC(PV.CREATION_DATE) <= TO_DATE(C_END_DATE
662            ,'DD/MM/YYYY');
663     C_TOTAL_VENDORS := L_TOTAL_VENDORS;
664     C_TOTAL_INACTIVE := L_TOTAL_INACTIVE;
665     C_TOTAL_ONE_TIME := L_TOTAL_ONE_TIME;
666     C_TOTAL_1099 := L_TOTAL_1099;
667     C_TOTAL_VOIDED := L_TOTAL_VOIDED;
668     C_TOTAL_DISTS := L_TOTAL_DISTS;
669     C_TOTAL_BATCHES := L_TOTAL_BATCHES;
670     C_TOTAL_INVOICES := L_TOTAL_INVOICES;
671     C_TOTAL_INVOICES_DLR := L_TOTAL_INVOICES_DLR;
672     C_TOTAL_INVOICE_HOLDS := L_TOTAL_INVOICE_HOLDS;
673     C_TOTAL_INVOICE_HOLDS_DLR := L_TOTAL_INVOICE_HOLDS_DLR;
674     C_TOTAL_CLEARED := L_TOTAL_CLEARED;
675     C_TOTAL_CLEARED_DLR := L_TOTAL_CLEARED_DLR;
676     C_TOTAL_STOPPED := L_TOTAL_STOPPED;
677     C_TOTAL_MAN_CHECKS := L_TOTAL_MAN_CHECKS;
678     C_TOTAL_MAN_CHECKS_DLR := L_TOTAL_MAN_CHECKS_DLR;
679     C_TOTAL_AUTO_CHECKS := L_TOTAL_AUTO_CHECKS;
680     C_TOTAL_AUTO_CHECKS_DLR := L_TOTAL_AUTO_CHECKS_DLR;
681     C_TOTAL_SPOILED := L_TOTAL_SPOILED;
682     C_TOTAL_OUTSTANDING := L_TOTAL_OUTSTANDING;
683     C_TOTAL_PAID_INV := L_TOTAL_PAID_INV;
684     C_TOTAL_DISCS_DLR := L_TOTAL_DISCS_DLR;
685     C_TOTAL_DISCS := L_TOTAL_DISCS;
686     C_TOTAL_SCHEDULED := L_TOTAL_SCHEDULED;
687     C_TOTAL_SITES := L_TOTAL_SITES;
688     C_TOTAL_REFUND_CHECKS := L_TOTAL_REFUND_CHECKS;
689     C_TOTAL_REFUND_CHECKS_DLR := L_TOTAL_REFUND_CHECKS_DLR;
690     C_TOTAL_OUTSTANDING_DLR := L_TOTAL_OUTSTANDING_DLR;
691     C_TOTAL_LINES := L_TOTAL_LINES;
692     RETURN (TRUE);
693     RETURN NULL;
694   EXCEPTION
695     WHEN OTHERS THEN
696       RETURN (FALSE);
697   END ALL_PERIOD;
698 
699   FUNCTION MATCHING_HOLDS RETURN BOOLEAN IS
700     L_INVOICE_AMOUNT NUMBER;
701     L_CREATION_DATE DATE;
702     L_TOTAL_MH NUMBER := 0;
703     L_TOTAL_MH_DLR NUMBER := 0;
704     L_MH_COUNT NUMBER := 0;
705     L_MH_AMOUNT NUMBER := 0;
706   BEGIN
707     FOR c1 IN (SELECT
708                  H.INVOICE_ID
709                FROM
710                  AP_HOLDS H,
711                  AP_HOLD_CODES HC
712                WHERE RELEASE_LOOKUP_CODE is null
713                  AND H.HOLD_LOOKUP_CODE = HC.HOLD_LOOKUP_CODE
714                  AND HC.HOLD_TYPE = 'MATCHING HOLD REASON') LOOP
715       BEGIN
716         SELECT
717           NVL(BASE_AMOUNT
718              ,NVL(INVOICE_AMOUNT
719                 ,0)),
720           TRUNC(CREATION_DATE)
721         INTO L_INVOICE_AMOUNT,L_CREATION_DATE
722         FROM
723           AP_INVOICES
724         WHERE INVOICE_ID = C1.INVOICE_ID;
725         IF L_CREATION_DATE <= TO_DATE(C_END_DATE
726                ,'DD/MM/YYYY') THEN
727           L_TOTAL_MH := L_TOTAL_MH + 1;
728           L_TOTAL_MH_DLR := L_TOTAL_MH_DLR + L_INVOICE_AMOUNT;
729           IF L_CREATION_DATE >= TO_DATE(C_START_DATE
730                  ,'DD/MM/YYYY') THEN
731             L_MH_COUNT := L_MH_COUNT + 1;
732             L_MH_AMOUNT := L_MH_AMOUNT + L_INVOICE_AMOUNT;
733           END IF;
734         END IF;
735       EXCEPTION
736         WHEN NO_DATA_FOUND THEN
737           NULL;
738       END;
739     END LOOP;
740     C_TOTAL_MH := L_TOTAL_MH;
741     C_TOTAL_MH_DLR := L_TOTAL_MH_DLR;
742     C_MH_COUNT := L_MH_COUNT;
743     C_MH_AMOUNT := L_MH_AMOUNT;
744     RETURN (TRUE);
745     RETURN NULL;
746   EXCEPTION
747     WHEN OTHERS THEN
748       RETURN (FALSE);
749   END MATCHING_HOLDS;
750 
751   FUNCTION INVOICE_DATA RETURN BOOLEAN IS
752     L_INVOICE_AMOUNT NUMBER;
753     L_CREATION_DATE DATE;
754     L_TOTAL_MATCHED NUMBER := 0;
755     L_TOTAL_MATCHED_DLR NUMBER := 0;
756     L_NEW_COUNT NUMBER := 0;
757     L_NEW_AMOUNT NUMBER := 0;
758   BEGIN
759     FOR c1 IN (SELECT
760                  DISTINCT
761                  ( INVOICE_ID ) MATCHED_INVOICE_ID
762                FROM
763                  AP_INVOICE_DISTRIBUTIONS
764                WHERE PO_DISTRIBUTION_ID is not null) LOOP
765       BEGIN
766         SELECT
767           NVL(BASE_AMOUNT
768              ,NVL(INVOICE_AMOUNT
769                 ,0)),
770           TRUNC(CREATION_DATE)
771         INTO L_INVOICE_AMOUNT,L_CREATION_DATE
772         FROM
773           AP_INVOICES
774         WHERE INVOICE_ID = C1.MATCHED_INVOICE_ID;
775         IF L_CREATION_DATE <= TO_DATE(C_END_DATE
776                ,'DD/MM/YYYY') THEN
777           L_TOTAL_MATCHED := L_TOTAL_MATCHED + 1;
778           L_TOTAL_MATCHED_DLR := L_TOTAL_MATCHED_DLR + L_INVOICE_AMOUNT;
779           IF L_CREATION_DATE >= TO_DATE(C_START_DATE
780                  ,'DD/MM/YYYY') THEN
781             L_NEW_COUNT := L_NEW_COUNT + 1;
782             L_NEW_AMOUNT := L_NEW_AMOUNT + L_INVOICE_AMOUNT;
783           END IF;
784         END IF;
785       EXCEPTION
786         WHEN NO_DATA_FOUND THEN
787           NULL;
788       END;
789     END LOOP;
790     C_TOTAL_MATCHED := L_TOTAL_MATCHED;
791     C_TOTAL_MATCHED_DLR := L_TOTAL_MATCHED_DLR;
792     C_NEW_COUNT := L_NEW_COUNT;
793     C_NEW_AMOUNT := L_NEW_AMOUNT;
794     RETURN (TRUE);
795     RETURN NULL;
796   EXCEPTION
797     WHEN OTHERS THEN
798       RETURN (FALSE);
799   END INVOICE_DATA;
800 
801   FUNCTION VARIANCE_DATA RETURN BOOLEAN IS
802     L_DIST_TOTAL_VARS NUMBER := 0;
803     L_DIST_TOTAL_VARS_DLR NUMBER := 0;
804     L_DIST_VAR_COUNT NUMBER := 0;
805     L_DIST_VAR_AMOUNT NUMBER := 0;
806     L_LINE_TOTAL_VARS NUMBER := 0;
807     L_LINE_TOTAL_VARS_DLR NUMBER := 0;
808     L_LINE_VAR_COUNT NUMBER := 0;
809     L_LINE_VAR_AMOUNT NUMBER := 0;
810   BEGIN
811     FOR c1 IN (SELECT
812                  SUM(NVL(DIS.BASE_AMOUNT
813                         ,DIS.AMOUNT)) DIS_SUM,
814                  TRUNC(INV.CREATION_DATE) INV_CREATION_DATE,
815                  NVL(INV.BASE_AMOUNT
816                     ,NVL(INVOICE_AMOUNT
817                        ,0)) INV_AMOUNT
818                FROM
819                  AP_INVOICE_DISTRIBUTIONS DIS,
820                  AP_INVOICES INV
821                WHERE PAYMENT_STATUS_FLAG in ( 'P' , 'N' )
822                  AND DIS.INVOICE_ID = INV.INVOICE_ID
823                GROUP BY
824                  DIS.INVOICE_ID,
825                  INV.CREATION_DATE,
826                  INVOICE_AMOUNT,
827                  INV.BASE_AMOUNT	-- Added
828                HAVING INVOICE_AMOUNT <> SUM(DIS.AMOUNT)) LOOP
829       IF C1.INV_CREATION_DATE <= TO_DATE(C_END_DATE
830              ,'DD/MM/YYYY') THEN
831         L_DIST_TOTAL_VARS := L_DIST_TOTAL_VARS + 1;
832         L_DIST_TOTAL_VARS_DLR := L_DIST_TOTAL_VARS_DLR + C1.INV_AMOUNT;
833         IF C1.INV_CREATION_DATE >= TO_DATE(C_START_DATE
834                ,'DD/MM/YYYY') THEN
835           L_DIST_VAR_COUNT := L_DIST_VAR_COUNT + 1;
836           L_DIST_VAR_AMOUNT := L_DIST_VAR_AMOUNT + C1.INV_AMOUNT;
837         END IF;
838       END IF;
839     END LOOP;
840     FOR c2 IN (SELECT
841                  SUM(LINES.AMOUNT) LINES_SUM,
842                  TRUNC(INV.CREATION_DATE) INV_CREATION_DATE,
843                  NVL(INVOICE_AMOUNT
844                     ,0) INV_AMOUNT
845                FROM
846                  AP_INVOICE_LINES LINES,
847                  AP_INVOICES INV,
848                  AP_INVOICE_DISTRIBUTIONS DIST
849                WHERE INV.INVOICE_ID = LINES.INVOICE_ID
850                  AND LINES.INVOICE_ID = DIST.INVOICE_ID
851                  AND LINES.LINE_NUMBER = DIST.INVOICE_LINE_NUMBER
852                  AND PAYMENT_STATUS_FLAG in ( 'P' , 'N' )
853                GROUP BY
854                  LINES.INVOICE_ID,
855                  INV.CREATION_DATE,
856                  INVOICE_AMOUNT
857                HAVING INVOICE_AMOUNT <> SUM(LINES.AMOUNT)) LOOP
858       IF C2.INV_CREATION_DATE <= TO_DATE(C_END_DATE
859              ,'DD/MM/YYYY') THEN
860         L_LINE_TOTAL_VARS := L_LINE_TOTAL_VARS + 1;
861         L_LINE_TOTAL_VARS_DLR := L_LINE_TOTAL_VARS_DLR + C2.INV_AMOUNT;
862         IF C2.INV_CREATION_DATE >= TO_DATE(C_START_DATE
863                ,'DD/MM/YYYY') THEN
864           L_LINE_VAR_COUNT := L_LINE_VAR_COUNT + 1;
865           L_LINE_VAR_AMOUNT := L_LINE_VAR_AMOUNT + C2.INV_AMOUNT;
866         END IF;
867       END IF;
868     END LOOP;
869     C_DIST_TOTAL_VARS := L_DIST_TOTAL_VARS;
870     C_DIST_TOTAL_VARS_DLR := L_DIST_TOTAL_VARS_DLR;
871     C_DIST_VAR_COUNT := L_DIST_VAR_COUNT;
872     C_DIST_VAR_AMOUNT := L_DIST_VAR_AMOUNT;
873     C_LINE_TOTAL_VARS := L_LINE_TOTAL_VARS;
874     C_LINE_TOTAL_VARS_DLR := L_LINE_TOTAL_VARS_DLR;
875     C_LINE_VAR_COUNT := L_LINE_VAR_COUNT;
876     C_LINE_VAR_AMOUNT := L_LINE_VAR_AMOUNT;
877     RETURN (TRUE);
878     RETURN NULL;
879   EXCEPTION
880     WHEN OTHERS THEN
881       RETURN (FALSE);
882   END VARIANCE_DATA;
883 
884   FUNCTION CURRENT_PERIOD RETURN BOOLEAN IS
885     L_VOID NUMBER := 0;
886     L_CLEARED NUMBER := 0;
887     L_CLEARED_DLR NUMBER := 0;
888     L_STOPPED NUMBER := 0;
889     L_MANUAL_CHECKS NUMBER := 0;
890     L_MANUAL_CHECKS_DLR NUMBER := 0;
891     L_AUTO_CHECKS NUMBER := 0;
892     L_AUTO_CHECKS_DLR NUMBER := 0;
893     L_NEW_SPOILED NUMBER := 0;
894     L_NEW_OUTSTANDING NUMBER := 0;
895     L_MANUAL_PAYMENTS NUMBER := 0;
896     L_MANUAL_PAYMENTS_DLR NUMBER := 0;
897     L_AUTO_PAYMENTS NUMBER := 0;
898     L_AUTO_PAYMENTS_DLR NUMBER := 0;
899     L_INVOICES NUMBER := 0;
900     L_DISCOUNT_DLR NUMBER := 0;
901     L_DISCOUNTS NUMBER := 0;
902     L_NEW_INVOICES NUMBER := 0;
903     L_TOTAL_DLR NUMBER := 0;
904     L_BATCHES NUMBER := 0;
905     L_NEW_ON_HOLD NUMBER := 0;
906     L_NEW_HOLD_DLR NUMBER := 0;
907     L_PAYMENT_SCHEDULES NUMBER := 0;
908     L_NEW_DISTS NUMBER := 0;
909     L_NEW_VENDORS NUMBER := 0;
910     L_NEW_INACTIVE NUMBER := 0;
911     L_NEW_ONE_TIME NUMBER := 0;
912     L_NEW_TYPE_1099_VENDORS NUMBER := 0;
913     L_OLD_VENDOR_SITES NUMBER := 0;
914     L_TOTAL_VENDORS_HELD NUMBER := 0;
915     L_NEW_VENDOR_SITES NUMBER := 0;
916     L_NEW_VENDORS_HELD NUMBER := 0;
917     L_UPDATED_VENDORS NUMBER := 0;
918     L_UPDATED_SITES NUMBER := 0;
919     L_NEW_OUTSTANDING_DLR NUMBER := 0;
920     L_NEW_REFUND_PAYMENTS NUMBER := 0;
921     L_NEW_REFUND_PAYMENTS_DLR NUMBER := 0;
922     L_NEW_LINES NUMBER := 0;
923   BEGIN
924     SELECT
925       count(*)
926     INTO L_VOID
927     FROM
928       AP_CHECKS
929     WHERE VOID_DATE >= TO_DATE(C_START_DATE
930            ,'DD/MM/YYYY')
931       AND VOID_DATE <= TO_DATE(C_END_DATE
932            ,'DD/MM/YYYY');
933     SELECT
934       count(*),
935       NVL(SUM(NVL(CLEARED_BASE_AMOUNT
936                  ,NVL(CLEARED_AMOUNT
937                     ,AMOUNT)))
938          ,0)
939     INTO L_CLEARED,L_CLEARED_DLR
940     FROM
941       AP_CHECKS
942     WHERE CLEARED_DATE >= TO_DATE(C_START_DATE
943            ,'DD/MM/YYYY')
944       AND CLEARED_DATE <= TO_DATE(C_END_DATE
945            ,'DD/MM/YYYY');
946     SELECT
947       count(*)
948     INTO L_STOPPED
949     FROM
950       AP_CHECKS
951     WHERE TRUNC(STOPPED_DATE) >= TO_DATE(C_START_DATE
952            ,'DD/MM/YYYY')
953       AND TRUNC(STOPPED_DATE) <= TO_DATE(C_END_DATE
954            ,'DD/MM/YYYY')
955       AND VOID_DATE is null
956       AND RELEASED_DATE is null;
957     SELECT
958       NVL(SUM(DECODE(PAYMENT_TYPE_FLAG
959                     ,'R'
960                     ,0
961                     ,(DECODE(CHECKRUN_NAME
962                           ,NULL
963                           ,1
964                           ,0))))
965          ,0),
966       NVL(SUM(DECODE(PAYMENT_TYPE_FLAG
967                     ,'R'
968                     ,0
969                     ,(DECODE(CHECKRUN_NAME
970                           ,NULL
971                           ,NVL(BASE_AMOUNT
972                              ,AMOUNT)
973                           ,0))))
974          ,0),
975       NVL(SUM(DECODE(CHECKRUN_NAME
976                     ,NULL
977                     ,0
978                     ,1))
979          ,0),
980       NVL(SUM(DECODE(CHECKRUN_NAME
981                     ,NULL
982                     ,0
983                     ,NVL(BASE_AMOUNT
984                        ,AMOUNT)))
985          ,0),
986       NVL(SUM(DECODE(STATUS_LOOKUP_CODE
987                     ,'SPOILED'
988                     ,1
989                     ,0))
990          ,0),
991       SUM(DECODE(CLEARED_DATE
992                 ,NULL
993                 ,DECODE(STATUS_LOOKUP_CODE
994                       ,'NEGOTIABLE'
995                       ,1
996                       ,'ISSUED'
997                       ,1
998                       ,'VOIDED'
999                       ,1
1000                       ,'STOP INITIATED'
1001                       ,1
1002                       ,0)
1003                 ,0)),
1004       SUM(DECODE(CLEARED_DATE
1005                 ,NULL
1006                 ,DECODE(STATUS_LOOKUP_CODE
1007                       ,'NEGOTIABLE'
1008                       ,NVL(BASE_AMOUNT
1009                          ,AMOUNT)
1010                       ,'ISSUED'
1011                       ,NVL(BASE_AMOUNT
1012                          ,AMOUNT)
1013                       ,'VOIDED'
1014                       ,NVL(BASE_AMOUNT
1015                          ,AMOUNT)
1016                       ,'STOP INITIATED'
1017                       ,NVL(BASE_AMOUNT
1018                          ,AMOUNT)
1019                       ,0)
1020                 ,0))
1021     INTO L_MANUAL_CHECKS,L_MANUAL_CHECKS_DLR,L_AUTO_CHECKS,L_AUTO_CHECKS_DLR,L_NEW_SPOILED,L_NEW_OUTSTANDING,L_NEW_OUTSTANDING_DLR
1022     FROM
1023       AP_CHECKS
1024     WHERE CHECK_DATE >= TO_DATE(C_START_DATE
1025            ,'DD/MM/YYYY')
1026       AND CHECK_DATE <= TO_DATE(C_END_DATE
1027            ,'DD/MM/YYYY')
1028       AND NVL(VOID_DATE
1029        ,SYSDATE + 1) >= sysdate;
1030     SELECT
1031       NVL(SUM(DECODE(CHECKRUN_NAME
1032                     ,NULL
1033                     ,1
1034                     ,0))
1035          ,0),
1036       NVL(SUM(DECODE(CHECKRUN_NAME
1037                     ,NULL
1038                     ,NVL(BASE_AMOUNT
1039                        ,AMOUNT)
1040                     ,0))
1041          ,0)
1042     INTO L_NEW_REFUND_PAYMENTS,L_NEW_REFUND_PAYMENTS_DLR
1043     FROM
1044       AP_CHECKS
1045     WHERE CHECK_DATE >= TO_DATE(C_START_DATE
1046            ,'DD/MM/YYYY')
1047       AND CHECK_DATE <= TO_DATE(C_END_DATE
1048            ,'DD/MM/YYYY')
1049       AND NVL(VOID_DATE
1050        ,SYSDATE + 1) >= sysdate
1051       AND PAYMENT_TYPE_FLAG = 'R';
1052     SELECT
1053       NVL(SUM(DECODE(CHECKRUN_NAME
1054                     ,NULL
1055                     ,1
1056                     ,0))
1057          ,0),
1058       NVL(SUM(DECODE(CHECKRUN_NAME
1059                     ,NULL
1060                     ,NVL(PAY.PAYMENT_BASE_AMOUNT
1061                        ,PAY.AMOUNT)
1062                     ,0))
1063          ,0),
1064       NVL(SUM(DECODE(CHECKRUN_NAME
1065                     ,NULL
1066                     ,0
1067                     ,1))
1068          ,0),
1069       NVL(SUM(DECODE(CHECKRUN_NAME
1070                     ,NULL
1071                     ,0
1072                     ,NVL(PAY.PAYMENT_BASE_AMOUNT
1073                        ,PAY.AMOUNT)))
1074          ,0),
1075       nvl(count(( INVOICE_ID )),
1076           0),
1077       NVL(SUM(AP_UTILITIES_PKG.AP_ROUND_CURRENCY((DISCOUNT_TAKEN * NVL(PAY.EXCHANGE_RATE
1078                                                     ,1))
1079                                                 ,C_BASE_CURRENCY_CODE))
1080          ,0),
1081       NVL(SUM(DECODE(DISCOUNT_TAKEN
1082                     ,NULL
1083                     ,0
1084                     ,0
1085                     ,0
1086                     ,1))
1087          ,0)
1088     INTO L_MANUAL_PAYMENTS,L_MANUAL_PAYMENTS_DLR,L_AUTO_PAYMENTS,L_AUTO_PAYMENTS_DLR,L_INVOICES,L_DISCOUNT_DLR,L_DISCOUNTS
1089     FROM
1090       AP_CHECKS CHK,
1091       AP_INVOICE_PAYMENTS PAY
1092     WHERE CHECK_DATE >= TO_DATE(C_START_DATE
1093            ,'DD/MM/YYYY')
1094       AND CHECK_DATE <= TO_DATE(C_END_DATE
1095            ,'DD/MM/YYYY')
1096       AND PAY.CHECK_ID = CHK.CHECK_ID
1097       AND NVL(VOID_DATE
1098        ,SYSDATE + 1) >= sysdate;
1099     SELECT
1100       count(*),
1101       SUM(NVL(BASE_AMOUNT
1102              ,NVL(INVOICE_AMOUNT
1103                 ,0))),
1104       nvl(count(( BATCH_ID )),
1105           0)
1106     INTO L_NEW_INVOICES,L_TOTAL_DLR,L_BATCHES
1107     FROM
1108       AP_INVOICES
1109     WHERE TRUNC(CREATION_DATE) >= TRUNC(TO_DATE(C_START_DATE
1110                  ,'DD/MM/YYYY'))
1111       AND TRUNC(CREATION_DATE) <= TRUNC(TO_DATE(C_END_DATE
1112                  ,'DD/MM/YYYY'));
1113     SELECT
1114       NVL(SUM(DECODE(H.HOLD_LOOKUP_CODE
1115                     ,NULL
1116                     ,0
1117                     ,1))
1118          ,0),
1119       NVL(SUM(DECODE(H.HOLD_LOOKUP_CODE
1120                     ,NULL
1121                     ,0
1122                     ,NVL(I.BASE_AMOUNT
1123                        ,I.INVOICE_AMOUNT)))
1124          ,0)
1125     INTO L_NEW_ON_HOLD,L_NEW_HOLD_DLR
1126     FROM
1127       AP_INVOICES I,
1128       AP_HOLDS H,
1129       AP_HOLD_CODES HC
1130     WHERE I.INVOICE_ID = H.INVOICE_ID
1131       AND H.HOLD_LOOKUP_CODE = HC.HOLD_LOOKUP_CODE
1132       AND TRUNC(I.CREATION_DATE) >= TO_DATE(C_START_DATE
1133            ,'DD/MM/YYYY')
1134       AND TRUNC(I.CREATION_DATE) <= TO_DATE(C_END_DATE
1135            ,'DD/MM/YYYY')
1136       AND HC.HOLD_TYPE = 'INVOICE HOLD REASON'
1137       AND H.RELEASE_LOOKUP_CODE IS NULL;
1138     SELECT
1139       count(*)
1140     INTO L_PAYMENT_SCHEDULES
1141     FROM
1142       AP_PAYMENT_SCHEDULES PAY,
1143       AP_INVOICES INV
1144     WHERE PAY.INVOICE_ID = INV.INVOICE_ID
1145       AND TRUNC(INV.CREATION_DATE) >= TO_DATE(C_START_DATE
1146            ,'DD/MM/YYYY')
1147       AND TRUNC(INV.CREATION_DATE) <= TO_DATE(C_END_DATE
1148            ,'DD/MM/YYYY');
1149     SELECT
1150       count(*)
1151     INTO L_NEW_LINES
1152     FROM
1153       AP_INVOICE_LINES LINES
1154     WHERE TRUNC(LINES.CREATION_DATE) >= TO_DATE(C_START_DATE
1155            ,'DD/MM/YYYY')
1156       AND TRUNC(LINES.CREATION_DATE) <= TO_DATE(C_END_DATE
1157            ,'DD/MM/YYYY');
1158     SELECT
1159       count(*)
1160     INTO L_NEW_DISTS
1161     FROM
1162       AP_INVOICE_DISTRIBUTIONS DIS
1163     WHERE TRUNC(DIS.CREATION_DATE) >= TO_DATE(C_START_DATE
1164            ,'DD/MM/YYYY')
1165       AND TRUNC(DIS.CREATION_DATE) <= TO_DATE(C_END_DATE
1166            ,'DD/MM/YYYY');
1167     SELECT
1168       count(*),
1169 	    NVL(SUM(DECODE(SIGN(NVL(END_DATE_ACTIVE
1170 	                     ,SYSDATE + 1) - SYSDATE)
1171 	            ,1
1172 	            ,0
1173 	            ,1))
1174 	 ,0),
1175       NVL(SUM(DECODE(ONE_TIME_FLAG
1176                     ,'Y'
1177                     ,1
1178                     ,0))
1179          ,0),
1180       NVL(SUM(DECODE(TYPE_1099
1181                     ,NULL
1182                     ,0
1183                     ,1))
1184          ,0)
1185     INTO L_NEW_VENDORS,L_NEW_INACTIVE,L_NEW_ONE_TIME,L_NEW_TYPE_1099_VENDORS
1186     FROM
1187       PO_VENDORS
1188     WHERE TRUNC(CREATION_DATE) >= TO_DATE(C_START_DATE
1189            ,'DD/MM/YYYY')
1190       AND TRUNC(CREATION_DATE) <= TO_DATE(C_END_DATE
1191            ,'DD/MM/YYYY');
1192     SELECT
1193       count(*),
1194       NVL(SUM(DECODE(PVS.HOLD_ALL_PAYMENTS_FLAG
1195                     ,'Y'
1196                     ,1
1197                     ,DECODE(PVS.HOLD_FUTURE_PAYMENTS_FLAG
1198                           ,'Y'
1199                           ,1
1200                           ,0)))
1201          ,0)
1202     INTO L_OLD_VENDOR_SITES,L_TOTAL_VENDORS_HELD
1203     FROM
1204       PO_VENDORS PV,
1205       PO_VENDOR_SITES PVS
1206     WHERE TRUNC(PVS.CREATION_DATE) >= TO_DATE(C_START_DATE
1207            ,'DD/MM/YYYY')
1208       AND TRUNC(PVS.CREATION_DATE) <= TO_DATE(C_END_DATE
1209            ,'DD/MM/YYYY')
1210       AND PV.VENDOR_ID = PVS.VENDOR_ID
1211       AND TRUNC(PV.CREATION_DATE) < TO_DATE(C_START_DATE
1212            ,'DD/MM/YYYY');
1213     SELECT
1214       count(*),
1215       NVL(SUM(DECODE(PVS.HOLD_ALL_PAYMENTS_FLAG
1216                     ,'Y'
1217                     ,1
1218                     ,DECODE(PVS.HOLD_FUTURE_PAYMENTS_FLAG
1219                           ,'Y'
1220                           ,1
1221                           ,0)))
1222          ,0)
1223     INTO L_NEW_VENDOR_SITES,L_NEW_VENDORS_HELD
1224     FROM
1225       PO_VENDORS PV,
1226       PO_VENDOR_SITES PVS
1227     WHERE TRUNC(PVS.CREATION_DATE) >= TO_DATE(C_START_DATE
1228            ,'DD/MM/YYYY')
1229       AND TRUNC(PVS.CREATION_DATE) <= TO_DATE(C_END_DATE
1230            ,'DD/MM/YYYY')
1231       AND PV.VENDOR_ID = PVS.VENDOR_ID
1232       AND TRUNC(PV.CREATION_DATE) >= TO_DATE(C_START_DATE
1233            ,'DD/MM/YYYY')
1234       AND TRUNC(PV.CREATION_DATE) <= TO_DATE(C_END_DATE
1235            ,'DD/MM/YYYY');
1236     SELECT
1237       count(*)
1238     INTO L_UPDATED_VENDORS
1239     FROM
1240       PO_VENDORS
1241     WHERE TRUNC(LAST_UPDATE_DATE) >= TO_DATE(C_START_DATE
1242            ,'DD/MM/YYYY')
1243       AND TRUNC(LAST_UPDATE_DATE) <= TO_DATE(C_END_DATE
1244            ,'DD/MM/YYYY');
1245     SELECT
1246       count(*)
1247     INTO L_UPDATED_SITES
1248     FROM
1249       PO_VENDOR_SITES
1250     WHERE TRUNC(LAST_UPDATE_DATE) >= TO_DATE(C_START_DATE
1251            ,'DD/MM/YYYY')
1252       AND TRUNC(LAST_UPDATE_DATE) <= TO_DATE(C_END_DATE
1253            ,'DD/MM/YYYY');
1254     C_VOID := L_VOID;
1255     C_CLEARED := L_CLEARED;
1256     C_CLEARED_DLR := L_CLEARED_DLR;
1257     C_STOPPED := L_STOPPED;
1258     C_MANUAL_CHECKS := L_MANUAL_CHECKS;
1259     C_MANUAL_CHECKS_DLR := L_MANUAL_CHECKS_DLR;
1260     C_AUTO_CHECKS := L_AUTO_CHECKS;
1261     C_AUTO_CHECKS_DLR := L_AUTO_CHECKS_DLR;
1262     C_NEW_SPOILED := L_NEW_SPOILED;
1263     C_NEW_OUTSTANDING := L_NEW_OUTSTANDING;
1264     C_MANUAL_PAYMENTS := L_MANUAL_PAYMENTS;
1265     C_MANUAL_PAYMENTS_DLR := L_MANUAL_PAYMENTS_DLR;
1266     C_AUTO_PAYMENTS := L_AUTO_PAYMENTS;
1267     C_AUTO_PAYMENTS_DLR := L_AUTO_PAYMENTS_DLR;
1268     C_INVOICES := L_INVOICES;
1269     C_DISCOUNT_DLR := L_DISCOUNT_DLR;
1270     C_DISCOUNTS := L_DISCOUNTS;
1271     C_NEW_INVOICES := L_NEW_INVOICES;
1272     C_TOTAL_DLR := L_TOTAL_DLR;
1273     C_BATCHES := L_BATCHES;
1274     C_NEW_ON_HOLD := L_NEW_ON_HOLD;
1275     C_NEW_HOLD_DLR := L_NEW_HOLD_DLR;
1276     C_PAYMENT_SCHEDULES := L_PAYMENT_SCHEDULES;
1277     C_NEW_DISTS := L_NEW_DISTS;
1278     C_NEW_VENDORS := L_NEW_VENDORS;
1279     C_NEW_INACTIVE := L_NEW_INACTIVE;
1280     C_NEW_ONE_TIME := L_NEW_ONE_TIME;
1281     C_NEW_TYPE_1099_VENDORS := L_NEW_TYPE_1099_VENDORS;
1282     C_OLD_VENDOR_SITES := L_OLD_VENDOR_SITES;
1283     C_TOTAL_VENDORS_HELD := L_TOTAL_VENDORS_HELD;
1284     C_NEW_VENDOR_SITES := L_NEW_VENDOR_SITES;
1285     C_NEW_VENDORS_HELD := L_NEW_VENDORS_HELD;
1286     C_UPDATED_VENDORS := L_UPDATED_VENDORS;
1287     C_UPDATED_SITES := L_UPDATED_SITES;
1288     C_NEW_OUTSTANDING_DLR := L_NEW_OUTSTANDING_DLR;
1289     C_NEW_REFUND_PAYMENTS := L_NEW_REFUND_PAYMENTS;
1290     C_NEW_REFUND_PAYMENTS_DLR := L_NEW_REFUND_PAYMENTS_DLR;
1291     C_NEW_LINES := L_NEW_LINES;
1292     RETURN (TRUE);
1293     RETURN NULL;
1294   EXCEPTION
1295     WHEN OTHERS THEN
1296       RETURN (FALSE);
1297   END CURRENT_PERIOD;
1298 
1299   FUNCTION INSERT_KEY_IND RETURN BOOLEAN IS
1300   BEGIN
1301     INSERT INTO AP_INVOICE_KEY_IND
1302       (PERIOD_NAME
1303       ,LAST_UPDATE_DATE
1304       ,LAST_UPDATED_BY
1305       ,NUM_INVOICES
1306       ,AMOUNT_INVOICES
1307       ,NUM_INVOICE_LINES
1308       ,NUM_DISTRIBUTIONS
1309       ,NUM_BATCHES
1310       ,NUM_INVOICE_LINE_VARIANCES
1311       ,NUM_INVOICE_DIST_VARIANCES
1312       ,AMOUNT_INVOICE_LINE_VARIANCES
1313       ,AMOUNT_INVOICE_DIST_VARIANCES
1314       ,NUM_PAYMENT_SCHEDULES
1315       ,NUM_INVOICES_HELD
1316       ,AMOUNT_INVOICES_HELD
1317       ,NUM_INVOICES_MATCHED
1318       ,AMOUNT_INVOICES_MATCHED
1319       ,NUM_INVOICES_MATCH_HOLD
1320       ,AMOUNT_INVOICES_MATCH_HOLD
1321       ,ORG_ID)
1322     VALUES   (P_PERIOD_NAME
1323       ,SYSDATE
1324       ,0
1325       ,C_NEW_INVOICES
1326       ,C_TOTAL_DLR
1327       ,C_NEW_LINES
1328       ,C_NEW_DISTS
1329       ,C_BATCHES
1330       ,C_LINE_VAR_COUNT
1331       ,C_DIST_VAR_COUNT
1332       ,C_LINE_VAR_AMOUNT
1333       ,C_DIST_VAR_AMOUNT
1334       ,C_PAYMENT_SCHEDULES
1335       ,C_NEW_ON_HOLD
1336       ,C_NEW_HOLD_DLR
1337       ,C_NEW_COUNT
1338       ,C_NEW_AMOUNT
1339       ,C_MH_COUNT
1340       ,C_MH_AMOUNT
1341       ,C_ORG_ID);
1342     INSERT INTO AP_VENDOR_KEY_IND
1343       (PERIOD_NAME
1344       ,LAST_UPDATE_DATE
1345       ,LAST_UPDATED_BY
1346       ,NUM_VENDORS
1347       ,NUM_VENDOR_SITES
1348       ,NUM_SITES
1349       ,NUM_INACTIVE_VENDORS
1350       ,NUM_ONE_TIME_VENDORS
1351       ,NUM_1099_VENDORS
1352       ,NUM_VENDORS_HELD
1353       ,NUM_VENDORS_UPDATED
1354       ,NUM_SITES_UPDATED
1355       ,ORG_ID)
1356     VALUES   (P_PERIOD_NAME
1357       ,SYSDATE
1358       ,0
1359       ,C_NEW_VENDORS
1360       ,C_NEW_VENDOR_SITES
1361       ,C_OLD_VENDOR_SITES
1362       ,C_NEW_INACTIVE
1363       ,C_NEW_ONE_TIME
1364       ,C_NEW_TYPE_1099_VENDORS
1365       ,C_NEW_VENDORS_HELD
1366       ,C_UPDATED_VENDORS
1367       ,C_UPDATED_SITES
1368       ,C_ORG_ID);
1369     INSERT INTO AP_PAYMENT_KEY_IND
1370       (PERIOD_NAME
1371       ,LAST_UPDATE_DATE
1372       ,LAST_UPDATED_BY
1373       ,NUM_AUTO_PAYMENTS
1374       ,NUM_MANUAL_PAYMENTS
1375       ,AMOUNT_AUTO_PAYMENTS
1376       ,AMOUNT_MANUAL_PAYMENTS
1377       ,NUM_INVOICES_PAID
1378       ,NUM_AUTO_CHECKS
1379       ,NUM_MANUAL_CHECKS
1380       ,AMOUNT_AUTO_CHECKS
1381       ,AMOUNT_MANUAL_CHECKS
1382       ,NUM_DISCOUNTS_TAKEN
1383       ,AMOUNT_DISCOUNTS_TAKEN
1384       ,NUM_CHECKS_VOIDED
1385       ,NUM_STOP_PAYMENTS
1386       ,NUM_SPOILED
1387       ,NUM_OUTSTANDING
1388       ,NUM_CLEARED_CHECKS
1389       ,AMOUNT_CLEARED_CHECKS
1390       ,AMOUNT_OUTSTANDING
1391       ,NUM_REFUND_PAYMENTS
1392       ,AMOUNT_REFUND_PAYMENTS
1393       ,ORG_ID)
1394     VALUES   (P_PERIOD_NAME
1395       ,SYSDATE
1396       ,0
1397       ,C_AUTO_PAYMENTS
1398       ,C_MANUAL_PAYMENTS
1399       ,C_AUTO_PAYMENTS_DLR
1400       ,C_MANUAL_PAYMENTS_DLR
1401       ,C_INVOICES
1402       ,C_AUTO_CHECKS
1403       ,C_MANUAL_CHECKS
1404       ,C_AUTO_CHECKS_DLR
1405       ,C_MANUAL_CHECKS_DLR
1406       ,C_DISCOUNTS
1407       ,C_DISCOUNT_DLR
1408       ,C_VOID
1409       ,C_STOPPED
1410       ,C_NEW_SPOILED
1411       ,C_NEW_OUTSTANDING
1412       ,C_CLEARED
1413       ,C_CLEARED_DLR
1414       ,C_NEW_OUTSTANDING_DLR
1415       ,C_NEW_REFUND_PAYMENTS
1416       ,C_NEW_REFUND_PAYMENTS_DLR
1417       ,C_ORG_ID);
1418     RETURN NULL;
1419   EXCEPTION
1420     WHEN OTHERS THEN
1421       RETURN (FALSE);
1422   END INSERT_KEY_IND;
1423 
1424   FUNCTION UPDATE_KEY_IND RETURN BOOLEAN IS
1425   BEGIN
1426     UPDATE
1427       AP_INVOICE_KEY_IND
1428     SET
1429       LAST_UPDATE_DATE = SYSDATE
1430       ,LAST_UPDATED_BY = 0
1431       ,NUM_INVOICES = C_NEW_INVOICES
1432       ,AMOUNT_INVOICES = C_TOTAL_DLR
1433       ,NUM_DISTRIBUTIONS = C_NEW_DISTS
1434       ,NUM_INVOICE_LINES = C_NEW_LINES
1435       ,NUM_BATCHES = C_BATCHES
1436       ,NUM_INVOICE_LINE_VARIANCES = C_LINE_VAR_COUNT
1437       ,NUM_INVOICE_DIST_VARIANCES = C_DIST_VAR_COUNT
1438       ,AMOUNT_INVOICE_LINE_VARIANCES = C_LINE_VAR_AMOUNT
1439       ,AMOUNT_INVOICE_DIST_VARIANCES = C_DIST_VAR_AMOUNT
1440       ,NUM_PAYMENT_SCHEDULES = C_PAYMENT_SCHEDULES
1441       ,NUM_INVOICES_HELD = C_NEW_ON_HOLD
1442       ,AMOUNT_INVOICES_HELD = C_NEW_HOLD_DLR
1443       ,NUM_INVOICES_MATCHED = C_NEW_COUNT
1444       ,AMOUNT_INVOICES_MATCHED = C_NEW_AMOUNT
1445       ,NUM_INVOICES_MATCH_HOLD = C_MH_COUNT
1446       ,AMOUNT_INVOICES_MATCH_HOLD = C_MH_AMOUNT
1447     WHERE PERIOD_NAME = P_PERIOD_NAME;
1448     UPDATE
1449       AP_VENDOR_KEY_IND
1450     SET
1451       LAST_UPDATE_DATE = SYSDATE
1452       ,LAST_UPDATED_BY = 0
1453       ,NUM_VENDORS = C_NEW_VENDORS
1454       ,NUM_VENDOR_SITES = C_NEW_VENDOR_SITES
1455       ,NUM_SITES = C_OLD_VENDOR_SITES
1456       ,NUM_INACTIVE_VENDORS = C_NEW_INACTIVE
1457       ,NUM_ONE_TIME_VENDORS = C_NEW_ONE_TIME
1458       ,NUM_1099_VENDORS = C_NEW_TYPE_1099_VENDORS
1459       ,NUM_VENDORS_HELD = C_NEW_VENDORS_HELD
1460       ,NUM_VENDORS_UPDATED = C_UPDATED_VENDORS
1461       ,NUM_SITES_UPDATED = C_UPDATED_SITES
1462     WHERE PERIOD_NAME = P_PERIOD_NAME;
1463     UPDATE
1464       AP_PAYMENT_KEY_IND
1465     SET
1466       LAST_UPDATE_DATE = SYSDATE
1467       ,LAST_UPDATED_BY = 0
1468       ,NUM_AUTO_PAYMENTS = C_AUTO_PAYMENTS
1469       ,NUM_MANUAL_PAYMENTS = C_MANUAL_PAYMENTS
1470       ,AMOUNT_AUTO_PAYMENTS = C_AUTO_PAYMENTS_DLR
1471       ,AMOUNT_MANUAL_PAYMENTS = C_MANUAL_PAYMENTS_DLR
1472       ,NUM_INVOICES_PAID = C_INVOICES
1473       ,NUM_AUTO_CHECKS = C_AUTO_CHECKS
1474       ,NUM_MANUAL_CHECKS = C_MANUAL_CHECKS
1475       ,AMOUNT_AUTO_CHECKS = C_AUTO_CHECKS_DLR
1476       ,AMOUNT_MANUAL_CHECKS = C_MANUAL_CHECKS_DLR
1477       ,NUM_DISCOUNTS_TAKEN = C_DISCOUNTS
1478       ,AMOUNT_DISCOUNTS_TAKEN = C_DISCOUNT_DLR
1479       ,NUM_CHECKS_VOIDED = C_VOID
1480       ,NUM_STOP_PAYMENTS = C_STOPPED
1481       ,NUM_SPOILED = C_NEW_SPOILED
1482       ,NUM_OUTSTANDING = C_NEW_OUTSTANDING
1483       ,NUM_CLEARED_CHECKS = C_CLEARED
1484       ,AMOUNT_CLEARED_CHECKS = C_CLEARED_DLR
1485       ,AMOUNT_OUTSTANDING = C_NEW_OUTSTANDING_DLR
1486       ,NUM_REFUND_PAYMENTS = C_NEW_REFUND_PAYMENTS
1487       ,AMOUNT_REFUND_PAYMENTS = C_NEW_REFUND_PAYMENTS_DLR
1488     WHERE PERIOD_NAME = P_PERIOD_NAME;
1489     RETURN NULL;
1490   EXCEPTION
1491     WHEN OTHERS THEN
1492       RETURN (FALSE);
1493   END UPDATE_KEY_IND;
1494 
1495   FUNCTION PRIOR_PERIOD RETURN BOOLEAN IS
1496     L_PRIOR_PERIOD_EXISTS VARCHAR2(1) := 'Y';
1497     L_OLD_INVOICES NUMBER := 0;
1498     L_OLD_TOTAL_DLR NUMBER := 0;
1499     L_OLD_DISTS NUMBER := 0;
1500     L_OLD_BATCHES NUMBER := 0;
1501     L_OLD_PAYMENT_SCHEDULES NUMBER := 0;
1502     L_OLD_ON_HOLD NUMBER := 0;
1503     L_OLD_HOLD_DLR NUMBER := 0;
1504     L_OLD_COUNT NUMBER := 0;
1505     L_OLD_AMOUNT NUMBER := 0;
1506     L_OLD_MH_COUNT NUMBER := 0;
1507     L_OLD_MH_AMOUNT NUMBER := 0;
1508     L_OLD_VENDORS NUMBER := 0;
1509     L_OLD_SITES NUMBER := 0;
1510     L_INACTIVE NUMBER := 0;
1511     L_ONE_TIME NUMBER := 0;
1512     L_TYPE_1099_VENDORS NUMBER := 0;
1513     L_VENDORS_HELD NUMBER := 0;
1514     L_OLD_INVOICES_PAID NUMBER := 0;
1515     L_OLD_AUTO_CHECKS NUMBER := 0;
1516     L_OLD_MANUAL_CHECKS NUMBER := 0;
1517     L_OLD_AUTO_CHECKS_DLR NUMBER := 0;
1518     L_OLD_MANUAL_CHECKS_DLR NUMBER := 0;
1519     L_OLD_DISCOUNTS NUMBER := 0;
1520     L_OLD_DISCOUNT_DLR NUMBER := 0;
1521     L_OLD_VOID NUMBER := 0;
1522     L_OLD_STOPPED NUMBER := 0;
1523     L_OLD_SPOILED NUMBER := 0;
1524     L_OLD_OUTSTANDING NUMBER := 0;
1525     L_OLD_CLEARED NUMBER := 0;
1526     L_OLD_CLEARED_DLR NUMBER := 0;
1527     L_PRIOR_OLD_VENDOR_SITES NUMBER := 0;
1528     L_PRIOR_VENDORS_UPDATED NUMBER := 0;
1529     L_PRIOR_SITES_UPDATED NUMBER := 0;
1530     L_OLD_OUTSTANDING_DLR NUMBER := 0;
1531     L_OLD_REFUND_PAYMENTS NUMBER := 0;
1532     L_OLD_REFUND_PAYMENTS_DLR NUMBER := 0;
1533     L_OLD_LINES NUMBER := 0;
1534     L_OLD_VAR_LINES_COUNT NUMBER := 0;
1535     L_OLD_VAR_LINES_AMOUNT NUMBER := 0;
1536     L_OLD_VAR_DISTS_COUNT NUMBER := 0;
1537     L_OLD_VAR_DISTS_AMOUNT NUMBER := 0;
1538   BEGIN
1539     BEGIN
1540       SELECT
1541         NUM_INVOICES,
1542         AMOUNT_INVOICES,
1543         NUM_INVOICE_LINES,
1544         NUM_DISTRIBUTIONS,
1545         NUM_BATCHES,
1546         NUM_INVOICE_LINE_VARIANCES,
1547         NUM_INVOICE_DIST_VARIANCES,
1548         AMOUNT_INVOICE_LINE_VARIANCES,
1549         AMOUNT_INVOICE_DIST_VARIANCES,
1550         NUM_PAYMENT_SCHEDULES,
1551         NUM_INVOICES_HELD,
1552         AMOUNT_INVOICES_HELD,
1553         NUM_INVOICES_MATCHED,
1554         AMOUNT_INVOICES_MATCHED,
1555         NUM_INVOICES_MATCH_HOLD,
1556         AMOUNT_INVOICES_MATCH_HOLD,
1557         NUM_VENDORS,
1558         NUM_VENDOR_SITES,
1559         NUM_SITES,
1560         NUM_INACTIVE_VENDORS,
1561         NUM_ONE_TIME_VENDORS,
1562         NUM_1099_VENDORS,
1563         NUM_VENDORS_HELD,
1564         NUM_VENDORS_UPDATED,
1565         NUM_SITES_UPDATED,
1566         NUM_INVOICES_PAID,
1567         NUM_AUTO_CHECKS,
1568         NUM_MANUAL_CHECKS,
1569         AMOUNT_AUTO_CHECKS,
1570         AMOUNT_MANUAL_CHECKS,
1571         NUM_DISCOUNTS_TAKEN,
1572         AMOUNT_DISCOUNTS_TAKEN,
1573         NUM_CHECKS_VOIDED,
1574         NUM_STOP_PAYMENTS,
1575         NUM_SPOILED,
1576         NUM_OUTSTANDING,
1577         NUM_CLEARED_CHECKS,
1578         AMOUNT_CLEARED_CHECKS,
1579         AMOUNT_OUTSTANDING,
1580         NUM_REFUND_PAYMENTS,
1581         AMOUNT_REFUND_PAYMENTS
1582       INTO L_OLD_INVOICES,L_OLD_TOTAL_DLR,L_OLD_LINES,L_OLD_DISTS,L_OLD_BATCHES,L_OLD_VAR_LINES_COUNT,
1583       L_OLD_VAR_DISTS_COUNT,L_OLD_VAR_LINES_AMOUNT,L_OLD_VAR_DISTS_AMOUNT,L_OLD_PAYMENT_SCHEDULES,
1584       L_OLD_ON_HOLD,L_OLD_HOLD_DLR,L_OLD_COUNT,L_OLD_AMOUNT,L_OLD_MH_COUNT,L_OLD_MH_AMOUNT,L_OLD_VENDORS,
1585       L_OLD_SITES,L_PRIOR_OLD_VENDOR_SITES,L_INACTIVE,L_ONE_TIME,L_TYPE_1099_VENDORS,L_VENDORS_HELD,
1586       L_PRIOR_VENDORS_UPDATED,L_PRIOR_SITES_UPDATED,L_OLD_INVOICES_PAID,L_OLD_AUTO_CHECKS,L_OLD_MANUAL_CHECKS,
1587       L_OLD_AUTO_CHECKS_DLR,L_OLD_MANUAL_CHECKS_DLR,L_OLD_DISCOUNTS,L_OLD_DISCOUNT_DLR,L_OLD_VOID,L_OLD_STOPPED,
1588       L_OLD_SPOILED,L_OLD_OUTSTANDING,L_OLD_CLEARED,L_OLD_CLEARED_DLR,L_OLD_OUTSTANDING_DLR,L_OLD_REFUND_PAYMENTS,L_OLD_REFUND_PAYMENTS_DLR
1589       FROM
1590         AP_INVOICE_KEY_IND INV,
1591         AP_VENDOR_KEY_IND VEN,
1592         AP_PAYMENT_KEY_IND PAY
1593       WHERE INV.PERIOD_NAME = VEN.PERIOD_NAME
1594         AND INV.PERIOD_NAME = PAY.PERIOD_NAME
1595         AND INV.PERIOD_NAME = C_PRIOR_PERIOD_NAME;
1596     EXCEPTION
1597       WHEN NO_DATA_FOUND THEN
1598         /*SRW.MESSAGE('103'
1599                    ,'No data found for prior period.')*/NULL;
1600         L_PRIOR_PERIOD_EXISTS := 'N';
1601     END;
1602     C_OLD_INVOICES := L_OLD_INVOICES;
1603     C_OLD_TOTAL_DLR := L_OLD_TOTAL_DLR;
1604     C_OLD_DISTS := L_OLD_DISTS;
1605     C_OLD_BATCHES := L_OLD_BATCHES;
1606     C_OLD_PAYMENT_SCHEDULES := L_OLD_PAYMENT_SCHEDULES;
1607     C_OLD_ON_HOLD := L_OLD_ON_HOLD;
1608     C_OLD_HOLD_DLR := L_OLD_HOLD_DLR;
1609     C_OLD_COUNT := L_OLD_COUNT;
1610     C_OLD_AMOUNT := L_OLD_AMOUNT;
1611     C_OLD_MH_COUNT := L_OLD_MH_COUNT;
1612     C_OLD_MH_AMOUNT := L_OLD_MH_AMOUNT;
1613     C_OLD_VENDORS := L_OLD_VENDORS;
1614     C_OLD_SITES := L_OLD_SITES;
1615     C_INACTIVE := L_INACTIVE;
1616     C_ONE_TIME := L_ONE_TIME;
1617     C_TYPE_1099_VENDORS := L_TYPE_1099_VENDORS;
1618     C_VENDORS_HELD := L_VENDORS_HELD;
1619     C_OLD_INVOICES_PAID := L_OLD_INVOICES_PAID;
1620     C_OLD_AUTO_CHECKS := L_OLD_AUTO_CHECKS;
1621     C_OLD_MANUAL_CHECKS := L_OLD_MANUAL_CHECKS;
1622     C_OLD_AUTO_CHECKS_DLR := L_OLD_AUTO_CHECKS_DLR;
1623     C_OLD_MANUAL_CHECKS_DLR := L_OLD_MANUAL_CHECKS_DLR;
1624     C_OLD_DISCOUNTS := L_OLD_DISCOUNTS;
1625     C_OLD_DISCOUNT_DLR := L_OLD_DISCOUNT_DLR;
1626     C_OLD_VOID := L_OLD_VOID;
1627     C_OLD_STOPPED := L_OLD_STOPPED;
1628     C_OLD_SPOILED := L_OLD_SPOILED;
1629     C_OLD_OUTSTANDING := L_OLD_OUTSTANDING;
1630     C_OLD_CLEARED := L_OLD_CLEARED;
1631     C_OLD_CLEARED_DLR := L_OLD_CLEARED_DLR;
1632     C_PRIOR_OLD_VENDOR_SITES := L_PRIOR_OLD_VENDOR_SITES;
1633     C_PRIOR_VENDORS_UPDATED := L_PRIOR_VENDORS_UPDATED;
1634     C_PRIOR_SITES_UPDATED := L_PRIOR_SITES_UPDATED;
1635     C_OLD_OUTSTANDING_DLR := L_OLD_OUTSTANDING_DLR;
1636     C_OLD_REFUND_PAYMENTS := L_OLD_REFUND_PAYMENTS;
1637     C_OLD_REFUND_PAYMENTS_DLR := L_OLD_REFUND_PAYMENTS_DLR;
1638     C_OLD_LINES := L_OLD_LINES;
1639     C_OLD_LINES_VAR_COUNT := L_OLD_VAR_LINES_COUNT;
1640     C_OLD_LINES_VAR_AMOUNT := L_OLD_VAR_LINES_AMOUNT;
1641     C_OLD_DISTS_VAR_COUNT := L_OLD_VAR_DISTS_COUNT;
1642     C_OLD_DISTS_VAR_AMOUNT := L_OLD_VAR_DISTS_AMOUNT;
1643     C_PRIOR_PERIOD_EXISTS := L_PRIOR_PERIOD_EXISTS;
1644     RETURN (TRUE);
1645     RETURN NULL;
1646   EXCEPTION
1647     WHEN OTHERS THEN
1648       RETURN (FALSE);
1649   END PRIOR_PERIOD;
1650 
1651   FUNCTION CALCULATE_STATISTICS RETURN BOOLEAN IS
1652     L_INVOICE_COUNT NUMBER := 0;
1653     L_AVERAGE_SITES NUMBER;
1654     L_AVERAGE_LINES NUMBER;
1655     L_AVERAGE_PAY_INV NUMBER;
1656     L_AVERAGE_PAY_CHK NUMBER;
1657     L_AVERAGE_MH NUMBER;
1658     L_TOTAL_SITE NUMBER := 0;
1659     L_AVERAGE_DISTS NUMBER;
1660     L_TOTAL_NEW_EXCEPTIONS NUMBER := 0;
1661     L_TOTAL_OLD_EXCEPTIONS NUMBER := 0;
1662     L_TOTAL_TOTAL_EXCEPTIONS NUMBER := 0;
1663     L_TOTAL_NEW_EXCEPTIONS_DLR NUMBER := 0;
1664     L_TOTAL_OLD_EXCEPTIONS_DLR NUMBER := 0;
1665     L_TOTAL_TOTAL_EXCEPTIONS_DLR NUMBER := 0;
1666     L_TOTAL_NEW_CHECKS NUMBER := 0;
1667     L_TOTAL_OLD_CHECKS NUMBER := 0;
1668     L_TOTAL_TOTAL_CHECKS NUMBER := 0;
1669     L_TOTAL_NEW_CHECKS_DLR NUMBER := 0;
1670     L_TOTAL_OLD_CHECKS_DLR NUMBER := 0;
1671     L_TOTAL_TOTAL_CHECKS_DLR NUMBER := 0;
1672     L_TOTAL_ADDITIONAL_SITES NUMBER := 0;
1673     L_TOTAL_VENDORS_UPDATED NUMBER := 0;
1674     L_TOTAL_SITES_UPDATED NUMBER := 0;
1675     L_PERCENT_VENDORS NUMBER(38,2);
1676     L_PERCENT_SITES NUMBER(38,2);
1677     L_PERCENT_ONE_TIME NUMBER(38,2);
1678     L_PERCENT_1099 NUMBER(38,2);
1679     L_PERCENT_VENDORS_HELD NUMBER(38,2);
1680     L_PERCENT_INACTIVE NUMBER(38,2);
1681     L_PERCENT_INVOICES NUMBER(38,2);
1682     L_PERCENT_INVOICES_DLR NUMBER(38,2);
1683     L_PERCENT_MATCHED NUMBER(38,2);
1684     L_PERCENT_MATCHED_DLR NUMBER(38,2);
1685     L_PERCENT_DISTS NUMBER(38,2);
1686     L_PERCENT_LINES NUMBER(38,2);
1687     L_PERCENT_SCHEDULED NUMBER(38,2);
1688     L_PERCENT_BATCHES NUMBER(38,2);
1689     L_PERCENT_DIST_VARS NUMBER(38,2);
1690     L_PERCENT_LINE_VARS NUMBER(38,2);
1691     L_PERCENT_DIST_VARS_DLR NUMBER(38,2);
1692     L_PERCENT_LINE_VARS_DLR NUMBER(38,2);
1693     L_PERCENT_INVOICE_HOLDS NUMBER(38,2);
1694     L_PERCENT_INVOICE_HOLDS_DLR NUMBER(38,2);
1695     L_PERCENT_MH NUMBER(38,2);
1696     L_PERCENT_MH_DLR NUMBER(38,2);
1697     L_PERCENT_MAN_CHECKS NUMBER(38,2);
1698     L_PERCENT_MAN_CHECKS_DLR NUMBER(38,2);
1699     L_PERCENT_AUTO_CHECKS NUMBER(38,2);
1700     L_PERCENT_AUTO_CHECKS_DLR NUMBER(38,2);
1701     L_PERCENT_REFUND_CHECKS NUMBER(38,2);
1702     L_PERCENT_REFUND_CHECKS_DLR NUMBER(38,2);
1703     L_PERCENT_PAID_INV NUMBER(38,2);
1704     L_PERCENT_DISCS NUMBER(38,2);
1705     L_PERCENT_DISCS_DLR NUMBER(38,2);
1706     L_PERCENT_VOIDED NUMBER(38,2);
1707     L_PERCENT_STOPPED NUMBER(38,2);
1708     L_PERCENT_SPOILED NUMBER(38,2);
1709     L_PERCENT_OUTSTANDING NUMBER(38,2);
1710     L_PERCENT_OUTSTANDING_DLR NUMBER(38,2);
1711     L_PERCENT_CLEARED NUMBER(38,2);
1712     L_PERCENT_CLEARED_DLR NUMBER(38,2);
1713     L_PERCENT_ADDITIONAL_SITES NUMBER(38,2);
1714     L_PERCENT_VENDORS_UPDATED NUMBER(38,2);
1715     L_PERCENT_SITES_UPDATED NUMBER(38,2);
1716     L_PERCENT_TOTAL_EXCEPTIONS NUMBER(38,2);
1717     L_PERCENT_TOTAL_EXCEPTIONS_DLR NUMBER(38,2);
1718     L_PERCENT_TOTAL_CHECKS NUMBER(38,2);
1719     L_PERCENT_TOTAL_CHECKS_DLR NUMBER(38,2);
1720   BEGIN
1721     /*SRW.REFERENCE(C_TOTAL_VENDORS)*/NULL;
1722     /*SRW.REFERENCE(C_TOTAL_INACTIVE)*/NULL;
1723     /*SRW.REFERENCE(C_TOTAL_ONE_TIME)*/NULL;
1724     /*SRW.REFERENCE(C_TOTAL_1099)*/NULL;
1725     /*SRW.REFERENCE(C_TOTAL_VOIDED)*/NULL;
1726     /*SRW.REFERENCE(C_TOTAL_DISTS)*/NULL;
1727     /*SRW.REFERENCE(C_TOTAL_BATCHES)*/NULL;
1728     /*SRW.REFERENCE(C_TOTAL_INVOICES)*/NULL;
1729     /*SRW.REFERENCE(C_TOTAL_INVOICES_DLR)*/NULL;
1730     /*SRW.REFERENCE(C_TOTAL_INVOICE_HOLDS)*/NULL;
1731     /*SRW.REFERENCE(C_TOTAL_INVOICE_HOLDS_DLR)*/NULL;
1732     /*SRW.REFERENCE(C_TOTAL_CLEARED)*/NULL;
1733     /*SRW.REFERENCE(C_TOTAL_CLEARED_DLR)*/NULL;
1734     /*SRW.REFERENCE(C_STOPPED)*/NULL;
1735     /*SRW.REFERENCE(C_TOTAL_MAN_CHECKS)*/NULL;
1736     /*SRW.REFERENCE(C_TOTAL_MAN_CHECKS_DLR)*/NULL;
1737     /*SRW.REFERENCE(C_TOTAL_AUTO_CHECKS)*/NULL;
1738     /*SRW.REFERENCE(C_TOTAL_AUTO_CHECKS_DLR)*/NULL;
1739     /*SRW.REFERENCE(C_TOTAL_SPOILED)*/NULL;
1740     /*SRW.REFERENCE(C_TOTAL_OUTSTANDING)*/NULL;
1741     /*SRW.REFERENCE(C_TOTAL_PAID_INV)*/NULL;
1742     /*SRW.REFERENCE(C_TOTAL_DISCS_DLR)*/NULL;
1743     /*SRW.REFERENCE(C_TOTAL_DISCS)*/NULL;
1744     /*SRW.REFERENCE(C_TOTAL_SCHEDULED)*/NULL;
1745     /*SRW.REFERENCE(C_TOTAL_SITES)*/NULL;
1746     /*SRW.REFERENCE(C_TOTAL_OUTSTANDING_DLR)*/NULL;
1747     /*SRW.REFERENCE(C_TOTAL_REFUND_CHECKS)*/NULL;
1748     /*SRW.REFERENCE(C_TOTAL_REFUND_CHECKS_DLR)*/NULL;
1749     /*SRW.REFERENCE(C_TOTAL_LINES)*/NULL;
1750     /*SRW.REFERENCE(C_TOTAL_MH)*/NULL;
1751     /*SRW.REFERENCE(C_TOTAL_MH_DLR)*/NULL;
1752     /*SRW.REFERENCE(C_MH_COUNT)*/NULL;
1753     /*SRW.REFERENCE(C_MH_AMOUNT)*/NULL;
1754     /*SRW.REFERENCE(C_TOTAL_MATCHED)*/NULL;
1755     /*SRW.REFERENCE(C_TOTAL_MATCHED_DLR)*/NULL;
1756     /*SRW.REFERENCE(C_NEW_COUNT)*/NULL;
1757     /*SRW.REFERENCE(C_NEW_AMOUNT)*/NULL;
1758     /*SRW.REFERENCE(C_DIST_TOTAL_VARS)*/NULL;
1759     /*SRW.REFERENCE(C_DIST_TOTAL_VARS_DLR)*/NULL;
1760     /*SRW.REFERENCE(C_DIST_VAR_COUNT)*/NULL;
1761     /*SRW.REFERENCE(C_DIST_VAR_AMOUNT)*/NULL;
1762     /*SRW.REFERENCE(C_LINE_TOTAL_VARS)*/NULL;
1763     /*SRW.REFERENCE(C_LINE_TOTAL_VARS_DLR)*/NULL;
1764     /*SRW.REFERENCE(C_LINE_VAR_COUNT)*/NULL;
1765     /*SRW.REFERENCE(C_LINE_VAR_AMOUNT)*/NULL;
1766     /*SRW.REFERENCE(C_VOID)*/NULL;
1767     /*SRW.REFERENCE(C_CLEARED)*/NULL;
1768     /*SRW.REFERENCE(C_CLEARED_DLR)*/NULL;
1769     /*SRW.REFERENCE(C_STOPPED)*/NULL;
1770     /*SRW.REFERENCE(C_MANUAL_CHECKS)*/NULL;
1771     /*SRW.REFERENCE(C_MANUAL_CHECKS_DLR)*/NULL;
1772     /*SRW.REFERENCE(C_AUTO_CHECKS)*/NULL;
1773     /*SRW.REFERENCE(C_AUTO_CHECKS_DLR)*/NULL;
1774     /*SRW.REFERENCE(C_NEW_SPOILED)*/NULL;
1775     /*SRW.REFERENCE(C_NEW_OUTSTANDING)*/NULL;
1776     /*SRW.REFERENCE(C_MANUAL_PAYMENTS)*/NULL;
1777     /*SRW.REFERENCE(C_MANUAL_PAYMENTS_DLR)*/NULL;
1778     /*SRW.REFERENCE(C_AUTO_PAYMENTS)*/NULL;
1779     /*SRW.REFERENCE(C_AUTO_PAYMENTS_DLR)*/NULL;
1780     /*SRW.REFERENCE(C_INVOICES)*/NULL;
1781     /*SRW.REFERENCE(C_DISCOUNT_DLR)*/NULL;
1782     /*SRW.REFERENCE(C_DISCOUNTS)*/NULL;
1783     /*SRW.REFERENCE(C_NEW_INVOICES)*/NULL;
1784     /*SRW.REFERENCE(C_TOTAL_DLR)*/NULL;
1785     /*SRW.REFERENCE(C_BATCHES)*/NULL;
1786     /*SRW.REFERENCE(C_NEW_ON_HOLD)*/NULL;
1787     /*SRW.REFERENCE(C_NEW_HOLD_DLR)*/NULL;
1788     /*SRW.REFERENCE(C_PAYMENT_SCHEDULES)*/NULL;
1789     /*SRW.REFERENCE(C_NEW_DISTS)*/NULL;
1790     /*SRW.REFERENCE(C_NEW_VENDORS)*/NULL;
1791     /*SRW.REFERENCE(C_NEW_INACTIVE)*/NULL;
1792     /*SRW.REFERENCE(C_NEW_ONE_TIME)*/NULL;
1793     /*SRW.REFERENCE(C_NEW_TYPE_1099_VENDORS)*/NULL;
1794     /*SRW.REFERENCE(C_OLD_VENDOR_SITES)*/NULL;
1795     /*SRW.REFERENCE(C_TOTAL_VENDORS_HELD)*/NULL;
1796     /*SRW.REFERENCE(C_NEW_VENDOR_SITES)*/NULL;
1797     /*SRW.REFERENCE(C_NEW_VENDORS_HELD)*/NULL;
1798     /*SRW.REFERENCE(C_UPDATED_VENDORS)*/NULL;
1799     /*SRW.REFERENCE(C_UPDATED_SITES)*/NULL;
1800     /*SRW.REFERENCE(C_NEW_OUTSTANDING_DLR)*/NULL;
1801     /*SRW.REFERENCE(C_NEW_REFUND_PAYMENTS)*/NULL;
1802     /*SRW.REFERENCE(C_NEW_REFUND_PAYMENTS_DLR)*/NULL;
1803     /*SRW.REFERENCE(C_NEW_LINES)*/NULL;
1804     /*SRW.REFERENCE(C_OLD_INVOICES)*/NULL;
1805     /*SRW.REFERENCE(C_OLD_TOTAL_DLR)*/NULL;
1806     /*SRW.REFERENCE(C_OLD_DISTS)*/NULL;
1807     /*SRW.REFERENCE(C_OLD_BATCHES)*/NULL;
1808     /*SRW.REFERENCE(C_OLD_DISTS_VAR_COUNT)*/NULL;
1809     /*SRW.REFERENCE(C_OLD_DISTS_VAR_AMOUNT)*/NULL;
1810     /*SRW.REFERENCE(C_OLD_PAYMENT_SCHEDULES)*/NULL;
1811     /*SRW.REFERENCE(C_OLD_ON_HOLD)*/NULL;
1812     /*SRW.REFERENCE(C_OLD_HOLD_DLR)*/NULL;
1813     /*SRW.REFERENCE(C_OLD_COUNT)*/NULL;
1814     /*SRW.REFERENCE(C_OLD_AMOUNT)*/NULL;
1815     /*SRW.REFERENCE(C_OLD_MH_COUNT)*/NULL;
1816     /*SRW.REFERENCE(C_OLD_MH_AMOUNT)*/NULL;
1817     /*SRW.REFERENCE(C_OLD_VENDORS)*/NULL;
1818     /*SRW.REFERENCE(C_OLD_SITES)*/NULL;
1819     /*SRW.REFERENCE(C_INACTIVE)*/NULL;
1820     /*SRW.REFERENCE(C_ONE_TIME)*/NULL;
1821     /*SRW.REFERENCE(C_TYPE_1099_VENDORS)*/NULL;
1822     /*SRW.REFERENCE(C_VENDORS_HELD)*/NULL;
1823     /*SRW.REFERENCE(C_OLD_INVOICES_PAID)*/NULL;
1824     /*SRW.REFERENCE(C_OLD_AUTO_CHECKS)*/NULL;
1825     /*SRW.REFERENCE(C_OLD_MANUAL_CHECKS)*/NULL;
1826     /*SRW.REFERENCE(C_OLD_AUTO_CHECKS_DLR)*/NULL;
1827     /*SRW.REFERENCE(C_OLD_MANUAL_CHECKS_DLR)*/NULL;
1828     /*SRW.REFERENCE(C_OLD_DISCOUNTS)*/NULL;
1829     /*SRW.REFERENCE(C_OLD_DISCOUNT_DLR)*/NULL;
1830     /*SRW.REFERENCE(C_OLD_VOID)*/NULL;
1831     /*SRW.REFERENCE(C_OLD_STOPPED)*/NULL;
1832     /*SRW.REFERENCE(C_OLD_SPOILED)*/NULL;
1833     /*SRW.REFERENCE(C_OLD_OUTSTANDING)*/NULL;
1834     /*SRW.REFERENCE(C_OLD_CLEARED)*/NULL;
1835     /*SRW.REFERENCE(C_OLD_CLEARED_DLR)*/NULL;
1836     /*SRW.REFERENCE(C_PRIOR_OLD_VENDOR_SITES)*/NULL;
1837     /*SRW.REFERENCE(C_PRIOR_VENDORS_UPDATED)*/NULL;
1838     /*SRW.REFERENCE(C_PRIOR_SITES_UPDATED)*/NULL;
1839     /*SRW.REFERENCE(C_OLD_OUTSTANDING_DLR)*/NULL;
1840     /*SRW.REFERENCE(C_OLD_REFUND_PAYMENTS)*/NULL;
1841     /*SRW.REFERENCE(C_OLD_REFUND_PAYMENTS_DLR)*/NULL;
1842     /*SRW.REFERENCE(C_OLD_LINES)*/NULL;
1843     /*SRW.REFERENCE(C_OLD_LINES_VAR_COUNT)*/NULL;
1844     /*SRW.REFERENCE(C_OLD_LINES_VAR_AMOUNT)*/NULL;
1845     L_TOTAL_NEW_EXCEPTIONS := C_DIST_VAR_COUNT + C_LINE_VAR_COUNT + C_NEW_ON_HOLD + C_MH_COUNT;
1846     L_TOTAL_OLD_EXCEPTIONS := C_OLD_DISTS_VAR_COUNT + C_OLD_LINES_VAR_COUNT + C_OLD_ON_HOLD + C_OLD_MH_COUNT;
1847     L_TOTAL_TOTAL_EXCEPTIONS := C_DIST_TOTAL_VARS + C_LINE_TOTAL_VARS + C_TOTAL_INVOICE_HOLDS + C_TOTAL_MH;
1848     L_TOTAL_NEW_EXCEPTIONS_DLR := C_DIST_VAR_AMOUNT + C_LINE_VAR_AMOUNT + C_NEW_HOLD_DLR + C_MH_AMOUNT;
1849     L_TOTAL_OLD_EXCEPTIONS_DLR := C_OLD_DISTS_VAR_AMOUNT + C_OLD_LINES_VAR_AMOUNT + C_OLD_HOLD_DLR + C_OLD_MH_AMOUNT;
1850     L_TOTAL_TOTAL_EXCEPTIONS_DLR := C_DIST_TOTAL_VARS_DLR + C_LINE_TOTAL_VARS_DLR + C_TOTAL_INVOICE_HOLDS_DLR + C_TOTAL_MH_DLR;
1851     L_TOTAL_NEW_CHECKS := C_MANUAL_CHECKS + C_AUTO_CHECKS + C_NEW_REFUND_PAYMENTS;
1852     L_TOTAL_OLD_CHECKS := C_OLD_MANUAL_CHECKS + C_OLD_AUTO_CHECKS + C_OLD_REFUND_PAYMENTS;
1853     L_TOTAL_TOTAL_CHECKS := C_TOTAL_MAN_CHECKS + C_TOTAL_AUTO_CHECKS + C_TOTAL_REFUND_CHECKS;
1854     L_TOTAL_NEW_CHECKS_DLR := C_MANUAL_CHECKS_DLR + C_AUTO_CHECKS_DLR + C_NEW_REFUND_PAYMENTS_DLR;
1855     L_TOTAL_OLD_CHECKS_DLR := C_OLD_MANUAL_CHECKS_DLR + C_OLD_AUTO_CHECKS_DLR + C_OLD_REFUND_PAYMENTS_DLR;
1856     L_TOTAL_TOTAL_CHECKS_DLR := C_TOTAL_MAN_CHECKS_DLR + C_TOTAL_AUTO_CHECKS_DLR + C_TOTAL_REFUND_CHECKS_DLR;
1857     L_TOTAL_ADDITIONAL_SITES := C_OLD_VENDOR_SITES + C_PRIOR_OLD_VENDOR_SITES;
1858     L_TOTAL_VENDORS_UPDATED := C_UPDATED_VENDORS + C_PRIOR_VENDORS_UPDATED;
1859     L_TOTAL_SITES_UPDATED := C_UPDATED_SITES + C_PRIOR_SITES_UPDATED;
1860     IF C_OLD_VENDORS <> 0 THEN
1861       L_PERCENT_VENDORS := ((C_NEW_VENDORS - C_OLD_VENDORS) / C_OLD_VENDORS) * 100;
1862     END IF;
1863     IF C_OLD_SITES <> 0 THEN
1864       L_PERCENT_SITES := ((C_NEW_VENDOR_SITES - C_OLD_SITES) / C_OLD_SITES) * 100;
1865     END IF;
1866     IF C_PRIOR_OLD_VENDOR_SITES <> 0 THEN
1867       L_PERCENT_ADDITIONAL_SITES := ((C_OLD_VENDOR_SITES - C_PRIOR_OLD_VENDOR_SITES) / C_PRIOR_OLD_VENDOR_SITES) * 100;
1868     END IF;
1869     IF C_PRIOR_VENDORS_UPDATED <> 0 THEN
1870       L_PERCENT_VENDORS_UPDATED := ((C_UPDATED_VENDORS - C_PRIOR_VENDORS_UPDATED) / C_PRIOR_VENDORS_UPDATED) * 100;
1871     END IF;
1872     IF C_PRIOR_SITES_UPDATED <> 0 THEN
1873       L_PERCENT_SITES_UPDATED := ((C_UPDATED_SITES - C_PRIOR_SITES_UPDATED) / C_PRIOR_SITES_UPDATED) * 100;
1874     END IF;
1875     IF C_OLD_REFUND_PAYMENTS <> 0 THEN
1876       L_PERCENT_REFUND_CHECKS := ((C_NEW_REFUND_PAYMENTS - C_OLD_REFUND_PAYMENTS) / C_OLD_REFUND_PAYMENTS) * 100;
1877     END IF;
1878     IF C_OLD_REFUND_PAYMENTS_DLR <> 0 THEN
1879       L_PERCENT_REFUND_CHECKS_DLR := ((C_NEW_REFUND_PAYMENTS_DLR - C_OLD_REFUND_PAYMENTS_DLR) / C_OLD_REFUND_PAYMENTS_DLR) * 100;
1880     END IF;
1881     IF C_OLD_OUTSTANDING_DLR <> 0 THEN
1882       L_PERCENT_OUTSTANDING_DLR := ((C_NEW_OUTSTANDING_DLR - C_OLD_OUTSTANDING_DLR) / C_OLD_OUTSTANDING_DLR) * 100;
1883     END IF;
1884     IF C_ONE_TIME <> 0 THEN
1885       L_PERCENT_ONE_TIME := ((C_NEW_ONE_TIME - C_ONE_TIME) / C_ONE_TIME) * 100;
1886     END IF;
1887     IF C_TYPE_1099_VENDORS <> 0 THEN
1888       L_PERCENT_1099 := ((C_NEW_TYPE_1099_VENDORS - C_TYPE_1099_VENDORS) / C_TYPE_1099_VENDORS) * 100;
1889     END IF;
1890     IF C_VENDORS_HELD <> 0 THEN
1891       L_PERCENT_VENDORS_HELD := ((C_NEW_VENDORS_HELD - C_VENDORS_HELD) / C_VENDORS_HELD) * 100;
1892     END IF;
1893     IF C_INACTIVE <> 0 THEN
1894       L_PERCENT_INACTIVE := ((C_NEW_INACTIVE - C_INACTIVE) / C_INACTIVE) * 100;
1895     END IF;
1896     IF C_OLD_INVOICES <> 0 THEN
1897       L_PERCENT_INVOICES := ((C_NEW_INVOICES - C_OLD_INVOICES) / C_OLD_INVOICES) * 100;
1898     END IF;
1899     IF C_OLD_TOTAL_DLR <> 0 THEN
1900       L_PERCENT_INVOICES_DLR := ((C_TOTAL_DLR - C_OLD_TOTAL_DLR) / C_OLD_TOTAL_DLR) * 100;
1901     END IF;
1902     IF C_OLD_COUNT <> 0 THEN
1903       L_PERCENT_MATCHED := ((C_NEW_COUNT - C_OLD_COUNT) / C_OLD_COUNT) * 100;
1904     END IF;
1905     IF C_OLD_AMOUNT <> 0 THEN
1906       L_PERCENT_MATCHED_DLR := ((C_NEW_AMOUNT - C_OLD_AMOUNT) / C_OLD_AMOUNT) * 100;
1907     END IF;
1908     IF C_OLD_DISTS <> 0 THEN
1909       L_PERCENT_DISTS := ((C_NEW_DISTS - C_OLD_DISTS) / C_OLD_DISTS) * 100;
1910     END IF;
1911     IF C_OLD_LINES <> 0 THEN
1912       L_PERCENT_LINES := ((C_NEW_LINES - C_OLD_LINES) / C_OLD_LINES) * 100;
1913     END IF;
1914     IF C_OLD_PAYMENT_SCHEDULES <> 0 THEN
1915       L_PERCENT_SCHEDULED := ((C_PAYMENT_SCHEDULES - C_OLD_PAYMENT_SCHEDULES) / C_OLD_PAYMENT_SCHEDULES) * 100;
1916     END IF;
1917     IF C_OLD_BATCHES <> 0 THEN
1918       L_PERCENT_BATCHES := ((C_BATCHES - C_OLD_BATCHES) / C_OLD_BATCHES) * 100;
1919     END IF;
1920     IF C_OLD_LINES_VAR_COUNT <> 0 THEN
1921       L_PERCENT_LINE_VARS := ((C_LINE_VAR_COUNT - C_OLD_LINES_VAR_COUNT) / C_OLD_LINES_VAR_COUNT) * 100;
1922     END IF;
1923     IF C_OLD_LINES_VAR_AMOUNT <> 0 THEN
1924       L_PERCENT_LINE_VARS_DLR := ((C_LINE_VAR_AMOUNT - C_OLD_LINES_VAR_AMOUNT) / C_OLD_LINES_VAR_AMOUNT) * 100;
1925     END IF;
1926     IF C_OLD_DISTS_VAR_COUNT <> 0 THEN
1927       L_PERCENT_DIST_VARS := ((C_DIST_VAR_COUNT - C_OLD_DISTS_VAR_COUNT) / C_OLD_DISTS_VAR_COUNT) * 100;
1928     END IF;
1929     IF C_OLD_DISTS_VAR_AMOUNT <> 0 THEN
1930       L_PERCENT_DIST_VARS_DLR := ((C_DIST_VAR_AMOUNT - C_OLD_DISTS_VAR_AMOUNT) / C_OLD_DISTS_VAR_AMOUNT) * 100;
1931     END IF;
1932     IF C_OLD_ON_HOLD <> 0 THEN
1933       L_PERCENT_INVOICE_HOLDS := ((C_NEW_ON_HOLD - C_OLD_ON_HOLD) / C_OLD_ON_HOLD) * 100;
1934     END IF;
1935     IF C_OLD_HOLD_DLR <> 0 THEN
1936       L_PERCENT_INVOICE_HOLDS_DLR := ((C_NEW_HOLD_DLR - C_OLD_HOLD_DLR) / C_OLD_HOLD_DLR) * 100;
1937     END IF;
1938     IF C_OLD_MH_COUNT <> 0 THEN
1939       L_PERCENT_MH := ((C_MH_COUNT - C_OLD_MH_COUNT) / C_OLD_MH_COUNT) * 100;
1940     END IF;
1941     IF C_OLD_MH_AMOUNT <> 0 THEN
1942       L_PERCENT_MH_DLR := ((C_MH_AMOUNT - C_OLD_MH_AMOUNT) / C_OLD_MH_AMOUNT) * 100;
1943     END IF;
1944     IF C_OLD_MANUAL_CHECKS <> 0 THEN
1945       L_PERCENT_MAN_CHECKS := ((C_MANUAL_CHECKS - C_OLD_MANUAL_CHECKS) / C_OLD_MANUAL_CHECKS) * 100;
1946     END IF;
1947     IF C_OLD_MANUAL_CHECKS_DLR <> 0 THEN
1948       L_PERCENT_MAN_CHECKS_DLR := ((C_MANUAL_CHECKS_DLR - C_OLD_MANUAL_CHECKS_DLR) / C_OLD_MANUAL_CHECKS_DLR) * 100;
1949     END IF;
1950     IF C_OLD_AUTO_CHECKS <> 0 THEN
1951       L_PERCENT_AUTO_CHECKS := ((C_AUTO_CHECKS - C_OLD_AUTO_CHECKS) / C_OLD_AUTO_CHECKS) * 100;
1952     END IF;
1953     IF C_OLD_AUTO_CHECKS_DLR <> 0 THEN
1954       L_PERCENT_AUTO_CHECKS_DLR := ((C_AUTO_CHECKS_DLR - C_OLD_AUTO_CHECKS_DLR) / C_OLD_AUTO_CHECKS_DLR) * 100;
1955     END IF;
1956     IF C_OLD_INVOICES_PAID <> 0 THEN
1957       L_PERCENT_PAID_INV := ((C_INVOICES - C_OLD_INVOICES_PAID) / C_OLD_INVOICES_PAID) * 100;
1958     END IF;
1959     IF C_OLD_DISCOUNTS <> 0 THEN
1960       L_PERCENT_DISCS := ((C_DISCOUNTS - C_OLD_DISCOUNTS) / C_OLD_DISCOUNTS) * 100;
1961     END IF;
1962     IF C_OLD_DISCOUNT_DLR <> 0 THEN
1963       L_PERCENT_DISCS_DLR := ((C_DISCOUNT_DLR - C_OLD_DISCOUNT_DLR) / C_OLD_DISCOUNT_DLR) * 100;
1964     END IF;
1965     IF C_OLD_VOID <> 0 THEN
1966       L_PERCENT_VOIDED := ((C_VOID - C_OLD_VOID) / C_OLD_VOID) * 100;
1967     END IF;
1968     IF C_OLD_STOPPED <> 0 THEN
1969       L_PERCENT_STOPPED := ((C_STOPPED - C_OLD_STOPPED) / C_OLD_STOPPED) * 100;
1970     END IF;
1971     IF C_OLD_SPOILED <> 0 THEN
1972       L_PERCENT_SPOILED := ((C_NEW_SPOILED - C_OLD_SPOILED) / C_OLD_SPOILED) * 100;
1973     END IF;
1974     IF C_OLD_OUTSTANDING <> 0 THEN
1975       L_PERCENT_OUTSTANDING := ((C_NEW_OUTSTANDING - C_OLD_OUTSTANDING) / C_OLD_OUTSTANDING) * 100;
1976     END IF;
1977     IF C_OLD_CLEARED <> 0 THEN
1978       L_PERCENT_CLEARED := ((C_CLEARED - C_OLD_CLEARED) / C_OLD_CLEARED) * 100;
1979     END IF;
1980     IF C_OLD_CLEARED_DLR <> 0 THEN
1981       L_PERCENT_CLEARED_DLR := ((C_CLEARED_DLR - C_OLD_CLEARED_DLR) / C_OLD_CLEARED_DLR) * 100;
1982     END IF;
1983     IF L_TOTAL_OLD_EXCEPTIONS <> 0 THEN
1984       L_PERCENT_TOTAL_EXCEPTIONS := ((L_TOTAL_NEW_EXCEPTIONS - L_TOTAL_OLD_EXCEPTIONS) / L_TOTAL_OLD_EXCEPTIONS) * 100;
1985     END IF;
1986     IF L_TOTAL_OLD_EXCEPTIONS_DLR <> 0 THEN
1987       L_PERCENT_TOTAL_EXCEPTIONS_DLR := ((L_TOTAL_NEW_EXCEPTIONS_DLR - L_TOTAL_OLD_EXCEPTIONS_DLR) / L_TOTAL_OLD_EXCEPTIONS_DLR) * 100;
1988     END IF;
1989     IF L_TOTAL_OLD_CHECKS <> 0 THEN
1990       L_PERCENT_TOTAL_CHECKS := ((L_TOTAL_NEW_CHECKS - L_TOTAL_OLD_CHECKS) / L_TOTAL_OLD_CHECKS) * 100;
1991     END IF;
1992     IF L_TOTAL_OLD_CHECKS_DLR <> 0 THEN
1993       L_PERCENT_TOTAL_CHECKS_DLR := ((L_TOTAL_NEW_CHECKS_DLR - L_TOTAL_OLD_CHECKS_DLR) / L_TOTAL_OLD_CHECKS_DLR) * 100;
1994     END IF;
1995     L_TOTAL_SITE := C_TOTAL_SITES + C_OLD_VENDOR_SITES;
1996     IF C_TOTAL_VENDORS <> 0 THEN
1997       L_AVERAGE_SITES := C_TOTAL_SITES / C_TOTAL_VENDORS;
1998     END IF;
1999     IF C_TOTAL_INVOICES <> 0 THEN
2000       L_AVERAGE_DISTS := C_TOTAL_DISTS / C_TOTAL_INVOICES;
2001     END IF;
2002     IF C_TOTAL_INVOICES <> 0 THEN
2003       L_AVERAGE_LINES := C_TOTAL_LINES / C_TOTAL_INVOICES;
2004     END IF;
2005     IF C_TOTAL_INVOICES <> 0 THEN
2006       L_AVERAGE_PAY_INV := C_TOTAL_SCHEDULED / C_TOTAL_INVOICES;
2007     END IF;
2008     IF L_TOTAL_TOTAL_CHECKS <> 0 THEN
2009       L_AVERAGE_PAY_CHK := C_TOTAL_PAID_INV / L_TOTAL_TOTAL_CHECKS;
2010     END IF;
2011     SELECT
2012       count(( INVOICE_ID ))
2013     INTO L_INVOICE_COUNT
2014     FROM
2015       AP_HOLDS H,
2016       AP_HOLD_CODES HC
2017     WHERE H.RELEASE_LOOKUP_CODE is null
2018       AND H.HOLD_LOOKUP_CODE = HC.HOLD_LOOKUP_CODE
2019       AND HC.HOLD_TYPE = 'MATCHING HOLD REASON';
2020     IF L_INVOICE_COUNT <> 0 THEN
2021       L_AVERAGE_MH := C_TOTAL_MH / L_INVOICE_COUNT;
2022     END IF;
2023     C_AVERAGE_SITES := L_AVERAGE_SITES;
2024     C_AVERAGE_LINES := L_AVERAGE_LINES;
2025     C_AVERAGE_DISTS := L_AVERAGE_DISTS;
2026     C_AVERAGE_PAY_INV := L_AVERAGE_PAY_INV;
2027     C_AVERAGE_PAY_CHK := L_AVERAGE_PAY_CHK;
2028     C_AVERAGE_MH := L_AVERAGE_MH;
2029     C_TOTAL_SITE := L_TOTAL_SITE;
2030     C_TOTAL_NEW_EXCEPTIONS := L_TOTAL_NEW_EXCEPTIONS;
2031     C_TOTAL_OLD_EXCEPTIONS := L_TOTAL_OLD_EXCEPTIONS;
2032     C_TOTAL_TOTAL_EXCEPTIONS := L_TOTAL_TOTAL_EXCEPTIONS;
2033     C_TOTAL_NEW_EXCEPTIONS_DLR := L_TOTAL_NEW_EXCEPTIONS_DLR;
2034     C_TOTAL_OLD_EXCEPTIONS_DLR := L_TOTAL_OLD_EXCEPTIONS_DLR;
2035     C_TOTAL_TOTAL_EXCEPTIONS_DLR := L_TOTAL_TOTAL_EXCEPTIONS_DLR;
2036     C_TOTAL_NEW_CHECKS := L_TOTAL_NEW_CHECKS;
2037     C_TOTAL_OLD_CHECKS := L_TOTAL_OLD_CHECKS;
2038     C_TOTAL_TOTAL_CHECKS := L_TOTAL_TOTAL_CHECKS;
2039     C_TOTAL_NEW_CHECKS_DLR := L_TOTAL_NEW_CHECKS_DLR;
2040     C_TOTAL_OLD_CHECKS_DLR := L_TOTAL_OLD_CHECKS_DLR;
2041     C_TOTAL_TOTAL_CHECKS_DLR := L_TOTAL_TOTAL_CHECKS_DLR;
2042     C_TOTAL_ADDITIONAL_SITES := L_TOTAL_ADDITIONAL_SITES;
2043     C_TOTAL_VENDORS_UPDATED := L_TOTAL_VENDORS_UPDATED;
2044     C_TOTAL_SITES_UPDATED := L_TOTAL_SITES_UPDATED;
2045     C_PERCENT_VENDORS := L_PERCENT_VENDORS;
2046     C_PERCENT_SITES := L_PERCENT_SITES;
2047     C_PERCENT_ONE_TIME := L_PERCENT_ONE_TIME;
2048     C_PERCENT_1099 := L_PERCENT_1099;
2049     C_PERCENT_VENDORS_HELD := L_PERCENT_VENDORS_HELD;
2050     C_PERCENT_INACTIVE := L_PERCENT_INACTIVE;
2051     C_PERCENT_INVOICES := L_PERCENT_INVOICES;
2052     C_PERCENT_INVOICES_DLR := L_PERCENT_INVOICES_DLR;
2053     C_PERCENT_MATCHED := L_PERCENT_MATCHED;
2054     C_PERCENT_MATCHED_DLR := L_PERCENT_MATCHED_DLR;
2055     C_PERCENT_LINES := L_PERCENT_LINES;
2056     C_PERCENT_DISTS := L_PERCENT_DISTS;
2057     C_PERCENT_SCHEDULED := L_PERCENT_SCHEDULED;
2058     C_PERCENT_BATCHES := L_PERCENT_BATCHES;
2059     C_PERCENT_LINE_VARS := L_PERCENT_LINE_VARS;
2060     C_PERCENT_LINE_VARS_DLR := L_PERCENT_LINE_VARS_DLR;
2061     C_PERCENT_DIST_VARS := L_PERCENT_DIST_VARS;
2062     C_PERCENT_DIST_VARS_DLR := L_PERCENT_DIST_VARS_DLR;
2063     C_PERCENT_INVOICE_HOLDS := L_PERCENT_INVOICE_HOLDS;
2064     C_PERCENT_INVOICE_HOLDS_DLR := L_PERCENT_INVOICE_HOLDS_DLR;
2065     C_PERCENT_MH := L_PERCENT_MH;
2066     C_PERCENT_MH_DLR := L_PERCENT_MH_DLR;
2067     C_PERCENT_MAN_CHECKS := L_PERCENT_MAN_CHECKS;
2068     C_PERCENT_MAN_CHECKS_DLR := L_PERCENT_MAN_CHECKS_DLR;
2069     C_PERCENT_AUTO_CHECKS := L_PERCENT_AUTO_CHECKS;
2070     C_PERCENT_AUTO_CHECKS_DLR := L_PERCENT_AUTO_CHECKS_DLR;
2071     C_PERCENT_PAID_INV := L_PERCENT_PAID_INV;
2072     C_PERCENT_DISCS := L_PERCENT_DISCS;
2073     C_PERCENT_DISCS_DLR := L_PERCENT_DISCS_DLR;
2074     C_PERCENT_VOIDED := L_PERCENT_VOIDED;
2075     C_PERCENT_STOPPED := L_PERCENT_STOPPED;
2076     C_PERCENT_SPOILED := L_PERCENT_SPOILED;
2077     C_PERCENT_OUTSTANDING := L_PERCENT_OUTSTANDING;
2078     C_PERCENT_CLEARED := L_PERCENT_CLEARED;
2079     C_PERCENT_CLEARED_DLR := L_PERCENT_CLEARED_DLR;
2080     C_PERCENT_ADDITIONAL_SITES := L_PERCENT_ADDITIONAL_SITES;
2081     C_PERCENT_VENDORS_UPDATED := L_PERCENT_VENDORS_UPDATED;
2082     C_PERCENT_SITES_UPDATED := L_PERCENT_SITES_UPDATED;
2083     C_PERCENT_TOTAL_EXCEPTIONS := L_PERCENT_TOTAL_EXCEPTIONS;
2084     C_PERCENT_TOTAL_EXCEPTIONS_DLR := L_PERCENT_TOTAL_EXCEPTIONS_DLR;
2085     C_PERCENT_TOTAL_CHECKS := L_PERCENT_TOTAL_CHECKS;
2086     C_PERCENT_TOTAL_CHECKS_DLR := L_PERCENT_TOTAL_CHECKS_DLR;
2087     C_PERCENT_REFUND_CHECKS := L_PERCENT_REFUND_CHECKS;
2088     C_PERCENT_REFUND_CHECKS_DLR := L_PERCENT_REFUND_CHECKS_DLR;
2089     C_PERCENT_OUTSTANDING_DLR := L_PERCENT_OUTSTANDING_DLR;
2090     RETURN (TRUE);
2091     RETURN NULL;
2092   EXCEPTION
2093     WHEN OTHERS THEN
2094       RETURN (FALSE);
2095   END CALCULATE_STATISTICS;
2096 
2097   FUNCTION AFTERPFORM RETURN BOOLEAN IS
2098   BEGIN
2099     RETURN (TRUE);
2100   END AFTERPFORM;
2101 
2102   FUNCTION CF_PER_CHANGE_AT_CURFORMULA(CS_CURR_INV_NUM IN NUMBER
2103                                       ,CS_PRIOR_INV_NUM IN NUMBER) RETURN NUMBER IS
2104     L_PERCENT NUMBER(38,2) := 0.00;
2105   BEGIN
2106     /*SRW.REFERENCE(CS_CURR_INV_NUM)*/NULL;
2107     /*SRW.REFERENCE(CS_PRIOR_INV_NUM)*/NULL;
2108     IF CS_PRIOR_INV_NUM <> 0 THEN
2109       L_PERCENT := ((CS_CURR_INV_NUM - CS_PRIOR_INV_NUM) / CS_PRIOR_INV_NUM) * 100;
2110     END IF;
2111     RETURN L_PERCENT;
2112   END CF_PER_CHANGE_AT_CURFORMULA;
2113 
2114   FUNCTION CF_PER_CHANGE_AT_CUR_AMTFORMUL(CS_CURR_INV_AMT IN NUMBER
2115                                          ,CS_PRIOR_INV_AMT IN NUMBER) RETURN NUMBER IS
2116     L_PERCENT NUMBER(38,2) := 0.00;
2117   BEGIN
2118     /*SRW.REFERENCE(CS_CURR_INV_AMT)*/NULL;
2119     /*SRW.REFERENCE(CS_PRIOR_INV_AMT)*/NULL;
2120     IF CS_PRIOR_INV_AMT <> 0 THEN
2121       L_PERCENT := ((CS_CURR_INV_AMT - CS_PRIOR_INV_AMT) / CS_PRIOR_INV_AMT) * 100;
2122     END IF;
2123     RETURN L_PERCENT;
2124   END CF_PER_CHANGE_AT_CUR_AMTFORMUL;
2125 
2126   FUNCTION CF_PERCENT_CHANGE_NUMFORMULA(C_PRIOR_NUM_OF_INVOICES IN NUMBER
2127                                        ,C_CURRENT_NUM_OF_INVOICES IN NUMBER) RETURN NUMBER IS
2128     L_PERCENT NUMBER(38,2) := 0.00;
2129   BEGIN
2130     IF C_PRIOR_NUM_OF_INVOICES <> 0 THEN
2131       L_PERCENT := ((C_CURRENT_NUM_OF_INVOICES - C_PRIOR_NUM_OF_INVOICES) / C_PRIOR_NUM_OF_INVOICES) * 100;
2132     END IF;
2133     RETURN L_PERCENT;
2134   END CF_PERCENT_CHANGE_NUMFORMULA;
2135 
2136   FUNCTION CF_PERCENT_CHANGE_AMOUNTFORMUL(C_PRIOR_INVOICE_AMOUNT IN NUMBER
2137                                          ,C_CURRENT_INVOICE_AMOUNT IN NUMBER) RETURN NUMBER IS
2138     L_PERCENT NUMBER(38,2) := 0.00;
2139   BEGIN
2140     IF C_PRIOR_INVOICE_AMOUNT <> 0 THEN
2141       L_PERCENT := ((C_CURRENT_INVOICE_AMOUNT - C_PRIOR_INVOICE_AMOUNT) / C_PRIOR_INVOICE_AMOUNT) * 100;
2142     END IF;
2143     RETURN L_PERCENT;
2144   END CF_PERCENT_CHANGE_AMOUNTFORMUL;
2145 
2146   FUNCTION CF_PERCENT_INV_USERFORMULA(CS_SUM_PRIOR_INV_NUM IN NUMBER
2147                                      ,CS_SUM_CURR_INV_NUM IN NUMBER) RETURN NUMBER IS
2148     L_PERCENT NUMBER(38,2) := 0.00;
2149   BEGIN
2150     IF CS_SUM_PRIOR_INV_NUM <> 0 THEN
2151       L_PERCENT := ((CS_SUM_CURR_INV_NUM - CS_SUM_PRIOR_INV_NUM) / CS_SUM_PRIOR_INV_NUM) * 100;
2152     END IF;
2153     RETURN L_PERCENT;
2154   END CF_PERCENT_INV_USERFORMULA;
2155 
2156   FUNCTION CF_PERCENT_FUNC_AMT_USERFORMUL(CS_SUM_PRIOR_FUNC_AMT IN NUMBER
2157                                          ,CS_SUM_CURR_FUNC_AMT IN NUMBER) RETURN NUMBER IS
2158     L_PERCENT NUMBER(38,2) := 0.00;
2159   BEGIN
2160     IF CS_SUM_PRIOR_FUNC_AMT <> 0 THEN
2161       L_PERCENT := ((CS_SUM_CURR_FUNC_AMT - CS_SUM_PRIOR_FUNC_AMT) / CS_SUM_PRIOR_FUNC_AMT) * 100;
2162     END IF;
2163     RETURN L_PERCENT;
2164   END CF_PERCENT_FUNC_AMT_USERFORMUL;
2165 
2166   FUNCTION CF_PERCENT_DISTFORMULA0006(CS_PRIOR_DIST IN NUMBER
2167                                      ,CS_CURR_DIST IN NUMBER) RETURN CHAR IS
2168     L_PERCENT NUMBER(38,2) := 0.00;
2169   BEGIN
2170     IF CS_PRIOR_DIST <> 0 THEN
2171       L_PERCENT := ((CS_CURR_DIST - CS_PRIOR_DIST) / CS_PRIOR_DIST) * 100;
2172       /*SRW.MESSAGE('10'
2173                  ,'L Percent Value = ' || TO_CHAR(L_PERCENT))*/NULL;
2174       RETURN TO_CHAR(L_PERCENT);
2175     ELSE
2176       RETURN (C_NLS_NA);
2177     END IF;
2178     /*SRW.MESSAGE('10'
2179                ,'L Percent Value = ' || TO_CHAR(L_PERCENT))*/NULL;
2180   END CF_PERCENT_DISTFORMULA0006;
2181 
2182   FUNCTION GET_SYSTEM_USER_NAME RETURN BOOLEAN IS
2183   BEGIN
2184     FND_MESSAGE.SET_NAME('SQLAP'
2185                         ,'AP_KEY_IND_SYSTEM_USER');
2186     C_SYSTEM_USER_NAME := FND_MESSAGE.GET;
2187     RETURN (TRUE);
2188     RETURN NULL;
2189   EXCEPTION
2190     WHEN OTHERS THEN
2191       RETURN (TRUE);
2192   END GET_SYSTEM_USER_NAME;
2193 
2194   FUNCTION CF_DISPLAY_SOURCEFORMULA(C_INVOICE_SOURCE IN VARCHAR2) RETURN CHAR IS
2195     L_DISPLAY_FIELD VARCHAR2(80);
2196   BEGIN
2197     /*SRW.REFERENCE(C_INVOICE_SOURCE)*/NULL;
2198     SELECT
2199       DISPLAYED_FIELD
2200     INTO L_DISPLAY_FIELD
2201     FROM
2202       AP_LOOKUP_CODES
2203     WHERE LOOKUP_TYPE = 'SOURCE'
2204       AND LOOKUP_CODE = C_INVOICE_SOURCE;
2205     RETURN L_DISPLAY_FIELD;
2206   EXCEPTION
2207     WHEN OTHERS THEN
2208       /*SRW.MESSAGE('99'
2209                  ,'Error in Getting Display Field for the Invoice Source')*/NULL;
2210       RETURN C_INVOICE_SOURCE;
2211   END CF_DISPLAY_SOURCEFORMULA;
2212 
2213   FUNCTION GET_PERIOD_NAME_FROM_ROWID RETURN BOOLEAN IS
2214   BEGIN
2215     SELECT
2216       PERIOD_NAME
2217     INTO P_PERIOD_NAME
2218     FROM
2219       AP_OTHER_PERIODS
2220     WHERE ROWID = P_PERIOD_ROWID;
2221     RETURN (TRUE);
2222   END GET_PERIOD_NAME_FROM_ROWID;
2223 
2224   FUNCTION GET_WHERE_CONDITIONS RETURN BOOLEAN IS
2225   BEGIN
2226     IF P_ENTERED_BY IS NOT NULL THEN
2227       P_WHERE_CREATED_BY := 'AND DECODE (ai.source, ''SelfService'', fnd_user_ap_pkg.get_user_name(ai.last_updated_by),
2228                             						    fnd_user_ap_pkg.get_user_name(ai.created_by))
2229                             	= fnd_user_ap_pkg.get_user_name(' || P_ENTERED_BY || ')';
2230       P_WHERE_CREATED_BY_AERH := 'AND fnd_user_ap_pkg.get_user_name(aerh.last_updated_by)
2231                                                          	= fnd_user_ap_pkg.get_user_name(' || P_ENTERED_BY || ')';
2232     ELSE
2233       P_WHERE_CREATED_BY := ' ';
2234       P_WHERE_CREATED_BY_AERH := ' ';
2235     END IF;
2236     RETURN (TRUE);
2237   EXCEPTION
2238     WHEN OTHERS THEN
2239       RETURN (FALSE);
2240   END GET_WHERE_CONDITIONS;
2241 
2242   FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
2243   BEGIN
2244     RETURN C_BASE_CURRENCY_CODE;
2245   END C_BASE_CURRENCY_CODE_P;
2246 
2247   FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
2248   BEGIN
2249     RETURN C_BASE_PRECISION;
2250   END C_BASE_PRECISION_P;
2251 
2252   FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
2253   BEGIN
2254     RETURN C_BASE_MIN_ACCT_UNIT;
2255   END C_BASE_MIN_ACCT_UNIT_P;
2256 
2257   FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
2258   BEGIN
2259     RETURN C_BASE_DESCRIPTION;
2260   END C_BASE_DESCRIPTION_P;
2261 
2262   FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
2263   BEGIN
2264     RETURN C_COMPANY_NAME_HEADER;
2265   END C_COMPANY_NAME_HEADER_P;
2266 
2267   FUNCTION C_REPORT_START_DATE_P RETURN DATE IS
2268   BEGIN
2269     RETURN C_REPORT_START_DATE;
2270   END C_REPORT_START_DATE_P;
2271 
2272   FUNCTION C_NLS_YES_P RETURN VARCHAR2 IS
2273   BEGIN
2274     RETURN C_NLS_YES;
2275   END C_NLS_YES_P;
2276 
2277   FUNCTION C_NLS_NO_P RETURN VARCHAR2 IS
2278   BEGIN
2279     RETURN C_NLS_NO;
2280   END C_NLS_NO_P;
2281 
2282   FUNCTION C_NLS_ALL_P RETURN VARCHAR2 IS
2283   BEGIN
2284     RETURN C_NLS_ALL;
2285   END C_NLS_ALL_P;
2286 
2287   FUNCTION C_NLS_NO_DATA_EXISTS_P RETURN VARCHAR2 IS
2288   BEGIN
2289     RETURN C_NLS_NO_DATA_EXISTS;
2290   END C_NLS_NO_DATA_EXISTS_P;
2291 
2292   FUNCTION C_REPORT_RUN_TIME_P RETURN VARCHAR2 IS
2293   BEGIN
2294     RETURN C_REPORT_RUN_TIME;
2295   END C_REPORT_RUN_TIME_P;
2296 
2297   FUNCTION C_CHART_OF_ACCOUNTS_ID_P RETURN NUMBER IS
2298   BEGIN
2299     RETURN C_CHART_OF_ACCOUNTS_ID;
2300   END C_CHART_OF_ACCOUNTS_ID_P;
2301 
2302   FUNCTION C_MODULE_P RETURN VARCHAR2 IS
2303   BEGIN
2304     RETURN C_MODULE;
2305   END C_MODULE_P;
2306 
2307   FUNCTION C_PERIOD_YEAR_P RETURN NUMBER IS
2308   BEGIN
2309     RETURN C_PERIOD_YEAR;
2310   END C_PERIOD_YEAR_P;
2311 
2312   FUNCTION C_PRIOR_PERIOD_YEAR_P RETURN NUMBER IS
2313   BEGIN
2314     RETURN C_PRIOR_PERIOD_YEAR;
2315   END C_PRIOR_PERIOD_YEAR_P;
2316 
2317   FUNCTION C_PERIOD_NUM_P RETURN NUMBER IS
2318   BEGIN
2319     RETURN C_PERIOD_NUM;
2320   END C_PERIOD_NUM_P;
2321 
2322   FUNCTION C_PRIOR_PERIOD_NUM_P RETURN NUMBER IS
2323   BEGIN
2324     RETURN C_PRIOR_PERIOD_NUM;
2325   END C_PRIOR_PERIOD_NUM_P;
2326 
2327   FUNCTION C_PRIOR_PERIOD_NAME_P RETURN VARCHAR2 IS
2328   BEGIN
2329     RETURN C_PRIOR_PERIOD_NAME;
2330   END C_PRIOR_PERIOD_NAME_P;
2331 
2332   FUNCTION C_PERIOD_TYPE_P RETURN VARCHAR2 IS
2333   BEGIN
2334     RETURN C_PERIOD_TYPE;
2335   END C_PERIOD_TYPE_P;
2336 
2337   FUNCTION C_START_DATE_P RETURN VARCHAR2 IS
2338   BEGIN
2339     RETURN C_START_DATE;
2340   END C_START_DATE_P;
2341 
2342   FUNCTION C_PRIOR_START_DATE_P RETURN DATE IS
2343   BEGIN
2344     RETURN C_PRIOR_START_DATE;
2345   END C_PRIOR_START_DATE_P;
2346 
2347   FUNCTION C_END_DATE_P RETURN VARCHAR2 IS
2348   BEGIN
2349     RETURN C_END_DATE;
2350   END C_END_DATE_P;
2351 
2352   FUNCTION C_PRIOR_END_DATE_P RETURN DATE IS
2353   BEGIN
2354     RETURN C_PRIOR_END_DATE;
2355   END C_PRIOR_END_DATE_P;
2356 
2357   FUNCTION C_STATUS_P RETURN VARCHAR2 IS
2358   BEGIN
2359     RETURN C_STATUS;
2360   END C_STATUS_P;
2361 
2362   FUNCTION C_TOTAL_VENDORS_P RETURN NUMBER IS
2363   BEGIN
2364     RETURN C_TOTAL_VENDORS;
2365   END C_TOTAL_VENDORS_P;
2366 
2367   FUNCTION C_TOTAL_INACTIVE_P RETURN NUMBER IS
2368   BEGIN
2369     RETURN C_TOTAL_INACTIVE;
2370   END C_TOTAL_INACTIVE_P;
2371 
2372   FUNCTION C_TOTAL_ONE_TIME_P RETURN NUMBER IS
2373   BEGIN
2374     RETURN C_TOTAL_ONE_TIME;
2375   END C_TOTAL_ONE_TIME_P;
2376 
2377   FUNCTION C_TOTAL_1099_P RETURN NUMBER IS
2378   BEGIN
2379     RETURN C_TOTAL_1099;
2380   END C_TOTAL_1099_P;
2381 
2382   FUNCTION C_TOTAL_VOIDED_P RETURN NUMBER IS
2383   BEGIN
2384     RETURN C_TOTAL_VOIDED;
2385   END C_TOTAL_VOIDED_P;
2386 
2387   FUNCTION C_TOTAL_DISTS_P RETURN NUMBER IS
2388   BEGIN
2389     RETURN C_TOTAL_DISTS;
2390   END C_TOTAL_DISTS_P;
2391 
2392   FUNCTION C_TOTAL_BATCHES_P RETURN NUMBER IS
2393   BEGIN
2394     RETURN C_TOTAL_BATCHES;
2395   END C_TOTAL_BATCHES_P;
2396 
2397   FUNCTION C_TOTAL_INVOICES_P RETURN NUMBER IS
2398   BEGIN
2399     RETURN C_TOTAL_INVOICES;
2400   END C_TOTAL_INVOICES_P;
2401 
2402   FUNCTION C_TOTAL_INVOICES_DLR_P RETURN NUMBER IS
2403   BEGIN
2404     RETURN C_TOTAL_INVOICES_DLR;
2405   END C_TOTAL_INVOICES_DLR_P;
2406 
2407   FUNCTION C_TOTAL_INVOICE_HOLDS_P RETURN NUMBER IS
2408   BEGIN
2409     RETURN C_TOTAL_INVOICE_HOLDS;
2410   END C_TOTAL_INVOICE_HOLDS_P;
2411 
2412   FUNCTION C_TOTAL_INVOICE_HOLDS_DLR_P RETURN NUMBER IS
2413   BEGIN
2414     RETURN C_TOTAL_INVOICE_HOLDS_DLR;
2415   END C_TOTAL_INVOICE_HOLDS_DLR_P;
2416 
2417   FUNCTION C_TOTAL_CLEARED_P RETURN NUMBER IS
2418   BEGIN
2419     RETURN C_TOTAL_CLEARED;
2420   END C_TOTAL_CLEARED_P;
2421 
2422   FUNCTION C_TOTAL_CLEARED_DLR_P RETURN NUMBER IS
2423   BEGIN
2424     RETURN C_TOTAL_CLEARED_DLR;
2425   END C_TOTAL_CLEARED_DLR_P;
2426 
2427   FUNCTION C_STOPPED_P RETURN NUMBER IS
2428   BEGIN
2429     RETURN C_STOPPED;
2430   END C_STOPPED_P;
2431 
2432   FUNCTION C_TOTAL_MAN_CHECKS_P RETURN NUMBER IS
2433   BEGIN
2434     RETURN C_TOTAL_MAN_CHECKS;
2435   END C_TOTAL_MAN_CHECKS_P;
2436 
2437   FUNCTION C_TOTAL_MAN_CHECKS_DLR_P RETURN NUMBER IS
2438   BEGIN
2439     RETURN C_TOTAL_MAN_CHECKS_DLR;
2440   END C_TOTAL_MAN_CHECKS_DLR_P;
2441 
2442   FUNCTION C_TOTAL_AUTO_CHECKS_P RETURN NUMBER IS
2443   BEGIN
2444     RETURN C_TOTAL_AUTO_CHECKS;
2445   END C_TOTAL_AUTO_CHECKS_P;
2446 
2447   FUNCTION C_TOTAL_AUTO_CHECKS_DLR_P RETURN NUMBER IS
2448   BEGIN
2449     RETURN C_TOTAL_AUTO_CHECKS_DLR;
2450   END C_TOTAL_AUTO_CHECKS_DLR_P;
2451 
2452   FUNCTION C_TOTAL_SPOILED_P RETURN NUMBER IS
2453   BEGIN
2454     RETURN C_TOTAL_SPOILED;
2455   END C_TOTAL_SPOILED_P;
2456 
2457   FUNCTION C_TOTAL_OUTSTANDING_P RETURN NUMBER IS
2458   BEGIN
2459     RETURN C_TOTAL_OUTSTANDING;
2460   END C_TOTAL_OUTSTANDING_P;
2461 
2462   FUNCTION C_TOTAL_PAID_INV_P RETURN NUMBER IS
2463   BEGIN
2464     RETURN C_TOTAL_PAID_INV;
2465   END C_TOTAL_PAID_INV_P;
2466 
2467   FUNCTION C_TOTAL_DISCS_DLR_P RETURN NUMBER IS
2468   BEGIN
2469     RETURN C_TOTAL_DISCS_DLR;
2470   END C_TOTAL_DISCS_DLR_P;
2471 
2472   FUNCTION C_TOTAL_DISCS_P RETURN NUMBER IS
2473   BEGIN
2474     RETURN C_TOTAL_DISCS;
2475   END C_TOTAL_DISCS_P;
2476 
2477   FUNCTION C_TOTAL_SCHEDULED_P RETURN NUMBER IS
2478   BEGIN
2479     RETURN C_TOTAL_SCHEDULED;
2480   END C_TOTAL_SCHEDULED_P;
2481 
2482   FUNCTION C_TOTAL_SITES_P RETURN NUMBER IS
2483   BEGIN
2484     RETURN C_TOTAL_SITES;
2485   END C_TOTAL_SITES_P;
2486 
2487   FUNCTION C_TOTAL_MH_P RETURN NUMBER IS
2488   BEGIN
2489     RETURN C_TOTAL_MH;
2490   END C_TOTAL_MH_P;
2491 
2492   FUNCTION C_TOTAL_MH_DLR_P RETURN NUMBER IS
2493   BEGIN
2494     RETURN C_TOTAL_MH_DLR;
2495   END C_TOTAL_MH_DLR_P;
2496 
2497   FUNCTION C_MH_COUNT_P RETURN NUMBER IS
2498   BEGIN
2499     RETURN C_MH_COUNT;
2500   END C_MH_COUNT_P;
2501 
2502   FUNCTION C_MH_AMOUNT_P RETURN NUMBER IS
2503   BEGIN
2504     RETURN C_MH_AMOUNT;
2505   END C_MH_AMOUNT_P;
2506 
2507   FUNCTION C_TOTAL_MATCHED_P RETURN NUMBER IS
2508   BEGIN
2509     RETURN C_TOTAL_MATCHED;
2510   END C_TOTAL_MATCHED_P;
2511 
2512   FUNCTION C_TOTAL_MATCHED_DLR_P RETURN NUMBER IS
2513   BEGIN
2514     RETURN C_TOTAL_MATCHED_DLR;
2515   END C_TOTAL_MATCHED_DLR_P;
2516 
2517   FUNCTION C_NEW_COUNT_P RETURN NUMBER IS
2518   BEGIN
2519     RETURN C_NEW_COUNT;
2520   END C_NEW_COUNT_P;
2521 
2522   FUNCTION C_NEW_AMOUNT_P RETURN NUMBER IS
2523   BEGIN
2524     RETURN C_NEW_AMOUNT;
2525   END C_NEW_AMOUNT_P;
2526 
2527   FUNCTION C_VOID_P RETURN NUMBER IS
2528   BEGIN
2529     RETURN C_VOID;
2530   END C_VOID_P;
2531 
2532   FUNCTION C_CLEARED_P RETURN NUMBER IS
2533   BEGIN
2534     RETURN C_CLEARED;
2535   END C_CLEARED_P;
2536 
2537   FUNCTION C_CLEARED_DLR_P RETURN NUMBER IS
2538   BEGIN
2539     RETURN C_CLEARED_DLR;
2540   END C_CLEARED_DLR_P;
2541 
2542   FUNCTION C_MANUAL_CHECKS_P RETURN NUMBER IS
2543   BEGIN
2544     RETURN C_MANUAL_CHECKS;
2545   END C_MANUAL_CHECKS_P;
2546 
2547   FUNCTION C_TOTAL_STOPPED_P RETURN NUMBER IS
2548   BEGIN
2549     RETURN C_TOTAL_STOPPED;
2550   END C_TOTAL_STOPPED_P;
2551 
2552   FUNCTION C_MANUAL_CHECKS_DLR_P RETURN NUMBER IS
2553   BEGIN
2554     RETURN C_MANUAL_CHECKS_DLR;
2555   END C_MANUAL_CHECKS_DLR_P;
2556 
2557   FUNCTION C_AUTO_CHECKS_P RETURN NUMBER IS
2558   BEGIN
2559     RETURN C_AUTO_CHECKS;
2560   END C_AUTO_CHECKS_P;
2561 
2562   FUNCTION C_AUTO_CHECKS_DLR_P RETURN NUMBER IS
2563   BEGIN
2564     RETURN C_AUTO_CHECKS_DLR;
2565   END C_AUTO_CHECKS_DLR_P;
2566 
2567   FUNCTION C_NEW_SPOILED_P RETURN NUMBER IS
2568   BEGIN
2569     RETURN C_NEW_SPOILED;
2570   END C_NEW_SPOILED_P;
2571 
2572   FUNCTION C_NEW_OUTSTANDING_P RETURN NUMBER IS
2573   BEGIN
2574     RETURN C_NEW_OUTSTANDING;
2575   END C_NEW_OUTSTANDING_P;
2576 
2577   FUNCTION C_MANUAL_PAYMENTS_P RETURN NUMBER IS
2578   BEGIN
2579     RETURN C_MANUAL_PAYMENTS;
2580   END C_MANUAL_PAYMENTS_P;
2581 
2582   FUNCTION C_MANUAL_PAYMENTS_DLR_P RETURN NUMBER IS
2583   BEGIN
2584     RETURN C_MANUAL_PAYMENTS_DLR;
2585   END C_MANUAL_PAYMENTS_DLR_P;
2586 
2587   FUNCTION C_AUTO_PAYMENTS_P RETURN NUMBER IS
2588   BEGIN
2589     RETURN C_AUTO_PAYMENTS;
2590   END C_AUTO_PAYMENTS_P;
2591 
2592   FUNCTION C_AUTO_PAYMENTS_DLR_P RETURN NUMBER IS
2593   BEGIN
2594     RETURN C_AUTO_PAYMENTS_DLR;
2595   END C_AUTO_PAYMENTS_DLR_P;
2596 
2597   FUNCTION C_INVOICES_P RETURN NUMBER IS
2598   BEGIN
2599     RETURN C_INVOICES;
2600   END C_INVOICES_P;
2601 
2602   FUNCTION C_DISCOUNT_DLR_P RETURN NUMBER IS
2603   BEGIN
2604     RETURN C_DISCOUNT_DLR;
2605   END C_DISCOUNT_DLR_P;
2606 
2607   FUNCTION C_DISCOUNTS_P RETURN NUMBER IS
2608   BEGIN
2609     RETURN C_DISCOUNTS;
2610   END C_DISCOUNTS_P;
2611 
2612   FUNCTION C_NEW_INVOICES_P RETURN NUMBER IS
2613   BEGIN
2614     RETURN C_NEW_INVOICES;
2615   END C_NEW_INVOICES_P;
2616 
2617   FUNCTION C_TOTAL_DLR_P RETURN NUMBER IS
2618   BEGIN
2619     RETURN C_TOTAL_DLR;
2620   END C_TOTAL_DLR_P;
2621 
2622   FUNCTION C_BATCHES_P RETURN NUMBER IS
2623   BEGIN
2624     RETURN C_BATCHES;
2625   END C_BATCHES_P;
2626 
2627   FUNCTION C_NEW_ON_HOLD_P RETURN NUMBER IS
2628   BEGIN
2629     RETURN C_NEW_ON_HOLD;
2630   END C_NEW_ON_HOLD_P;
2631 
2632   FUNCTION C_NEW_HOLD_DLR_P RETURN NUMBER IS
2633   BEGIN
2634     RETURN C_NEW_HOLD_DLR;
2635   END C_NEW_HOLD_DLR_P;
2636 
2637   FUNCTION C_PAYMENT_SCHEDULES_P RETURN NUMBER IS
2638   BEGIN
2639     RETURN C_PAYMENT_SCHEDULES;
2640   END C_PAYMENT_SCHEDULES_P;
2641 
2642   FUNCTION C_NEW_DISTS_P RETURN NUMBER IS
2643   BEGIN
2644     RETURN C_NEW_DISTS;
2645   END C_NEW_DISTS_P;
2646 
2647   FUNCTION C_NEW_VENDORS_P RETURN NUMBER IS
2648   BEGIN
2649     RETURN C_NEW_VENDORS;
2650   END C_NEW_VENDORS_P;
2651 
2652   FUNCTION C_NEW_INACTIVE_P RETURN NUMBER IS
2653   BEGIN
2654     RETURN C_NEW_INACTIVE;
2655   END C_NEW_INACTIVE_P;
2656 
2657   FUNCTION C_NEW_ONE_TIME_P RETURN NUMBER IS
2658   BEGIN
2659     RETURN C_NEW_ONE_TIME;
2660   END C_NEW_ONE_TIME_P;
2661 
2662   FUNCTION C_NEW_TYPE_1099_VENDORS_P RETURN NUMBER IS
2663   BEGIN
2664     RETURN C_NEW_TYPE_1099_VENDORS;
2665   END C_NEW_TYPE_1099_VENDORS_P;
2666 
2667   FUNCTION C_OLD_VENDOR_SITES_P RETURN NUMBER IS
2668   BEGIN
2669     RETURN C_OLD_VENDOR_SITES;
2670   END C_OLD_VENDOR_SITES_P;
2671 
2672   FUNCTION C_TOTAL_VENDORS_HELD_P RETURN NUMBER IS
2673   BEGIN
2674     RETURN C_TOTAL_VENDORS_HELD;
2675   END C_TOTAL_VENDORS_HELD_P;
2676 
2677   FUNCTION C_NEW_VENDOR_SITES_P RETURN NUMBER IS
2678   BEGIN
2679     RETURN C_NEW_VENDOR_SITES;
2680   END C_NEW_VENDOR_SITES_P;
2681 
2682   FUNCTION C_UPDATED_VENDORS_P RETURN NUMBER IS
2683   BEGIN
2684     RETURN C_UPDATED_VENDORS;
2685   END C_UPDATED_VENDORS_P;
2686 
2687   FUNCTION C_UPDATED_SITES_P RETURN NUMBER IS
2688   BEGIN
2689     RETURN C_UPDATED_SITES;
2690   END C_UPDATED_SITES_P;
2691 
2692   FUNCTION C_NEW_VENDORS_HELD_P RETURN NUMBER IS
2693   BEGIN
2694     RETURN C_NEW_VENDORS_HELD;
2695   END C_NEW_VENDORS_HELD_P;
2696 
2697   FUNCTION C_OLD_INVOICES_P RETURN NUMBER IS
2698   BEGIN
2699     RETURN C_OLD_INVOICES;
2700   END C_OLD_INVOICES_P;
2701 
2702   FUNCTION C_OLD_TOTAL_DLR_P RETURN NUMBER IS
2703   BEGIN
2704     RETURN C_OLD_TOTAL_DLR;
2705   END C_OLD_TOTAL_DLR_P;
2706 
2707   FUNCTION C_OLD_DISTS_P RETURN NUMBER IS
2708   BEGIN
2709     RETURN C_OLD_DISTS;
2710   END C_OLD_DISTS_P;
2711 
2712   FUNCTION C_OLD_BATCHES_P RETURN NUMBER IS
2713   BEGIN
2714     RETURN C_OLD_BATCHES;
2715   END C_OLD_BATCHES_P;
2716 
2717   FUNCTION C_OLD_PAYMENT_SCHEDULES_P RETURN NUMBER IS
2718   BEGIN
2719     RETURN C_OLD_PAYMENT_SCHEDULES;
2720   END C_OLD_PAYMENT_SCHEDULES_P;
2721 
2722   FUNCTION C_OLD_ON_HOLD_P RETURN NUMBER IS
2723   BEGIN
2724     RETURN C_OLD_ON_HOLD;
2725   END C_OLD_ON_HOLD_P;
2726 
2727   FUNCTION C_OLD_HOLD_DLR_P RETURN NUMBER IS
2728   BEGIN
2729     RETURN C_OLD_HOLD_DLR;
2730   END C_OLD_HOLD_DLR_P;
2731 
2732   FUNCTION C_OLD_COUNT_P RETURN NUMBER IS
2733   BEGIN
2734     RETURN C_OLD_COUNT;
2735   END C_OLD_COUNT_P;
2736 
2737   FUNCTION C_OLD_AMOUNT_P RETURN NUMBER IS
2738   BEGIN
2739     RETURN C_OLD_AMOUNT;
2740   END C_OLD_AMOUNT_P;
2741 
2742   FUNCTION C_OLD_MH_COUNT_P RETURN NUMBER IS
2743   BEGIN
2744     RETURN C_OLD_MH_COUNT;
2745   END C_OLD_MH_COUNT_P;
2746 
2747   FUNCTION C_OLD_MH_AMOUNT_P RETURN NUMBER IS
2748   BEGIN
2749     RETURN C_OLD_MH_AMOUNT;
2750   END C_OLD_MH_AMOUNT_P;
2751 
2752   FUNCTION C_OLD_VENDORS_P RETURN NUMBER IS
2753   BEGIN
2754     RETURN C_OLD_VENDORS;
2755   END C_OLD_VENDORS_P;
2756 
2757   FUNCTION C_OLD_SITES_P RETURN NUMBER IS
2758   BEGIN
2759     RETURN C_OLD_SITES;
2760   END C_OLD_SITES_P;
2761 
2762   FUNCTION C_INACTIVE_P RETURN NUMBER IS
2763   BEGIN
2764     RETURN C_INACTIVE;
2765   END C_INACTIVE_P;
2766 
2767   FUNCTION C_ONE_TIME_P RETURN NUMBER IS
2768   BEGIN
2769     RETURN C_ONE_TIME;
2770   END C_ONE_TIME_P;
2771 
2772   FUNCTION C_TYPE_1099_VENDORS_P RETURN NUMBER IS
2773   BEGIN
2774     RETURN C_TYPE_1099_VENDORS;
2775   END C_TYPE_1099_VENDORS_P;
2776 
2777   FUNCTION C_VENDORS_HELD_P RETURN NUMBER IS
2778   BEGIN
2779     RETURN C_VENDORS_HELD;
2780   END C_VENDORS_HELD_P;
2781 
2782   FUNCTION C_OLD_INVOICES_PAID_P RETURN NUMBER IS
2783   BEGIN
2784     RETURN C_OLD_INVOICES_PAID;
2785   END C_OLD_INVOICES_PAID_P;
2786 
2787   FUNCTION C_OLD_AUTO_CHECKS_P RETURN NUMBER IS
2788   BEGIN
2789     RETURN C_OLD_AUTO_CHECKS;
2790   END C_OLD_AUTO_CHECKS_P;
2791 
2792   FUNCTION C_OLD_MANUAL_CHECKS_P RETURN NUMBER IS
2793   BEGIN
2794     RETURN C_OLD_MANUAL_CHECKS;
2795   END C_OLD_MANUAL_CHECKS_P;
2796 
2797   FUNCTION C_OLD_DISCOUNTS_P RETURN NUMBER IS
2798   BEGIN
2799     RETURN C_OLD_DISCOUNTS;
2800   END C_OLD_DISCOUNTS_P;
2801 
2802   FUNCTION C_OLD_DISCOUNT_DLR_P RETURN NUMBER IS
2803   BEGIN
2804     RETURN C_OLD_DISCOUNT_DLR;
2805   END C_OLD_DISCOUNT_DLR_P;
2806 
2807   FUNCTION C_OLD_VOID_P RETURN NUMBER IS
2808   BEGIN
2809     RETURN C_OLD_VOID;
2810   END C_OLD_VOID_P;
2811 
2812   FUNCTION C_OLD_STOPPED_P RETURN NUMBER IS
2813   BEGIN
2814     RETURN C_OLD_STOPPED;
2815   END C_OLD_STOPPED_P;
2816 
2817   FUNCTION C_OLD_SPOILED_P RETURN NUMBER IS
2818   BEGIN
2819     RETURN C_OLD_SPOILED;
2820   END C_OLD_SPOILED_P;
2821 
2822   FUNCTION C_OLD_OUTSTANDING_P RETURN NUMBER IS
2823   BEGIN
2824     RETURN C_OLD_OUTSTANDING;
2825   END C_OLD_OUTSTANDING_P;
2826 
2827   FUNCTION C_OLD_CLEARED_P RETURN NUMBER IS
2828   BEGIN
2829     RETURN C_OLD_CLEARED;
2830   END C_OLD_CLEARED_P;
2831 
2832   FUNCTION C_OLD_CLEARED_DLR_P RETURN NUMBER IS
2833   BEGIN
2834     RETURN C_OLD_CLEARED_DLR;
2835   END C_OLD_CLEARED_DLR_P;
2836 
2837   FUNCTION C_OLD_AUTO_CHECKS_DLR_P RETURN NUMBER IS
2838   BEGIN
2839     RETURN C_OLD_AUTO_CHECKS_DLR;
2840   END C_OLD_AUTO_CHECKS_DLR_P;
2841 
2842   FUNCTION C_OLD_MANUAL_CHECKS_DLR_P RETURN NUMBER IS
2843   BEGIN
2844     RETURN C_OLD_MANUAL_CHECKS_DLR;
2845   END C_OLD_MANUAL_CHECKS_DLR_P;
2846 
2847   FUNCTION C_AVERAGE_SITES_P RETURN NUMBER IS
2848   BEGIN
2849     RETURN C_AVERAGE_SITES;
2850   END C_AVERAGE_SITES_P;
2851 
2852   FUNCTION C_AVERAGE_LINES_P RETURN NUMBER IS
2853   BEGIN
2854     RETURN C_AVERAGE_LINES;
2855   END C_AVERAGE_LINES_P;
2856 
2857   FUNCTION C_AVERAGE_PAY_INV_P RETURN NUMBER IS
2858   BEGIN
2859     RETURN C_AVERAGE_PAY_INV;
2860   END C_AVERAGE_PAY_INV_P;
2861 
2862   FUNCTION C_AVERAGE_PAY_CHK_P RETURN NUMBER IS
2863   BEGIN
2864     RETURN C_AVERAGE_PAY_CHK;
2865   END C_AVERAGE_PAY_CHK_P;
2866 
2867   FUNCTION C_AVERAGE_MH_P RETURN NUMBER IS
2868   BEGIN
2869     RETURN C_AVERAGE_MH;
2870   END C_AVERAGE_MH_P;
2871 
2872   FUNCTION C_TOTAL_SITE_P RETURN NUMBER IS
2873   BEGIN
2874     RETURN C_TOTAL_SITE;
2875   END C_TOTAL_SITE_P;
2876 
2877   FUNCTION C_TOTAL_NEW_EXCEPTIONS_P RETURN NUMBER IS
2878   BEGIN
2879     RETURN C_TOTAL_NEW_EXCEPTIONS;
2880   END C_TOTAL_NEW_EXCEPTIONS_P;
2881 
2882   FUNCTION C_TOTAL_OLD_EXCEPTIONS_P RETURN NUMBER IS
2883   BEGIN
2884     RETURN C_TOTAL_OLD_EXCEPTIONS;
2885   END C_TOTAL_OLD_EXCEPTIONS_P;
2886 
2887   FUNCTION C_TOTAL_TOTAL_EXCEPTIONS_P RETURN NUMBER IS
2888   BEGIN
2889     RETURN C_TOTAL_TOTAL_EXCEPTIONS;
2890   END C_TOTAL_TOTAL_EXCEPTIONS_P;
2891 
2892   FUNCTION C_TOTAL_NEW_EXCEPTIONS_DLR_P RETURN NUMBER IS
2893   BEGIN
2894     RETURN C_TOTAL_NEW_EXCEPTIONS_DLR;
2895   END C_TOTAL_NEW_EXCEPTIONS_DLR_P;
2896 
2897   FUNCTION C_TOTAL_OLD_EXCEPTIONS_DLR_P RETURN NUMBER IS
2898   BEGIN
2899     RETURN C_TOTAL_OLD_EXCEPTIONS_DLR;
2900   END C_TOTAL_OLD_EXCEPTIONS_DLR_P;
2901 
2902   FUNCTION C_TOTAL_TOTAL_EXCEPTIONS_DLR_P RETURN NUMBER IS
2903   BEGIN
2904     RETURN C_TOTAL_TOTAL_EXCEPTIONS_DLR;
2905   END C_TOTAL_TOTAL_EXCEPTIONS_DLR_P;
2906 
2907   FUNCTION C_TOTAL_NEW_CHECKS_P RETURN NUMBER IS
2908   BEGIN
2909     RETURN C_TOTAL_NEW_CHECKS;
2910   END C_TOTAL_NEW_CHECKS_P;
2911 
2912   FUNCTION C_TOTAL_OLD_CHECKS_P RETURN NUMBER IS
2913   BEGIN
2914     RETURN C_TOTAL_OLD_CHECKS;
2915   END C_TOTAL_OLD_CHECKS_P;
2916 
2917   FUNCTION C_TOTAL_TOTAL_CHECKS_P RETURN NUMBER IS
2918   BEGIN
2919     RETURN C_TOTAL_TOTAL_CHECKS;
2920   END C_TOTAL_TOTAL_CHECKS_P;
2921 
2922   FUNCTION C_TOTAL_NEW_CHECKS_DLR_P RETURN NUMBER IS
2923   BEGIN
2924     RETURN C_TOTAL_NEW_CHECKS_DLR;
2925   END C_TOTAL_NEW_CHECKS_DLR_P;
2926 
2927   FUNCTION C_TOTAL_OLD_CHECKS_DLR_P RETURN NUMBER IS
2928   BEGIN
2929     RETURN C_TOTAL_OLD_CHECKS_DLR;
2930   END C_TOTAL_OLD_CHECKS_DLR_P;
2931 
2932   FUNCTION C_TOTAL_TOTAL_CHECKS_DLR_P RETURN NUMBER IS
2933   BEGIN
2934     RETURN C_TOTAL_TOTAL_CHECKS_DLR;
2935   END C_TOTAL_TOTAL_CHECKS_DLR_P;
2936 
2937   FUNCTION C_PERCENT_VENDORS_P RETURN NUMBER IS
2938   BEGIN
2939     RETURN C_PERCENT_VENDORS;
2940   END C_PERCENT_VENDORS_P;
2941 
2942   FUNCTION C_PERCENT_SITES_P RETURN NUMBER IS
2943   BEGIN
2944     RETURN C_PERCENT_SITES;
2945   END C_PERCENT_SITES_P;
2946 
2947   FUNCTION C_PERCENT_ONE_TIME_P RETURN NUMBER IS
2948   BEGIN
2949     RETURN C_PERCENT_ONE_TIME;
2950   END C_PERCENT_ONE_TIME_P;
2951 
2952   FUNCTION C_PERCENT_1099_P RETURN NUMBER IS
2953   BEGIN
2954     RETURN C_PERCENT_1099;
2955   END C_PERCENT_1099_P;
2956 
2957   FUNCTION C_PERCENT_VENDORS_HELD_P RETURN NUMBER IS
2958   BEGIN
2959     RETURN C_PERCENT_VENDORS_HELD;
2960   END C_PERCENT_VENDORS_HELD_P;
2961 
2962   FUNCTION C_PERCENT_INACTIVE_P RETURN NUMBER IS
2963   BEGIN
2964     RETURN C_PERCENT_INACTIVE;
2965   END C_PERCENT_INACTIVE_P;
2966 
2967   FUNCTION C_PERCENT_INVOICES_P RETURN NUMBER IS
2968   BEGIN
2969     RETURN C_PERCENT_INVOICES;
2970   END C_PERCENT_INVOICES_P;
2971 
2972   FUNCTION C_PERCENT_INVOICES_DLR_P RETURN NUMBER IS
2973   BEGIN
2974     RETURN C_PERCENT_INVOICES_DLR;
2975   END C_PERCENT_INVOICES_DLR_P;
2976 
2977   FUNCTION C_PERCENT_MATCHED_P RETURN NUMBER IS
2978   BEGIN
2979     RETURN C_PERCENT_MATCHED;
2980   END C_PERCENT_MATCHED_P;
2981 
2982   FUNCTION C_PERCENT_MATCHED_DLR_P RETURN NUMBER IS
2983   BEGIN
2984     RETURN C_PERCENT_MATCHED_DLR;
2985   END C_PERCENT_MATCHED_DLR_P;
2986 
2987   FUNCTION C_PERCENT_DISTS_P RETURN NUMBER IS
2988   BEGIN
2989     RETURN C_PERCENT_DISTS;
2990   END C_PERCENT_DISTS_P;
2991 
2992   FUNCTION C_PERCENT_SCHEDULED_P RETURN NUMBER IS
2993   BEGIN
2994     RETURN C_PERCENT_SCHEDULED;
2995   END C_PERCENT_SCHEDULED_P;
2996 
2997   FUNCTION C_PERCENT_BATCHES_P RETURN NUMBER IS
2998   BEGIN
2999     RETURN C_PERCENT_BATCHES;
3000   END C_PERCENT_BATCHES_P;
3001 
3002   FUNCTION C_PERCENT_INVOICE_HOLDS_P RETURN NUMBER IS
3003   BEGIN
3004     RETURN C_PERCENT_INVOICE_HOLDS;
3005   END C_PERCENT_INVOICE_HOLDS_P;
3006 
3007   FUNCTION C_PERCENT_INVOICE_HOLDS_DLR_P RETURN NUMBER IS
3008   BEGIN
3009     RETURN C_PERCENT_INVOICE_HOLDS_DLR;
3010   END C_PERCENT_INVOICE_HOLDS_DLR_P;
3011 
3012   FUNCTION C_PERCENT_MH_P RETURN NUMBER IS
3013   BEGIN
3014     RETURN C_PERCENT_MH;
3015   END C_PERCENT_MH_P;
3016 
3017   FUNCTION C_PERCENT_MH_DLR_P RETURN NUMBER IS
3018   BEGIN
3019     RETURN C_PERCENT_MH_DLR;
3020   END C_PERCENT_MH_DLR_P;
3021 
3022   FUNCTION C_PERCENT_MAN_CHECKS_P RETURN NUMBER IS
3023   BEGIN
3024     RETURN C_PERCENT_MAN_CHECKS;
3025   END C_PERCENT_MAN_CHECKS_P;
3026 
3027   FUNCTION C_PERCENT_MAN_CHECKS_DLR_P RETURN NUMBER IS
3028   BEGIN
3029     RETURN C_PERCENT_MAN_CHECKS_DLR;
3030   END C_PERCENT_MAN_CHECKS_DLR_P;
3031 
3032   FUNCTION C_PERCENT_AUTO_CHECKS_P RETURN NUMBER IS
3033   BEGIN
3034     RETURN C_PERCENT_AUTO_CHECKS;
3035   END C_PERCENT_AUTO_CHECKS_P;
3036 
3037   FUNCTION C_PERCENT_AUTO_CHECKS_DLR_P RETURN NUMBER IS
3038   BEGIN
3039     RETURN C_PERCENT_AUTO_CHECKS_DLR;
3040   END C_PERCENT_AUTO_CHECKS_DLR_P;
3041 
3042   FUNCTION C_PERCENT_PAID_INV_P RETURN NUMBER IS
3043   BEGIN
3044     RETURN C_PERCENT_PAID_INV;
3045   END C_PERCENT_PAID_INV_P;
3046 
3047   FUNCTION C_PERCENT_DISCS_P RETURN NUMBER IS
3048   BEGIN
3049     RETURN C_PERCENT_DISCS;
3050   END C_PERCENT_DISCS_P;
3051 
3052   FUNCTION C_PERCENT_DISCS_DLR_P RETURN NUMBER IS
3053   BEGIN
3054     RETURN C_PERCENT_DISCS_DLR;
3055   END C_PERCENT_DISCS_DLR_P;
3056 
3057   FUNCTION C_PERCENT_VOIDED_P RETURN NUMBER IS
3058   BEGIN
3059     RETURN C_PERCENT_VOIDED;
3060   END C_PERCENT_VOIDED_P;
3061 
3062   FUNCTION C_PERCENT_STOPPED_P RETURN NUMBER IS
3063   BEGIN
3064     RETURN C_PERCENT_STOPPED;
3065   END C_PERCENT_STOPPED_P;
3066 
3067   FUNCTION C_PERCENT_SPOILED_P RETURN NUMBER IS
3068   BEGIN
3069     RETURN C_PERCENT_SPOILED;
3070   END C_PERCENT_SPOILED_P;
3071 
3072   FUNCTION C_PERCENT_OUTSTANDING_P RETURN NUMBER IS
3073   BEGIN
3074     RETURN C_PERCENT_OUTSTANDING;
3075   END C_PERCENT_OUTSTANDING_P;
3076 
3077   FUNCTION C_PERCENT_CLEARED_P RETURN NUMBER IS
3078   BEGIN
3079     RETURN C_PERCENT_CLEARED;
3080   END C_PERCENT_CLEARED_P;
3081 
3082   FUNCTION C_PERCENT_CLEARED_DLR_P RETURN NUMBER IS
3083   BEGIN
3084     RETURN C_PERCENT_CLEARED_DLR;
3085   END C_PERCENT_CLEARED_DLR_P;
3086 
3087   FUNCTION C_PERCENT_TOTAL_EXCEPTIONS_P RETURN NUMBER IS
3088   BEGIN
3089     RETURN C_PERCENT_TOTAL_EXCEPTIONS;
3090   END C_PERCENT_TOTAL_EXCEPTIONS_P;
3091 
3092   FUNCTION C_PERCENT_TOTAL_EXCEPTIONS_DL RETURN NUMBER IS
3093   BEGIN
3094     RETURN C_PERCENT_TOTAL_EXCEPTIONS_DLR;
3095   END C_PERCENT_TOTAL_EXCEPTIONS_DL;
3096 
3097   FUNCTION C_PERCENT_TOTAL_CHECKS_P RETURN NUMBER IS
3098   BEGIN
3099     RETURN C_PERCENT_TOTAL_CHECKS;
3100   END C_PERCENT_TOTAL_CHECKS_P;
3101 
3102   FUNCTION C_PERCENT_TOTAL_CHECKS_DLR_P RETURN NUMBER IS
3103   BEGIN
3104     RETURN C_PERCENT_TOTAL_CHECKS_DLR;
3105   END C_PERCENT_TOTAL_CHECKS_DLR_P;
3106 
3107   FUNCTION C_NLS_NA_P RETURN VARCHAR2 IS
3108   BEGIN
3109     RETURN C_NLS_NA;
3110   END C_NLS_NA_P;
3111 
3112   FUNCTION C_PRIOR_PERIOD_EXISTS_P RETURN VARCHAR2 IS
3113   BEGIN
3114     RETURN C_PRIOR_PERIOD_EXISTS;
3115   END C_PRIOR_PERIOD_EXISTS_P;
3116 
3117   FUNCTION C_NLS_END_OF_REPORT_P RETURN VARCHAR2 IS
3118   BEGIN
3119     RETURN C_NLS_END_OF_REPORT;
3120   END C_NLS_END_OF_REPORT_P;
3121 
3122   FUNCTION C_PRIOR_OLD_VENDOR_SITES_P RETURN NUMBER IS
3123   BEGIN
3124     RETURN C_PRIOR_OLD_VENDOR_SITES;
3125   END C_PRIOR_OLD_VENDOR_SITES_P;
3126 
3127   FUNCTION C_PERCENT_ADDITIONAL_SITES_P RETURN NUMBER IS
3128   BEGIN
3129     RETURN C_PERCENT_ADDITIONAL_SITES;
3130   END C_PERCENT_ADDITIONAL_SITES_P;
3131 
3132   FUNCTION C_TOTAL_ADDITIONAL_SITES_P RETURN NUMBER IS
3133   BEGIN
3134     RETURN C_TOTAL_ADDITIONAL_SITES;
3135   END C_TOTAL_ADDITIONAL_SITES_P;
3136 
3137   FUNCTION C_PRIOR_VENDORS_UPDATED_P RETURN NUMBER IS
3138   BEGIN
3139     RETURN C_PRIOR_VENDORS_UPDATED;
3140   END C_PRIOR_VENDORS_UPDATED_P;
3141 
3142   FUNCTION C_PRIOR_SITES_UPDATED_P RETURN NUMBER IS
3143   BEGIN
3144     RETURN C_PRIOR_SITES_UPDATED;
3145   END C_PRIOR_SITES_UPDATED_P;
3146 
3147   FUNCTION C_PERCENT_VENDORS_UPDATED_P RETURN NUMBER IS
3148   BEGIN
3149     RETURN C_PERCENT_VENDORS_UPDATED;
3150   END C_PERCENT_VENDORS_UPDATED_P;
3151 
3152   FUNCTION C_PERCENT_SITES_UPDATED_P RETURN NUMBER IS
3153   BEGIN
3154     RETURN C_PERCENT_SITES_UPDATED;
3155   END C_PERCENT_SITES_UPDATED_P;
3156 
3157   FUNCTION C_TOTAL_VENDORS_UPDATED_P RETURN NUMBER IS
3158   BEGIN
3159     RETURN C_TOTAL_VENDORS_UPDATED;
3160   END C_TOTAL_VENDORS_UPDATED_P;
3161 
3162   FUNCTION C_TOTAL_SITES_UPDATED_P RETURN NUMBER IS
3163   BEGIN
3164     RETURN C_TOTAL_SITES_UPDATED;
3165   END C_TOTAL_SITES_UPDATED_P;
3166 
3167   FUNCTION C_SYSTEM_USER_NAME_P RETURN VARCHAR2 IS
3168   BEGIN
3169     RETURN C_SYSTEM_USER_NAME;
3170   END C_SYSTEM_USER_NAME_P;
3171 
3172   FUNCTION C_TOTAL_REFUND_CHECKS_P RETURN NUMBER IS
3173   BEGIN
3174     RETURN C_TOTAL_REFUND_CHECKS;
3175   END C_TOTAL_REFUND_CHECKS_P;
3176 
3177   FUNCTION C_TOTAL_REFUND_CHECKS_DLR_P RETURN NUMBER IS
3178   BEGIN
3179     RETURN C_TOTAL_REFUND_CHECKS_DLR;
3180   END C_TOTAL_REFUND_CHECKS_DLR_P;
3181 
3182   FUNCTION C_TOTAL_OUTSTANDING_DLR_P RETURN NUMBER IS
3183   BEGIN
3184     RETURN C_TOTAL_OUTSTANDING_DLR;
3185   END C_TOTAL_OUTSTANDING_DLR_P;
3186 
3187   FUNCTION C_NEW_OUTSTANDING_DLR_P RETURN NUMBER IS
3188   BEGIN
3189     RETURN C_NEW_OUTSTANDING_DLR;
3190   END C_NEW_OUTSTANDING_DLR_P;
3191 
3192   FUNCTION C_NEW_REFUND_PAYMENTS_P RETURN NUMBER IS
3193   BEGIN
3194     RETURN C_NEW_REFUND_PAYMENTS;
3195   END C_NEW_REFUND_PAYMENTS_P;
3196 
3197   FUNCTION C_NEW_REFUND_PAYMENTS_DLR_P RETURN NUMBER IS
3198   BEGIN
3199     RETURN C_NEW_REFUND_PAYMENTS_DLR;
3200   END C_NEW_REFUND_PAYMENTS_DLR_P;
3201 
3202   FUNCTION C_OLD_OUTSTANDING_DLR_P RETURN NUMBER IS
3203   BEGIN
3204     RETURN C_OLD_OUTSTANDING_DLR;
3205   END C_OLD_OUTSTANDING_DLR_P;
3206 
3207   FUNCTION C_OLD_REFUND_PAYMENTS_P RETURN NUMBER IS
3208   BEGIN
3209     RETURN C_OLD_REFUND_PAYMENTS;
3210   END C_OLD_REFUND_PAYMENTS_P;
3211 
3212   FUNCTION C_OLD_REFUND_PAYMENTS_DLR_P RETURN NUMBER IS
3213   BEGIN
3214     RETURN C_OLD_REFUND_PAYMENTS_DLR;
3215   END C_OLD_REFUND_PAYMENTS_DLR_P;
3216 
3217   FUNCTION C_PERCENT_OUTSTANDING_DLR_P RETURN NUMBER IS
3218   BEGIN
3219     RETURN C_PERCENT_OUTSTANDING_DLR;
3220   END C_PERCENT_OUTSTANDING_DLR_P;
3221 
3222   FUNCTION C_PERCENT_REFUND_CHECKS_P RETURN NUMBER IS
3223   BEGIN
3224     RETURN C_PERCENT_REFUND_CHECKS;
3225   END C_PERCENT_REFUND_CHECKS_P;
3226 
3227   FUNCTION C_PERCENT_REFUND_CHECKS_DLR_P RETURN NUMBER IS
3228   BEGIN
3229     RETURN C_PERCENT_REFUND_CHECKS_DLR;
3230   END C_PERCENT_REFUND_CHECKS_DLR_P;
3231 
3232   FUNCTION C_NEW_LINES_P RETURN NUMBER IS
3233   BEGIN
3234     RETURN C_NEW_LINES;
3235   END C_NEW_LINES_P;
3236 
3237   FUNCTION C_OLD_LINES_P RETURN NUMBER IS
3238   BEGIN
3239     RETURN C_OLD_LINES;
3240   END C_OLD_LINES_P;
3241 
3242   FUNCTION C_PERCENT_LINES_P RETURN NUMBER IS
3243   BEGIN
3244     RETURN C_PERCENT_LINES;
3245   END C_PERCENT_LINES_P;
3246 
3247   FUNCTION C_TOTAL_LINES_P RETURN NUMBER IS
3248   BEGIN
3249     RETURN C_TOTAL_LINES;
3250   END C_TOTAL_LINES_P;
3251 
3252   FUNCTION C_OLD_LINES_VAR_COUNT_P RETURN NUMBER IS
3253   BEGIN
3254     RETURN C_OLD_LINES_VAR_COUNT;
3255   END C_OLD_LINES_VAR_COUNT_P;
3256 
3257   FUNCTION C_OLD_LINES_VAR_AMOUNT_P RETURN NUMBER IS
3258   BEGIN
3259     RETURN C_OLD_LINES_VAR_AMOUNT;
3260   END C_OLD_LINES_VAR_AMOUNT_P;
3261 
3262   FUNCTION C_LINE_TOTAL_VARS_P RETURN NUMBER IS
3263   BEGIN
3264     RETURN C_LINE_TOTAL_VARS;
3265   END C_LINE_TOTAL_VARS_P;
3266 
3267   FUNCTION C_LINE_TOTAL_VARS_DLR_P RETURN NUMBER IS
3268   BEGIN
3269     RETURN C_LINE_TOTAL_VARS_DLR;
3270   END C_LINE_TOTAL_VARS_DLR_P;
3271 
3272   FUNCTION C_LINE_VAR_COUNT_P RETURN NUMBER IS
3273   BEGIN
3274     RETURN C_LINE_VAR_COUNT;
3275   END C_LINE_VAR_COUNT_P;
3276 
3277   FUNCTION C_LINE_VAR_AMOUNT_P RETURN NUMBER IS
3278   BEGIN
3279     RETURN C_LINE_VAR_AMOUNT;
3280   END C_LINE_VAR_AMOUNT_P;
3281 
3282   FUNCTION C_OLD_DISTS_VAR_COUNT_P RETURN NUMBER IS
3283   BEGIN
3284     RETURN C_OLD_DISTS_VAR_COUNT;
3285   END C_OLD_DISTS_VAR_COUNT_P;
3286 
3287   FUNCTION C_OLD_DISTS_VAR_AMOUNT_P RETURN NUMBER IS
3288   BEGIN
3289     RETURN C_OLD_DISTS_VAR_AMOUNT;
3290   END C_OLD_DISTS_VAR_AMOUNT_P;
3291 
3292   FUNCTION C_DIST_TOTAL_VARS_P RETURN NUMBER IS
3293   BEGIN
3294     RETURN C_DIST_TOTAL_VARS;
3295   END C_DIST_TOTAL_VARS_P;
3296 
3297   FUNCTION C_DIST_TOTAL_VARS_DLR_P RETURN NUMBER IS
3298   BEGIN
3299     RETURN C_DIST_TOTAL_VARS_DLR;
3300   END C_DIST_TOTAL_VARS_DLR_P;
3301 
3302   FUNCTION C_DIST_VAR_COUNT_P RETURN NUMBER IS
3303   BEGIN
3304     RETURN C_DIST_VAR_COUNT;
3305   END C_DIST_VAR_COUNT_P;
3306 
3307   FUNCTION C_DIST_VAR_AMOUNT_P RETURN NUMBER IS
3308   BEGIN
3309     RETURN C_DIST_VAR_AMOUNT;
3310   END C_DIST_VAR_AMOUNT_P;
3311 
3312   FUNCTION C_PERCENT_LINE_VARS_P RETURN NUMBER IS
3313   BEGIN
3314     RETURN C_PERCENT_LINE_VARS;
3315   END C_PERCENT_LINE_VARS_P;
3316 
3317   FUNCTION C_PERCENT_DIST_VARS_P RETURN NUMBER IS
3318   BEGIN
3319     RETURN C_PERCENT_DIST_VARS;
3320   END C_PERCENT_DIST_VARS_P;
3321 
3322   FUNCTION C_PERCENT_LINE_VARS_DLR_P RETURN NUMBER IS
3323   BEGIN
3324     RETURN C_PERCENT_LINE_VARS_DLR;
3325   END C_PERCENT_LINE_VARS_DLR_P;
3326 
3327   FUNCTION C_PERCENT_DIST_VARS_DLR_P RETURN NUMBER IS
3328   BEGIN
3329     RETURN C_PERCENT_DIST_VARS_DLR;
3330   END C_PERCENT_DIST_VARS_DLR_P;
3331 
3332   FUNCTION C_AVERAGE_DISTS_P RETURN NUMBER IS
3333   BEGIN
3334     RETURN C_AVERAGE_DISTS;
3335   END C_AVERAGE_DISTS_P;
3336 
3337   FUNCTION C_ORG_ID_P RETURN NUMBER IS
3338   BEGIN
3339     RETURN C_ORG_ID;
3340   END C_ORG_ID_P;
3341 
3342 END AP_APXKIRKI_XMLP_PKG;
3343 
3344