[Home] [Help]
PACKAGE BODY: APPS.OKL_TAX_INTERFACE_PVT
Source
1 PACKAGE BODY OKL_TAX_INTERFACE_PVT AS
2 /* $Header: OKLRTEIB.pls 120.18 2011/11/17 22:53:37 sechawla ship $ */
3
4 -- GENERATE PRIMARY KEY
5 FUNCTION get_seq_id RETURN NUMBER IS
6 BEGIN
7 RETURN(okc_p_util.raw_to_number(sys_guid()));
8 END get_seq_id;
9
10 /*========================================================================
11 | PUBLIC PROCEDURE calculate_tax
12 |
13 | DESCRIPTION
14 | This procedure is called from OKL_PROCESS_TAX_PVT to calculate
15 | tax for OLM Tax events
16 |
17 | CALLED FROM PROCEDURES/FUNCTIONS
18 |
19 |
20 | CALLS PROCEDURES/FUNCTIONS
21 | ZX_API_PUB.calculate_tax
22 |
23 | PARAMETERS
24 | p_trx_rec_tbl -- tax source transactions
25 |
26 | KNOWN ISSUES
27 |
28 | NOTES
29 |
30 |
31 | MODIFICATION HISTORY
32 | Date Author Description of Changes
33 | 08-APR-05 SECHAWLA Created
34 |
35 *=======================================================================*/
36 PROCEDURE calculate_tax(
37 p_api_version IN NUMBER,
38 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
39 x_return_status OUT NOCOPY VARCHAR2,
40 x_msg_count OUT NOCOPY NUMBER,
41 x_msg_data OUT NOCOPY VARCHAR2,
42 p_hdr_params_rec IN hdr_params_rec_type,
43 p_line_params_tbl IN line_params_tbl_type) IS
44
45 /*-----------------------------------------------------------------------+
46 | Local Variable Declarations and initializations |
47 +-----------------------------------------------------------------------*/
48 l_api_version CONSTANT NUMBER := 1;
49 l_api_name CONSTANT VARCHAR2(30) := 'calculate_tax';
50 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
51
52 j NUMBER;
53 lx_doc_level_recalc_flag VARCHAR2(1);
54
55 lp_hdr_params_rec hdr_params_rec_type;
56 lp_line_params_tbl line_params_tbl_type;
57 lp_transaction_rec transaction_rec_type;
58
59 --sechawla 17-Nov-2011 13101040
60 CURSOR c_org_location(cp_org_id IN NUMBER) IS
61 SELECT location_id
62 FROM hr_organization_units
63 WHERE ORGANIZATION_ID = cp_org_id;
64 l_org_loc_id NUMBER;
65
66
67 BEGIN
68
69 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
70 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.calculate_tax','Begin(+)');
71 END IF;
72
73 --Print Input Variables
74 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
75 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
76 'p_init_msg_list :'||p_init_msg_list);
77 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
78 'p_line_params_tbl.COUNT :'||p_line_params_tbl.COUNT);
79 END IF;
80
81 lp_hdr_params_rec := p_hdr_params_rec;
82 lp_line_params_tbl := p_line_params_tbl;
83
84 -- Populate transaction header record -- start
85 lp_transaction_rec.application_id := lp_hdr_params_rec.application_id;
86 lp_transaction_rec.trx_id := lp_hdr_params_rec.trx_id;
87 lp_transaction_rec.internal_organization_id := lp_hdr_params_rec.internal_organization_id;
88 lp_transaction_rec.entity_code := lp_hdr_params_rec.entity_code ;
89 lp_transaction_rec.event_class_code := lp_hdr_params_rec.event_class_code;
90 lp_transaction_rec.event_type_code := lp_hdr_params_rec.event_type_code ;
91 -- Populate transaction header record -- end
92
93 --sechawla 17-Nov-2011 13101040
94 OPEN c_org_location(lp_hdr_params_rec.internal_organization_id);
95 FETCH c_org_location INTO l_org_loc_id;
96 CLOSE c_org_location;
97
98
99 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
100 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
101 ' lp_transaction_rec.application_id '|| lp_transaction_rec.application_id);
102 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
103 ' lp_transaction_rec.trx_id '|| lp_transaction_rec.trx_id);
104 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
105 ' lp_transaction_rec.internal_organization_id '|| lp_transaction_rec.internal_organization_id);
106 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
107 ' lp_transaction_rec.entity_code '|| lp_transaction_rec.entity_code);
108 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
109 ' lp_transaction_rec.event_class_code '|| lp_transaction_rec.event_class_code);
110 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
111 ' lp_transaction_rec.event_type_code '|| lp_transaction_rec.event_type_code);
112 END IF;
113
114
115
116 -- Populate ZX global structure -- start
117 IF (lp_line_params_tbl.COUNT > 0) THEN
118 FOR j IN lp_line_params_tbl.FIRST .. lp_line_params_tbl.LAST LOOP
119
120 ZX_GLOBAL_STRUCTURES_PKG.INIT_TRX_LINE_DIST_TBL(j);
121
122 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.internal_organization_id(j) := lp_line_params_tbl(j).internal_organization_id;
123 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.application_id(j) := lp_line_params_tbl(j).application_id ;
124 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.entity_code(j) := lp_line_params_tbl(j).entity_code;
125 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_class_code(j) := lp_line_params_tbl(j).event_class_code;
126 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_type_code(j) := lp_line_params_tbl(j).event_type_code;
127 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_id(j) := lp_transaction_rec.trx_id;
128 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_date(j) := lp_line_params_tbl(j).trx_date;
129 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ledger_id(j) := lp_line_params_tbl(j).ledger_id;
130 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.legal_entity_id(j) := lp_line_params_tbl(j).legal_entity_id;
131 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_level_type(j) := lp_line_params_tbl(j).trx_level_type;
132 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_level_action(j) := lp_line_params_tbl(j).line_level_action;
133 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_line_id(j) := lp_line_params_tbl(j).trx_line_id;
134 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt(j) := lp_line_params_tbl(j).line_amt;
135 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_business_category(j) := lp_line_params_tbl(j).trx_business_category ;
136 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_category(j) := lp_line_params_tbl(j).product_category ;
137 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.user_defined_fisc_class(j) := lp_line_params_tbl(j).user_defined_fisc_class ;
138 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_intended_use(j) := lp_line_params_tbl(j).line_intended_use ;
139
140 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.tax_reporting_flag(j) := lp_line_params_tbl(j).tax_reporting_flag;
141
142 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.default_taxation_country(j) := lp_line_params_tbl(j).default_taxation_country;
143 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_type(j) := lp_line_params_tbl(j).product_type;
144 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.output_tax_classification_code(j) := lp_line_params_tbl(j).output_tax_classification_code;
145 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.assessable_value(j) := lp_line_params_tbl(j).assessable_value;
146 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.receivables_trx_type_id(j) := lp_line_params_tbl(j).receivables_trx_type_id;
147
148 -- Product fiscal classification will be derived in eBTax using inventory item id
149 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_id(j) := lp_line_params_tbl(j).product_id;
150
151 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_entity_code(j) := lp_line_params_tbl(j).adjusted_doc_entity_code;
152 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_event_class_code(j) := lp_line_params_tbl(j).adjusted_doc_event_class_code;
153 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_id(j) := lp_line_params_tbl(j).adjusted_doc_trx_id;
154 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_line_id(j) := lp_line_params_tbl(j).adjusted_doc_line_id;
155 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_level_type(j) := lp_line_params_tbl(j).adjusted_doc_trx_level_type;
156 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_number(j) := lp_line_params_tbl(j).adjusted_doc_number;
157 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_date(j) := lp_line_params_tbl(j).adjusted_doc_date;
158 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt_includes_tax_flag(j) := lp_line_params_tbl(j).line_amt_includes_tax_flag;
159
160 -- Populate ZX Global Structure with Location and Party Identifiers
161 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_cust_acct_site_use_id(j) := lp_line_params_tbl(j).ship_to_cust_acct_site_use_id;
162 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_cust_acct_site_use_id(j) := lp_line_params_tbl(j).bill_to_cust_acct_site_use_id;
163 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_site_id(j) := lp_line_params_tbl(j).bill_to_party_site_id;
164 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_location_id(j) := lp_line_params_tbl(j).bill_to_location_id;
165 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_id(j) := lp_line_params_tbl(j).bill_to_party_id;
166 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_site_id(j) := lp_line_params_tbl(j).ship_to_party_site_id;
167 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_location_id(j) := lp_line_params_tbl(j).ship_to_location_id;
168 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_id(j) := lp_line_params_tbl(j).ship_to_party_id;
169
170 --28-Oct-11 SECHAWLA 13101040
171 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_party_id(j) := lp_line_params_tbl(j).internal_organization_id;
172 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_location_id(j) := l_org_loc_id ;
173
174
175 -- Rounding identifiers
176 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_ship_to_party_id(j) := lp_line_params_tbl(j).rounding_ship_to_party_id;
177 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_bill_to_party_id(j) := lp_line_params_tbl(j).rounding_bill_to_party_id;
178
179 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_currency_code(j) := lp_line_params_tbl(j).trx_currency_code;
180 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.precision(j) := lp_line_params_tbl(j).precision;
181 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.minimum_accountable_unit(j) := lp_line_params_tbl(j).minimum_accountable_unit;
182
183 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_date(j) := lp_line_params_tbl(j).currency_conversion_date;
184 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_rate(j) := lp_line_params_tbl(j).currency_conversion_rate;
185 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_type(j) := lp_line_params_tbl(j).currency_conversion_type;
186 --bug 11691861
187 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exemption_control_flag(j) :='S';
188
189
190 IF (lp_line_params_tbl(j).provnl_tax_determination_date IS NOT NULL) THEN
191 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.provnl_tax_determination_date(j) := lp_line_params_tbl(j).provnl_tax_determination_date;
192 END IF;
193
194 IF (lp_line_params_tbl(j).ctrl_total_hdr_tax_amt IS NOT NULL) THEN
195 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ctrl_total_hdr_tx_amt(j) := lp_line_params_tbl(j).ctrl_total_hdr_tax_amt;
196 END IF;
197
198 -- Populate 'ICX_SESSION_ID' for Quote calls
199 IF (lp_hdr_params_rec.quote_flag = 'Y') THEN
200 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.icx_session_id(j) := FND_GLOBAL.SESSION_ID;
201 END IF;
202
203 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
204 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
205 ' internal_organization_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.internal_organization_id(j));
206 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
207 ' application_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.application_id(j));
208 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
209 ' entity_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.entity_code(j));
210 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
211 ' event_class_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_class_code(j));
212 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
213 ' event_type_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_type_code(j));
214 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
215 ' trx_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_id(j));
216 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
217 ' trx_date '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_date(j));
218 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
219 ' ledger_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ledger_id(j));
220 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
221 ' legal_entity_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.legal_entity_id(j));
222 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
223 ' trx_level_type '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_level_type(j));
224 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
225 ' line_level_action '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_level_action(j));
226 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
227 ' trx_line_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_line_id(j));
228 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
229 ' line_amt '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt(j));
230 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
231 ' trx_business_category '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_business_category(j));
232 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
233 ' product_category '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_category(j));
234 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
235 ' user_defined_fisc_class '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.user_defined_fisc_class(j));
236 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
237 ' line_intended_use '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_intended_use(j));
238 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
239 ' tax_reporting_flag '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.tax_reporting_flag(j));
240 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
241 ' default_taxation_country '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.default_taxation_country(j));
242 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
243 ' product_type '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_type(j));
244 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
245 ' output_tax_classification_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.output_tax_classification_code(j));
246 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
247 ' assessable_value '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.assessable_value(j));
248 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
249 ' receivables_trx_type_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.receivables_trx_type_id(j));
250 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
251 ' product_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_id(j));
252 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
253 ' adjusted_doc_entity_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_entity_code(j));
254 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
255 ' adjusted_doc_event_class_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_event_class_code(j));
256 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
257 ' adjusted_doc_trx_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_id(j));
258 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
259 ' adjusted_doc_line_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_line_id(j));
260 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
261 ' adjusted_doc_trx_level_type '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_level_type(j));
262 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
263 ' adjusted_doc_number '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_number(j));
264 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
265 ' adjusted_doc_date '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_date(j));
266 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
267 ' line_amt_includes_tax_flag '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt_includes_tax_flag(j));
268
269 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
270 ' ship_to_cust_acct_site_use_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_cust_acct_site_use_id(j));
271 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
272 ' bill_to_cust_acct_site_use_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_cust_acct_site_use_id(j));
273 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
274 ' bill_to_party_site_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_site_id(j));
275 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
276 ' bill_to_location_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_location_id(j));
277 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
278 ' bill_to_party_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_id(j));
279 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
280 ' ship_to_party_site_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_site_id(j));
281 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
282 ' ship_to_location_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_location_id(j));
283 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
284 ' ship_to_party_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_id(j));
285
286 --28-Oct-11 SECHAWLA 13101040
287 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
288 ' bill_from_party_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_party_id(j));
289 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
290 ' bill_from_location_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_location_id(j));
291
292 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
293 ' rounding_ship_to_party_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_ship_to_party_id(j));
294 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
295 ' rounding_bill_to_party_id '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_bill_to_party_id(j));
296 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
297 ' trx_currency_code '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_currency_code(j));
298 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
299 ' precision '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.precision(j));
300
301 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
302 ' minimum_accountable_unit '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.minimum_accountable_unit(j));
303 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
304 ' currency_conversion_date '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_date(j));
305 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
306 ' currency_conversion_rate '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_rate(j));
307 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
308 ' currency_conversion_type '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_type(j));
309 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
310 ' provnl_tax_determination_date '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.provnl_tax_determination_date(j));
311 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
312 ' ctrl_total_hdr_tx_amt '|| ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ctrl_total_hdr_tx_amt(j));
313 END IF;
314 END LOOP;
315 END IF;
316 -- Populate ZX global structure -- end
317
318 -- Calculate Tax
319 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
320 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
321 'Calling ZX_API_PUB.calculate_tax ..');
322 END IF;
323
324 ZX_API_PUB.calculate_tax
325 (p_api_version => p_api_version,
326 p_init_msg_list => p_init_msg_list,
327 p_commit => 'F',
328 p_validation_level => 1,
329 x_return_status => l_return_status,
330 x_msg_count => x_msg_count,
331 x_msg_data => x_msg_data,
332 p_transaction_rec => lp_transaction_rec,
333 p_quote_flag => lp_hdr_params_rec.quote_flag,
334 p_data_transfer_mode => 'PLS',
335 x_doc_level_recalc_flag => lx_doc_level_recalc_flag);
336
337 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
338 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
339 'After calling ZX_API_PUB.calculate_tax '||l_return_status);
340 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.calculate_tax.',
341 'lx_doc_level_recalc_flag '||lx_doc_level_recalc_flag);
342 END IF;
343
344 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
345 -- Tax Calculation Failed
346 OKL_API.set_message( p_app_name => 'OKL',
347 p_msg_name => 'OKL_TX_TAX_ENGINE_ERR');
348 END IF;
349 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
350 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
351 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
352 RAISE OKL_API.G_EXCEPTION_ERROR;
353 END IF;
354
355 x_return_status := l_return_status;
356
357 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
358 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.calculate_tax ','End(-)');
359 END IF;
360
361 EXCEPTION
362 WHEN OKL_API.G_EXCEPTION_ERROR THEN
363
364 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
365 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.calculate_tax ',
366 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
367 END IF;
368
369 x_return_status := OKL_API.G_RET_STS_ERROR;
370
371 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
372 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
373 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.calculate_tax ',
374 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
375 END IF;
376
377 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
378 WHEN OTHERS THEN
379
380 IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
381 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.calculate_tax ',
382 'EXCEPTION :'||sqlerrm);
383 END IF;
384
385 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
386 -- unexpected error
387 OKL_API.set_message(p_app_name => g_app_name,
388 p_msg_name => g_unexpected_error,
389 p_token1 => g_sqlcode_token,
390 p_token1_value => sqlcode,
391 p_token2 => g_sqlerrm_token,
392 p_token2_value => sqlerrm);
393
394 END calculate_tax;
395
396 /*========================================================================
397 | PUBLIC PROCEDURE get_tax_classification_code
398 |
399 | DESCRIPTION
400 | This procedure retrives the tax classification code
401 |
402 | CALLED FROM
403 |
404 |
405 | CALLS PROCEDURES/FUNCTIONS
406 | ZX_AR_TAX_CLASSIFICATN_DEF_PKG.get_default_tax_classification
407 |
408 | PARAMETERS
409 | p_ship_to_site_use_id
410 | p_bill_to_site_use_id
411 | p_inventory_item_id
412 | p_organization_id
413 | p_set_of_books_id
414 | p_trx_date
415 | p_trx_type_id
416 | p_entity_code
417 | p_event_class_code
418 | p_application_id
419 | p_internal_organization_id
420 |
421 | KNOWN ISSUES
422 |
423 | NOTES
424 |
425 | MODIFICATION HISTORY
426 | Date Author Description of Changes
427 | 24-APR-07 RRAVIKIR Created
428 |
429 *=======================================================================*/
430 PROCEDURE get_tax_classification_code (
431 x_return_status OUT NOCOPY VARCHAR2,
432 p_ship_to_site_use_id IN NUMBER,
433 p_bill_to_site_use_id IN NUMBER,
434 p_inventory_item_id IN NUMBER,
435 p_organization_id IN NUMBER,
436 p_set_of_books_id IN NUMBER,
437 p_trx_date IN DATE,
438 p_trx_type_id IN NUMBER,
439 p_entity_code IN VARCHAR2,
440 p_event_class_code IN VARCHAR2,
441 p_application_id IN NUMBER,
442 p_internal_organization_id IN NUMBER,
443 p_vendor_id IN NUMBER DEFAULT NULL,
444 p_vendor_site_id IN NUMBER DEFAULT NULL,
445 x_tax_classification_code OUT NOCOPY VARCHAR2 ) IS
446
447 -- Local variables
448 l_api_name CONSTANT VARCHAR2(30) := 'get_tax_classification_code';
449
450 lx_tax_classification_code VARCHAR2(50);
451 lx_allow_tax_code_flag VARCHAR2(1);
452
453 BEGIN
454
455 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
456 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code','Begin(+)');
457 END IF;
458
459 --Print Input Variables
460 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
461 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
462 'p_ship_to_site_use_id :'||p_ship_to_site_use_id);
463 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
464 'p_bill_to_site_use_id :'||p_bill_to_site_use_id);
465 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
466 'p_inventory_item_id :'||p_inventory_item_id);
467 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
468 'p_organization_id :'||p_organization_id);
469 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
470 'p_set_of_books_id :'||p_set_of_books_id);
471 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
472 'p_trx_date :'||p_trx_date);
473 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
474 'p_trx_type_id :'||p_trx_type_id);
475 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
476 'p_entity_code :'||p_entity_code);
477 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
478 'p_event_class_code :'||p_event_class_code);
479 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
480 'p_application_id :'||p_application_id);
481 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
482 'p_internal_organization_id :'||p_internal_organization_id);
483 END IF;
484
485 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
486 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code.',
487 'Calling ZX_TRX_DETAIL.mark_reporting_only_flag');
488 END IF;
489
490 IF (p_entity_code = OKL_PROCESS_SALES_TAX_PVT.G_AR_ENTITY_CODE) THEN
491 ZX_AR_TAX_CLASSIFICATN_DEF_PKG.get_default_tax_classification (
492 p_ship_to_site_use_id => p_ship_to_site_use_id
493 ,p_bill_to_site_use_id => p_bill_to_site_use_id
494 ,p_inventory_item_id => p_inventory_item_id
495 ,p_organization_id => p_organization_id
496 ,p_set_of_books_id => p_set_of_books_id
497 ,p_trx_date => p_trx_date
498 ,p_trx_type_id => p_trx_type_id
499 ,p_tax_classification_code => lx_tax_classification_code
500 ,p_entity_code => p_entity_code
501 ,p_event_class_code => p_event_class_code
502 ,p_application_id => p_application_id
503 ,p_internal_organization_id => p_internal_organization_id);
504
505 ELSIF (p_entity_code = OKL_PROCESS_SALES_TAX_PVT.G_AP_ENTITY_CODE) THEN
506 ZX_AP_TAX_CLASSIFICATN_DEF_PKG.get_default_tax_classification(
507 p_ref_doc_application_id => null
508 ,p_ref_doc_entity_code => null
509 ,p_ref_doc_event_class_code => null
510 ,p_ref_doc_trx_id => null
511 ,p_ref_doc_line_id => null
512 ,p_ref_doc_trx_level_type => null
513 ,p_vendor_id => p_vendor_id
514 ,p_vendor_site_id => p_vendor_site_id
515 ,p_code_combination_id => null
516 ,p_concatenated_segments => null
517 ,p_templ_tax_classification_cd => null
518 ,p_ship_to_location_id => null
519 ,p_ship_to_loc_org_id => null
520 ,p_inventory_item_id => p_inventory_item_id
521 ,p_item_org_id => p_organization_id
522 ,p_tax_classification_code => lx_tax_classification_code
523 ,p_allow_tax_code_override_flag => lx_allow_tax_code_flag
524 ,appl_short_name => 'SQLAP'
525 ,func_short_name => null
526 ,p_calling_sequence => null
527 ,p_event_class_code => p_event_class_code
528 ,p_entity_code => p_entity_code
529 ,p_application_id => p_application_id
530 ,p_internal_organization_id => p_internal_organization_id);
531 END IF;
532
533 x_return_status := OKL_API.G_RET_STS_SUCCESS;
534
535 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
536 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code ','End(-)');
537 END IF;
538
539 x_tax_classification_code := lx_tax_classification_code;
540
541 EXCEPTION
542 WHEN OTHERS THEN
543
544 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
545 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.get_tax_classification_code ',
546 'EXCEPTION :'||sqlerrm);
547 END IF;
548
549 OKL_API.set_message(p_app_name => 'OKL',
550 p_msg_name => 'OKL_TX_TAX_CLASS_CODE_ERR'); --'Error getting Default Tax Classification Code.'
551 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
552 -- unexpected error
553 OKL_API.set_message(p_app_name => g_app_name,
554 p_msg_name => g_unexpected_error,
555 p_token1 => g_sqlcode_token,
556 p_token1_value => sqlcode,
557 p_token2 => g_sqlerrm_token,
558 p_token2_value => sqlerrm);
559
560 END get_tax_classification_code;
561
562 /*========================================================================
563 | PUBLIC PROCEDURE mark_reporting_flag
564 |
565 | DESCRIPTION
566 | This procedure is called by billing and disbursement modules to fetch tax
567 | determinants
568 |
569 | CALLED FROM
570 |
571 |
572 | CALLS PROCEDURES/FUNCTIONS
573 | ZX_TRX_DETAIL.mark_reporting_only_flag
574 |
575 | PARAMETERS
576 | p_trx_id -- Transaction identifier
577 | p_application_id -- Application identifier
578 | p_entity_code -- Entity code
579 | p_event_class_code -- Event class code
580 |
581 | KNOWN ISSUES
582 |
583 | NOTES
584 |
585 |
586 | MODIFICATION HISTORY
587 | Date Author Description of Changes
588 | 01-MAR-07 RRAVIKIR Created
589 |
590 *=======================================================================*/
591 PROCEDURE mark_reporting_flag( p_api_version IN NUMBER,
592 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
593 x_return_status OUT NOCOPY VARCHAR2,
594 x_msg_count OUT NOCOPY NUMBER,
595 x_msg_data OUT NOCOPY VARCHAR2,
596 p_trx_id IN NUMBER,
597 p_application_id IN NUMBER,
598 p_entity_code IN VARCHAR2,
599 p_event_class_code IN VARCHAR2) IS
600
601 -- Local variables
602 l_api_version CONSTANT NUMBER := 1;
603 l_api_name CONSTANT VARCHAR2(30) := 'mark_reporting_flag';
604 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
605
606 BEGIN
607 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
608 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag','Begin(+)');
609 END IF;
610
611 --Print Input Variables
612 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
613 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
614 'p_init_msg_list :'||p_init_msg_list);
615 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
616 'p_trx_id :'||p_trx_id);
617 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
618 'p_application_id :'||p_application_id);
619 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
620 'p_entity_code :'||p_entity_code);
621 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
622 'p_event_class_code :'||p_event_class_code);
623 END IF;
624
625 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
626 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
627 'Calling ZX_TRX_DETAIL.mark_reporting_only_flag');
628 END IF;
629
630 ZX_TRX_DETAIL.mark_reporting_only_flag( p_trx_id => p_trx_id,
631 p_application_id => p_application_id,
632 p_entity_code => p_entity_code,
633 p_event_class_code => p_event_class_code,
634 p_return_status => l_return_status,
635 p_error_buffer => x_msg_data,
636 p_reporting_flag => 'Y');
637
638 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
639 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag.',
640 'Return Status' || l_return_status);
641 END IF;
642
643 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
644 -- mark reporting flag failed
645 OKL_API.set_message( p_app_name => 'OKL',
646 p_msg_name => 'OKL_TX_MARK_REPORT_FLAG_ERR');
647 END IF;
648
649 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
650 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
651 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
652 RAISE OKL_API.G_EXCEPTION_ERROR;
653 END IF;
654
655 x_return_status := l_return_status;
656
657 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
658 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag ','End(-)');
659 END IF;
660
661 EXCEPTION
662 WHEN OKL_API.G_EXCEPTION_ERROR THEN
663
664 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
665 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag ',
666 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
667 END IF;
668
669 x_return_status := OKL_API.G_RET_STS_ERROR;
670
671 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
672 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
673 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag ',
674 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
675 END IF;
676
677 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
678
679 WHEN OTHERS THEN
680
681 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
682 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.mark_reporting_flag ',
683 'EXCEPTION :'||sqlerrm);
684 END IF;
685
686 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
687 -- unexpected error
688 OKL_API.set_message(p_app_name => g_app_name,
689 p_msg_name => g_unexpected_error,
690 p_token1 => g_sqlcode_token,
691 p_token1_value => sqlcode,
692 p_token2 => g_sqlerrm_token,
693 p_token2_value => sqlerrm);
694
695 END mark_reporting_flag;
696
697
698 /*========================================================================
699 | PUBLIC PROCEDURE set_tax_security_context
700 |
701 | DESCRIPTION
702 | This procedure is called by update tax common components for setting the
703 | tax security context before invoking Tax Determinant Lov's
704 |
705 | CALLED FROM Tax Common components
706 |
707 |
708 | CALLS PROCEDURES/FUNCTIONS
709 | zx_api_pub.set_tax_security_context()
710 |
711 |
712 | PARAMETERS
713 | p_internal_org_id -- Operatng Unit Identifier
714 | p_legal_entity_id -- Legal Entity Identifier
715 | p_transaction_date -- Transaction Date
716 |
717 | KNOWN ISSUES
718 |
719 | NOTES
720 |
721 |
722 | MODIFICATION HISTORY
723 | Date Author Description of Changes
724 | 24-JAN-07 RRAVIKIR Created
725 *=======================================================================*/
726 PROCEDURE set_tax_security_context(
727 p_api_version IN NUMBER,
728 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
729 x_return_status OUT NOCOPY VARCHAR2,
730 x_msg_count OUT NOCOPY NUMBER,
731 x_msg_data OUT NOCOPY VARCHAR2,
732 p_internal_org_id IN NUMBER,
733 p_legal_entity_id IN NUMBER,
734 p_transaction_date IN DATE) IS
735
736 l_api_version CONSTANT NUMBER := 1;
737 l_api_name CONSTANT VARCHAR2(30) := 'set_tax_security_context';
738 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
739
740 x_effective_date DATE;
741
742 BEGIN
743
744 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
745 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.set_tax_security_context','Begin(+)');
746 END IF;
747
748 --Print Input Variables
749 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
750 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
751 'p_init_msg_list :'||p_init_msg_list);
752 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
753 'p_internal_org_id :'||to_char(p_internal_org_id));
754 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
755 'p_legal_entity_id :'||p_legal_entity_id);
756 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
757 'p_transaction_date :'||p_transaction_date);
758 END IF;
759
760 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
761 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
762 'Calling ZX_API_PUB.set_tax_security_context');
763 END IF;
764
765 -- Set Tax Security Context
766 ZX_API_PUB.set_tax_security_context(p_api_version => p_api_version,
767 p_init_msg_list => p_init_msg_list,
768 p_commit => 'F',
769 p_validation_level => 1,
770 x_return_status => l_return_status,
771 x_msg_count => x_msg_count,
772 x_msg_data => x_msg_data,
773 p_internal_org_id => p_internal_org_id,
774 p_legal_entity_id => p_legal_entity_id,
775 p_transaction_date => p_transaction_date,
776 p_related_doc_date => NULL,
777 p_adjusted_doc_date => NULL,
778 p_provnl_tax_det_date => NULL,
779 x_effective_date => x_effective_date);
780
781 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
782 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.set_tax_security_context.',
783 'Return Status' || l_return_status);
784 END IF;
785
786 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
787 -- set tax security context failed
788 OKL_API.set_message( p_app_name => 'OKL',
789 p_msg_name => 'OKL_TX_SET_TAX_CNTXT_ERR');
790 END IF;
791
792 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
793 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
794 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
795 RAISE OKL_API.G_EXCEPTION_ERROR;
796 END IF;
797
798 x_return_status := l_return_status;
799
800 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
801 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.set_tax_security_context ','End(-)');
802 END IF;
803
804 EXCEPTION
805 WHEN OKL_API.G_EXCEPTION_ERROR THEN
806
807 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
808 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.set_tax_security_context ',
809 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
810 END IF;
811
812 x_return_status := OKL_API.G_RET_STS_ERROR;
813
814 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
815 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
816 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.set_tax_security_context ',
817 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
818 END IF;
819
820 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
821
822 WHEN OTHERS THEN
823
824 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
825 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.set_tax_security_context ',
826 'EXCEPTION :'||sqlerrm);
827 END IF;
828
829 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
830 -- unexpected error
831 OKL_API.set_message(p_app_name => g_app_name,
832 p_msg_name => g_unexpected_error,
833 p_token1 => g_sqlcode_token,
834 p_token1_value => sqlcode,
835 p_token2 => g_sqlerrm_token,
836 p_token2_value => sqlerrm);
837
838 END set_tax_security_context;
839
840 /*========================================================================
841 | PUBLIC PROCEDURE process_tax_determ_override
842 |
843 | DESCRIPTION
844 | This procedure is called by 'BOOKING', 'REBOOK' and 'ASSET LOCATION
845 | CHANGE' transactions to override tax determinants
846 |
847 | CALLED FROM OLM Tax Events
848 |
849 |
850 | CALLS PROCEDURES/FUNCTIONS
851 | ZX_API_PUB.calculate_tax
852 |
853 | PARAMETERS
854 | p_trx_id -- Transaction Identifier
855 | p_tax_sources_id -- Tax Sources table unique Identifier
856 | p_trx_business_category -- Transaction Business Category (Tax Determinant)
857 | p_product_category -- Product Category (Tax Determinant)
858 | p_user_defined_fisc_class -- User defined fiscal class (Tax Determinant)
859 | p_line_intended_use -- Line intended use (Tax Determinant)
860 |
861 | KNOWN ISSUES
862 |
863 | NOTES
864 |
865 |
866 | MODIFICATION HISTORY
867 | Date Author Description of Changes
868 | 01-FEB-07 RRAVIKIR Created
869 |
870 *=======================================================================*/
871 PROCEDURE process_tax_determ_override(
872 p_api_version IN NUMBER,
873 p_init_msg_list IN VARCHAR2,
874 x_return_status OUT NOCOPY VARCHAR2 ,
875 x_msg_count OUT NOCOPY NUMBER ,
876 x_msg_data OUT NOCOPY VARCHAR2,
877 p_trx_id IN NUMBER,
878 p_tax_sources_id IN NUMBER,
879 p_trx_business_category IN VARCHAR2,
880 p_product_category IN VARCHAR2,
881 p_user_defined_fisc_class IN VARCHAR2,
882 p_line_intended_use IN VARCHAR2,
883 p_transaction_rec IN transaction_rec_type,
884 x_doc_level_recalc_flag OUT NOCOPY VARCHAR2) IS
885
886 l_api_version CONSTANT NUMBER := 1;
887 l_api_name CONSTANT VARCHAR2(30) := 'process_tax_determ';
888 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
889
890 x_effective_date DATE;
891 l_ledger_id NUMBER;
892 l_cust_trx_type_id NUMBER;
893
894 l_transaction_rec transaction_rec_type;
895
896 -- Cursors
897 CURSOR l_taxsources_csr(cp_tax_sources_id IN NUMBER) IS
898 SELECT trx_line_id, application_id, event_class_code, entity_code, trx_date,
899 khr_id, trx_currency_code, currency_conversion_type,
900 currency_conversion_rate, currency_conversion_date, org_id,
901 legal_entity_id, trx_level_type, line_amt, bill_to_cust_acct_id,
902 default_taxation_country, tax_classification_code, assessable_value,
903 inventory_item_id, product_type, ship_to_cust_acct_site_use_id,
904 bill_to_cust_acct_site_use_id, bill_to_party_site_id, bill_to_location_id,
905 bill_to_party_id, ship_to_party_site_id, ship_to_location_id,
906 ship_to_party_id, adjusted_doc_entity_code, adjusted_doc_event_class_code,
907 adjusted_doc_trx_id, adjusted_doc_trx_line_id, adjusted_doc_trx_level_type,
908 adjusted_doc_number, adjusted_doc_date, tax_reporting_flag
909 FROM okl_tax_sources
910 WHERE id = cp_tax_sources_id;
911
912 CURSOR l_racusttrxtypes_csr IS
913 SELECT cust_trx_type_id
914 FROM ra_cust_trx_types_all
915 WHERE name = 'Invoice-OKL';
916
917 CURSOR l_fndcurrency_csr(cp_currency_code IN VARCHAR2) IS
918 SELECT precision, minimum_accountable_unit
919 FROM fnd_currencies
920 WHERE currency_code = cp_currency_code
921 AND enabled_flag = 'Y'
922 AND nvl(start_date_active, sysdate) <= sysdate
923 AND nvl(end_date_active, sysdate) >= sysdate;
924
925 -- Cursor Records
926 l_taxsources_rec l_taxsources_csr%ROWTYPE;
927 l_fndcurrency_rec l_fndcurrency_csr%ROWTYPE;
928
929
930 --sechawla 17-Nov-2011 13101040
931 CURSOR c_org_location(cp_org_id IN NUMBER) IS
932 SELECT location_id
933 FROM hr_organization_units
934 WHERE ORGANIZATION_ID = cp_org_id;
935 l_org_loc_id NUMBER;
936
937 BEGIN
938
939 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
940 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override','Begin(+)');
941 END IF;
942
943 --Print Input Variables
944 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
945 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override.',
946 'p_init_msg_list :'||p_init_msg_list);
947 END IF;
948
949 -- Tax Determinants override
950 l_transaction_rec := p_transaction_rec;
951
952 -- Fetch Tax Sources details
953 OPEN l_taxsources_csr(cp_tax_sources_id => p_tax_sources_id);
954 FETCH l_taxsources_csr INTO l_taxsources_rec;
955 CLOSE l_taxsources_csr;
956
957 -- Fetch AR Customer Account Trx Type
958 OPEN l_racusttrxtypes_csr;
959 FETCH l_racusttrxtypes_csr INTO l_cust_trx_type_id;
960 IF l_racusttrxtypes_csr%NOTFOUND THEN
961 -- AR Customer Account Trx Type is required
962 OKL_API.set_message( p_msg_name => G_REQUIRED_VALUE,
963 p_token1 => G_COL_NAME_TOKEN,
964 p_token1_value => 'CUST_TRX_TYPE_ID');
965 RAISE OKL_API.G_EXCEPTION_ERROR;
966 END IF;
967 CLOSE l_racusttrxtypes_csr;
968
969 -- Retrieve Ledger Id
970 l_ledger_id := okl_accounting_util.get_set_of_books_id;
971
972 --sechawla 17-Nov-2011 13101040
973 OPEN c_org_location(l_taxsources_rec.org_id);
974 FETCH c_org_location INTO l_org_loc_id;
975 CLOSE c_org_location;
976
977
978 -- Initialize ZX Global Structure
979 ZX_GLOBAL_STRUCTURES_PKG.INIT_TRX_LINE_DIST_TBL(1);
980
981 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.internal_organization_id (1) := l_taxsources_rec.org_id;
982 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.application_id (1) := l_taxsources_rec.application_id ;
983 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.entity_code (1) := l_transaction_rec.entity_code;
984 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_class_code (1) := l_transaction_rec.event_class_code;
985 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.event_type_code (1) := l_transaction_rec.event_type_code;
986 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_id (1) := p_trx_id;
987 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_date (1) := l_taxsources_rec.trx_date;
988 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ledger_id (1) := l_ledger_id;
989 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.legal_entity_id (1) := l_taxsources_rec.legal_entity_id;
990 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_level_type (1) := l_taxsources_rec.trx_level_type;
991 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_level_action (1) := OKL_PROCESS_SALES_TAX_PVT.G_UPDATE_LINE_LEVEL_ACTION ;
992 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_line_id (1) := l_taxsources_rec.trx_line_id;
993 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt (1) := l_taxsources_rec.line_amt;
994 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_business_category (1) := p_trx_business_category ;
995 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_category (1) := p_product_category ;
996 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.user_defined_fisc_class (1) := p_user_defined_fisc_class ;
997 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_intended_use (1) := p_line_intended_use ;
998
999 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.tax_reporting_flag (1) := l_taxsources_rec.tax_reporting_flag;
1000
1001 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.default_taxation_country (1) := l_taxsources_rec.default_taxation_country;
1002 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_type (1) := l_taxsources_rec.product_type;
1003 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.output_tax_classification_code (1) := l_taxsources_rec. tax_classification_code;
1004 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.assessable_value (1) := l_taxsources_rec.assessable_value;
1005 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.receivables_trx_type_id (1) := l_cust_trx_type_id;
1006
1007 -- Product fiscal classification will be derived in eBTax using inventory item id
1008 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.product_id (1) := l_taxsources_rec.inventory_item_id;
1009
1010 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_entity_code (1) := l_taxsources_rec.adjusted_doc_entity_code;
1011 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_event_class_code (1) := l_taxsources_rec.adjusted_doc_event_class_code;
1012 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_id (1) := l_taxsources_rec.adjusted_doc_trx_id;
1013 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_line_id (1) := l_taxsources_rec.adjusted_doc_trx_line_id;
1014 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_trx_level_type (1) := l_taxsources_rec.adjusted_doc_trx_level_type;
1015 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_number (1) := l_taxsources_rec.adjusted_doc_number;
1016 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.adjusted_doc_date (1) := l_taxsources_rec.adjusted_doc_date;
1017 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt_includes_tax_flag (1) := 'N';
1018
1019 -- Populate ZX Global Structure with Location and Party Identifiers
1020 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_cust_acct_site_use_id (1) := l_taxsources_rec.ship_to_cust_acct_site_use_id;
1021 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_cust_acct_site_use_id (1) := l_taxsources_rec.bill_to_cust_acct_site_use_id;
1022 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_site_id (1) := l_taxsources_rec.bill_to_party_site_id;
1023 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_location_id (1) := l_taxsources_rec.bill_to_location_id;
1024 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_to_party_id (1) := l_taxsources_rec.bill_to_party_id;
1025 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_site_id (1) := l_taxsources_rec.ship_to_party_site_id;
1026 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_location_id (1) := l_taxsources_rec.ship_to_location_id;
1027 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.ship_to_party_id (1) := l_taxsources_rec.ship_to_party_id;
1028 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_ship_to_party_id (1) := l_taxsources_rec.ship_to_party_id;
1029 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.rounding_bill_to_party_id (1) := l_taxsources_rec.bill_to_party_id;
1030
1031
1032 --28-Oct-11 SECHAWLA 13101040
1033 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_party_id (1) := l_taxsources_rec.org_id;
1034 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.bill_from_location_id (1) := l_org_loc_id;
1035
1036
1037 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.insert_update_flag (1) := 'U';
1038 --bug 11691861
1039 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exemption_control_flag(1) :='S';
1040
1041 -- Populate Currency values
1042 OPEN l_fndcurrency_csr(cp_currency_code => l_taxsources_rec.trx_currency_code);
1043 FETCH l_fndcurrency_csr INTO l_fndcurrency_rec;
1044
1045 IF l_fndcurrency_csr%NOTFOUND THEN
1046 OKL_API.set_message( p_msg_name => G_REQUIRED_VALUE,
1047 p_token1 => G_COL_NAME_TOKEN,
1048 p_token1_value => 'CURRENCY_CODE');
1049 RAISE OKL_API.G_EXCEPTION_ERROR;
1050 END IF;
1051 CLOSE l_fndcurrency_csr;
1052 -- End Populate Currency values
1053
1054 -- Populate ZX Global Structure with Currency Identifiers
1055 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.trx_currency_code(1) := l_taxsources_rec.trx_currency_code;
1056 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.precision (1) := l_fndcurrency_rec.precision;
1057 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.minimum_accountable_unit (1) := l_fndcurrency_rec.minimum_accountable_unit;
1058
1059 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_date (1) := l_taxsources_rec.currency_conversion_date;
1060 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_rate (1) := l_taxsources_rec.currency_conversion_rate;
1061 ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.currency_conversion_type (1) := l_taxsources_rec.currency_conversion_type;
1062
1063 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1064 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override.',
1065 'Calling ZX_API_PUB.calculate_tax');
1066 END IF;
1067
1068 ZX_API_PUB.calculate_tax
1069 (p_api_version => p_api_version,
1070 p_init_msg_list => p_init_msg_list,
1071 p_commit => 'F',
1072 p_validation_level => 1,
1073 x_return_status => l_return_status,
1074 x_msg_count => x_msg_count,
1075 x_msg_data => x_msg_data,
1076 p_transaction_rec => l_transaction_rec,
1077 p_quote_flag => 'N',
1078 p_data_transfer_mode => 'PLS',
1079 x_doc_level_recalc_flag => x_doc_level_recalc_flag );
1080
1081 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1082 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override.',
1083 'Return Status' || l_return_status);
1084 END IF;
1085
1086 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
1087 -- Tax Calculation Failed
1088 OKL_API.set_message( p_app_name => 'OKL',
1089 p_msg_name => 'OKL_TX_TAX_ENGINE_ERR');
1090 END IF;
1091
1092 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1093 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1094 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1095 RAISE OKL_API.G_EXCEPTION_ERROR;
1096 END IF;
1097
1098 x_return_status := l_return_status;
1099
1100 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1101 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override ','End(-)');
1102 END IF;
1103
1104 EXCEPTION
1105 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1106
1107 IF (l_taxsources_csr%ISOPEN) THEN
1108 CLOSE l_taxsources_csr;
1109 END IF;
1110
1111 IF (l_racusttrxtypes_csr%ISOPEN) THEN
1112 CLOSE l_racusttrxtypes_csr;
1113 END IF;
1114
1115 IF (l_fndcurrency_csr%ISOPEN) THEN
1116 CLOSE l_fndcurrency_csr;
1117 END IF;
1118
1119 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1120 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override ',
1121 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
1122 END IF;
1123
1124 x_return_status := OKL_API.G_RET_STS_ERROR;
1125
1126 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1127
1128 IF (l_taxsources_csr%ISOPEN) THEN
1129 CLOSE l_taxsources_csr;
1130 END IF;
1131
1132 IF (l_racusttrxtypes_csr%ISOPEN) THEN
1133 CLOSE l_racusttrxtypes_csr;
1134 END IF;
1135
1136 IF (l_fndcurrency_csr%ISOPEN) THEN
1137 CLOSE l_fndcurrency_csr;
1138 END IF;
1139
1140 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1141 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override ',
1142 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
1143 END IF;
1144
1145 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1146
1147 WHEN OTHERS THEN
1148
1149 IF (l_taxsources_csr%ISOPEN) THEN
1150 CLOSE l_taxsources_csr;
1151 END IF;
1152
1153 IF (l_racusttrxtypes_csr%ISOPEN) THEN
1154 CLOSE l_racusttrxtypes_csr;
1155 END IF;
1156
1157 IF (l_fndcurrency_csr%ISOPEN) THEN
1158 CLOSE l_fndcurrency_csr;
1159 END IF;
1160
1161 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1162 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_determ_override ',
1163 'EXCEPTION :'||sqlerrm);
1164 END IF;
1165
1166 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1167 -- unexpected error
1168 OKL_API.set_message(p_app_name => g_app_name,
1169 p_msg_name => g_unexpected_error,
1170 p_token1 => g_sqlcode_token,
1171 p_token1_value => sqlcode,
1172 p_token2 => g_sqlerrm_token,
1173 p_token2_value => sqlerrm);
1174
1175 END process_tax_determ_override;
1176
1177 /*========================================================================
1178 | PUBLIC PROCEDURE process_tax_details_override
1179 |
1180 | DESCRIPTION
1181 | This procedure is called by 'BOOKING', 'REBOOK' transactions to override
1182 | tax details
1183 |
1184 | CALLED FROM OLM Tax Events
1185 |
1186 |
1187 | CALLS PROCEDURES/FUNCTIONS
1188 | ZX_API_PUB.override_tax
1189 |
1190 | PARAMETERS
1191 | p_event_id -- Tax Lines window will return an event id
1192 | when there are any user overrides. It is
1193 | this event id value that needs to be passed
1194 | by OA Tax Override and Forms Tax Override Uis,
1195 | to this API
1196 | p_internal_organization_id -- Organization Identifier
1197 | p_trx_id -- Transaction Identifier
1198 | p_application_id -- Application Identifier
1199 | p_entity_code -- Entity code
1200 | p_event_class_code -- Event class code
1201 |
1202 | KNOWN ISSUES
1203 |
1204 | NOTES
1205 |
1206 |
1207 | MODIFICATION HISTORY
1208 | Date Author Description of Changes
1209 | 22-FEB-07 RRAVIKIR Created
1210 |
1211 *=======================================================================*/
1212 PROCEDURE process_tax_details_override(
1213 p_api_version IN NUMBER,
1214 p_init_msg_list IN VARCHAR2,
1215 x_return_status OUT NOCOPY VARCHAR2 ,
1216 x_msg_count OUT NOCOPY NUMBER ,
1217 x_msg_data OUT NOCOPY VARCHAR2,
1218 p_transaction_rec IN transaction_rec_type,
1219 p_override_level IN VARCHAR2,
1220 p_event_id IN NUMBER) IS
1221
1222 l_api_version CONSTANT NUMBER := 1;
1223 l_api_name CONSTANT VARCHAR2(30) := 'process_tax_details';
1224 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1225
1226 x_effective_date DATE;
1227
1228 l_transaction_rec transaction_rec_type;
1229
1230 BEGIN
1231
1232 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1233 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.process_tax_details_override','Begin(+)');
1234 END IF;
1235
1236 --Print Input Variables
1237 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1238 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_details_override.',
1239 'p_init_msg_list :'||p_init_msg_list);
1240 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_details_override.',
1241 'p_override_level :'||to_char(p_override_level));
1242 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_details_override.',
1243 'p_event_id :'||p_event_id);
1244 END IF;
1245
1246 -- Override Tax
1247 l_transaction_rec := p_transaction_rec;
1248
1249 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1250 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_details_override.',
1251 'Calling ZX_API_PUB.override_tax');
1252 END IF;
1253
1254 ZX_API_PUB.override_tax
1255 (p_api_version => p_api_version,
1256 p_init_msg_list => p_init_msg_list,
1257 p_commit => 'F',
1258 p_validation_level => 1,
1259 x_return_status => l_return_status,
1260 x_msg_count => x_msg_count,
1261 x_msg_data => x_msg_data,
1262 p_transaction_rec => l_transaction_rec,
1263 p_override_level => p_override_level,
1264 p_event_id => p_event_id);
1265
1266 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1267 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.process_tax_details_override.',
1268 'Return Status' || l_return_status);
1269 END IF;
1270
1271 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
1272 -- oevrride tax failed
1273 OKL_API.set_message( p_app_name => 'OKL',
1274 p_msg_name => 'OKL_TX_TAX_ENGINE_ERR');
1275 END IF;
1276
1277 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1278 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1279 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1280 RAISE OKL_API.G_EXCEPTION_ERROR;
1281 END IF;
1282
1283 x_return_status := l_return_status;
1284
1285 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1286 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.process_tax_details_override ','End(-)');
1287 END IF;
1288
1289 EXCEPTION
1290 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1291
1292 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1293 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_details_override ',
1294 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
1295 END IF;
1296
1297 x_return_status := OKL_API.G_RET_STS_ERROR;
1298
1299 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1300 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1301 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_details_override ',
1302 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
1303 END IF;
1304
1305 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1306
1307 WHEN OTHERS THEN
1308
1309 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1310 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.process_tax_details_override ',
1311 'EXCEPTION :'||sqlerrm);
1312 END IF;
1313
1314 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1315 -- unexpected error
1316 OKL_API.set_message(p_app_name => g_app_name,
1317 p_msg_name => g_unexpected_error,
1318 p_token1 => g_sqlcode_token,
1319 p_token1_value => sqlcode,
1320 p_token2 => g_sqlerrm_token,
1321 p_token2_value => sqlerrm);
1322
1323 END process_tax_details_override;
1324
1325 /*========================================================================
1326 | PUBLIC PROCEDURE copy_global_tax_data
1327 |
1328 | DESCRIPTION
1329 | This procedure is called by tax module to populate tax data into ZX global
1330 | session table. eBtax uses this table to show the tax data for Quote
1331 | objects (Sales Quote, Lease Application and Termination Quote)
1332 |
1333 | CALLED FROM OLM Tax Module
1334 |
1335 |
1336 | CALLS PROCEDURES/FUNCTIONS
1337 |
1338 |
1339 | PARAMETERS
1340 | p_trx_id -- Transaction Identifier
1341 | p_trx_line_id -- Transaction Line Identifier
1342 | p_application_id -- Application Identifier
1343 | p_trx_level_type -- Transaction level type
1344 | p_entity_code -- Entity code
1345 | p_event_class_code -- Event class code
1346 |
1347 | KNOWN ISSUES
1348 |
1349 | NOTES
1350 |
1351 |
1352 | MODIFICATION HISTORY
1353 | Date Author Description of Changes
1354 | 04-APR-07 RRAVIKIR Created
1355 |
1356 *=======================================================================*/
1357 PROCEDURE copy_global_tax_data (
1358 p_api_version IN NUMBER,
1359 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1360 x_return_status OUT NOCOPY VARCHAR2,
1361 x_msg_count OUT NOCOPY NUMBER,
1362 x_msg_data OUT NOCOPY VARCHAR2,
1363 p_trx_id IN NUMBER,
1364 p_trx_line_id IN NUMBER,
1365 p_application_id IN NUMBER,
1366 p_trx_level_type IN VARCHAR2,
1367 p_entity_code IN VARCHAR2,
1368 p_event_class_code IN VARCHAR2) IS
1369
1370 -- Local variables
1371 l_api_version CONSTANT NUMBER := 1;
1372 l_api_name CONSTANT VARCHAR2(30) := 'copy_global_tax_data';
1373
1374 -- Cursor to retrieve tax data
1375 CURSOR l_get_tax_data_csr IS
1376 SELECT tax_determine_date,
1377 tax_rate_id,
1378 tax_rate_code,
1379 taxable_amt,
1380 tax_exemption_id,
1381 tax_rate,
1382 tax_amt,
1383 tax_date,
1384 line_amt,
1385 internal_organization_id,
1386 application_id,
1387 entity_code,
1388 event_class_code,
1389 event_type_code ,
1390 trx_id,
1391 trx_line_id,
1392 trx_level_type,
1393 trx_line_number,
1394 tax_line_number ,
1395 tax_regime_id ,
1396 tax_regime_code ,
1397 tax_id,
1398 tax,
1399 tax_status_id,
1400 tax_status_code,
1401 tax_apportionment_line_number,
1402 legal_entity_id,
1403 trx_number,
1404 trx_date,
1405 tax_jurisdiction_id,
1406 tax_jurisdiction_code,
1407 tax_type_code,
1408 tax_currency_code ,
1409 taxable_amt_tax_curr,
1410 trx_currency_code,
1411 minimum_accountable_unit,
1412 precision,
1413 currency_conversion_type,
1414 currency_conversion_rate,
1415 currency_conversion_date
1416 FROM okl_tax_trx_details
1417 WHERE trx_id = p_trx_id
1418 AND trx_line_id = p_trx_line_id
1419 AND application_id = p_application_id
1420 AND trx_level_type = p_trx_level_type
1421 AND entity_code = p_entity_code
1422 AND event_class_code = p_event_class_code;
1423
1424 BEGIN
1425 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1426 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data','Begin(+)');
1427 END IF;
1428
1429 --Print Input Variables
1430 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1431 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1432 'p_init_msg_list :'||p_init_msg_list);
1433 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1434 'p_trx_id :'||p_trx_id);
1435 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1436 'p_trx_line_id :'||p_trx_line_id);
1437 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1438 'p_application_id :'||p_application_id);
1439 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1440 'p_trx_level_type :'||p_trx_level_type);
1441 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1442 'p_entity_code :'||p_entity_code);
1443 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1444 'p_event_class_code :'||p_event_class_code);
1445 END IF;
1446
1447 -- Populate the tax data into eBtax global session table
1448 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1449 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1450 'INSERT INTO zx_detail_tax_lines_gt');
1451 END IF;
1452
1453 -- Clear the table before insertion
1454 DELETE
1455 FROM zx_detail_tax_lines_gt
1456 WHERE trx_id = p_trx_id
1457 AND trx_line_id = p_trx_line_id;
1458
1459 FOR l_get_tax_data_rec IN l_get_tax_data_csr LOOP
1460 INSERT INTO zx_detail_tax_lines_gt(
1461 tax_line_id,
1462 tax_determine_date,
1463 tax_rate_id,
1464 tax_rate_code,
1465 taxable_amt,
1466 tax_exemption_id,
1467 tax_rate,
1468 tax_amt,
1469 tax_date,
1470 line_amt,
1471 internal_organization_id,
1472 application_id,
1473 entity_code,
1474 event_class_code,
1475 event_type_code ,
1476 trx_id,
1477 trx_line_id,
1478 trx_level_type,
1479 trx_line_number,
1480 tax_line_number ,
1481 tax_regime_id ,
1482 tax_regime_code ,
1483 tax_id,
1484 tax,
1485 tax_status_id,
1486 tax_status_code,
1487 tax_apportionment_line_number,
1488 legal_entity_id,
1489 trx_number,
1490 trx_date,
1491 tax_jurisdiction_id,
1492 tax_jurisdiction_code,
1493 tax_type_code,
1494 tax_currency_code ,
1495 taxable_amt_tax_curr,
1496 trx_currency_code,
1497 minimum_accountable_unit,
1498 precision,
1499 currency_conversion_type,
1500 currency_conversion_rate,
1501 currency_conversion_date,
1502 created_by,
1503 creation_date,
1504 last_updated_by,
1505 last_update_date,
1506 last_update_login,
1507 object_version_number) VALUES
1508 (
1509 zx_lines_s.nextval,
1510 l_get_tax_data_rec.tax_determine_date,
1511 l_get_tax_data_rec.tax_rate_id,
1512 l_get_tax_data_rec.tax_rate_code,
1513 l_get_tax_data_rec.taxable_amt,
1514 l_get_tax_data_rec.tax_exemption_id,
1515 l_get_tax_data_rec.tax_rate,
1516 l_get_tax_data_rec.tax_amt,
1517 l_get_tax_data_rec.tax_date,
1518 l_get_tax_data_rec.line_amt,
1519 l_get_tax_data_rec.internal_organization_id,
1520 l_get_tax_data_rec.application_id,
1521 l_get_tax_data_rec.entity_code,
1522 l_get_tax_data_rec.event_class_code,
1523 l_get_tax_data_rec.event_type_code ,
1524 l_get_tax_data_rec.trx_id,
1525 l_get_tax_data_rec.trx_line_id,
1526 l_get_tax_data_rec.trx_level_type,
1527 l_get_tax_data_rec.trx_line_number,
1528 l_get_tax_data_rec.tax_line_number ,
1529 l_get_tax_data_rec.tax_regime_id ,
1530 l_get_tax_data_rec.tax_regime_code ,
1531 l_get_tax_data_rec.tax_id,
1532 l_get_tax_data_rec.tax,
1533 l_get_tax_data_rec.tax_status_id,
1534 l_get_tax_data_rec.tax_status_code,
1535 l_get_tax_data_rec.tax_apportionment_line_number,
1536 l_get_tax_data_rec.legal_entity_id,
1537 l_get_tax_data_rec.trx_number,
1538 l_get_tax_data_rec.trx_date,
1539 l_get_tax_data_rec.tax_jurisdiction_id,
1540 l_get_tax_data_rec.tax_jurisdiction_code,
1541 l_get_tax_data_rec.tax_type_code,
1542 l_get_tax_data_rec.tax_currency_code,
1543 l_get_tax_data_rec.taxable_amt_tax_curr,
1544 l_get_tax_data_rec.trx_currency_code,
1545 l_get_tax_data_rec.minimum_accountable_unit,
1546 l_get_tax_data_rec.precision,
1547 l_get_tax_data_rec.currency_conversion_type,
1548 l_get_tax_data_rec.currency_conversion_rate,
1549 l_get_tax_data_rec.currency_conversion_date,
1550 G_USER_ID,
1551 SYSDATE,
1552 G_USER_ID,
1553 SYSDATE,
1554 G_LOGIN_ID,
1555 1);
1556 END LOOP;
1557
1558 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1559 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data.',
1560 'Return Status' || x_return_status);
1561 END IF;
1562
1563 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1564 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data ','End(-)');
1565 END IF;
1566
1567 EXCEPTION
1568 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1569
1570 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1571 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data ',
1572 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
1573 END IF;
1574
1575 x_return_status := OKL_API.G_RET_STS_ERROR;
1576
1577 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1578 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1579 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data ',
1580 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
1581 END IF;
1582
1583 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1584 WHEN OTHERS THEN
1585
1586 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1587 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.copy_global_tax_data ',
1588 'EXCEPTION :'||sqlerrm);
1589 END IF;
1590
1591 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1592 -- unexpected error
1593 OKL_API.set_message(p_app_name => g_app_name,
1594 p_msg_name => g_unexpected_error,
1595 p_token1 => g_sqlcode_token,
1596 p_token1_value => sqlcode,
1597 p_token2 => g_sqlerrm_token,
1598 p_token2_value => sqlerrm);
1599
1600 END copy_global_tax_data;
1601
1602 /*========================================================================
1603 | PUBLIC PROCEDURE update_document
1604 |
1605 | DESCRIPTION
1606 | This procedure is called by billing and disbursement modules to fetch tax
1607 | determinants
1608 |
1609 | CALLED FROM
1610 |
1611 |
1612 | CALLS PROCEDURES/FUNCTIONS
1613 | ZX_API_PUB.global_document_update
1614 |
1615 | PARAMETERS
1616 | p_source_trx_id - ID of Pre-Rebook or Rebook transaction in okl_trx_contracts
1617 | p_source_trx_name - Pre-Rebook or Rebook
1618 | p_source_table - OKL_TRX_CONTRACTS
1619 |
1620 | KNOWN ISSUES
1621 |
1622 | NOTES
1623 |
1624 |
1625 | MODIFICATION HISTORY
1626 | Date Author Description of Changes
1627 | 01-MAR-07 RRAVIKIR Created
1628 |
1629 *=======================================================================*/
1630 PROCEDURE update_document (
1631 p_api_version IN NUMBER,
1632 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1633 x_return_status OUT NOCOPY VARCHAR2,
1634 x_msg_count OUT NOCOPY NUMBER,
1635 x_msg_data OUT NOCOPY VARCHAR2,
1636 p_transaction_rec transaction_rec_type) IS
1637
1638 -- Local variables
1639 l_api_version CONSTANT NUMBER := 1;
1640 l_api_name CONSTANT VARCHAR2(30) := 'update_document';
1641 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1642
1643 -- Local dats structure
1644 l_transaction_rec transaction_rec_type;
1645
1646 BEGIN
1647 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1648 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.update_document','Begin(+)');
1649 END IF;
1650
1651 --Print Input Variables
1652 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1653 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.update_document.',
1654 'p_init_msg_list :'||p_init_msg_list);
1655 END IF;
1656
1657 l_transaction_rec := p_transaction_rec;
1658
1659 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1660 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.update_document.',
1661 'Calling ZX_API_PUB.global_document_update');
1662 END IF;
1663
1664 ZX_API_PUB.global_document_update(p_api_version => p_api_version,
1665 p_init_msg_list => p_init_msg_list,
1666 p_commit => 'F' ,
1667 p_validation_level => 1,
1668 x_return_status => l_return_status,
1669 x_msg_count => x_msg_count,
1670 x_msg_data => x_msg_data,
1671 p_transaction_rec => l_transaction_rec);
1672
1673 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1674 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.update_document.',
1675 'Return Status' || l_return_status);
1676 END IF;
1677
1678 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
1679 -- update document failed
1680 OKL_API.set_message( p_app_name => 'OKL',
1681 p_msg_name => 'OKL_TX_CANCEL_TAX_ERR');
1682 END IF;
1683
1684 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1685 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1686 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1687 RAISE OKL_API.G_EXCEPTION_ERROR;
1688 END IF;
1689
1690 x_return_status := l_return_status;
1691
1692 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1693 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.update_document ','End(-)');
1694 END IF;
1695
1696 EXCEPTION
1697 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1698
1699 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1700 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.update_document ',
1701 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
1702 END IF;
1703
1704 x_return_status := OKL_API.G_RET_STS_ERROR;
1705
1706 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1707 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1708 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.update_document ',
1709 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
1710 END IF;
1711
1712 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1713
1714 WHEN OTHERS THEN
1715
1716 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1717 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.update_document ',
1718 'EXCEPTION :'||sqlerrm);
1719 END IF;
1720
1721 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1722 -- unexpected error
1723 OKL_API.set_message(p_app_name => g_app_name,
1724 p_msg_name => g_unexpected_error,
1725 p_token1 => g_sqlcode_token,
1726 p_token1_value => sqlcode,
1727 p_token2 => g_sqlerrm_token,
1728 p_token2_value => sqlerrm);
1729
1730 END update_document;
1731
1732 /*========================================================================
1733 | PUBLIC PROCEDURE reverse_document
1734 |
1735 | DESCRIPTION
1736 | This procedure is called by tax module to populate tax data for reverse
1737 | contract into ZX reverse transactions table.
1738 |
1739 | CALLED FROM OKL_PROCESS_SALES_TAX_PVT.process_contract_reversal_tax
1740 |
1741 |
1742 | CALLS PROCEDURES/FUNCTIONS
1743 | ZX_API_PUB.reverse_document
1744 |
1745 | PARAMETERS
1746 | p_source_trx_id -- Transaction Identifier
1747 | p_org_id -- Organization Identifier
1748 | p_legal_entity_id -- Legal Entity Identifier
1749 | p_tax_data_tbl -- ZX reverse transactions table
1750 |
1751 | KNOWN ISSUES
1752 |
1753 | NOTES
1754 |
1755 |
1756 | MODIFICATION HISTORY
1757 | Date Author Description of Changes
1758 | 12-APR-07 RRAVIKIR Created
1759 |
1760 *=======================================================================*/
1761 PROCEDURE reverse_document (
1762 p_api_version IN NUMBER,
1763 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1764 x_return_status OUT NOCOPY VARCHAR2,
1765 x_msg_count OUT NOCOPY NUMBER,
1766 x_msg_data OUT NOCOPY VARCHAR2,
1767 p_rev_trx_hdr_rec IN line_params_rec_type,
1768 p_rev_trx_lines_tbl IN zx_trx_lines_tbl_type) IS
1769
1770 -- Local variables
1771 l_api_version CONSTANT NUMBER := 1;
1772 l_api_name CONSTANT VARCHAR2(30) := 'reverse_document';
1773 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1774
1775 -- Local data structure
1776 l_rev_trx_lines_tbl zx_trx_lines_tbl_type;
1777 k NUMBER;
1778
1779 BEGIN
1780 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1781 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.reverse_document','Begin(+)');
1782 END IF;
1783
1784 --Print Input Variables
1785 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1786 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1787 'p_init_msg_list :'||p_init_msg_list);
1788 END IF;
1789
1790 -- Populate the tax data into eBtax reverse transaction table
1791 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1792 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1793 'INSERT INTO zx_rev_trx_headers_gt');
1794 END IF;
1795
1796 -- Populate ZX reverse transaction header table
1797 INSERT INTO zx_rev_trx_headers_gt(internal_organization_id,
1798 reversing_appln_id,
1799 reversing_entity_code,
1800 reversing_evnt_cls_code,
1801 reversing_trx_id,
1802 legal_entity_id)
1803 VALUES
1804 (p_rev_trx_hdr_rec.internal_organization_id,
1805 p_rev_trx_hdr_rec.application_id,
1806 p_rev_trx_hdr_rec.entity_code,
1807 p_rev_trx_hdr_rec.event_class_code,
1808 p_rev_trx_hdr_rec.trx_id,
1809 p_rev_trx_hdr_rec.legal_entity_id);
1810
1811 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1812 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1813 'INSERT INTO zx_reverse_trx_lines_gt');
1814 END IF;
1815
1816 -- Populate ZX reverse transaction lines table
1817 l_rev_trx_lines_tbl := p_rev_trx_lines_tbl;
1818 IF l_rev_trx_lines_tbl.COUNT > 0 THEN
1819 FOR k IN l_rev_trx_lines_tbl.FIRST..l_rev_trx_lines_tbl.LAST LOOP
1820 INSERT INTO ZX_REVERSE_TRX_LINES_GT(internal_organization_id,
1821 reversing_appln_id,
1822 reversing_entity_code,
1823 reversing_evnt_cls_code,
1824 reversing_trx_id,
1825 reversing_trx_level_type,
1826 reversing_trx_line_id,
1827 reversed_appln_id,
1828 reversed_entity_code,
1829 reversed_evnt_cls_code,
1830 reversed_trx_id,
1831 reversed_trx_level_type,
1832 reversed_trx_line_id)
1833 VALUES
1834 (l_rev_trx_lines_tbl(k).internal_organization_id,
1835 l_rev_trx_lines_tbl(k).reversing_appln_id,
1836 l_rev_trx_lines_tbl(k).reversing_entity_code,
1837 l_rev_trx_lines_tbl(k).reversing_evnt_cls_code,
1838 l_rev_trx_lines_tbl(k).reversing_trx_id,
1839 l_rev_trx_lines_tbl(k).reversing_trx_level_type,
1840 l_rev_trx_lines_tbl(k).reversing_trx_line_id,
1841 l_rev_trx_lines_tbl(k).reversed_appln_id,
1842 l_rev_trx_lines_tbl(k).reversed_entity_code,
1843 l_rev_trx_lines_tbl(k).reversed_evnt_cls_code,
1844 l_rev_trx_lines_tbl(k).reversed_trx_id,
1845 l_rev_trx_lines_tbl(k).reversed_trx_level_type,
1846 l_rev_trx_lines_tbl(k).reversed_trx_line_id );
1847 END LOOP;
1848 END IF;
1849
1850 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1851 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1852 'Return Status' || l_return_status);
1853 END IF;
1854
1855 -- call ZX reverse document api -- start
1856 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1857 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1858 'Calling ZX_API_PUB.reverse_document');
1859 END IF;
1860
1861 ZX_API_PUB.reverse_document
1862 (p_api_version => p_api_version,
1863 p_init_msg_list => p_init_msg_list,
1864 p_commit => 'F',
1865 p_validation_level => 1,
1866 x_return_status => l_return_status,
1867 x_msg_count => x_msg_count,
1868 x_msg_data => x_msg_data);
1869
1870 IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1871 FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_TAX_INTERFACE_PVT.reverse_document.',
1872 'Return Status' || l_return_status);
1873 END IF;
1874
1875 IF ( l_return_status <> OKL_API.G_RET_STS_SUCCESS ) THEN
1876 -- reverse document failed
1877 OKL_API.set_message( p_app_name => 'OKL',
1878 p_msg_name => 'OKL_TX_REVERSE_DOC_ERR');
1879 END IF;
1880
1881 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1882 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1883 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1884 RAISE OKL_API.G_EXCEPTION_ERROR;
1885 END IF;
1886 -- call ZX reverse document api -- end
1887
1888 x_return_status := l_return_status;
1889
1890 IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1891 FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_TAX_INTERFACE_PVT.reverse_document ','End(-)');
1892 END IF;
1893
1894 EXCEPTION
1895 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1896
1897 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1898 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.reverse_document ',
1899 'EXCEPTION :'||'OKL_API.G_EXCEPTION_ERROR');
1900 END IF;
1901
1902 x_return_status := OKL_API.G_RET_STS_ERROR;
1903
1904 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1905 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1906 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.reverse_document ',
1907 'EXCEPTION :'||'OKL_API.G_EXCEPTION_UNEXPECTED_ERROR');
1908 END IF;
1909
1910 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1911
1912 WHEN OTHERS THEN
1913
1914 IF (G_DEBUG_LEVEL_EXCEPTION >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
1915 FND_LOG.STRING(G_DEBUG_LEVEL_EXCEPTION,'OKL_TAX_INTERFACE_PVT.reverse_document ',
1916 'EXCEPTION :'||sqlerrm);
1917 END IF;
1918
1919 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1920 -- unexpected error
1921 OKL_API.set_message(p_app_name => g_app_name,
1922 p_msg_name => g_unexpected_error,
1923 p_token1 => g_sqlcode_token,
1924 p_token1_value => sqlcode,
1925 p_token2 => g_sqlerrm_token,
1926 p_token2_value => sqlerrm);
1927
1928 END reverse_document;
1929
1930 END OKL_TAX_INTERFACE_PVT;