DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_ARXVASUM_AMT

Source


1 PACKAGE BODY ARP_ARXVASUM_AMT AS
2 /* $Header: ARCEAMTB.pls 115.4 2002/11/18 21:34:10 anukumar ship $ */
3 
4 
5 procedure get_financecharg(
6 p_financecharg_amount IN OUT NOCOPY NUMBER,
7 p_financecharg_func_amt IN OUT NOCOPY NUMBER,
8 p_financecharg_count IN OUT NOCOPY NUMBER,
9 p_start_date IN gl_period_statuses.start_date%TYPE,
10 p_end_date IN gl_period_statuses.end_date%TYPE,
11 p_customer_id IN hz_cust_accounts.cust_account_id%TYPE,
12 p_site_use_id IN hz_cust_site_uses.site_use_id%TYPE,
13 p_currency_code IN ar_payment_schedules.invoice_currency_code%TYPE,
14 p_func_curr IN VARCHAR2,
15 p_exc_rate IN NUMBER,
16 p_precision IN NUMBER,
17 p_min_acc_unit IN  NUMBER
18  ) is
19 begin
20 select  decode(p_currency_code,
21         NULL , NULL , nvl(sum(a.amount),0)),
22         nvl(sum( decode(p_exc_rate,
23                   NULL, a.acctd_amount,
24                         arpcurr.functional_amount(a.amount,
25                           p_func_curr,
26                           p_exc_rate,
27                           p_precision,
28                           p_min_acc_unit ))),0),
29         count(a.amount)
30 into    p_financecharg_amount,
31         p_financecharg_func_amt,
32         p_financecharg_count
33 from    ar_adjustments a,
34         ar_payment_schedules ps,
35         ar_receivables_trx rt
36 where
37         a.gl_date between p_start_date
38                        and p_end_date
39 and     nvl(a.postable,'Y')      = 'Y'
40 and     a.payment_schedule_id    = ps.payment_schedule_id
41 and     ps.customer_id           = p_customer_id
42 and     nvl(ps.customer_site_use_id, -10) = nvl(p_site_use_id, nvl(ps.customer_site_use_id, -10) )
43 and     a.receivables_trx_id     = rt.receivables_trx_id
44 and     nvl(rt.type,'X')         = 'FINCHRG'
45 AND     ps.invoice_currency_code = nvl(p_currency_code, ps.invoice_currency_code)
46 AND     nvl(ps.receipt_confirmed_flag,'Y') = 'Y';
47 
48 
49 --arp_standard.enable_debug;
50 EXCEPTION
51         WHEN OTHERS THEN
52              arp_standard.debug( 'Exception:');
53 end;
54 
55 
56 
57 procedure get_discounts(
58 p_earned_discounts IN OUT NOCOPY NUMBER,
59 p_unearned_discounts IN OUT NOCOPY NUMBER,
60 p_earned_func_disc IN OUT NOCOPY NUMBER,
61 p_unearned_func_disc IN OUT NOCOPY NUMBER,
62 p_earned_disc_count IN OUT NOCOPY NUMBER,
63 p_unearned_disc_count IN OUT NOCOPY NUMBER,
64 p_start_date IN gl_period_statuses.start_date%TYPE,
65 p_end_date IN gl_period_statuses.end_date%TYPE,
66 p_customer_id IN hz_cust_accounts.cust_account_id%TYPE,
67 p_site_use_id IN hz_cust_site_uses.site_use_id%TYPE,
68 p_currency_code IN ar_payment_schedules.invoice_currency_code%TYPE,
69 p_func_curr IN VARCHAR2,
70 p_exc_rate IN NUMBER,
71 p_precision IN NUMBER,
72 p_min_acc_unit IN  NUMBER
73  ) is
74 begin
75 SELECT  decode(p_currency_code,
76         NULL , NULL , nvl(sum(ra.earned_discount_taken),0)),
77         decode(p_currency_code,
78         NULL , NULL , nvl(sum(ra.unearned_discount_taken),0)),
79         nvl(sum( decode(p_exc_rate,
80                   NULL, ra.acctd_earned_discount_taken,
81                         arpcurr.functional_amount( nvl(ra.earned_discount_taken,0),
82                           p_func_curr,
83                           p_exc_rate,
84                           p_precision,
85                           p_min_acc_unit ))),0),
86         nvl(sum( decode(p_exc_rate,
87                   NULL, ra.acctd_unearned_discount_taken,
88                         arpcurr.functional_amount( nvl(ra.unearned_discount_taken,0),
89                           p_func_curr,
90                           p_exc_rate,
91                           p_precision,
92                           p_min_acc_unit ))),0),
93         count(ra.earned_discount_taken),
94         count(ra.unearned_discount_taken)
95 INTO    p_earned_discounts,
96         p_unearned_discounts,
97         p_earned_func_disc,
98         p_unearned_func_disc,
99         p_earned_disc_count,
100         p_unearned_disc_count
101 FROM    ar_payment_schedules ps,
102         ar_receivable_applications ra
103 where
104         ra.gl_date between p_start_date
105                        and p_end_date
106 AND     ps.payment_schedule_id   = ra.applied_payment_schedule_id
107 and     ps.customer_id           = p_customer_id
108 and     nvl(ps.customer_site_use_id, -10) = nvl(p_site_use_id, nvl(ps.customer_site_use_id, -10) )
109 AND     ps.invoice_currency_code = nvl(p_currency_code, ps.invoice_currency_code)
110 AND     nvl(ps.receipt_confirmed_flag,'Y') = 'Y';
111 
112 
113 --arp_standard.enable_debug;
114 EXCEPTION
115         WHEN OTHERS THEN
116              arp_standard.debug( 'Exception:');
117 end;
118 
119 
120 
121 end;