DBA Data[Home] [Help]

PACKAGE: APPS.JAI_CMN_RGM_RECORDING_PKG

Source


1 PACKAGE jai_cmn_rgm_recording_pkg AUTHID CURRENT_USER AS
2 /* $Header: jai_cmn_rgm_rec.pls 120.12 2011/12/13 06:56:14 qioliu ship $ */
3 
4   /*  */
5   /*----------------------------------------------------------------------------------------------------------------------------
6   CHANGE HISTORY for FILENAME: jai_rgm_trx_recording_pkg_s.sql
7   S.No  dd/mm/yyyy   Author and Details
8   ------------------------------------------------------------------------------------------------------------------------------
9   1     15/12/2004   Vijay Shankar for Bug# 4068823, Version:115.0
10 
11               Coded for recording Service Tax into repository and related Accounting into GL
12 
13    2    25-April-2007   ssawant for bug 5879769 ,File version
14                         Forward porting of
15 		        ENH : SERVICE TAX BY INVENTORY ORGANIZATION AND SERVICE TYPE SOLUTION from 11.5( bug no 5694855) to R12 (bug no 5879769).
16 			Fix : A new parameter p_service_type_code is added to insert_repository procedure
17 
18   DEPENDANCY:
19   -----------
20   IN60106  + 4068823
21 
22 
23   2.        08-Jun-2005  Version 116.1 jai_cmn_rgm_rec -Object is Modified to refer to New DB Entity names in place of Old DB Entity Names
24 		as required for CASE COMPLAINCE.
25 
26   3.     21-Nov-2008  Changes by nprashar for bug # 7525691
27                               Issue: SVC TX SETTLEMENT PROCESS WITH DIFF SVC TYPES DIDN'T CREATE NETTING SERVICE JE
28                               FIX: added a parameter p_balancing_entry to the procedure insert_repository_entry
29   4.     06-Feb-2009 Bug 7525691 - The fix can be done without the p_balancing_entry paramter. Doing so will
30                                    avoid any dependencies due to this bug. Therefore, removed the p_balancing_entry from
31 				   the specification.
32 
33   5.   18-Mar-2009  Bug 7525691 - File version 120.1.12000000.6/120.2.12010000.5/120.6
34                     Introduced a new parameter p_distribution_type for procedure insert_repository_entry.
35 
36    6.   22-May-2009 Bug 8294236
37  	                Issue: Service Tax Transaction created Fr Exchange Balances on Tax Accounts after Settlement
38  	                Fix: Created a new procedure exc_gain_loss_accounting for creating the accounting
39  	                            entries for foreign exchange gain or loss amount.
40 
41   7.   25-Dec-2009 Code change for bug7145898
42  	                 Issue: VAT SETTLEMENT NOT HAPPENING AT REGN LEVEL ON HAVING MORE THEN ONE OU
43  	                 Fix  : The settlment can be done for this case.
44 
45   8.   4-Apr-2010  Bo Li for Bug9305067
46                    Modify the procedure insert_repository_entry and insert_vat_repository_entry.
47                    Replace the attribute parameters with new meaningful parameters
48 
49   9.  24-May-2011 Xiao for pot change, reg bug#12533434.
50                   Add parameter p_accrual_basis for procedure insert_repository_entry, and it indicates accrual basis.
51                   If accrual basis, do not generate accounting.
52 ----------------------------------------------------------------------------------------------------------------------------*/
53 
54   CURSOR c_regime_code(cp_regime_id IN NUMBER) IS
55     SELECT regime_code
56     FROM JAI_RGM_DEFINITIONS
57     WHERE regime_id = cp_regime_id;
58 
59   CURSOR c_repository_dtl(cp_repository_id IN NUMBER) IS
60     SELECT  regime_code, tax_type, source, source_table_name, source_document_id,
61             source_trx_type, organization_id
62     FROM jai_rgm_trx_records
63     WHERE repository_id = cp_repository_id;
64 
65   g_debug             CONSTANT VARCHAR2(1)   := 'Y';
66   ap_discount_accnt   CONSTANT VARCHAR2(30)  := 'AP_DISCOUNT_ACCOUNT';
67   gd_accounting_date_dflt CONSTANT DATE := SYSDATE;
68 
69   -- COMMON API that will be called from DIFFERENT Transactions of the Regime
70   -- This will call APIS to insert data into regime repository and GL Tables
71   PROCEDURE insert_repository_entry(
72     p_repository_id OUT NOCOPY NUMBER,
73     p_regime_id               IN      NUMBER,
74     p_tax_type                IN      VARCHAR2,
75     p_organization_type       IN      VARCHAR2,
76     p_organization_id         IN      NUMBER,
77     p_location_id             IN      NUMBER,
78     p_source                  IN      VARCHAR2,
79     p_source_trx_type         IN      VARCHAR2,
80     p_source_table_name       IN      VARCHAR2,
81     p_source_document_id      IN      NUMBER,
82     p_transaction_date        IN      DATE,
83     p_account_name            IN      VARCHAR2,
84     p_charge_account_id       IN      NUMBER,
85     p_balancing_account_id    IN      NUMBER,
86     p_amount                  IN OUT NOCOPY NUMBER,           -- Recovered/Liable Service Tax Amount in INR Currency i.e functional
87     p_assessable_value        IN      NUMBER,
88     p_tax_rate                IN      NUMBER,
89     p_reference_id            IN      NUMBER,
90     p_batch_id                IN      NUMBER,
91     p_called_from             IN      VARCHAR2,
92     p_process_flag OUT NOCOPY VARCHAR2,
93     p_process_message OUT NOCOPY VARCHAR2,
94     p_discounted_amount       IN OUT NOCOPY NUMBER,
95     p_inv_organization_id     IN      NUMBER    DEFAULT NULL,
96     p_settlement_id           IN      NUMBER    DEFAULT NULL,
97     -- Following all parameters are required for GL Accounting if p_balancing_account_id value is not passed to this procedure call
98     p_accntg_required_flag    IN      VARCHAR2,  -- DEFAULT jai_constants.yes  File.Sql.35 by Brathod
99     p_accounting_date         IN      DATE ,     -- DEFAULT sysdate           File.Sql.35 by Brathod
100     p_balancing_orgn_type     IN      VARCHAR2  DEFAULT NULL,
101     p_balancing_orgn_id       IN      NUMBER    DEFAULT NULL,
102     p_balancing_location_id   IN      NUMBER    DEFAULT NULL,
103     p_balancing_tax_type      IN      VARCHAR2  DEFAULT NULL,
104     p_balancing_accnt_name    IN      VARCHAR2  DEFAULT NULL,
105     p_currency_code           IN      VARCHAR2  ,  -- DEFAULT jai_constants.func_curr File.Sql.35 by Brathod
106     p_curr_conv_date          IN      VARCHAR2  DEFAULT NULL,
107     p_curr_conv_type          IN      VARCHAR2  DEFAULT NULL,
108     p_curr_conv_rate          IN      VARCHAR2  DEFAULT NULL,
109     p_trx_amount              IN      NUMBER    DEFAULT NULL,      -- recovered/liable service tax amount in foreign currency
110      --Added by Bo Li for Bug9305067 BEGIN
111     ------------------------------------------------------------
112     p_trx_reference_context   IN      VARCHAR2  DEFAULT NULL,
113     p_trx_reference1          IN      VARCHAR2  DEFAULT NULL,
114     p_trx_reference2          IN      VARCHAR2  DEFAULT NULL,
115     p_trx_reference3          IN      VARCHAR2  DEFAULT NULL,
116     p_trx_reference4          IN      VARCHAR2  DEFAULT NULL,
117     p_trx_reference5          IN      VARCHAR2  DEFAULT NULL,
118     ----------------------------------------------------------
119      --Added by Bo Li for Bug9305067 END
120     p_service_type_code       IN      VARCHAR2  DEFAULT NULL, /* added by ssawant for bug 5989740 */
121     p_distribution_type       IN      VARCHAR2  DEFAULT NULL, /*bug 7525691*/
122     p_accrual_basis           IN      VARCHAR2  DEFAULT NULL ,--Add by Xiao for POT change, reg bug#12533434 on 16-May-2011
123     p_invoice_no              IN      VARCHAR2  DEFAULT NULL --Added by Qiong for advanced receipts bug#13361952
124  );
125 
126   PROCEDURE post_accounting(
127     p_regime_code           IN  VARCHAR2,
128     p_tax_type              IN  VARCHAR2,
129     p_organization_type     IN  VARCHAR2,
130     p_organization_id       IN  NUMBER,
131     p_source                IN  VARCHAR2,
132     p_source_trx_type       IN  VARCHAR2,
133     p_source_table_name     IN  VARCHAR2,
134     p_source_document_id    IN  NUMBER,
135     p_code_combination_id   IN  NUMBER,
136     -- Transaction Currency Amount
137     p_entered_cr            IN  NUMBER,
138     p_entered_dr            IN  NUMBER,
139     -- Functional Currency Amount
140     p_accounted_cr          IN  NUMBER,
141     p_accounted_dr          IN  NUMBER,
142     p_accounting_date       IN  DATE,
143     p_transaction_date      IN  DATE,
144     p_calling_object        IN  VARCHAR2,
145     p_repository_name       IN  VARCHAR2    DEFAULT NULL,
146     p_repository_id         IN  NUMBER      DEFAULT NULL,
147     p_reference_name        IN  VARCHAR2    DEFAULT NULL,
148     p_reference_id          IN  NUMBER      DEFAULT NULL,
149     p_currency_code         IN  VARCHAR2    DEFAULT NULL,
150     p_curr_conv_date        IN  DATE        DEFAULT NULL,
151     p_curr_conv_type        IN  VARCHAR2    DEFAULT NULL,
152     p_curr_conv_rate        IN  NUMBER      DEFAULT NULL,
153     p_attribute1            IN  VARCHAR2    DEFAULT NULL,
154     p_attribute2            IN  VARCHAR2    DEFAULT NULL
155   );
156 
157   PROCEDURE insert_reference(
158     p_reference_id OUT NOCOPY NUMBER,
159     p_organization_id       IN  NUMBER,
160     p_source                IN  VARCHAR2,
161     p_invoice_id            IN  NUMBER,
162     p_line_id               IN  NUMBER,
163     p_tax_type              IN  VARCHAR2,
164     p_tax_id                IN  NUMBER,
165     p_tax_rate              IN  NUMBER,
166     p_recoverable_ptg       IN  NUMBER,
167     p_party_type            IN  VARCHAR2,
168     p_party_id              IN  NUMBER,
169     p_party_site_id         IN  NUMBER,
170     p_trx_tax_amount        IN  NUMBER,
171     p_trx_currency          IN  VARCHAR2,
172     p_curr_conv_date        IN  DATE,
173     p_curr_conv_rate        IN  NUMBER,
174     p_tax_amount            IN  NUMBER,
175     p_recoverable_amount    IN  NUMBER,
176     p_recovered_amount      IN  NUMBER,
177     p_item_line_id          IN  NUMBER,
178     p_item_id               IN  NUMBER,
179     p_taxable_basis         IN  NUMBER,
180     p_parent_reference_id   IN  NUMBER,
181     p_reversal_flag         IN  VARCHAR2,
182     p_batch_id              IN  NUMBER,
183     p_process_flag OUT NOCOPY VARCHAR2,
184     p_process_message OUT NOCOPY VARCHAR2
185   );
186 
187   FUNCTION get_account(
188     p_regime_id         IN  NUMBER,
189     p_organization_type IN  VARCHAR2,
190     p_organization_id   IN  NUMBER,
191     p_location_id       IN  NUMBER,
192     p_tax_type          IN  VARCHAR2,
193     p_account_name      IN  VARCHAR2
194   ) RETURN NUMBER;
195 
196   PROCEDURE get_period_name(
197     p_organization_type     IN      VARCHAR2,
198     p_organization_id       IN      NUMBER,
199     p_accounting_date       IN OUT NOCOPY DATE,
200     p_period_name OUT NOCOPY VARCHAR2,
201     p_sob_id OUT NOCOPY NUMBER
202   );
203 
204   PROCEDURE update_reference(
205     p_source            IN  VARCHAR2,
206     p_reference_id      IN  NUMBER,
207     p_recovered_amount  IN  NUMBER,
208     p_discounted_amount IN  NUMBER    DEFAULT NULL,
209     p_process_flag OUT NOCOPY VARCHAR2,
210     p_process_message OUT NOCOPY VARCHAR2
211   );
212 
213   /* following procedure added by Vijay Shankar for Bug#4250236(4245089). VAT Impl. */
214   PROCEDURE insert_vat_repository_entry(
215     pn_repository_id             OUT NOCOPY NUMBER,
216     pn_regime_id              IN      NUMBER,
217     pv_tax_type               IN      VARCHAR2,
218     pv_organization_type      IN      VARCHAR2,
219     pn_organization_id        IN      NUMBER,
220     pn_location_id            IN      NUMBER,
221     pv_source                 IN      VARCHAR2,
222     pv_source_trx_type        IN      VARCHAR2,
223     pv_source_table_name      IN      VARCHAR2,
224     pn_source_id              IN      NUMBER,
225     pd_transaction_date       IN      DATE,
226     pv_account_name           IN      VARCHAR2,
227     pn_charge_account_id      IN      NUMBER,
228     pn_balancing_account_id   IN      NUMBER,
229     pn_credit_amount          IN  OUT NOCOPY    NUMBER,
230     pn_debit_amount           IN  OUT NOCOPY    NUMBER,
231     pn_assessable_value       IN      NUMBER,
232     pn_tax_rate               IN      NUMBER,
233     pn_reference_id           IN      NUMBER,
234     pn_batch_id               IN      NUMBER,
235     pn_inv_organization_id    IN      NUMBER,
236     pv_invoice_no             IN      VARCHAR2,     /* this holds either generated VAT Invoice Number or Vendor Inovice Number */
237     pd_invoice_date           IN      DATE,         /* this holds VAT Invoice Date or Vendor VAT Inovice Date */
238     pv_called_from            IN      VARCHAR2,
239     pv_process_flag              OUT NOCOPY VARCHAR2,
240     pv_process_message           OUT NOCOPY VARCHAR2,
241     --Added by Bo Li for Bug9305067 BEGIN
242     ---------------------------------------------------------------
243     pv_trx_reference_context      IN      VARCHAR2  DEFAULT NULL,
244     pv_trx_reference1             IN      VARCHAR2  DEFAULT NULL,
245     pv_trx_reference2             IN      VARCHAR2  DEFAULT NULL,
246     pv_trx_reference3             IN      VARCHAR2  DEFAULT NULL,
247     pv_trx_reference4             IN      VARCHAR2  DEFAULT NULL,
248     pv_trx_reference5             IN      VARCHAR2  DEFAULT NULL,
249     ------------------------------------------------------------------
250      --Added by Bo Li for Bug9305067 END
251     pn_settlement_id          IN      NUMBER    DEFAULT NULL  --added for bug#7145898, Eric Ma
252   );
253 
254   /* following Procedure added by Vijay Shankar for Bug#4250236(4245089). VAT Impl. */
255   PROCEDURE do_vat_accounting(
256     pn_regime_id                IN              NUMBER,
257     pn_repository_id            IN              NUMBER,
258     pv_organization_type        IN              VARCHAR2,
259     pn_organization_id          IN              NUMBER,
260     pd_accounting_date          IN              DATE,
261     pd_transaction_date         IN              DATE,
262     pn_credit_amount            IN              NUMBER,
263     pn_debit_amount             IN              NUMBER,
264     pn_credit_ccid              IN              NUMBER,
265     pn_debit_ccid               IN              NUMBER,
266     pv_called_from              IN              VARCHAR2,
267     pv_process_flag                  OUT NOCOPY  VARCHAR2,
268     pv_process_message               OUT NOCOPY  VARCHAR2,
269     pv_tax_type                 IN              VARCHAR2    DEFAULT NULL,
270     pv_source                   IN              VARCHAR2    DEFAULT NULL,
271     pv_source_trx_type          IN              VARCHAR2    DEFAULT NULL,
272     pv_source_table_name        IN              VARCHAR2    DEFAULT NULL,
273     pn_source_id                IN              NUMBER      DEFAULT NULL,
274     pv_reference_name           IN              VARCHAR2    DEFAULT NULL,
275     pn_reference_id             IN              NUMBER      DEFAULT NULL
276   );
277 
278   /* following function added by Vijay Shankar for Bug#4250236(4245089). VAT Impl. */
279   FUNCTION get_rgm_attribute_value(
280     pv_regime_code          IN  VARCHAR2,
281     pv_organization_type    IN  VARCHAR2,
282     pn_organization_id      IN  NUMBER,
283     pn_location_id          IN  NUMBER,
284     pv_registration_type    IN  VARCHAR2,
285     pv_attribute_type_code  IN  VARCHAR2,
286     pv_attribute_code       IN  VARCHAR2
287   ) RETURN VARCHAR2;
288 
289   /*Added this procedure for Bug 8294236*/
290   PROCEDURE exc_gain_loss_accounting(
291  	     p_repository_id           IN      NUMBER,
292  	     p_regime_id               IN      NUMBER,
293  	     p_tax_type                IN      VARCHAR2,
294  	     p_organization_type       IN      VARCHAR2,
295  	     p_organization_id         IN      NUMBER,
296  	     p_location_id             IN      NUMBER,
297  	     p_source                  IN      VARCHAR2,
298  	     p_source_trx_type         IN      VARCHAR2,
299  	     p_source_table_name       IN      VARCHAR2,
300  	     p_source_document_id      IN      NUMBER,
301  	     p_transaction_date        IN      DATE,
302  	     p_account_name            IN      VARCHAR2,
303  	     p_charge_account_id       IN      NUMBER,
304  	     p_balancing_account_id    IN      NUMBER,
305  	     p_exc_gain_loss_amt       IN OUT NOCOPY NUMBER,
306  	     p_reference_id            IN      NUMBER,
307  	     p_called_from             IN      VARCHAR2,
308  	     p_process_flag            OUT NOCOPY VARCHAR2,
309  	     p_process_message         OUT NOCOPY VARCHAR2,
310  	     p_accounting_date         IN      DATE      DEFAULT sysdate,
311  	     p_balancing_orgn_type     IN      VARCHAR2  DEFAULT NULL,
312  	     p_balancing_orgn_id       IN      NUMBER    DEFAULT NULL,
313  	     p_balancing_location_id   IN      NUMBER    DEFAULT NULL,
314  	     p_balancing_tax_type      IN      VARCHAR2  DEFAULT NULL,
315  	     p_balancing_accnt_name    IN      VARCHAR2  DEFAULT NULL,
316  	     p_currency_code           IN      VARCHAR2  DEFAULT jai_constants.func_curr,
317  	     p_curr_conv_date          IN      VARCHAR2  DEFAULT NULL,
318  	     p_curr_conv_type          IN      VARCHAR2  DEFAULT NULL,
319  	     p_curr_conv_rate          IN      VARCHAR2  DEFAULT NULL
320   );
321 
322 END jai_cmn_rgm_recording_pkg;