DBA Data[Home] [Help]

PACKAGE: APPS.AP_ACCTG_PAY_DIST_PKG

Source


1 PACKAGE AP_ACCTG_PAY_DIST_PKG AS
2 /* $Header: appaydis.pls 120.16.12010000.2 2008/08/08 03:25:52 sparames ship $ */
3 
4 
5   TYPE r_inv_pay_info IS RECORD
6       (Invoice_ID                AP_Invoices.Invoice_ID%TYPE
7       ,Invoice_Payment_ID        AP_Invoice_Payments.Invoice_Payment_ID%TYPE
8       ,Amount                    AP_Invoice_Payments.Amount%TYPE
9       ,Discount_Taken            AP_Invoice_Payments.Discount_Taken%TYPE
10       ,Payment_Base_Amount       AP_Invoice_Payments.Payment_Base_Amount%TYPE
11       ,Invoice_Base_Amount       AP_Invoice_Payments.Invoice_Base_Amount%TYPE
12       ,Exchange_Rate_Type        AP_Invoice_Payments.Exchange_Rate_Type%TYPE
13       ,Exchange_Date             AP_Invoice_Payments.Exchange_Date%TYPE
14       ,Exchange_Rate             AP_Invoice_Payments.Exchange_Rate%TYPE
15       ,Reversal_Flag             AP_Invoice_Payments.Reversal_Flag%TYPE
16       ,Reversal_Inv_Pmt_ID       AP_Invoice_Payments.Reversal_Inv_Pmt_ID%TYPE
17       );
18 
19 
20   -- Cursor to get invoice payments for the given event id
21   CURSOR Invoice_Payments
22         (P_Event_ID     NUMBER
23         ,P_Invoice_ID   NUMBER DEFAULT NULL
24         ) IS
25   SELECT AIP.Invoice_ID,
26          AIP.Invoice_Payment_ID,
27          AIP.Amount,
28          AIP.Discount_Taken,
29          AIP.Payment_Base_Amount,
30          AIP.Invoice_Base_Amount,
31          AIP.Exchange_Rate_Type,
32          AIP.Exchange_Date,
33          AIP.Exchange_Rate,
34          NVL(AIP.Reversal_Flag,'N'),
35          AIP.Reversal_Inv_Pmt_ID
36   FROM   AP_Invoice_Payments_All AIP
37   WHERE  Accounting_Event_ID = P_Event_ID
38   AND    AIP.Invoice_ID = DECODE(P_Invoice_ID, NULL, AIP.Invoice_ID,
39                                  P_Invoice_ID);
40 
41   -- Cursor to get all the invoice payments that has been paid by
42   -- the check being passed. This cursor will also get all the
43   -- invoice payments that have been adjusted after the payment has
44   -- been cleared.
45   CURSOR Clrg_Invoice_Payments
46         (P_Check_ID     NUMBER
47         ) IS
48   SELECT AIP.Invoice_ID,
49          AIP.Invoice_Payment_ID,
50          AIP.Amount,
51          AIP.Discount_Taken,
52          AIP.Payment_Base_Amount,
53          AIP.Invoice_Base_Amount,
54          AIP.Exchange_Rate_Type,
55          AIP.Exchange_Date,
56          AIP.Exchange_Rate,
57          NVL(AIP.Reversal_Flag,'N'),
58          AIP.Reversal_Inv_Pmt_ID
59   FROM   AP_Invoice_Payments_All AIP
60   WHERE  AIP.Check_ID = P_Check_ID
61   --AND    NVL(AIP.Reversal_Flag, 'N') <> 'Y'     --bug 7029334
62   AND    AIP.Accounting_Event_ID NOT IN
63                     (SELECT APH.Accounting_Event_ID
64                      FROM   AP_Payment_History_All APH
65                      WHERE  APH.Check_ID = P_Check_ID
66                      AND    APH.Transaction_Type = 'PAYMENT CANCELLED');  --bug 7029334 'PAYMENT CANCELLATION'
67 
68   -- Cursor to get payment history information
69   -- bug 5623129
70   --   add Nvl bank_To_Base_XRate to 1 when bank currency code
71   --   is the same as base currency code. pmt exchange rate
72   --   is the clear exchange rate.
73   CURSOR Payment_History
74         (P_Event_ID      NUMBER
75         ) IS
76   SELECT APH.Payment_History_ID,
77          APH.Pmt_Currency_Code,
78          APH.Pmt_To_Base_XRate_Type,
79          APH.Pmt_To_Base_XRate_Date,
80          APH.Pmt_To_Base_XRate,
81          APH.Bank_Currency_Code,
82          APH.Bank_To_Base_XRate_Type,
83          APH.Bank_To_Base_XRate_Date,
84          NVL(APH.Bank_To_Base_XRate,1),
85          APH.Errors_Bank_Amount,
86          APH.Charges_Bank_Amount,
87          APH.Rev_Pmt_Hist_ID,
88          APH.Related_Event_ID,
89          APH.Invoice_Adjustment_Event_ID
90   FROM   AP_Payment_History_All APH
91   WHERE  APH.Accounting_Event_ID = P_Event_ID;
92 
93 
94   -- Cursor to get the invoice header information for the given
95   -- invoice id
96   CURSOR Invoice_Header
97         (P_Invoice_ID    NUMBER
98         ) IS
99   SELECT AI.Invoice_ID,
100          AI.Invoice_Amount,
101          AI.Invoice_Currency_Code,
102          AI.Payment_Currency_Code,
103          ASP.Base_Currency_Code,
104          AI.Pay_Curr_Invoice_Amount,
105          AI.Payment_Cross_Rate_Type,
106          AI.Payment_Cross_Rate_Date,
107          AI.Payment_Cross_Rate,
108          AI.Exchange_Rate_Type,
109          AI.Exchange_Date,
110          AI.Exchange_Rate,
111          NVL(AI.Disc_Is_Inv_Less_Tax_Flag, ASP.Disc_Is_Inv_Less_Tax_Flag)
112                             Disc_Is_Inv_Less_Tax_Flag,
113          NVL(AI.Exclude_Freight_From_Discount, 'N')
114                             Exclude_Freight_From_Discount
115   FROM   AP_Invoices_All AI,
116          AP_System_Parameters_All ASP
117   WHERE  AI.Org_ID = ASP.Org_ID
118   AND    AI.Invoice_ID = P_Invoice_ID;
119 
120 
121   -- Cursor to get all the invoice distributions for a particular
122   -- invoice
123   -- bug 5570002 need to exclude TERV/ERV/PREPAY
124   CURSOR Invoice_Dists
125         (P_Invoice_ID    NUMBER
126         ,P_Event_ID      NUMBER    DEFAULT NULL
127         ) IS
128   SELECT AID.Invoice_Distribution_ID,
129          AID.Line_Type_Lookup_Code,
130          AID.Amount,
131          AID.Base_Amount,
132          AID.PO_Distribution_ID,
133          AID.RCV_Transaction_ID,
134          NVL(AID.Reversal_Flag,'N'),
135          AID.Parent_Reversal_ID,
136          AID.AWT_Related_ID,
137          AID.AWT_Invoice_Payment_ID,
138          AID.Quantity_Variance,
139          AID.Base_Quantity_Variance,
140          AID.Amount_Variance,
141          AID.Base_Amount_Variance,
142          AID.historical_flag,
143          AID.accounting_event_id
144   FROM   AP_Invoice_Distributions_All AID,
145          Financials_System_Params_All FSP
146   WHERE  AID.Invoice_ID = P_Invoice_ID
147   AND    NVL(AID.Accounting_Event_ID,-99) = DECODE(P_Event_ID, NULL,
148                           NVL(AID.Accounting_Event_ID,-99), P_Event_ID)
149   AND    AID.Line_Type_Lookup_Code NOT IN ('PREPAY', 'ERV', 'TERV')
150   AND    AID.Prepay_Distribution_ID IS NULL
151   AND    AID.Prepay_Tax_Parent_ID IS NULL  -- For tax dists created in R11.5
152   AND    AID.Org_ID = FSP.Org_ID
153   --bug 6147546
154   /*AND    'INVOICE CANCELLED' <> (SELECT event_type_code
155                                  FROM   xla_events
156                                  WHERE event_id = AID.accounting_event_id)*/
157   --bug6614371
158   -- Bug 6712649. Added Credit and Debit memo cancelled
159   AND NOT EXISTS (SELECT 1
160                   FROM   xla_events
161                   WHERE  event_id = AID.accounting_event_id
162                   AND    event_type_code IN ('INVOICE CANCELLED', 'PREPAYMENT CANCELLED',
163                                              'CREDIT MEMO CANCELLED',
164                                              'DEBIT MEMO CANCELLED'))
165   AND  ((NVL(FSP.Purch_Encumbrance_Flag,'N') = 'N'
166              AND AID.Match_Status_Flag IN ('T','A'))
167          OR
168        ((NVL(FSP.Purch_Encumbrance_Flag,'N') = 'Y'
169              AND AID.Match_Status_Flag = 'A')))
170   ORDER  BY abs(AID.Amount); --bug 5410819
171 
172 
173   PROCEDURE Primary_Pay_Events
174                  (P_XLA_Event_Rec      IN   ap_accounting_pay_pkg.r_xla_event_info
175                  ,P_Calling_Sequence   IN   VARCHAR2
176                  );
177 
178   PROCEDURE Manual_Pay_Adj_Events
179                  (P_XLA_Event_Rec      IN   ap_accounting_pay_pkg.r_xla_event_info
180                  ,P_Calling_Sequence   IN   VARCHAR2
181                  );
182 
183   PROCEDURE Cancel_Primary_Pay_Events
184                  (P_XLA_Event_Rec      IN   ap_accounting_pay_pkg.r_xla_event_info
185                  ,P_Calling_Sequence   IN   VARCHAR2
186                  );
187 
188   PROCEDURE Pay_Dist_Cascade_Adj_Events
189                  (P_XLA_Event_Rec      IN   ap_accounting_pay_pkg.r_xla_event_info
190                  ,P_Calling_Sequence   IN   VARCHAR2
191                  );
192 
193 
194   PROCEDURE Pay_Dist_Proc
195                 (P_XLA_Event_Rec      IN    ap_accounting_pay_pkg.r_xla_event_info
196                 ,P_Inv_Pay_Rec        IN    r_inv_pay_info
197                 ,P_Pay_Hist_Rec       IN    ap_accounting_pay_pkg.r_pay_hist_info
198                 ,P_Inv_Rec            IN    ap_accounting_pay_pkg.r_invoices_info
199                 ,P_Inv_Dist_Rec       IN    ap_accounting_pay_pkg.r_inv_dist_info
200                 ,P_Calc_Mode          IN    VARCHAR2
201                 ,P_Final_Payment      IN    BOOLEAN
202                 ,P_Calling_Sequence   IN    VARCHAR2
203                 );
204 
205 
206   PROCEDURE Pay_Dist_Discount
207                 (P_XLA_Event_Rec    IN    ap_accounting_pay_pkg.r_xla_event_info
208                 ,P_Inv_Pay_Rec      IN    r_inv_pay_info
209                 ,P_Pay_Hist_Rec     IN    ap_accounting_pay_pkg.r_pay_hist_info
210                 ,P_Inv_Rec          IN    ap_accounting_pay_pkg.r_invoices_info
211                 ,P_Inv_Dist_Rec     IN    ap_accounting_pay_pkg.r_inv_dist_info
212                 ,P_Calc_Mode        IN    VARCHAR2
213                 ,P_Disc_Pay_Amount  IN    OUT NOCOPY    NUMBER
214                 ,P_Disc_Dist_Amount IN    OUT NOCOPY    NUMBER
215                 ,P_Disc_Bank_Amount IN    OUT NOCOPY    NUMBER
216                 ,P_Calling_Sequence IN    VARCHAR2
217                 );
218 
219   PROCEDURE Pay_Dist_ERV
220                 (P_XLA_Event_Rec    IN    ap_accounting_pay_pkg.r_xla_event_info
221                 ,P_Inv_Pay_Rec      IN    r_inv_pay_info
222                 ,P_Pay_Hist_Rec     IN    ap_accounting_pay_pkg.r_pay_hist_info
223                 ,P_Inv_Rec          IN    ap_accounting_pay_pkg.r_invoices_info
224                 ,P_Inv_Dist_Rec     IN    ap_accounting_pay_pkg.r_inv_dist_info
225                 ,P_Prorated_Amount  IN    NUMBER
226                 ,P_Calling_Sequence IN    VARCHAR2
227                 );
228 
229   -- bug 5659368
230   PROCEDURE Pay_Dist_Err_Chrg
231                  (p_xla_event_rec    IN    ap_accounting_pay_pkg.r_xla_event_info
232                  ,p_pay_hist_rec     IN    ap_accounting_pay_pkg.r_pay_hist_info
233                  ,p_distribute_mode  IN    VARCHAR2
234                  ,p_calling_sequence IN    VARCHAR2
235                  );
236 
237   -- Bug 6887295. Added parameter p_inv_dist_rec
238   PROCEDURE Pay_Dist_Reverse
239                  (p_xla_event_rec         IN    ap_accounting_pay_pkg.r_xla_event_info
240                  ,p_inv_pay_rec           IN    r_inv_pay_info
241                  ,p_pay_hist_rec          IN    ap_accounting_pay_pkg.r_pay_hist_info
242                  ,p_reversal_inv_pmt_id   IN    NUMBER
243                  ,p_related_event_id      IN    NUMBER
244                  ,p_invoice_dist_id       IN    NUMBER
245                  ,p_inv_dist_rec          IN    ap_accounting_pay_pkg.r_inv_dist_info
246                  ,p_calling_sequence      IN    VARCHAR2
247                  );
248 
249 
250   PROCEDURE Pay_Dist_Insert
251                  (P_PD_Rec             IN   AP_PAYMENT_HIST_DISTS%ROWTYPE
252                  ,P_Calling_Sequence   IN   VARCHAR2
253                  );
254 
255   PROCEDURE Upg_Dist_Links_Insert
256                  (p_xla_event_rec       IN   ap_accounting_pay_pkg.r_xla_event_info
257                  ,p_payment_history_id  IN   NUMBER
258                  ,p_accounting_event_id IN   NUMBER
259                  ,p_calling_sequence    IN   VARCHAR2
260                  );
261 
262 
263 END AP_ACCTG_PAY_DIST_PKG;