[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,
91 p_precision,
88 arpcurr.functional_amount( nvl(ra.unearned_discount_taken,0),
89 p_func_curr,
90 p_exc_rate,
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;