DBA Data[Home] [Help]

PACKAGE: APPS.AP_PREPAY_PKG

Source


1 PACKAGE AP_PREPAY_PKG AS
2 /*$Header: aprepays.pls 120.8.12010000.2 2008/08/08 03:32:22 sparames ship $*/
3 
4 --==================================================================================
5 --  This record has two types of information
6 --  1) Prepayment Invoice's distribution information (Source)
7 --  2) PREPAY distribution's amounts/quantities information (Target)
8 --     all with the same prepay distribution id as its key. This should be declared
9 --     in the package spec.
10 --==================================================================================
11 
12 TYPE Prepay_Dist_Record IS RECORD(
13 
14   PREPAY_DISTRIBUTION_ID  ap_invoice_distributions_all.invoice_distribution_id%TYPE,
15   PPAY_AMOUNT             ap_invoice_distributions_all.amount%TYPE,
16   PPAY_BASE_AMOUNT        ap_invoice_distributions_all.base_amount%TYPE,
17   PPAY_AMOUNT_REMAINING   ap_invoice_distributions_all.prepay_amount_remaining%TYPE,
18   PPAY_PO_DISTRIBUTION_ID ap_invoice_distributions_all.po_distribution_id%TYPE,
19   PPAY_RCV_TRANSACTION_ID ap_invoice_distributions_all.rcv_transaction_id%TYPE,
20   PPAY_QUANTITY_INVOICED  ap_invoice_distributions_all.quantity_invoiced%TYPE,
21   PPAY_STAT_AMOUNT        ap_invoice_distributions_all.stat_amount%TYPE,
22   PPAY_PA_QUANTITY        ap_invoice_distributions_all.pa_quantity%TYPE,
23   PREPAY_APPLY_AMOUNT     ap_invoice_distributions_all.amount%TYPE,
24   PREPAY_BASE_AMOUNT      ap_invoice_distributions_all.base_amount%TYPE,
25   PREPAY_BASE_AMT_PPAY_XRATE ap_invoice_distributions_all.base_amount%TYPE,
26   PREPAY_BASE_AMT_PPAY_PAY_XRATE ap_invoice_distributions_all.base_amount%TYPE,
27   PREPAY_QUANTITY_INVOICED ap_invoice_distributions_all.quantity_invoiced%TYPE,
28   PREPAY_STAT_AMOUNT      ap_invoice_distributions_all.stat_amount%TYPE,
29   PREPAY_PA_QUANTITY      ap_invoice_distributions_all.pa_quantity%TYPE,
30   PREPAY_ACCOUNTING_DATE  ap_invoice_distributions_all.accounting_date%TYPE,
31   PREPAY_PERIOD_NAME      ap_invoice_distributions_all.period_name%TYPE,
32   PREPAY_DIST_LINE_NUMBER ap_invoice_distributions_all.distribution_line_number%TYPE,
33   PREPAY_GLOBAL_ATTR_CATEGORY ap_invoice_distributions_all.global_attribute_category%TYPE,
34   PREPAY_MATCHING_BASIS   po_line_types.matching_basis%TYPE,
35   LINE_TYPE_LOOKUP_CODE   ap_invoice_distributions.line_type_lookup_code%TYPE,
36   CHARGE_APPLICABLE_TO_DIST_ID  ap_invoice_distributions_all.invoice_distribution_id%TYPE,
37   RELATED_ID		  ap_invoice_distributions_all.invoice_distribution_id%TYPE,
38   PARENT_CHRG_APPL_TO_DIST_ID ap_invoice_distributions_all.invoice_distribution_id%TYPE,
39   PARENT_RELATED_ID	  ap_invoice_distributions_all.invoice_distribution_id%TYPE,
40   INVOICE_DISTRIBUTION_ID ap_invoice_distributions_all.invoice_distribution_id%TYPE);
41 
42 --================================================================================
43 --  This is the GLOBAL PL/SQL table type to be declared in the Package Spec
44 --================================================================================
45 
46 TYPE Prepay_Dist_Tab_Type IS TABLE OF Prepay_Dist_Record
47   INDEX BY BINARY_INTEGER;
48 
49 --================================================================================
50 --  PL/SQL table will have the prepayment invoice_id, line number and apply amount
51 --  information. This will be used by the application logic to apply the prepayment.
52 --================================================================================
53 
54 TYPE Prepay_Appl_Rec IS RECORD (
55           PREPAY_INVOICE_ID ap_invoices_all.invoice_id%TYPE,
56           PREPAY_LINE_NUM ap_invoice_lines_all.line_number%TYPE,
57           PREPAY_APPLY_AMOUNT ap_invoice_lines_all.amount%TYPE);
58 
59 TYPE Prepay_Appl_Tab IS TABLE of Prepay_Appl_Rec INDEX BY BINARY_INTEGER;
60 
61 TYPE Prepay_Appl_Log_Rec IS RECORD (
62           PREPAY_INVOICE_ID     AP_INVOICES_ALL.INVOICE_ID%TYPE,
63           PREPAY_LINE_NUM       AP_INVOICE_LINES_ALL.LINE_NUMBER%TYPE,
64           PREPAY_APPLY_AMOUNT   AP_INVOICE_LINES_ALL.AMOUNT%TYPE,
65           SUCCESS               VARCHAR2(1),
66           ERROR_MESSAGE         VARCHAR2(2000));
67 
68 TYPE Prepay_Appl_Log_Tab IS TABLE OF Prepay_Appl_Log_Rec INDEX BY BINARY_INTEGER;
69 
70 
71 FUNCTION Check_Supplier_Consistency (
72           p_prepay_num   IN VARCHAR2,
73           p_vendor_id    IN NUMBER) RETURN VARCHAR2;
74 
75 FUNCTION Check_Currency_Consistency (
76           p_prepay_num                    IN VARCHAR2,
77           p_vendor_id                     IN NUMBER,
78           p_base_currency_code            IN VARCHAR2,
79           p_invoice_currency_code         IN VARCHAR2,
80           p_payment_currency_code         IN VARCHAR2) RETURN VARCHAR2 ;
81 
82 
83 FUNCTION Check_Prepayment_Invoice (
84           p_prepay_num           IN VARCHAR2,
85           p_vendor_id            IN VARCHAR2,
86           p_prepay_invoice_id    OUT NOCOPY NUMBER) RETURN VARCHAR2 ;
87 
88 
89 FUNCTION Check_Prepayment_Line (
90           p_prepay_num       IN VARCHAR2,
91           p_prepay_line_num  IN NUMBER,
92           p_vendor_id        IN NUMBER) RETURN VARCHAR2 ;
93 
94 FUNCTION Check_Nothing_To_Apply_Line (
95           p_prepay_invoice_id   IN NUMBER,
96           p_prepay_line_num     IN NUMBER) RETURN VARCHAR2 ;
97 
98 
99 FUNCTION Check_Nothing_To_Apply_Invoice (
100           p_prepay_invoice_id   IN NUMBER) RETURN VARCHAR2 ;
101 
102 
103 FUNCTION Check_Nothing_To_Apply_Vendor (
104           p_vendor_id    IN NUMBER) RETURN VARCHAR2 ;
105 
106 
107 FUNCTION Check_Period_Status (
108           p_prepay_gl_date       IN OUT NOCOPY DATE,
109           p_prepay_period_name   IN OUT NOCOPY VARCHAR2) RETURN VARCHAR2 ;
110 
111 FUNCTION Validate_Prepay_Info (
112           p_prepay_case_name        IN         VARCHAR2,
113           p_prepay_num              IN         OUT NOCOPY VARCHAR2,
114           p_prepay_line_num         IN         OUT NOCOPY NUMBER,
115           p_prepay_apply_amount     IN         OUT NOCOPY NUMBER, -- Bug 7004765
116           p_invoice_amount          IN         NUMBER,
117           p_prepay_gl_date          IN         OUT NOCOPY DATE,
118           p_prepay_period_name      IN         OUT NOCOPY VARCHAR2,
119           p_vendor_id               IN         NUMBER,
120           p_import_invoice_id       IN         NUMBER,
121           p_source                  IN         VARCHAR2,
122           p_apply_advances_flag     IN         VARCHAR2,
123           p_invoice_date            IN         DATE,
124           p_base_currency_code      IN         VARCHAR2,
125           p_invoice_currency_code   IN         VARCHAR2,
126           p_payment_currency_code   IN         VARCHAR2,
127           p_calling_sequence        IN         VARCHAR2,
128           p_prepay_invoice_id       OUT NOCOPY NUMBER,
129 	  p_invoice_type_lookup_code IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2 ; -- Bug 7004765
130 
131 FUNCTION Get_Prepay_Case_Name (
132           p_prepay_num              IN VARCHAR2,
133           p_prepay_line_num         IN NUMBER,
134           p_prepay_apply_amount     IN NUMBER,
135           p_source                  IN VARCHAR2,
136           p_apply_advances_flag     IN VARCHAR2,
137           p_calling_sequence        IN VARCHAR2) RETURN VARCHAR2;
138 
139 FUNCTION get_prepay_apply_amount(
140           p_prepay_case_name        IN VARCHAR2,
141           p_prepay_invoice_id       IN NUMBER,
142           P_prepay_line_num         IN NUMBER,
143           p_prepay_apply_amount     IN NUMBER,
144           p_invoice_id              IN NUMBER,
145           p_vendor_id               IN NUMBER,
146           p_prepay_included         IN VARCHAR2) RETURN NUMBER;
147 
148 PROCEDURE Select_Lines_For_Application (
149           p_prepay_case_name        IN VARCHAR2,
150           p_prepay_invoice_id       IN NUMBER,
151           p_prepay_line_num         IN NUMBER,
152           p_apply_amount            IN NUMBER,
153           p_vendor_id               IN NUMBER,
154           p_calling_sequence        IN VARCHAR2,
155           p_request_id              IN NUMBER,
156           p_prepay_appl_info        OUT NOCOPY ap_prepay_pkg.prepay_appl_tab);
157 
158 FUNCTION Check_Prepay_Info_Import (
159           p_prepay_num              IN OUT NOCOPY  VARCHAR2,
160           p_prepay_line_num         IN OUT NOCOPY NUMBER,
161           p_prepay_apply_amount     IN OUT NOCOPY NUMBER, -- Bug 7004765
162           p_invoice_amount          IN NUMBER,
163           p_prepay_gl_date          IN OUT NOCOPY DATE,
164           p_prepay_period_name      IN OUT NOCOPY VARCHAR2,
165           p_vendor_id               IN NUMBER,
166           p_prepay_included         IN VARCHAR2,
167           p_import_invoice_id       IN NUMBER,
168           p_source                  IN VARCHAR2,
169           p_apply_advances_flag     IN VARCHAR2,
170           p_invoice_date            IN DATE,
171           p_base_currency_code      IN VARCHAR2,
172           p_invoice_currency_code   IN VARCHAR2,
173           p_payment_currency_code   IN VARCHAR2,
174           p_calling_sequence        IN VARCHAR2,
175           p_request_id              IN NUMBER,
176           p_prepay_case_name        OUT NOCOPY VARCHAR2,
177           p_prepay_invoice_id        OUT NOCOPY NUMBER,
178 	  p_invoice_type_lookup_code IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2; -- Bug 7004765
179 
180 PROCEDURE Get_Prepay_Info_Import (
181 	  p_prepay_case_name	IN	      VARCHAR2,
182 	  p_prepay_invoice_id   IN	      NUMBER,
183           p_prepay_num          IN            VARCHAR2,
184           p_prepay_line_num     IN            NUMBER,
185           p_prepay_apply_amount IN            NUMBER,
186 	  p_prepay_included	IN	      VARCHAR2,
187           p_import_invoice_id   IN	      NUMBER,
188 	  p_vendor_id		IN	      NUMBER,
189 	  p_request_id		IN	      NUMBER,
190 	  p_prepay_appl_info    OUT NOCOPY    ap_prepay_pkg.prepay_appl_tab,
191 	  p_calling_sequence	IN	      VARCHAR2);
192 
193 PROCEDURE Apply_Prepay_Import (
194           p_prepay_invoice_id      IN NUMBER,
195 	  p_prepay_num		   IN VARCHAR2,
196 	  p_prepay_line_num	   IN NUMBER,
197 	  p_prepay_apply_amount    IN NUMBER,
198 	  p_prepay_case_name	   IN VARCHAR2,
199 	  p_import_invoice_id	   IN NUMBER,
200 	  p_request_id             IN NUMBER,
201           p_invoice_id             IN NUMBER,
202           p_vendor_id              IN NUMBER,
203           p_prepay_gl_date         IN DATE,
204           p_prepay_period_name     IN VARCHAR2,
205           p_prepay_included        IN VARCHAR2,
206           p_user_id                IN NUMBER,
207           p_last_update_login      IN NUMBER,
208           p_calling_sequence       IN VARCHAR2,
209           p_prepay_appl_log        OUT NOCOPY ap_prepay_pkg.Prepay_Appl_Log_Tab);
210 
211 
212 FUNCTION Apply_Prepay_Line (
213           P_PREPAY_INVOICE_ID IN         NUMBER,
214           P_PREPAY_LINE_NUM   IN         NUMBER,
215           P_PREPAY_DIST_INFO  IN OUT NOCOPY AP_PREPAY_PKG.PREPAY_DIST_TAB_TYPE,
216           P_PRORATE_FLAG      IN         VARCHAR2,
217           P_INVOICE_ID        IN         NUMBER,
218 	  P_INVOICE_LINE_NUMBER IN 	 NUMBER DEFAULT NULL,
219           P_APPLY_AMOUNT      IN         NUMBER,
220           P_GL_DATE           IN         DATE,
221           P_PERIOD_NAME       IN         VARCHAR2,
222           P_PREPAY_INCLUDED   IN         VARCHAR2,
223           P_USER_ID           IN         NUMBER,
224           P_LAST_UPDATE_LOGIN IN         NUMBER,
225           P_CALLING_SEQUENCE  IN         VARCHAR2,
226 	  P_CALLING_MODE      IN         VARCHAR2 DEFAULT 'PREPAYMENT APPLICATION',
227           P_ERROR_MESSAGE     OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
228 
229 
230 FUNCTION Insert_Prepay_Line(
231           p_prepay_invoice_id         IN      NUMBER,
232           p_prepay_line_num           IN      NUMBER,
233           p_invoice_id                IN      NUMBER,
234           p_prepay_line_number        IN      NUMBER,
235           p_amount_to_apply           IN      NUMBER,
236           p_base_amount_to_apply      IN      NUMBER,
237           p_gl_date                   IN      DATE,
238           p_period_name               IN      VARCHAR2,
239           p_prepay_included           IN      VARCHAR2,
240           p_quantity_invoiced         IN      NUMBER,
241           p_stat_amount               IN      NUMBER,
242           p_pa_quantity               IN      NUMBER,
243           p_user_id                   IN      NUMBER,
244           p_last_update_login         IN      NUMBER,
245           p_calling_sequence          IN      VARCHAR2,
246           p_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
247 
248 
249 FUNCTION Insert_Prepay_Dists(
250           P_prepay_invoice_id         IN      NUMBER,
251           P_prepay_line_num           IN      NUMBER,
252           P_invoice_id                IN      NUMBER,
253           P_batch_id                  IN      NUMBER,
254           P_line_number               IN      NUMBER,
255           P_prepay_dist_info          IN OUT NOCOPY AP_PREPAY_PKG.Prepay_Dist_Tab_Type,
256           P_user_id                   IN      NUMBER,
257           P_last_update_login         IN      NUMBER,
258           P_calling_sequence          IN      VARCHAR2,
259           P_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
260 
261 
262 FUNCTION Update_Prepayment(
263           P_prepay_dist_info    IN      AP_PREPAY_PKG.Prepay_Dist_Tab_Type,
264           P_prepay_invoice_id   IN      NUMBER,
265           P_prepay_line_num     IN      NUMBER,
266           P_invoice_id          IN      NUMBER,
267           P_invoice_line_num    IN      NUMBER,
268           P_appl_type           IN      VARCHAR2,
269 	  P_calling_mode        IN      VARCHAR2  DEFAULT 'PREPAYMENT APPLICATION',
270           P_calling_sequence    IN      VARCHAR2,
271           P_error_message       OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
272 
273 
274 FUNCTION Update_PO_Receipt_Info(
275           P_prepay_dist_info          IN      AP_PREPAY_PKG.Prepay_Dist_Tab_Type,
276           p_prepay_invoice_id         IN      NUMBER,
277           p_prepay_line_num           IN      NUMBER,
278           P_invoice_id                IN      NUMBER,
279           P_invoice_line_num          IN      NUMBER,
280           P_po_line_location_id       IN      NUMBER,
281           P_matched_UOM_lookup_code   IN      VARCHAR2,
282           P_appl_type                 IN      VARCHAR2,
283           P_match_basis               IN      VARCHAR2,
284           P_calling_sequence          IN      VARCHAR2,
285           P_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
286 
287 -- Bug 4935951
288 -- Added a new paremeter p_calling_mode so that the updates to ap_invoices
289 -- will be skipped when invoked in the context of Recoupment. These updates
290 -- will be handled in the invoice workbench after the control returns from
291 -- the matching form.
292 
293 FUNCTION Update_Payment_Schedule(
294           P_invoice_id                IN      NUMBER,
295           P_prepay_invoice_id         IN      NUMBER,
296           P_prepay_line_num           IN      NUMBER,
297           P_apply_amount              IN      NUMBER,
298           P_appl_type                 IN      VARCHAR2,
299           P_payment_currency_code     IN      VARCHAR2,
300           P_user_id                   IN      NUMBER,
301           P_last_update_login         IN      NUMBER,
302           P_calling_sequence          IN      VARCHAR2,
303 	  P_calling_mode	      IN      VARCHAR2 DEFAULT NULL,
304           P_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
305 
306 -- Bug 5056104 -- remove obsolete function Update_Rounding_Amounts
307 --FUNCTION Update_Rounding_Amounts (
308 --          P_prepay_invoice_id         IN      NUMBER,
309 --         P_prepay_line_num           IN      NUMBER,
310 --          P_invoice_id                IN      NUMBER,
311 --          P_line_number               IN      NUMBER,
312 --          P_final_application         IN      VARCHAR2,
313 --	  P_Calling_Sequence	      IN      VARCHAR2 DEFAULT NULL,
314 --          P_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
315 
316 
317 FUNCTION Unapply_Prepay_Line (
318           P_PREPAY_INVOICE_ID         IN      NUMBER,
319           P_PREPAY_LINE_NUM           IN      NUMBER,
320           P_INVOICE_ID                IN      NUMBER,
321           P_LINE_NUM                  IN      NUMBER,
322           P_UNAPPLY_AMOUNT            IN      NUMBER,
323           P_GL_DATE                   IN      DATE,
324           P_PERIOD_NAME               IN      VARCHAR2,
325           P_PREPAY_INCLUDED           IN      VARCHAR2,
326           P_USER_ID                   IN      NUMBER,
327           P_LAST_UPDATE_LOGIN         IN      NUMBER,
328           P_CALLING_SEQUENCE          IN      VARCHAR2,
329           P_ERROR_MESSAGE             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
330 
331 
332 FUNCTION Apply_Prepay_FR_Prepay(
333           p_invoice_id                IN      NUMBER,
334           p_prepay_num                IN      VARCHAR2,
335           p_vendor_id                 IN      NUMBER,
336           p_prepay_apply_amount       IN      NUMBER,
337           p_prepay_gl_date            IN      DATE,
338           p_prepay_period_name        IN      VARCHAR2,
339           p_user_id                   IN      NUMBER,
340           p_last_update_login         IN      NUMBER,
341           p_calling_sequence          IN      VARCHAR2,
342           p_error_message             OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
343 
344 
345 END AP_PREPAY_PKG;