DBA Data[Home] [Help]

PACKAGE: APPS.ARP_PROCESS_DET_PKG

Source


1 PACKAGE arp_process_det_pkg AUTHID CURRENT_USER AS
2 /* $Header: ARDLAPPS.pls 120.8 2011/08/15 09:25:56 chuansha ship $ */
3 
4 
5 /*-----------------------------------------------------------------------------+
6  | Procedure   initialization                                                  |
7  +-----------------------------------------------------------------------------+
8  | Parameter :                                                                 |
9  |            p_customer_trx_id    invoice ID                                  |
10  |            p_cash_receipt_id    receipt ID                                  |
11  +-----------------------------------------------------------------------------+
12  | Action    :                                                                 |
13  |    1) Call arp_det_dist_pkg to copy trx line into ra_customer_trx_lines_gt  |
14  |    2) Call get_inv_ps to cache the invoice payment schedule                 |
15  +-----------------------------------------------------------------------------*/
16 PROCEDURE initialization
17 (p_customer_trx_id IN         NUMBER,
18  p_cash_receipt_id IN         NUMBER,
19  x_return_status   OUT NOCOPY VARCHAR2,
20  x_msg_data        OUT NOCOPY VARCHAR2,
21  x_msg_count       OUT NOCOPY NUMBER);
22 
23 
24 /*-----------------------------------------------------------------------------+
25  | Procedure   application_execute                                             |
26  +-----------------------------------------------------------------------------+
27  | Parameter :                                                                 |
28  |   p_app_level      Application Level (TRANSACTION/GROUP/LINE)               |
29  |   p_group_id       Group_id req when Application level is GROUP             |
30  |   p_ctl_id         customer_trx_line_id required when the application level |
31  |                    is LINE                                                  |
32  |   p_line_applied      Line amount applied                                   |
33  |   p_tax_applied       Tax amount applied                                    |
34  |   p_freight_applied   Freight amount applied                                |
35  |   p_charges_applied   Charge amount applied                                 |
36  |   --                                                                        |
37  |   p_line_ediscounted  Earned Discount on Revenue                            |
38  |   p_tax_ediscounted   Earned Discount on Tax                                |
39  |   p_freight_ediscounted    Earned Discount on Freight                       |
40  |   p_charges_ediscounted    Earned Discount on charge                        |
41  |   --                                                                        |
42  |   p_line_uediscounted  Unearned Discount on Revenue                         |
43  |   p_tax_uediscounted   Unearned Discount on Tax                             |
44  |   p_freight_uediscounted   Unearned Discount on Freight                     |
45  |   p_charges_uediscounted   Unearned Discount on charge                      |
46  |   p_customer_trx        Invoice record                                      |
47  |   p_ae_sys_rec          Receivable system parameters                        |
48  +-----------------------------------------------------------------------------+
49  | Action    :                                                                 |
50  |    1) Call cur_app_gt_id to looking for current apps                        |
51  |    2) If found then call delete_application                                 |
52  |    3) Call apply to do the application                                      |
53  +-----------------------------------------------------------------------------*/
54 PROCEDURE application_execute
55 ( p_app_level                      IN VARCHAR2,
56   --
57   p_source_data_key1               IN VARCHAR2,
58   p_source_data_key2               IN VARCHAR2,
59   p_source_data_key3               IN VARCHAR2,
60   p_source_data_key4               IN VARCHAR2,
61   p_source_data_key5               IN VARCHAR2,
62   --
63   p_ctl_id                         IN NUMBER,
64   --
65   p_line_applied                   IN NUMBER,
66   p_tax_applied                    IN NUMBER,
67   p_freight_applied                IN NUMBER,
68   p_charges_applied                IN NUMBER,
69   --
70   p_line_ediscounted               IN NUMBER,
71   p_tax_ediscounted                IN NUMBER,
72   p_freight_ediscounted            IN NUMBER,
73   p_charges_ediscounted            IN NUMBER,
74   --
75   p_line_uediscounted              IN NUMBER,
76   p_tax_uediscounted               IN NUMBER,
77   p_freight_uediscounted           IN NUMBER,
78   p_charges_uediscounted           IN NUMBER,
79   --
80   x_return_status                  OUT NOCOPY VARCHAR2,
81   x_msg_count                      OUT NOCOPY NUMBER,
82   x_msg_data                       OUT NOCOPY VARCHAR2);
83 
84 /*-----------------------------------------------------------------------------+
85  | Procedure   final_commit                                                    |
86  +-----------------------------------------------------------------------------+
87  | Parameter :                                                                 |
88  |   p_customer_trx          Invoice record                                    |
89  | Out                                                                         |
90  |   x_ra_id                   receivable_application_id                       |
91  |   x_amount_applied          the amount applied                              |
92  |   x_amount_applied_from     the amount applied from                         |
93  |   x_earned_discount_taken   the amount earned discounted                    |
94  |   x_unearned_discount_taken the amount unearned discounted                  |
95  +-----------------------------------------------------------------------------+
96  | Action    :                                                                 |
97  | Return the information amount to be used by receipt_application             |
98  |    Note arp_process_application.receipt_application will be modified to have|
99  |    the receivable_application_id for the APP record as a input param        |
100  | Call arp_det_dist_pkg.final_update_inv_ctl_rem_orig to update line balance  |
101  | Call arp_det_dist_pkg.create_final_split to create detail application dist  |
102  +-----------------------------------------------------------------------------*/
103 PROCEDURE final_commit
104 (p_gl_date                     IN  DATE,
105  p_apply_date                  IN  DATE,
106  p_attribute_category          IN VARCHAR2  DEFAULT NULL,
107  p_attribute1                  IN VARCHAR2  DEFAULT NULL,
108  p_attribute2                  IN VARCHAR2  DEFAULT NULL,
109  p_attribute3                  IN VARCHAR2  DEFAULT NULL,
110  p_attribute4                  IN VARCHAR2  DEFAULT NULL,
111  p_attribute5                  IN VARCHAR2  DEFAULT NULL,
112  p_attribute6                  IN VARCHAR2  DEFAULT NULL,
113  p_attribute7                  IN VARCHAR2  DEFAULT NULL,
114  p_attribute8                  IN VARCHAR2  DEFAULT NULL,
115  p_attribute9                  IN VARCHAR2  DEFAULT NULL,
116  p_attribute10                 IN VARCHAR2  DEFAULT NULL,
117  p_attribute11                 IN VARCHAR2  DEFAULT NULL,
118  p_attribute12                 IN VARCHAR2  DEFAULT NULL,
119  p_attribute13                 IN VARCHAR2  DEFAULT NULL,
120  p_attribute14                 IN VARCHAR2  DEFAULT NULL,
121  p_attribute15                 IN VARCHAR2  DEFAULT NULL,
122  p_global_attribute_category   IN VARCHAR2  DEFAULT NULL,
123  p_global_attribute1           IN VARCHAR2  DEFAULT NULL,
124  p_global_attribute2           IN VARCHAR2  DEFAULT NULL,
125  p_global_attribute3           IN VARCHAR2  DEFAULT NULL,
126  p_global_attribute4           IN VARCHAR2  DEFAULT NULL,
127  p_global_attribute5           IN VARCHAR2  DEFAULT NULL,
128  p_global_attribute6           IN VARCHAR2  DEFAULT NULL,
129  p_global_attribute7           IN VARCHAR2  DEFAULT NULL,
130  p_global_attribute8           IN VARCHAR2  DEFAULT NULL,
131  p_global_attribute9           IN VARCHAR2  DEFAULT NULL,
132  p_global_attribute10          IN VARCHAR2  DEFAULT NULL,
133  p_global_attribute11          IN VARCHAR2  DEFAULT NULL,
134  p_global_attribute12          IN VARCHAR2  DEFAULT NULL,
135  p_global_attribute13          IN VARCHAR2  DEFAULT NULL,
136  p_global_attribute14          IN VARCHAR2  DEFAULT NULL,
137  p_global_attribute15          IN VARCHAR2  DEFAULT NULL,
138  p_global_attribute16          IN VARCHAR2  DEFAULT NULL,
139  p_global_attribute17          IN VARCHAR2  DEFAULT NULL,
140  p_global_attribute18          IN VARCHAR2  DEFAULT NULL,
141  p_global_attribute19          IN VARCHAR2  DEFAULT NULL,
142  p_global_attribute20          IN VARCHAR2  DEFAULT NULL,
143  p_comments                    IN VARCHAR2  DEFAULT NULL,
144  p_customer_reference          IN VARCHAR2  DEFAULT NULL,
145  --{Cross Currency
146  p_amount_applied_from         IN NUMBER    DEFAULT NULL,
147  p_trans_to_receipt_rate       IN NUMBER    DEFAULT NULL,
148  --}
149  x_ra_rec                  OUT NOCOPY ar_receivable_applications%ROWTYPE,
150  x_return_status           OUT NOCOPY VARCHAR2,
151  x_msg_count               OUT NOCOPY NUMBER,
152  x_msg_data                OUT NOCOPY VARCHAR2);
153 
154 /*-----------------------------------------------------------------------------+
155  | Procedure   get_latest_amount_remaining                                     |
156  +-----------------------------------------------------------------------------+
157  | Parameter :                                                                 |
158  |   p_customer_trx_id The invoice ID                                          |
159  |   p_app_level      Application Level (TRANSACTION/GROUP/LINE)               |
160  |   p_group_id       Group_id req when Application level is GROUP             |
161  |   p_ctl_id         customer_trx_line_id required when the application level |
162  |                    is LINE                                                  |
163  |   OUT                                                                       |
164  |  x_line_rem      The remaining revenue amount for the level                 |
165  |  x_tax_rem       The remaining tax amount for the level                     |
166  |  x_freight_rem   The remaining freight amount for the level TRANSACTION only|
167  |  x_charges_rem   The remaining charges amount for the level TRANSACTION only|
168  +-----------------------------------------------------------------------------+
169  | Action    :                                                                 |
170  |  Read the remaining amount on ra_customer_trx_lines_gt                      |
171  +-----------------------------------------------------------------------------*/
172 PROCEDURE get_latest_amount_remaining
173 (p_app_level         IN VARCHAR2 DEFAULT 'TRANSACTION',
174  --
175  p_source_data_key1  IN VARCHAR2 DEFAULT NULL,
176  p_source_data_key2  IN VARCHAR2 DEFAULT NULL,
177  p_source_data_key3  IN VARCHAR2 DEFAULT NULL,
178  p_source_data_key4  IN VARCHAR2 DEFAULT NULL,
179  p_source_data_key5  IN VARCHAR2 DEFAULT NULL,
180  --
181  p_ctl_id            IN NUMBER   DEFAULT NULL,
182  x_line_rem          OUT NOCOPY  NUMBER,
183  x_tax_rem           OUT NOCOPY  NUMBER,
184  x_freight_rem       OUT NOCOPY  NUMBER,
185  x_charges_rem       OUT NOCOPY  NUMBER,
186  x_return_status     OUT NOCOPY  VARCHAR2,
187  x_msg_data          OUT NOCOPY  VARCHAR2,
188  x_msg_count         OUT NOCOPY  NUMBER);
189 
190 /*-----------------------------------------------------------------------------+
191  | Procedure   get_latest_amount_applied                                       |
192  +-----------------------------------------------------------------------------+
193  | Parameter :                                                                 |
194  |   p_customer_trx_id The invoice ID                                          |
195  |   p_app_level      Application Level (TRANSACTION/GROUP/LINE)               |
196  |   p_group_id       Group_id req when Application level is GROUP             |
197  |   p_ctl_id         customer_trx_line_id required when the application level |
198  |                    is LINE                                                  |
199  |   OUT                                                                       |
200  |  x_line_app      The applied revenue amount for the level                   |
201  |  x_tax_app       The applied tax amount for the level                       |
202  |  x_freight_app   The applied freight amount for the level TRANSACTION only  |
203  |  x_charges_app   The applied charges amount for the level TRANSACTION only  |
204  +-----------------------------------------------------------------------------+
205  | Action    :                                                                 |
206  |  Read the applied amount on ar_line_aplication_detail_gt                    |
207  +-----------------------------------------------------------------------------*/
208 PROCEDURE get_latest_amount_applied
209 (p_app_level          IN VARCHAR2 DEFAULT 'TRANSACTION',
210  --
211  p_source_data_key1   IN VARCHAR2 DEFAULT NULL,
212  p_source_data_key2   IN VARCHAR2 DEFAULT NULL,
213  p_source_data_key3   IN VARCHAR2 DEFAULT NULL,
214  p_source_data_key4   IN VARCHAR2 DEFAULT NULL,
215  p_source_data_key5   IN VARCHAR2 DEFAULT NULL,
216  p_ctl_id             IN NUMBER   DEFAULT NULL,
217  p_log_inv_line       IN VARCHAR2 DEFAULT 'Y',
218  --
219  x_line_app           OUT NOCOPY  NUMBER,
220  x_tax_app            OUT NOCOPY  NUMBER,
221  x_freight_app        OUT NOCOPY  NUMBER,
222  x_charges_app        OUT NOCOPY  NUMBER,
223  --
224  x_line_ed            OUT NOCOPY  NUMBER,
225  x_tax_ed             OUT NOCOPY  NUMBER,
226  x_freight_ed         OUT NOCOPY  NUMBER,
227  x_charges_ed         OUT NOCOPY  NUMBER,
228  --
229  x_line_uned          OUT NOCOPY  NUMBER,
230  x_tax_uned           OUT NOCOPY  NUMBER,
231  x_freight_uned       OUT NOCOPY  NUMBER,
232  x_charges_uned       OUT NOCOPY  NUMBER,
233  --
234  x_return_status      OUT NOCOPY  VARCHAR2,
235  x_msg_data           OUT NOCOPY  VARCHAR2,
236  x_msg_count          OUT NOCOPY  NUMBER);
237 
238 PROCEDURE get_app_ra_amounts
239 (p_gt_id                       IN NUMBER,
240  x_ra_rec                      IN OUT NOCOPY ar_receivable_applications%ROWTYPE);
241 
242 
243 -- Common interface for detail distributions
244 FUNCTION base_for_proration
245 (p_customer_trx_id   IN NUMBER,
246  p_gt_id             IN NUMBER,
247  p_line_type         IN VARCHAR2,
248  p_activity          IN VARCHAR2)
249 RETURN  NUMBER;
250 
251 FUNCTION element_for_proration
252 (p_customer_trx_id        IN NUMBER,
253  p_customer_trx_line_id   IN NUMBER,
254  p_gt_id                  IN NUMBER,
255  p_line_type              IN VARCHAR2,
256  p_activity               IN VARCHAR2)
257 RETURN  NUMBER;
258 
259 PROCEDURE verif_int_adj_line_tax
260 (p_customer_trx     IN ra_customer_trx%ROWTYPE,
261  p_adj_rec          IN ar_adjustments%ROWTYPE,
262  p_ae_sys_rec       IN arp_acct_main.ae_sys_rec_type,
263  p_gt_id            IN NUMBER,
264  p_line_flag        IN VARCHAR2 DEFAULT 'INTERFACE',
265  p_tax_flag         IN VARCHAR2 DEFAULT 'INTERFACE',
266  x_return_status    IN OUT NOCOPY VARCHAR2);
267 
268 
269 PROCEDURE verif_int_app_line_tax
270 (p_customer_trx     IN ra_customer_trx%ROWTYPE,
271  p_app_rec          IN ar_receivable_applications%ROWTYPE,
272  p_ae_sys_rec       IN arp_acct_main.ae_sys_rec_type,
273  p_gt_id            IN NUMBER,
274  p_line_flag        IN VARCHAR2 DEFAULT 'INTERFACE',
275  p_tax_flag         IN VARCHAR2 DEFAULT 'INTERFACE',
276  p_ed_line_flag     IN VARCHAR2 DEFAULT 'NORMAL',
277  p_ed_tax_flag      IN VARCHAR2 DEFAULT 'NORMAL',
278  p_uned_line_flag   IN VARCHAR2 DEFAULT 'NORMAL',
279  p_uned_tax_flag    IN VARCHAR2 DEFAULT 'NORMAL',
280  x_return_status    IN OUT NOCOPY VARCHAR2);
281 
282 
283 PROCEDURE breakup_discounts (
284   lin_discount_in in  		 NUMBER,
285   tax_discount_in in 		 NUMBER,
286   frt_discount_in in 		 NUMBER,
287   tot_earned_discount_in in 		 NUMBER,
288   tot_unearned_discount_in in 		 NUMBER,
289   ed_lin_out out nocopy number,
290   ued_lin_out out nocopy number,
291   ed_tax_out out nocopy number,
292   ued_tax_out out nocopy number,
293   ed_frt_out out nocopy number,
294   ued_frt_out out nocopy number
295 );
296 
297 
298 
299 
300 END arp_process_det_pkg;