DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_ARXKIR_XMLP_PKG

Source


1 PACKAGE BODY AR_ARXKIR_XMLP_PKG AS
2 /* $Header: ARXKIRB.pls 120.0 2007/12/27 13:54:51 abraghun noship $ */
3   FUNCTION C_1FORMULA(CURRENT_PERIOD IN VARCHAR2
4                      ,PRIOR_PERIOD IN VARCHAR2
5                      ,CURRENT_YEAR IN NUMBER
6                      ,SET_OF_BOOKS_ID_LP IN VARCHAR2
7                      ,CURRENT_END_DATE IN DATE
8                      ,CURRENT_START_DATE IN DATE
9                      ,PRIOR_END_DATE IN DATE
10                      ,PRIOR_START_DATE IN DATE) RETURN NUMBER IS
11   BEGIN
12     DECLARE
13       CURRENT_CUSTOMER_COUNT NUMBER(9,2);
14       PRIOR_CUSTOMER_COUNT NUMBER(9,2);
15       CURRENT_YEAR_CUSTOMER_COUNT NUMBER(9,2);
16       CURRENT_LOCATION_COUNT NUMBER(9,2);
17       PRIOR_LOCATION_COUNT NUMBER(9,2);
18       PRIOR_YEAR_COUNT NUMBER(9,2);
19       CURRENT_ON_HOLD_Y_COUNT NUMBER(9,2);
20       PRIOR_ON_HOLD_Y_COUNT NUMBER(9,2);
21       YEAR_ON_HOLD_Y_COUNT NUMBER(9,2);
22       CURRENT_ON_HOLD_N_COUNT NUMBER(9,2);
23       PRIOR_ON_HOLD_N_COUNT NUMBER(9,2);
24       YEAR_ON_HOLD_N_COUNT NUMBER(9,2);
25       CURRENT_PAY_PER_DAY NUMBER(9,2);
26       PRIOR_PAY_PER_DAY NUMBER(9,2);
27       CURRENT_BATCH_PER_DAY NUMBER(9,2);
28       PRIOR_BATCH_PER_DAY NUMBER(9,2);
29       CURRENT_PAY_PER_BATCH NUMBER(9,2);
30       PRIOR_PAY_PER_BATCH NUMBER(9,2);
31     BEGIN
32       SELECT
33         NVL(SUM(DECODE(GPS.PERIOD_NAME
34                       ,CURRENT_PERIOD
35                       ,1
36                       ,0))
37            ,0) CURRENT_CUSTOMER_COUNT,
38         NVL(SUM(DECODE(GPS.PERIOD_NAME
39                       ,PRIOR_PERIOD
40                       ,1
41                       ,0))
42            ,0) PRIOR_CUSTOMER_COUNT,
43         NVL(SUM(DECODE(GPS.PERIOD_YEAR
44                       ,CURRENT_YEAR
45                       ,1
46                       ,0))
47            ,0) CURRENT_YEAR_CUSTOMER_COUNT
48       INTO CURRENT_CUSTOMER_COUNT,PRIOR_CUSTOMER_COUNT,CURRENT_YEAR_CUSTOMER_COUNT
49       FROM
50         HZ_CUST_ACCOUNTS C,
51         GL_PERIOD_STATUSES GPS
52       WHERE C.CREATION_DATE BETWEEN GPS.START_DATE
53         AND GPS.END_DATE
54         AND GPS.APPLICATION_ID = 222
55         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
56         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
57       OR GPS.PERIOD_NAME = PRIOR_PERIOD )
58         AND C.CREATION_DATE BETWEEN GPS.START_DATE
59         AND GPS.END_DATE;
60       P_CURRENT_CUSTOMER_COUNT := CURRENT_CUSTOMER_COUNT;
61       P_PRIOR_CUSTOMER_COUNT := PRIOR_CUSTOMER_COUNT;
62       P_CURRENT_YEAR_CUSTOMER_COUNT := CURRENT_YEAR_CUSTOMER_COUNT;
63       SELECT
64         NVL(SUM(DECODE(GPS.PERIOD_NAME
65                       ,CURRENT_PERIOD
66                       ,1
67                       ,0))
68            ,0) CURRENT_LOCATION_COUNT,
69         NVL(SUM(DECODE(GPS.PERIOD_NAME
70                       ,PRIOR_PERIOD
71                       ,1
72                       ,0))
73            ,0) PRIOR_LOCATION_COUNT,
74         NVL(SUM(DECODE(GPS.PERIOD_YEAR
75                       ,CURRENT_YEAR
76                       ,1
77                       ,0))
78            ,0) PRIOR_YEAR_COUNT
79       INTO CURRENT_LOCATION_COUNT,PRIOR_LOCATION_COUNT,PRIOR_YEAR_COUNT
80       FROM
81         HZ_CUST_ACCT_SITES A,
82         GL_PERIOD_STATUSES GPS
83       WHERE A.CREATION_DATE BETWEEN GPS.START_DATE
84         AND GPS.END_DATE
85         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
86         AND GPS.APPLICATION_ID = 222
87         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
88       OR GPS.PERIOD_NAME = PRIOR_PERIOD );
89       P_CURRENT_LOCATION_COUNT := CURRENT_LOCATION_COUNT;
90       P_PRIOR_LOCATION_COUNT := PRIOR_LOCATION_COUNT;
91       P_PRIOR_YEAR_COUNT := PRIOR_YEAR_COUNT;
92       SELECT
93         NVL(SUM(DECODE(GPS.PERIOD_NAME
94                       ,CURRENT_PERIOD
95                       ,1
96                       ,0))
97            ,0) CURRENT_ON_HOLD_Y_COUNT,
98         NVL(SUM(DECODE(GPS.PERIOD_NAME
99                       ,PRIOR_PERIOD
100                       ,1
101                       ,0))
102            ,0) PRIOR_ON_HOLD_Y_COUNT,
103         NVL(SUM(DECODE(GPS.PERIOD_YEAR
104                       ,CURRENT_YEAR
105                       ,1
106                       ,0))
107            ,0) YEAR_ON_HOLD_Y_COUNT
108       INTO CURRENT_ON_HOLD_Y_COUNT,PRIOR_ON_HOLD_Y_COUNT,YEAR_ON_HOLD_Y_COUNT
109       FROM
110         AR_CREDIT_HISTORIES CH,
111         GL_PERIOD_STATUSES GPS
112       WHERE CH.CREATION_DATE BETWEEN GPS.START_DATE
113         AND GPS.END_DATE
114         AND CH.ON_HOLD = 'Y'
115         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
116         AND GPS.APPLICATION_ID = 222
117         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
118       OR GPS.PERIOD_NAME = PRIOR_PERIOD );
119       P_CURRENT_ON_HOLD_Y_COUNT := CURRENT_ON_HOLD_Y_COUNT;
120       P_PRIOR_ON_HOLD_Y_COUNT := PRIOR_ON_HOLD_Y_COUNT;
121       P_YEAR_ON_HOLD_Y_COUNT := YEAR_ON_HOLD_Y_COUNT;
122       SELECT
123         NVL(SUM(DECODE(GPS.PERIOD_NAME
124                       ,CURRENT_PERIOD
125                       ,1
126                       ,0))
127            ,0) CURRENT_ON_HOLD_N_COUNT,
128         NVL(SUM(DECODE(GPS.PERIOD_NAME
129                       ,PRIOR_PERIOD
130                       ,1
131                       ,0))
132            ,0) PRIOR_ON_HOLD_N_COUNT,
133         NVL(SUM(DECODE(GPS.PERIOD_YEAR
134                       ,CURRENT_YEAR
135                       ,1
136                       ,0))
137            ,0) YEAR_ON_HOLD_N_COUNT
138       INTO CURRENT_ON_HOLD_N_COUNT,PRIOR_ON_HOLD_N_COUNT,YEAR_ON_HOLD_N_COUNT
139       FROM
140         AR_CREDIT_HISTORIES CH,
141         GL_PERIOD_STATUSES GPS
142       WHERE CH.CREATION_DATE BETWEEN GPS.START_DATE
143         AND GPS.END_DATE
144         AND CH.ON_HOLD = 'N'
145         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
146         AND GPS.APPLICATION_ID = 222
147         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
148       OR GPS.PERIOD_NAME = PRIOR_PERIOD );
149       P_CURRENT_ON_HOLD_N_COUNT := CURRENT_ON_HOLD_N_COUNT;
150       P_PRIOR_ON_HOLD_N_COUNT := PRIOR_ON_HOLD_N_COUNT;
151       P_YEAR_ON_HOLD_N_COUNT := YEAR_ON_HOLD_N_COUNT;
152       SELECT
153         ROUND(NVL(SUM(DECODE(GPS.PERIOD_NAME
154                             ,CURRENT_PERIOD
155                             ,1
156                             ,0))
157                  ,0) / ((CURRENT_END_DATE) - (CURRENT_START_DATE))
158              ,1) CURRENT_PAY_PER_DAY,
159         ROUND(NVL(SUM(DECODE(GPS.PERIOD_NAME
160                             ,PRIOR_PERIOD
161                             ,1
162                             ,0))
163                  ,0) / ((PRIOR_END_DATE) - (PRIOR_START_DATE))
164              ,1) PRIOR_PAY_PER_DAY
165       INTO CURRENT_PAY_PER_DAY,PRIOR_PAY_PER_DAY
166       FROM
167         AR_CASH_RECEIPTS CR,
168         AR_RECEIPT_METHODS RM,
169         AR_RECEIPT_CLASSES RC,
170         AR_CASH_RECEIPT_HISTORY CRH,
171         GL_PERIOD_STATUSES GPS
172       WHERE CR.RECEIPT_METHOD_ID = RM.RECEIPT_METHOD_ID
173         AND RM.RECEIPT_CLASS_ID = RC.RECEIPT_CLASS_ID
174         AND CR.CASH_RECEIPT_ID = CRH.CASH_RECEIPT_ID
175         AND CRH.FIRST_POSTED_RECORD_FLAG = 'Y'
176         AND RC.CREATION_METHOD_CODE = 'MANUAL'
177         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
178         AND GPS.APPLICATION_ID = 222
179         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
180       OR GPS.PERIOD_NAME = PRIOR_PERIOD )
181         AND CRH.GL_DATE BETWEEN GPS.START_DATE
182         AND GPS.END_DATE
183         AND CR.STATUS NOT IN ( 'NSF' , 'REV' , 'STOP' );
184       P_CURRENT_PAY_PER_DAY := CURRENT_PAY_PER_DAY;
185       P_PRIOR_PAY_PER_DAY := PRIOR_PAY_PER_DAY;
186       SELECT
187         NVL(ROUND(SUM(DECODE(GPS.PERIOD_NAME
188                             ,CURRENT_PERIOD
189                             ,1
190                             ,0)) / ((CURRENT_END_DATE) - (CURRENT_START_DATE))
191                  ,1)
192            ,0) CURRENT_BATCH_PER_DAY,
193         NVL(ROUND(SUM(DECODE(GPS.PERIOD_NAME
194                             ,PRIOR_PERIOD
195                             ,1
196                             ,0)) / ((PRIOR_END_DATE) - (PRIOR_START_DATE))
197                  ,1)
198            ,0) PRIOR_BATCH_PER_DAY
199       INTO CURRENT_BATCH_PER_DAY,PRIOR_BATCH_PER_DAY
200       FROM
201         AR_BATCHES B,
202         GL_PERIOD_STATUSES GPS
203       WHERE GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
204         AND GPS.APPLICATION_ID = 222
205         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
206       OR GPS.PERIOD_NAME = PRIOR_PERIOD )
207         AND B.TYPE = 'MANUAL'
208         AND B.GL_DATE BETWEEN GPS.START_DATE
209         AND GPS.END_DATE;
210       P_CURRENT_BATCH_PER_DAY := CURRENT_BATCH_PER_DAY;
211       P_PRIOR_BATCH_PER_DAY := PRIOR_BATCH_PER_DAY;
212       SELECT
213         NVL(ROUND(AVG(DECODE(GPS.PERIOD_NAME
214                             ,CURRENT_PERIOD
215                             ,COUNT(CR.CASH_RECEIPT_ID)
216                             ,NULL))
217                  ,1)
218            ,0) CURRENT_PAY_PER_BATCH,
219         NVL(ROUND(AVG(DECODE(GPS.PERIOD_NAME
220                             ,PRIOR_PERIOD
221                             ,COUNT(CR.CASH_RECEIPT_ID)
222                             ,NULL))
223                  ,1)
224            ,0) PRIOR_PAY_PER_BATCH
225       INTO CURRENT_PAY_PER_BATCH,PRIOR_PAY_PER_BATCH
226       FROM
227         AR_CASH_RECEIPTS CR,
228         AR_RECEIPT_METHODS RM,
229         AR_RECEIPT_CLASSES RC,
230         AR_CASH_RECEIPT_HISTORY CRH,
231         AR_BATCHES B,
232         GL_PERIOD_STATUSES GPS
233       WHERE CR.RECEIPT_METHOD_ID = RM.RECEIPT_METHOD_ID
234         AND RM.RECEIPT_CLASS_ID = RC.RECEIPT_CLASS_ID
235         AND CR.CASH_RECEIPT_ID = CRH.CASH_RECEIPT_ID
236         AND CRH.FIRST_POSTED_RECORD_FLAG = 'Y'
237         AND RC.CREATION_METHOD_CODE = 'MANUAL'
238         AND GPS.SET_OF_BOOKS_ID = SET_OF_BOOKS_ID_LP
239         AND GPS.APPLICATION_ID = 222
240         AND ( GPS.PERIOD_NAME = CURRENT_PERIOD
241       OR GPS.PERIOD_NAME = PRIOR_PERIOD )
242         AND CRH.BATCH_ID = B.BATCH_ID
243         AND B.GL_DATE BETWEEN GPS.START_DATE
244         AND GPS.END_DATE
245       GROUP BY
246         B.BATCH_ID,
247         GPS.PERIOD_NAME;
248       P_CURRENT_PAY_PER_BATCH := CURRENT_PAY_PER_BATCH;
249       P_PRIOR_PAY_PER_BATCH := PRIOR_PAY_PER_BATCH;
250       RETURN (1);
251     END;
252     RETURN NULL;
253   END C_1FORMULA;
254 
255   FUNCTION PC_ON_HOLD_N_COUNTFORMULA RETURN VARCHAR2 IS
256   BEGIN
257     DECLARE
258       PERCENT_VALUE VARCHAR2(240);
259     BEGIN
260       /*SRW.REFERENCE(P_PRIOR_ON_HOLD_N_COUNT)*/NULL;
261       /*SRW.REFERENCE(P_CURRENT_ON_HOLD_N_COUNT)*/NULL;
262       SELECT
263         DECODE(P_PRIOR_ON_HOLD_N_COUNT
264               ,0
265               ,'n/a'
266               ,NVL(TO_CHAR(((P_CURRENT_ON_HOLD_N_COUNT - P_PRIOR_ON_HOLD_N_COUNT) * 100 / P_PRIOR_ON_HOLD_N_COUNT)
267                          ,'990D00')
268                  ,'n/a'))
269       INTO PERCENT_VALUE
270       FROM
271         DUAL;
272       IF PERCENT_VALUE = 'n/a' THEN
273         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
274       END IF;
275       RETURN (PERCENT_VALUE);
276     END;
277     RETURN NULL;
278   END PC_ON_HOLD_N_COUNTFORMULA;
279 
280   FUNCTION PC_ON_HOLD_Y_COUNTFORMULA RETURN VARCHAR2 IS
281   BEGIN
282     DECLARE
283       PERCENT_VALUE VARCHAR2(240);
284     BEGIN
285       /*SRW.REFERENCE(P_PRIOR_ON_HOLD_Y_COUNT)*/NULL;
286       /*SRW.REFERENCE(P_CURRENT_ON_HOLD_Y_COUNT)*/NULL;
287       SELECT
288         DECODE(P_PRIOR_ON_HOLD_Y_COUNT
289               ,0
290               ,'n/a'
291               ,NVL(TO_CHAR(((P_CURRENT_ON_HOLD_Y_COUNT - P_PRIOR_ON_HOLD_Y_COUNT) * 100 / P_PRIOR_ON_HOLD_Y_COUNT)
292                          ,'990D00')
293                  ,'n/a'))
294       INTO PERCENT_VALUE
295       FROM
296         DUAL;
297       IF PERCENT_VALUE = 'n/a' THEN
298         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
299       END IF;
300       RETURN (PERCENT_VALUE);
301     END;
302     RETURN NULL;
303   END PC_ON_HOLD_Y_COUNTFORMULA;
304 
305   FUNCTION PC_NEW_INVOICES_COUNTFORMULA(PRIOR_NEW_INVOICES_COUNT IN NUMBER
306                                        ,CURRENT_NEW_INVOICES_COUN IN NUMBER) RETURN VARCHAR2 IS
307   BEGIN
308     DECLARE
309       PERCENT_VALUE VARCHAR2(240);
310     BEGIN
311       /*SRW.REFERENCE(PRIOR_NEW_INVOICES_COUNT)*/NULL;
312       /*SRW.REFERENCE(CURRENT_NEW_INVOICES_COUN)*/NULL;
313       SELECT
314         DECODE(PRIOR_NEW_INVOICES_COUNT
315               ,0
316               ,'n/a'
317               ,TO_CHAR((((CURRENT_NEW_INVOICES_COUN - PRIOR_NEW_INVOICES_COUNT) / PRIOR_NEW_INVOICES_COUNT)) * 100
318                      ,'990D00'))
319       INTO PERCENT_VALUE
320       FROM
321         DUAL;
322       IF PERCENT_VALUE = 'n/a' THEN
323         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
324       END IF;
325       RETURN (PERCENT_VALUE);
326     END;
327     RETURN NULL;
328   END PC_NEW_INVOICES_COUNTFORMULA;
329 
330   FUNCTION PC_NEW_INVOICES_AMOUNTFORMULA(PRIOR_NEW_INVOICES_AMOUNT IN NUMBER
331                                         ,CURRENT_NEW_INVOICES_AMOU IN NUMBER) RETURN VARCHAR2 IS
332   BEGIN
333     DECLARE
334       PERCENT_VALUE VARCHAR2(240);
335     BEGIN
336       /*SRW.REFERENCE(PRIOR_NEW_INVOICES_AMOUNT)*/NULL;
337       /*SRW.REFERENCE(CURRENT_NEW_INVOICES_AMOU)*/NULL;
338       SELECT
339         DECODE(PRIOR_NEW_INVOICES_AMOUNT
340               ,0
341               ,'n/a'
342               ,NVL(TO_CHAR(((CURRENT_NEW_INVOICES_AMOU - PRIOR_NEW_INVOICES_AMOUNT) * 100 / PRIOR_NEW_INVOICES_AMOUNT)
343                          ,'990D00')
344                  ,'n/a'))
345       INTO PERCENT_VALUE
346       FROM
347         DUAL;
348       IF PERCENT_VALUE = 'n/a' THEN
349         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
350       END IF;
351       RETURN (PERCENT_VALUE);
352     END;
353     RETURN NULL;
354   END PC_NEW_INVOICES_AMOUNTFORMULA;
355 
356   FUNCTION PC_NEW_CREDIT_COUNTFORMULA(PRIOR_NEW_CREDIT_COUNT IN NUMBER
357                                      ,CURRENT_NEW_CREDIT_COUNT IN NUMBER) RETURN VARCHAR2 IS
358   BEGIN
359     DECLARE
360       PERCENT_VALUE VARCHAR2(240);
361     BEGIN
362       /*SRW.REFERENCE(PRIOR_NEW_CREDIT_COUNT)*/NULL;
363       /*SRW.REFERENCE(CURRENT_NEW_CREDIT_COUNT)*/NULL;
364       SELECT
365         DECODE(PRIOR_NEW_CREDIT_COUNT
366               ,0
367               ,'n/a'
368               ,NVL(TO_CHAR(((CURRENT_NEW_CREDIT_COUNT - PRIOR_NEW_CREDIT_COUNT) * 100 / PRIOR_NEW_CREDIT_COUNT)
369                          ,'990D00')
370                  ,'n/a'))
371       INTO PERCENT_VALUE
372       FROM
373         DUAL;
374       IF PERCENT_VALUE = 'n/a' THEN
375         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
376       END IF;
377       RETURN (PERCENT_VALUE);
378     END;
379     RETURN NULL;
380   END PC_NEW_CREDIT_COUNTFORMULA;
381 
382   FUNCTION PC_NEW_CREDIT_AMOUNTFORMULA(PRIOR_NEW_CREDIT_AMOUNT IN NUMBER
383                                       ,CURRENT_NEW_CREDIT_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
384   BEGIN
385     DECLARE
386       PERCENT_VALUE VARCHAR2(240);
387     BEGIN
388       /*SRW.REFERENCE(PRIOR_NEW_CREDIT_AMOUNT)*/NULL;
389       /*SRW.REFERENCE(CURRENT_NEW_CREDIT_AMOUNT)*/NULL;
390       SELECT
391         DECODE(PRIOR_NEW_CREDIT_AMOUNT
392               ,0
393               ,'n/a'
394               ,NVL(TO_CHAR(((CURRENT_NEW_CREDIT_AMOUNT - PRIOR_NEW_CREDIT_AMOUNT) * 100 / PRIOR_NEW_CREDIT_AMOUNT)
395                          ,'990D00')
396                  ,'n/a'))
397       INTO PERCENT_VALUE
398       FROM
399         DUAL;
400       IF PERCENT_VALUE = 'n/a' THEN
401         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
402       END IF;
403       RETURN (PERCENT_VALUE);
404     END;
405     RETURN NULL;
406   END PC_NEW_CREDIT_AMOUNTFORMULA;
407 
408   FUNCTION PC_DUE_COUNTFORMULA(PRIOR_DUE_COUNT IN NUMBER
409                               ,CURRENT_DUE_COUNT IN NUMBER) RETURN VARCHAR2 IS
410   BEGIN
411     DECLARE
412       PERCENT_VALUE VARCHAR2(240);
413     BEGIN
414       /*SRW.REFERENCE(PRIOR_DUE_COUNT)*/NULL;
415       /*SRW.REFERENCE(CURRENT_DUE_COUNT)*/NULL;
416       SELECT
417         DECODE(PRIOR_DUE_COUNT
418               ,0
419               ,'n/a'
420               ,NVL(TO_CHAR(((CURRENT_DUE_COUNT - PRIOR_DUE_COUNT) * 100 / PRIOR_DUE_COUNT)
421                          ,'990D00')
422                  ,'n/a'))
423       INTO PERCENT_VALUE
424       FROM
425         DUAL;
426       IF PERCENT_VALUE = 'n/a' THEN
427         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
428       END IF;
429       RETURN (PERCENT_VALUE);
430     END;
431     RETURN NULL;
432   END PC_DUE_COUNTFORMULA;
433 
434   FUNCTION PC_DUE_AMOUNTFORMULA(PRIOR_DUE_AMOUNT IN NUMBER
435                                ,CURRENT_DUE_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
436   BEGIN
437     DECLARE
438       PERCENT_VALUE VARCHAR2(240);
439     BEGIN
440       /*SRW.REFERENCE(PRIOR_DUE_AMOUNT)*/NULL;
441       /*SRW.REFERENCE(CURRENT_DUE_AMOUNT)*/NULL;
442       SELECT
443         DECODE(PRIOR_DUE_AMOUNT
444               ,0
445               ,'n/a'
446               ,NVL(TO_CHAR(((CURRENT_DUE_AMOUNT - PRIOR_DUE_AMOUNT) * 100 / PRIOR_DUE_AMOUNT)
447                          ,'990D00')
448                  ,'n/a'))
449       INTO PERCENT_VALUE
450       FROM
451         DUAL;
452       IF PERCENT_VALUE = 'n/a' THEN
453         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
454       END IF;
455       RETURN (PERCENT_VALUE);
456     END;
457     RETURN NULL;
458   END PC_DUE_AMOUNTFORMULA;
459 
460   FUNCTION PC_PAST_DUE_AMOUNTFORMULA(CURRENT_PAST_DUE_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
461   BEGIN
462     DECLARE
463       PERCENT_VALUE VARCHAR2(240);
464     BEGIN
465       /*SRW.REFERENCE(P_PRIOR_PAST_DUE_AMOUNT)*/NULL;
466       /*SRW.REFERENCE(CURRENT_PAST_DUE_AMOUNT)*/NULL;
467       SELECT
468         DECODE(P_PRIOR_PAST_DUE_AMOUNT
469               ,0
470               ,'n/a'
471               ,NVL(TO_CHAR(((CURRENT_PAST_DUE_AMOUNT - P_PRIOR_PAST_DUE_AMOUNT) * 100 / P_PRIOR_PAST_DUE_AMOUNT)
472                          ,'990D00')
473                  ,'n/a'))
474       INTO PERCENT_VALUE
475       FROM
476         DUAL;
477       IF PERCENT_VALUE = 'n/a' THEN
478         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
479       END IF;
480       RETURN (PERCENT_VALUE);
481     END;
482     RETURN NULL;
483   END PC_PAST_DUE_AMOUNTFORMULA;
484 
485   FUNCTION PC_PAST_DUE_COUNTFORMULA(CURRENT_PAST_DUE_COUNT IN NUMBER) RETURN VARCHAR2 IS
486   BEGIN
487     DECLARE
488       PERCENT_VALUE VARCHAR2(240);
489     BEGIN
490       /*SRW.REFERENCE(P_PRIOR_PAST_DUE_COUNT)*/NULL;
491       /*SRW.REFERENCE(CURRENT_PAST_DUE_COUNT)*/NULL;
492       SELECT
493         DECODE(P_PRIOR_PAST_DUE_COUNT
494               ,0
495               ,'n/a'
496               ,NVL(TO_CHAR(((CURRENT_PAST_DUE_COUNT - P_PRIOR_PAST_DUE_COUNT) * 100 / P_PRIOR_PAST_DUE_COUNT)
497                          ,'990D00')
498                  ,'n/a'))
499       INTO PERCENT_VALUE
500       FROM
501         DUAL;
502       IF PERCENT_VALUE = 'n/a' THEN
503         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
504       END IF;
505       RETURN (PERCENT_VALUE);
506     END;
507     RETURN NULL;
508   END PC_PAST_DUE_COUNTFORMULA;
509 
510   FUNCTION PC_QC_COUNTFORMULA(PRIOR_QC_COUNT IN NUMBER
511                              ,CURRENT_QC_COUNT IN NUMBER) RETURN VARCHAR2 IS
512   BEGIN
513     DECLARE
514       PERCENT_VALUE VARCHAR2(240);
515     BEGIN
516       /*SRW.REFERENCE(PRIOR_QC_COUNT)*/NULL;
517       /*SRW.REFERENCE(CURRENT_QC_COUNT)*/NULL;
518       SELECT
519         DECODE(PRIOR_QC_COUNT
520               ,0
521               ,'n/a'
522               ,NVL(TO_CHAR(((CURRENT_QC_COUNT - PRIOR_QC_COUNT) * 100 / PRIOR_QC_COUNT)
523                          ,'990D00')
524                  ,'n/a'))
525       INTO PERCENT_VALUE
526       FROM
527         DUAL;
528       IF PERCENT_VALUE = 'n/a' THEN
529         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
530       END IF;
531       RETURN (PERCENT_VALUE);
532     END;
533     RETURN NULL;
534   END PC_QC_COUNTFORMULA;
535 
536   FUNCTION PC_QC_AMOUNTFORMULA(PRIOR_QC_AMOUNT IN NUMBER
537                               ,CURRENT_QC_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
538   BEGIN
539     DECLARE
540       PERCENT_VALUE VARCHAR2(240);
541     BEGIN
542       /*SRW.REFERENCE(PRIOR_QC_AMOUNT)*/NULL;
543       /*SRW.REFERENCE(CURRENT_QC_AMOUNT)*/NULL;
544       SELECT
545         DECODE(PRIOR_QC_AMOUNT
546               ,0
547               ,'n/a'
548               ,NVL(TO_CHAR(((CURRENT_QC_AMOUNT - PRIOR_QC_AMOUNT) * 100 / PRIOR_QC_AMOUNT)
549                          ,'990D00')
550                  ,'n/a'))
551       INTO PERCENT_VALUE
552       FROM
553         DUAL;
554       IF PERCENT_VALUE = 'n/a' THEN
555         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
556       END IF;
557       RETURN (PERCENT_VALUE);
558     END;
559     RETURN NULL;
560   END PC_QC_AMOUNTFORMULA;
561 
562   FUNCTION PC_C_COUNTFORMULA(PRIOR_C_COUNT IN NUMBER
563                             ,CURRENT_C_COUNT IN NUMBER) RETURN VARCHAR2 IS
564   BEGIN
565     DECLARE
566       PERCENT_VALUE VARCHAR2(240);
567     BEGIN
568       /*SRW.REFERENCE(PRIOR_C_COUNT)*/NULL;
569       /*SRW.REFERENCE(CURRENT_C_COUNT)*/NULL;
570       SELECT
571         DECODE(PRIOR_C_COUNT
572               ,0
573               ,'n/a'
574               ,NVL(TO_CHAR(((CURRENT_C_COUNT - PRIOR_C_COUNT) * 100 / PRIOR_C_COUNT)
575                          ,'990D00')
576                  ,'n/a'))
577       INTO PERCENT_VALUE
578       FROM
579         DUAL;
580       IF PERCENT_VALUE = 'n/a' THEN
581         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
582       END IF;
583       RETURN (PERCENT_VALUE);
584     END;
585     RETURN NULL;
586   END PC_C_COUNTFORMULA;
587 
588   FUNCTION PC_C_AMOUNTFORMULA(PRIOR_C_AMOUNT IN NUMBER
589                              ,CURRENT_C_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
590   BEGIN
591     DECLARE
592       PERCENT_VALUE VARCHAR2(240);
593     BEGIN
594       /*SRW.REFERENCE(PRIOR_C_AMOUNT)*/NULL;
595       /*SRW.REFERENCE(CURRENT_C_AMOUNT)*/NULL;
596       SELECT
597         DECODE(PRIOR_C_AMOUNT
598               ,0
599               ,'n/a'
600               ,NVL(TO_CHAR(((CURRENT_C_AMOUNT - PRIOR_C_AMOUNT) * 100 / PRIOR_C_AMOUNT)
601                          ,'990D00')
602                  ,'n/a'))
603       INTO PERCENT_VALUE
604       FROM
605         DUAL;
606       IF PERCENT_VALUE = 'n/a' THEN
607         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
608       END IF;
609       RETURN (PERCENT_VALUE);
610     END;
611     RETURN NULL;
612   END PC_C_AMOUNTFORMULA;
613 
614   FUNCTION PC_CR_COUNTFORMULA(PRIOR_CR_COUNT IN NUMBER
615                              ,CURRENT_CR_COUNT IN NUMBER) RETURN VARCHAR2 IS
616   BEGIN
617     DECLARE
618       PERCENT_VALUE VARCHAR2(240);
619     BEGIN
620       /*SRW.REFERENCE(PRIOR_CR_COUNT)*/NULL;
621       /*SRW.REFERENCE(CURRENT_CR_COUNT)*/NULL;
622       SELECT
623         DECODE(PRIOR_CR_COUNT
624               ,0
625               ,'n/a'
626               ,NVL(TO_CHAR(((CURRENT_CR_COUNT - PRIOR_CR_COUNT) * 100 / PRIOR_CR_COUNT)
627                          ,'990D00')
628                  ,'n/a'))
629       INTO PERCENT_VALUE
630       FROM
631         DUAL;
632       IF PERCENT_VALUE = 'n/a' THEN
633         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
634       END IF;
635       RETURN (PERCENT_VALUE);
636     END;
637     RETURN NULL;
638   END PC_CR_COUNTFORMULA;
639 
640   FUNCTION PC_CR_AMOUNTFORMULA(PRIOR_CR_AMOUNT IN NUMBER
641                               ,CURRENT_CR_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
642   BEGIN
643     DECLARE
644       PERCENT_VALUE VARCHAR2(240);
645     BEGIN
646       /*SRW.REFERENCE(PRIOR_CR_AMOUNT)*/NULL;
647       /*SRW.REFERENCE(CURRENT_CR_AMOUNT)*/NULL;
648       SELECT
649         DECODE(PRIOR_CR_AMOUNT
650               ,0
651               ,'n/a'
652               ,NVL(TO_CHAR(((CURRENT_CR_AMOUNT - PRIOR_CR_AMOUNT) * 100 / PRIOR_CR_AMOUNT)
653                          ,'990D00')
654                  ,'n/a'))
655       INTO PERCENT_VALUE
656       FROM
657         DUAL;
658       IF PERCENT_VALUE = 'n/a' THEN
659         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
660       END IF;
661       RETURN (PERCENT_VALUE);
662     END;
663     RETURN NULL;
664   END PC_CR_AMOUNTFORMULA;
665 
666   FUNCTION PC_ADJUST_COUNTFORMULA(PRIOR_ADJUST_COUNT IN NUMBER
667                                  ,CURRENT_ADJUST_COUNT IN NUMBER) RETURN VARCHAR2 IS
668   BEGIN
669     DECLARE
670       PERCENT_VALUE VARCHAR2(240);
671     BEGIN
672       /*SRW.REFERENCE(PRIOR_ADJUST_COUNT)*/NULL;
673       /*SRW.REFERENCE(CURRENT_ADJUST_COUNT)*/NULL;
674       SELECT
675         DECODE(PRIOR_ADJUST_COUNT
676               ,0
677               ,'n/a'
678               ,NVL(TO_CHAR(((CURRENT_ADJUST_COUNT - PRIOR_ADJUST_COUNT) * 100 / PRIOR_ADJUST_COUNT)
679                          ,'990D00')
680                  ,'n/a'))
681       INTO PERCENT_VALUE
682       FROM
683         DUAL;
684       IF PERCENT_VALUE = 'n/a' THEN
685         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
686       END IF;
687       RETURN (PERCENT_VALUE);
688     END;
689     RETURN NULL;
690   END PC_ADJUST_COUNTFORMULA;
691 
692   FUNCTION PC_ADJUST_AMOUNTFORMULA(PRIOR_ADJUST_AMOUNT IN NUMBER
693                                   ,CURRENT_ADJUST_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
694   BEGIN
695     DECLARE
696       PERCENT_VALUE VARCHAR2(240);
697     BEGIN
698       /*SRW.REFERENCE(PRIOR_ADJUST_AMOUNT)*/NULL;
699       /*SRW.REFERENCE(CURRENT_ADJUST_AMOUNT)*/NULL;
700       SELECT
701         DECODE(PRIOR_ADJUST_AMOUNT
702               ,0
703               ,'n/a'
704               ,NVL(TO_CHAR(((CURRENT_ADJUST_AMOUNT - PRIOR_ADJUST_AMOUNT) * 100 / PRIOR_ADJUST_AMOUNT)
705                          ,'990D00')
706                  ,'n/a'))
707       INTO PERCENT_VALUE
708       FROM
709         DUAL;
710       IF PERCENT_VALUE = 'n/a' THEN
711         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
712       END IF;
713       RETURN (PERCENT_VALUE);
714     END;
715     RETURN NULL;
716   END PC_ADJUST_AMOUNTFORMULA;
717 
718   FUNCTION PC_TYPE_AMOUNTFORMULA(PRIOR_TYPE_AMOUNT IN NUMBER
719                                 ,CURRENT_TYPE_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
720   BEGIN
721     DECLARE
722       PERCENT_VALUE VARCHAR2(240);
723     BEGIN
724       /*SRW.REFERENCE(PRIOR_TYPE_AMOUNT)*/NULL;
725       /*SRW.REFERENCE(CURRENT_TYPE_AMOUNT)*/NULL;
726       SELECT
727         DECODE(PRIOR_TYPE_AMOUNT
728               ,0
729               ,'n/a'
730               ,NVL(TO_CHAR(((CURRENT_TYPE_AMOUNT - PRIOR_TYPE_AMOUNT) * 100 / PRIOR_TYPE_AMOUNT)
731                          ,'990D00')
732                  ,'n/a'))
733       INTO PERCENT_VALUE
734       FROM
735         DUAL;
736       IF PERCENT_VALUE = 'n/a' THEN
737         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
738       END IF;
742   END PC_TYPE_AMOUNTFORMULA;
739       RETURN (PERCENT_VALUE);
740     END;
741     RETURN NULL;
743 
744   FUNCTION PC_PT_COUNTFORMULA(PRIOR_PT_COUNT IN NUMBER
745                              ,CURRENT_PT_COUNT IN NUMBER) RETURN VARCHAR2 IS
746   BEGIN
747     DECLARE
748       PERCENT_VALUE VARCHAR2(240);
749     BEGIN
750       /*SRW.REFERENCE(PRIOR_PT_COUNT)*/NULL;
751       /*SRW.REFERENCE(CURRENT_PT_COUNT)*/NULL;
752       SELECT
753         DECODE(PRIOR_PT_COUNT
754               ,0
755               ,'n/a'
756               ,NVL(TO_CHAR(((CURRENT_PT_COUNT - PRIOR_PT_COUNT) * 100 / PRIOR_PT_COUNT)
757                          ,'990D00')
758                  ,'n/a'))
759       INTO PERCENT_VALUE
760       FROM
761         DUAL;
762       IF PERCENT_VALUE = 'n/a' THEN
763         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
764       END IF;
765       RETURN (PERCENT_VALUE);
766     END;
767     RETURN NULL;
768   END PC_PT_COUNTFORMULA;
769 
770   FUNCTION PC_NSF_COUNTFORMULA(PRIOR_NSF_COUNT IN NUMBER
771                               ,CURRENT_NSF_COUNT IN NUMBER) RETURN VARCHAR2 IS
772   BEGIN
773     DECLARE
774       PERCENT_VALUE VARCHAR2(240);
775     BEGIN
776       /*SRW.REFERENCE(PRIOR_NSF_COUNT)*/NULL;
777       /*SRW.REFERENCE(CURRENT_NSF_COUNT)*/NULL;
778       SELECT
779         DECODE(PRIOR_NSF_COUNT
780               ,0
781               ,'n/a'
782               ,NVL(TO_CHAR(((CURRENT_NSF_COUNT - PRIOR_NSF_COUNT) * 100 / PRIOR_NSF_COUNT)
783                          ,'990D00')
784                  ,'n/a'))
785       INTO PERCENT_VALUE
786       FROM
787         DUAL;
788       IF PERCENT_VALUE = 'n/a' THEN
789         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
790       END IF;
791       RETURN (PERCENT_VALUE);
792     END;
793     RETURN NULL;
794   END PC_NSF_COUNTFORMULA;
795 
796   FUNCTION PC_NSF_AMOUNTFORMULA(PRIOR_NSF_AMOUNT IN NUMBER
797                                ,CURRENT_NSF_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
798   BEGIN
799     DECLARE
800       PERCENT_VALUE VARCHAR2(240);
801     BEGIN
802       /*SRW.REFERENCE(PRIOR_NSF_AMOUNT)*/NULL;
803       /*SRW.REFERENCE(CURRENT_NSF_AMOUNT)*/NULL;
804       SELECT
805         DECODE(PRIOR_NSF_AMOUNT
806               ,0
807               ,'n/a'
808               ,NVL(TO_CHAR(((CURRENT_NSF_AMOUNT - PRIOR_NSF_AMOUNT) * 100 / PRIOR_NSF_AMOUNT)
809                          ,'990D00')
810                  ,'n/a'))
811       INTO PERCENT_VALUE
812       FROM
813         DUAL;
814       IF PERCENT_VALUE = 'n/a' THEN
815         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
816       END IF;
817       RETURN (PERCENT_VALUE);
818     END;
819     RETURN NULL;
820   END PC_NSF_AMOUNTFORMULA;
821 
822   FUNCTION PC_OR_AMOUNTFORMULA(PRIOR_OR_AMOUNT IN NUMBER
823                               ,CURRENT_OR_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
824   BEGIN
825     DECLARE
826       PERCENT_VALUE VARCHAR2(240);
827     BEGIN
828       /*SRW.REFERENCE(PRIOR_OR_AMOUNT)*/NULL;
829       /*SRW.REFERENCE(CURRENT_OR_AMOUNT)*/NULL;
830       SELECT
831         DECODE(PRIOR_OR_AMOUNT
832               ,0
833               ,'n/a'
834               ,NVL(TO_CHAR(((CURRENT_OR_AMOUNT - PRIOR_OR_AMOUNT) * 100 / PRIOR_OR_AMOUNT)
835                          ,'990D00')
836                  ,'n/a'))
837       INTO PERCENT_VALUE
838       FROM
839         DUAL;
840       IF PERCENT_VALUE = 'n/a' THEN
841         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
842       END IF;
843       RETURN (PERCENT_VALUE);
844     END;
845     RETURN NULL;
846   END PC_OR_AMOUNTFORMULA;
847 
848   FUNCTION PC_OR_COUNTFORMULA(PRIOR_OR_COUNT IN NUMBER
849                              ,CURRENT_OR_COUNT IN NUMBER) RETURN VARCHAR2 IS
850   BEGIN
851     DECLARE
852       PERCENT_VALUE VARCHAR2(240);
853     BEGIN
854       /*SRW.REFERENCE(PRIOR_OR_COUNT)*/NULL;
855       /*SRW.REFERENCE(CURRENT_OR_COUNT)*/NULL;
856       SELECT
857         DECODE(PRIOR_OR_COUNT
858               ,0
859               ,'n/a'
860               ,NVL(TO_CHAR(((CURRENT_OR_COUNT - PRIOR_OR_COUNT) * 100 / PRIOR_OR_COUNT)
861                          ,'990D00')
862                  ,'n/a'))
863       INTO PERCENT_VALUE
864       FROM
865         DUAL;
866       IF PERCENT_VALUE = 'n/a' THEN
867         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
868       END IF;
869       RETURN (PERCENT_VALUE);
870     END;
871     RETURN NULL;
872   END PC_OR_COUNTFORMULA;
873 
874   FUNCTION PC_EDT_COUNTFORMULA(PRIOR_EDT_COUNT IN NUMBER
875                               ,CURRENT_EDT_COUNT IN NUMBER) RETURN VARCHAR2 IS
876   BEGIN
877     DECLARE
878       PERCENT_VALUE VARCHAR2(240);
879     BEGIN
880       /*SRW.REFERENCE(PRIOR_EDT_COUNT)*/NULL;
881       /*SRW.REFERENCE(CURRENT_EDT_COUNT)*/NULL;
882       SELECT
883         DECODE(PRIOR_EDT_COUNT
884               ,0
885               ,'n/a'
886               ,NVL(TO_CHAR(((CURRENT_EDT_COUNT - PRIOR_EDT_COUNT) * 100 / PRIOR_EDT_COUNT)
887                          ,'990D00')
888                  ,'n/a'))
889       INTO PERCENT_VALUE
890       FROM
891         DUAL;
892       IF PERCENT_VALUE = 'n/a' THEN
893         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
894       END IF;
895       RETURN (PERCENT_VALUE);
896     END;
897     RETURN NULL;
898   END PC_EDT_COUNTFORMULA;
899 
900   FUNCTION PC_EDT_AMOUNTFORMULA(PRIOR_EDT_AMOUNT IN NUMBER
904       PERCENT_VALUE VARCHAR2(240);
901                                ,CURRENT_EDT_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
902   BEGIN
903     DECLARE
905     BEGIN
906       /*SRW.REFERENCE(PRIOR_EDT_AMOUNT)*/NULL;
907       /*SRW.REFERENCE(CURRENT_EDT_AMOUNT)*/NULL;
908       SELECT
909         DECODE(PRIOR_EDT_AMOUNT
910               ,0
911               ,'n/a'
912               ,NVL(TO_CHAR(((CURRENT_EDT_AMOUNT - PRIOR_EDT_AMOUNT) * 100 / PRIOR_EDT_AMOUNT)
913                          ,'990D00')
914                  ,'n/a'))
915       INTO PERCENT_VALUE
916       FROM
917         DUAL;
918       IF PERCENT_VALUE = 'n/a' THEN
919         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
920       END IF;
921       RETURN (PERCENT_VALUE);
922     END;
923     RETURN NULL;
924   END PC_EDT_AMOUNTFORMULA;
925 
926   FUNCTION PC_UDT_COUNTFORMULA(PRIOR_UDT_COUNT IN NUMBER
927                               ,CURRENT_UDT_COUNT IN NUMBER) RETURN VARCHAR2 IS
928   BEGIN
929     DECLARE
930       PERCENT_VALUE VARCHAR2(240);
931     BEGIN
932       /*SRW.REFERENCE(PRIOR_UDT_COUNT)*/NULL;
933       /*SRW.REFERENCE(CURRENT_UDT_COUNT)*/NULL;
934       SELECT
935         DECODE(PRIOR_UDT_COUNT
936               ,0
937               ,'n/a'
938               ,NVL(TO_CHAR(((CURRENT_UDT_COUNT - PRIOR_UDT_COUNT) * 100 / PRIOR_UDT_COUNT)
939                          ,'990D00')
940                  ,'n/a'))
941       INTO PERCENT_VALUE
942       FROM
943         DUAL;
944       IF PERCENT_VALUE = 'n/a' THEN
945         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
946       END IF;
947       RETURN (PERCENT_VALUE);
948     END;
949     RETURN NULL;
950   END PC_UDT_COUNTFORMULA;
951 
952   FUNCTION PC_UDT_AMOUNTFORMULA(PRIOR_UDT_AMOUNT IN NUMBER
953                                ,CURRENT_UDT_AMOUNT IN NUMBER) RETURN VARCHAR2 IS
954   BEGIN
955     DECLARE
956       PERCENT_VALUE VARCHAR2(240);
957     BEGIN
958       /*SRW.REFERENCE(PRIOR_UDT_AMOUNT)*/NULL;
959       /*SRW.REFERENCE(CURRENT_UDT_AMOUNT)*/NULL;
960       SELECT
961         DECODE(PRIOR_UDT_AMOUNT
962               ,0
963               ,'n/a'
964               ,NVL(TO_CHAR(((CURRENT_UDT_AMOUNT - PRIOR_UDT_AMOUNT) * 100 / PRIOR_UDT_AMOUNT)
965                          ,'990D00')
966                  ,'n/a'))
967       INTO PERCENT_VALUE
968       FROM
969         DUAL;
970       IF PERCENT_VALUE = 'n/a' THEN
971         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
972       END IF;
973       RETURN (PERCENT_VALUE);
974     END;
975     RETURN NULL;
976   END PC_UDT_AMOUNTFORMULA;
977 
978   FUNCTION PC1_CUSTOMER_COUNTFORMULA RETURN VARCHAR2 IS
979   BEGIN
980     DECLARE
981       PERCENT_VALUE VARCHAR2(240);
982     BEGIN
983       /*SRW.REFERENCE(P_PRIOR_CUSTOMER_COUNT)*/NULL;
984       /*SRW.REFERENCE(P_CURRENT_CUSTOMER_COUNT)*/NULL;
985       SELECT
986         DECODE(P_PRIOR_CUSTOMER_COUNT
987               ,0
988               ,'n/a'
989               ,NVL(TO_CHAR(((P_CURRENT_CUSTOMER_COUNT - P_PRIOR_CUSTOMER_COUNT) * 100 / P_PRIOR_CUSTOMER_COUNT)
990                          ,'990D00')
991                  ,'n/a'))
992       INTO PERCENT_VALUE
993       FROM
994         DUAL;
995       IF PERCENT_VALUE = 'n/a' THEN
996         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
997       END IF;
998       PC_CUSTOMER_COUNT := PERCENT_VALUE;
999       RETURN (PERCENT_VALUE);
1000     END;
1001     RETURN NULL;
1002   END PC1_CUSTOMER_COUNTFORMULA;
1003 
1004   FUNCTION PC1_LOCATION_COUNTFORMULA RETURN VARCHAR2 IS
1005   BEGIN
1006     DECLARE
1007       PERCENT_VALUE VARCHAR2(240);
1008     BEGIN
1009       /*SRW.REFERENCE(P_PRIOR_LOCATION_COUNT)*/NULL;
1010       /*SRW.REFERENCE(P_CURRENT_LOCATION_COUNT)*/NULL;
1011       SELECT
1012         DECODE(P_PRIOR_LOCATION_COUNT
1013               ,0
1014               ,'n/a'
1015               ,NVL(TO_CHAR(((P_CURRENT_LOCATION_COUNT - P_PRIOR_LOCATION_COUNT) * 100 / P_PRIOR_LOCATION_COUNT)
1016                          ,'990D00')
1017                  ,'n/a'))
1018       INTO PERCENT_VALUE
1019       FROM
1020         DUAL;
1021       IF PERCENT_VALUE = 'n/a' THEN
1022         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
1023       END IF;
1024       PC_LOCATION_COUNT := PERCENT_VALUE;
1025       RETURN (PERCENT_VALUE);
1026     END;
1027     RETURN NULL;
1028   END PC1_LOCATION_COUNTFORMULA;
1029 
1030   FUNCTION PC1_PAY_PER_BATCHFORMULA RETURN VARCHAR2 IS
1031   BEGIN
1032     DECLARE
1033       PERCENT_VALUE VARCHAR2(240);
1034     BEGIN
1035       /*SRW.REFERENCE(P_PRIOR_PAY_PER_BATCH)*/NULL;
1036       /*SRW.REFERENCE(P_CURRENT_PAY_PER_BATCH)*/NULL;
1037       SELECT
1038         DECODE(P_PRIOR_PAY_PER_BATCH
1039               ,0
1040               ,'n/a'
1041               ,NVL(TO_CHAR(((P_CURRENT_PAY_PER_BATCH - P_PRIOR_PAY_PER_BATCH) * 100 / P_PRIOR_PAY_PER_BATCH)
1042                          ,'990D00')
1043                  ,'n/a'))
1044       INTO PERCENT_VALUE
1045       FROM
1046         DUAL;
1047       IF PERCENT_VALUE = 'n/a' THEN
1048         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
1049       END IF;
1050       PC_PAY_PER_BATCH := PERCENT_VALUE;
1051       RETURN (PERCENT_VALUE);
1052     END;
1053     RETURN NULL;
1054   END PC1_PAY_PER_BATCHFORMULA;
1055 
1056   FUNCTION PC1_PAY_PER_DAYFORMULA RETURN VARCHAR2 IS
1057   BEGIN
1058     DECLARE
1059       PERCENT_VALUE VARCHAR2(240);
1060     BEGIN
1064         DECODE(P_PRIOR_PAY_PER_DAY
1061       /*SRW.REFERENCE(P_PRIOR_PAY_PER_DAY)*/NULL;
1062       /*SRW.REFERENCE(P_CURRENT_PAY_PER_DAY)*/NULL;
1063       SELECT
1065               ,0
1066               ,'n/a'
1067               ,NVL(TO_CHAR(((P_CURRENT_PAY_PER_DAY - P_PRIOR_PAY_PER_DAY) * 100 / P_PRIOR_PAY_PER_DAY)
1068                          ,'990D00')
1069                  ,'n/a'))
1070       INTO PERCENT_VALUE
1071       FROM
1072         DUAL;
1073       IF PERCENT_VALUE = 'n/a' THEN
1074         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
1075       END IF;
1076       PC_PAY_PER_DAY := PERCENT_VALUE;
1077       RETURN (PERCENT_VALUE);
1078     END;
1079     RETURN NULL;
1080   END PC1_PAY_PER_DAYFORMULA;
1081 
1082   FUNCTION PC1_BATCH_PER_DAY_COUNTFORMULA RETURN VARCHAR2 IS
1083   BEGIN
1084     DECLARE
1085       PERCENT_VALUE VARCHAR2(240);
1086     BEGIN
1087       /*SRW.REFERENCE(P_PRIOR_BATCH_PER_DAY)*/NULL;
1088       /*SRW.REFERENCE(P_CURRENT_BATCH_PER_DAY)*/NULL;
1089       SELECT
1090         DECODE(P_PRIOR_BATCH_PER_DAY
1091               ,0
1092               ,'n/a'
1093               ,NVL(TO_CHAR(((P_CURRENT_BATCH_PER_DAY - P_PRIOR_BATCH_PER_DAY) * 100 / P_PRIOR_BATCH_PER_DAY)
1094                          ,'990D00')
1095                  ,'n/a'))
1096       INTO PERCENT_VALUE
1097       FROM
1098         DUAL;
1099       IF PERCENT_VALUE = 'n/a' THEN
1100         PERCENT_VALUE := ARP_STANDARD.FND_MESSAGE('AR_REPORTS_NA_LOWER');
1101       END IF;
1102       PC_BATCH_PER_DAY_COUNT := PERCENT_VALUE;
1103       RETURN (PERCENT_VALUE);
1104     END;
1105     RETURN NULL;
1106   END PC1_BATCH_PER_DAY_COUNTFORMULA;
1107 
1108   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
1109   BEGIN
1110     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
1111     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
1112     RETURN (TRUE);
1113   END BEFOREREPORT;
1114 
1115   FUNCTION AFTERREPORT RETURN BOOLEAN IS
1116   BEGIN
1117     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
1118     RETURN (TRUE);
1119   END AFTERREPORT;
1120 
1121   FUNCTION PC_PRIOR_PAST_DUE_COUNTFORMULA RETURN NUMBER IS
1122   BEGIN
1123     /*SRW.REFERENCE(P_PRIOR_PAST_DUE_COUNT)*/NULL;
1124     RETURN (P_PRIOR_PAST_DUE_COUNT);
1125   END PC_PRIOR_PAST_DUE_COUNTFORMULA;
1126 
1127   FUNCTION C_COPY_VALUEFORMULA(PRIOR_PAST_DUE_COUNT IN NUMBER
1128                               ,PRIOR_PAST_DUE_AMOUNT IN NUMBER) RETURN NUMBER IS
1129   BEGIN
1130     BEGIN
1131       /*SRW.REFERENCE(PRIOR_PAST_DUE_COUNT)*/NULL;
1132       /*SRW.REFERENCE(PRIOR_PAST_DUE_AMOUNT)*/NULL;
1133       /*SRW.REFERENCE(P_PRIOR_PAST_DUE_COUNT)*/NULL;
1134       /*SRW.REFERENCE(P_PRIOR_PAST_DUE_AMOUNT)*/NULL;
1135       P_PRIOR_PAST_DUE_COUNT := PRIOR_PAST_DUE_COUNT;
1136       P_PRIOR_PAST_DUE_AMOUNT := PRIOR_PAST_DUE_AMOUNT;
1137       RETURN 0;
1138     END;
1139     RETURN NULL;
1140   END C_COPY_VALUEFORMULA;
1141 
1142   FUNCTION P_CURRENT_CUSTOMER_COUNT_P RETURN NUMBER IS
1143   BEGIN
1144     RETURN P_CURRENT_CUSTOMER_COUNT;
1145   END P_CURRENT_CUSTOMER_COUNT_P;
1146 
1147   FUNCTION P_PRIOR_CUSTOMER_COUNT_P RETURN NUMBER IS
1148   BEGIN
1149     RETURN P_PRIOR_CUSTOMER_COUNT;
1150   END P_PRIOR_CUSTOMER_COUNT_P;
1151 
1152   FUNCTION P_CURRENT_YEAR_CUSTOMER_COUNTF RETURN NUMBER IS
1153   BEGIN
1154     RETURN P_CURRENT_YEAR_CUSTOMER_COUNT;
1155   END P_CURRENT_YEAR_CUSTOMER_COUNTF;
1156 
1157   FUNCTION P_CURRENT_LOCATION_COUNT_P RETURN NUMBER IS
1158   BEGIN
1159     RETURN P_CURRENT_LOCATION_COUNT;
1160   END P_CURRENT_LOCATION_COUNT_P;
1161 
1162   FUNCTION P_PRIOR_LOCATION_COUNT_P RETURN NUMBER IS
1163   BEGIN
1164     RETURN P_PRIOR_LOCATION_COUNT;
1165   END P_PRIOR_LOCATION_COUNT_P;
1166 
1167   FUNCTION P_PRIOR_YEAR_COUNT_P RETURN NUMBER IS
1168   BEGIN
1169     RETURN P_PRIOR_YEAR_COUNT;
1170   END P_PRIOR_YEAR_COUNT_P;
1171 
1172   FUNCTION P_CURRENT_ON_HOLD_Y_COUNT_P RETURN NUMBER IS
1173   BEGIN
1174     RETURN P_CURRENT_ON_HOLD_Y_COUNT;
1175   END P_CURRENT_ON_HOLD_Y_COUNT_P;
1176 
1177   FUNCTION P_PRIOR_ON_HOLD_Y_COUNT_P RETURN NUMBER IS
1178   BEGIN
1179     RETURN P_PRIOR_ON_HOLD_Y_COUNT;
1180   END P_PRIOR_ON_HOLD_Y_COUNT_P;
1181 
1182   FUNCTION P_YEAR_ON_HOLD_Y_COUNT_P RETURN NUMBER IS
1183   BEGIN
1184     RETURN P_YEAR_ON_HOLD_Y_COUNT;
1185   END P_YEAR_ON_HOLD_Y_COUNT_P;
1186 
1187   FUNCTION P_CURRENT_ON_HOLD_N_COUNT_P RETURN NUMBER IS
1188   BEGIN
1189     RETURN P_CURRENT_ON_HOLD_N_COUNT;
1190   END P_CURRENT_ON_HOLD_N_COUNT_P;
1191 
1192   FUNCTION P_PRIOR_ON_HOLD_N_COUNT_P RETURN NUMBER IS
1193   BEGIN
1194     RETURN P_PRIOR_ON_HOLD_N_COUNT;
1195   END P_PRIOR_ON_HOLD_N_COUNT_P;
1196 
1197   FUNCTION P_YEAR_ON_HOLD_N_COUNT_P RETURN NUMBER IS
1198   BEGIN
1199     RETURN P_YEAR_ON_HOLD_N_COUNT;
1200   END P_YEAR_ON_HOLD_N_COUNT_P;
1201 
1202   FUNCTION P_CURRENT_PAY_PER_DAY_P RETURN NUMBER IS
1203   BEGIN
1204     RETURN P_CURRENT_PAY_PER_DAY;
1205   END P_CURRENT_PAY_PER_DAY_P;
1206 
1207   FUNCTION P_PRIOR_PAY_PER_DAY_P RETURN NUMBER IS
1208   BEGIN
1209     RETURN P_PRIOR_PAY_PER_DAY;
1210   END P_PRIOR_PAY_PER_DAY_P;
1211 
1212   FUNCTION P_PRIOR_BATCH_PER_DAY_P RETURN NUMBER IS
1213   BEGIN
1214     RETURN P_PRIOR_BATCH_PER_DAY;
1215   END P_PRIOR_BATCH_PER_DAY_P;
1216 
1217   FUNCTION P_CURRENT_BATCH_PER_DAY_P RETURN NUMBER IS
1218   BEGIN
1219     RETURN P_CURRENT_BATCH_PER_DAY;
1220   END P_CURRENT_BATCH_PER_DAY_P;
1221 
1222   FUNCTION P_CURRENT_PAY_PER_BATCH_P RETURN NUMBER IS
1223   BEGIN
1224     RETURN P_CURRENT_PAY_PER_BATCH;
1225   END P_CURRENT_PAY_PER_BATCH_P;
1226 
1227   FUNCTION P_PRIOR_PAY_PER_BATCH_P RETURN NUMBER IS
1228   BEGIN
1229     RETURN P_PRIOR_PAY_PER_BATCH;
1230   END P_PRIOR_PAY_PER_BATCH_P;
1231 
1232   FUNCTION PC_LOCATION_COUNT_P RETURN VARCHAR2 IS
1233   BEGIN
1234     RETURN PC_LOCATION_COUNT;
1235   END PC_LOCATION_COUNT_P;
1236 
1237   FUNCTION PC_BATCH_PER_DAY_COUNT_P RETURN VARCHAR2 IS
1238   BEGIN
1239     RETURN PC_BATCH_PER_DAY_COUNT;
1240   END PC_BATCH_PER_DAY_COUNT_P;
1241 
1242   FUNCTION PC_PAY_PER_BATCH_P RETURN VARCHAR2 IS
1243   BEGIN
1244     RETURN PC_PAY_PER_BATCH;
1245   END PC_PAY_PER_BATCH_P;
1246 
1247   FUNCTION PC_PAY_PER_DAY_P RETURN VARCHAR2 IS
1248   BEGIN
1249     RETURN PC_PAY_PER_DAY;
1250   END PC_PAY_PER_DAY_P;
1251 
1252   FUNCTION PC_CUSTOMER_COUNT_P RETURN VARCHAR2 IS
1253   BEGIN
1254     RETURN PC_CUSTOMER_COUNT;
1255   END PC_CUSTOMER_COUNT_P;
1256 
1257   FUNCTION C_PRIOR_PAST_DUE_COUNT_P RETURN NUMBER IS
1258   BEGIN
1259     RETURN C_PRIOR_PAST_DUE_COUNT;
1260   END C_PRIOR_PAST_DUE_COUNT_P;
1261 
1262   FUNCTION C_PRIOR_PAST_DUE_AMOUNT_P RETURN NUMBER IS
1263   BEGIN
1264     RETURN C_PRIOR_PAST_DUE_AMOUNT;
1265   END C_PRIOR_PAST_DUE_AMOUNT_P;
1266 
1267 END AR_ARXKIR_XMLP_PKG;
1268