DBA Data[Home] [Help]

PACKAGE: APPS.AP_ACCTG_PAY_DIST_PKG

Source


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