[Home] [Help]
PACKAGE BODY: APPS.ZX_VALID_INIT_PARAMS_PKG
Source
1 PACKAGE BODY zx_valid_init_params_pkg AS
2 /* $Header: zxifvaldinitpkgb.pls 120.153.12010000.2 2008/11/20 05:35:22 tsen ship $ */
3
4
5 /* ======================================================================*
6 | Global Data Types |
7 * ======================================================================*/
8
9 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ZX_VALID_INIT_PARAMS_PKG';
10 G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
11 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
12 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
13 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
14 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
15 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
16 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
17 G_MODULE_NAME CONSTANT VARCHAR2(80) := 'ZX.PLSQL.ZX_VALID_INIT_PARAMS_PKG.';
18 NULL_EVENT_CLASS_REC ZX_API_PUB.event_class_rec_type;
19
20 /*----------------------------------------------------------------------------*
21 | PRIVATE FUNCTIONS/PROCEDURES |
22 *----------------------------------------------------------------------------*/
23
24 PROCEDURE get_event_class_info(
25 P_ENTITY_CODE IN ZX_EVNT_CLS_MAPPINGS.entity_code%TYPE,
26 P_EVENT_CLASS_CODE IN ZX_EVNT_CLS_MAPPINGS.event_class_code%TYPE,
27 P_APPLICATION_ID IN ZX_EVNT_CLS_MAPPINGS.application_id%TYPE,
28 X_TBL_INDEX OUT NOCOPY BINARY_INTEGER,
29 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
30
31 PROCEDURE get_event_typ_mappings_info(
32 P_ENTITY_CODE IN ZX_EVNT_TYP_MAPPINGS.entity_code%TYPE,
33 P_EVENT_CLASS_CODE IN ZX_EVNT_TYP_MAPPINGS.event_class_code%TYPE,
34 P_APPLICATION_ID IN ZX_EVNT_TYP_MAPPINGS.application_id%TYPE,
35 P_EVENT_TYPE_CODE IN ZX_EVNT_TYP_MAPPINGS.event_type_code%TYPE,
36 X_TBL_INDEX OUT NOCOPY BINARY_INTEGER,
37 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
38
39 PROCEDURE populate_event_cls_typs;
40 PROCEDURE populate_tax_event_class_info;
41
42 -----------------------------------------------------------------------
43 -- PRIVATE PROCEDURE
44 -- get_locations
45 --
46 -- DESCRIPTION
47 -- Returns the location passed into input structures
48 --
49 -- CALLED BY
50 -- Private procedure get_loc_id_and_ptp_ids
51 -----------------------------------------------------------------------
52 PROCEDURE get_locations
53 ( p_event_class_rec IN zx_api_pub.event_class_rec_type,
54 p_trx_line_index IN NUMBER,
55 x_ship_from_location_id OUT NOCOPY NUMBER,
56 x_bill_from_location_id OUT NOCOPY NUMBER,
57 x_ship_to_location_id OUT NOCOPY NUMBER,
58 x_bill_to_location_id OUT NOCOPY NUMBER,
59 x_return_status OUT NOCOPY VARCHAR2
60 )IS
61 l_api_name CONSTANT VARCHAR2(30) := 'GET_LOCATIONS';
62 l_return_status VARCHAR2(30);
63 l_index NUMBER;
64
65 BEGIN
66 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
67 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
68 END IF;
69
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71
72 IF ZX_API_PUB.G_DATA_TRANSFER_MODE IN ('TAB','WIN') THEN
73
74 l_index := p_trx_line_index;
75
76 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' THEN
77
78 l_index := nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id.first,0);
79
80 END IF;
81
82 IF l_index <> 0 then
83 x_ship_to_location_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(l_index);
84 x_ship_from_location_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(l_index);
85 x_bill_to_location_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(l_index);
86 x_bill_from_location_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(l_index);
87 END IF;
88
89
90 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
91 FND_LOG.STRING(
92 G_LEVEL_STATEMENT,
93 G_MODULE_NAME||l_api_name||'.END',
94 G_PKG_NAME||': '||l_api_name||'()-'||
95 ' Ship from Location = ' || to_char(x_ship_from_location_id)||
96 ', Ship To Location = ' || to_char(x_ship_to_location_id)||
97 ', Bill From Location = ' || to_char(x_bill_from_location_id)||
98 ', Bill To Location = ' || to_char(x_bill_to_location_id)||
99 ', RETURN_STATUS = ' || x_return_status);
100 END IF;
101
102 EXCEPTION
103 WHEN OTHERS THEN
104 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
105 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
106 FND_LOG.STRING(
107 G_LEVEL_UNEXPECTED,
108 G_MODULE_NAME||l_api_name,
109 'No lines exist in zx_transaction_lines_gt which '||
110 'is incorrect or the event information in headers and lines is incorrect.' ||
111 SQLERRM);
112 END IF;
113 END get_locations;
114
115 -----------------------------------------------------------------------
116 -- PRIVATE PROCEDURE
117 -- get_loc_id_and_ptp_ids
118 --
119 -- DESCRIPTION
120 -- Returns the location and ptp ids for parties passed into input structures
121 --
122 -- CALLED BY
123 -- calculate_tax
124 -- import_document_with_tax
125 -- insupd_line_det_factors
126 -----------------------------------------------------------------------
127 PROCEDURE get_loc_id_and_ptp_ids(
128 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
129 p_trx_line_index IN NUMBER,
130 x_return_status OUT NOCOPY VARCHAR2
131 ) IS
132 l_api_name CONSTANT VARCHAR2(30) := 'GET_LOC_ID_AND_PTP_IDS';
133 l_return_status VARCHAR2(1);
134 l_ship_from_location_id NUMBER;
135 l_ship_to_location_id NUMBER;
136 l_bill_from_location_id NUMBER;
137 l_bill_to_location_id NUMBER;
138 l_context_info_rec ZX_API_PUB.context_info_rec_type;
139
140 BEGIN
141 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
142 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
143 END IF;
144
145 x_return_status := FND_API.G_RET_STS_SUCCESS;
146
147 get_locations (p_event_class_rec,
148 nvl(p_trx_line_index,0),
149 l_ship_from_location_id,
150 l_bill_from_location_id,
151 l_ship_to_location_id,
152 l_bill_to_location_id,
153 l_return_status
154 );
155
156 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
157 x_return_status := l_return_status;
158 RETURN;
159 END IF;
160
161 IF p_event_class_rec.rounding_ship_to_party_id is NOT NULL THEN
162 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rounding_ship_to_party_id
163 ,source_rec.ship_to_party_type
164 ,p_event_class_rec.legal_entity_id
165 ,l_ship_to_location_id
166 ,p_event_class_rec.rdng_ship_to_pty_tx_prof_id
167 ,l_return_status
168 );
169 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
170 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
171 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
172 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
173 'Error: Unable to return rdng_ship_to_pty_tx_prof_id for rounding_ship_to_party_id : ' || to_char(p_event_class_rec.rounding_ship_to_party_id));
174 END IF;
175 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
176 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
177 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
178 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
179 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
180 END IF;
181 x_return_status := l_return_status;
182 RETURN;
183 END IF;
184 END IF;
185
186 IF p_event_class_rec.rounding_ship_from_party_id is NOT NULL THEN
187 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rounding_ship_from_party_id
188 ,source_rec.ship_from_party_type
189 ,p_event_class_rec.legal_entity_id
190 ,l_ship_from_location_id
191 ,p_event_class_rec.rdng_ship_from_pty_tx_prof_id
192 ,l_return_status
193 );
194
195 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
196 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
197 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
198 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
199 'Error: Unable to return rdng_ship_from_pty_tx_prof_id for rounding_ship_from_party_id : ' || to_char(p_event_class_rec.rounding_ship_from_party_id));
200 END IF;
201 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
202 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
203 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
204 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
205 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
206 END IF;
207 x_return_status := l_return_status;
208 RETURN;
209 END IF;
210 END IF;
211
212 IF p_event_class_rec.rndg_ship_to_party_site_id is NOT NULL THEN
213 ZX_TCM_PTP_PKG.get_ptp( p_event_class_rec.rndg_ship_to_party_site_id
214 ,source_rec.ship_to_pty_site_type
215 ,p_event_class_rec.legal_entity_id
216 ,null
217 ,p_event_class_rec.rdng_ship_to_pty_tx_p_st_id
218 ,l_return_status
219 );
220
221 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
222 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
223 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
224 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
225 'Error: Unable to return rdng_ship_to_pty_tx_p_st_id for rndg_ship_to_party_site_id : ' || to_char(p_event_class_rec.rndg_ship_to_party_site_id));
226 END IF;
227 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
228 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
229 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
230 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
231 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
232 END IF;
233 x_return_status := l_return_status;
234 RETURN;
235 END IF;
236 END IF;
237
238 IF p_event_class_rec.rndg_ship_from_party_site_id is NOT NULL THEN
239 ZX_TCM_PTP_PKG.get_ptp( p_event_class_rec.rndg_ship_from_party_site_id
240 ,source_rec.ship_from_pty_site_type
241 ,p_event_class_rec.legal_entity_id
242 ,null
243 ,p_event_class_rec.rdng_ship_from_pty_tx_p_st_id
244 ,l_return_status
245 );
246 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
247 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
248 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
249 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
250 'Error: Unable to return rdng_ship_from_pty_tx_p_st_id for rndg_ship_from_party_site_id : ' || to_char(p_event_class_rec.rndg_ship_from_party_site_id));
251 END IF;
252 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
253 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
254 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
255 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
256 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
257 END IF;
258 x_return_status := l_return_status;
259 RETURN;
260 END IF;
261 END IF;
262
263 IF p_event_class_rec.rounding_bill_to_party_id is NOT NULL THEN
264 IF (p_event_class_rec.rounding_bill_to_party_id <> p_event_class_rec.rounding_ship_to_party_id)
265 OR (source_rec.ship_to_party_type <> source_rec.bill_to_party_type)
266 OR p_event_class_rec.rounding_ship_to_party_id is null THEN
267 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rounding_bill_to_party_id
268 ,source_rec.bill_to_party_type
269 ,p_event_class_rec.legal_entity_id
270 ,l_bill_to_location_id
271 ,p_event_class_rec.rdng_bill_to_pty_tx_prof_id
272 ,l_return_status
273 );
274
275 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
276 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
278 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
279 'Error: Unable to return rdng_bill_to_pty_tx_prof_id for rounding_bill_to_party_id : ' || to_char(p_event_class_rec.rounding_bill_to_party_id));
280 END IF;
281 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
282 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
283 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
284 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
285 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
286 END IF;
287 x_return_status := l_return_status;
288 RETURN;
289 END IF;
290 ELSE
291 p_event_class_rec.rdng_bill_to_pty_tx_prof_id := p_event_class_rec.rdng_ship_to_pty_tx_prof_id;
292 END IF;
293 END IF;
294
295 IF p_event_class_rec.rounding_bill_from_party_id is NOT NULL THEN
296 IF (p_event_class_rec.rounding_bill_from_party_id <> p_event_class_rec.rounding_ship_from_party_id)
297 OR (source_rec.ship_from_party_type <> source_rec.bill_from_party_type)
298 OR p_event_class_rec.rounding_ship_from_party_id is null THEN
299 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rounding_bill_from_party_id
300 ,source_rec.bill_from_party_type
301 ,p_event_class_rec.legal_entity_id
302 ,l_bill_from_location_id
303 ,p_event_class_rec.rdng_bill_from_pty_tx_prof_id
304 ,l_return_status
305 );
306
307 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
308 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
309 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
310 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
311 'Error: Unable to return rdng_bill_from_pty_tx_prof_id for rounding_bill_from_party_id : ' || to_char(p_event_class_rec.rounding_bill_from_party_id));
312 END IF;
313 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
314 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
315 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
316 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
317 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
318 END IF;
319 x_return_status := l_return_status;
320 RETURN;
321 END IF;
322 ELSE
323 p_event_class_rec.rdng_bill_from_pty_tx_prof_id := p_event_class_rec.rdng_ship_from_pty_tx_prof_id;
324 END IF;
325 END IF;
326
327 IF p_event_class_rec.rndg_bill_to_party_site_id is NOT NULL THEN
328 IF (p_event_class_rec.rndg_bill_to_party_site_id <> p_event_class_rec.rndg_ship_to_party_site_id)
329 OR (source_rec.ship_to_pty_site_type <> source_rec.bill_to_pty_site_type)
330 OR p_event_class_rec.rndg_ship_to_party_site_id is null THEN
331 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rndg_bill_to_party_site_id
332 ,source_rec.bill_to_pty_site_type
333 ,p_event_class_rec.legal_entity_id
334 ,null
335 ,p_event_class_rec.rdng_bill_to_pty_tx_p_st_id
336 ,l_return_status
337 );
338
339 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
340 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
341 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
342 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
343 'Error: Unable to return rdng_bill_to_pty_tx_p_st_id for rndg_bill_to_party_site_id : ' || to_char(p_event_class_rec.rndg_bill_to_party_site_id));
344 END IF;
345 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
346 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
347 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
348 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
349 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
350 END IF;
351 x_return_status := l_return_status;
352 RETURN;
353 END IF;
354 ELSE
355 p_event_class_rec.rdng_bill_to_pty_tx_p_st_id := p_event_class_rec.rdng_ship_to_pty_tx_p_st_id;
356 END IF;
357 END IF;
358
359 IF p_event_class_rec.rndg_bill_from_party_site_id is NOT NULL THEN
360 IF p_event_class_rec.rndg_bill_from_party_site_id <> p_event_class_rec.rndg_ship_from_party_site_id
361 OR (source_rec.ship_from_pty_site_type <> source_rec.bill_from_pty_site_type)
362 OR p_event_class_rec.rndg_ship_from_party_site_id is null THEN
363 ZX_TCM_PTP_PKG.get_ptp(p_event_class_rec.rndg_bill_from_party_site_id
364 ,source_rec.bill_from_pty_site_type
365 ,p_event_class_rec.legal_entity_id
366 ,null
367 ,p_event_class_rec.rdng_bill_from_pty_tx_p_st_id
368 ,l_return_status
369 );
370
371 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
372 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
373 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
374 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
375 'Error: Unable to return rdng_bill_from_pty_tx_p_st_id for rndg_bill_from_party_site_id : ' || to_char(p_event_class_rec.rndg_bill_from_party_site_id));
376 END IF;
377 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
378 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
379 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
380 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
381 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
382 END IF;
383 x_return_status := l_return_status;
384 RETURN;
385 END IF;
386 ELSE
387 p_event_class_rec.rdng_bill_from_pty_tx_p_st_id := p_event_class_rec.rdng_ship_from_pty_tx_p_st_id;
388 END IF;
389 END IF;
390
391 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
392 FND_LOG.STRING(G_LEVEL_STATEMENT,
393 G_MODULE_NAME||l_api_name||'.END',
394 G_PKG_NAME||': '||l_api_name||'()-' ||
395 ', RETURN_STATUS = ' || x_return_status);
396 END IF;
397 END GET_LOC_ID_AND_PTP_IDS;
398
399 -----------------------------------------------------------------------
400 -- PRIVATE PROCEDURE
401 -- get_effective_date
402 --
403 -- DESCRIPTION
404 -- Logic to get the effective dates
405 --
406 -- CALLED BY
407 -- determine_effective_date
408 -- get_tax_subscriber
409 -- set_security_context
410 -----------------------------------------------------------------------
411 FUNCTION get_effective_date
412 ( p_related_doc_date IN DATE,
413 p_prov_tax_det_date IN DATE,
414 p_adjusted_doc_date IN DATE,
415 p_trx_date IN DATE
416 ) RETURN DATE IS
417 l_api_name CONSTANT VARCHAR2(30) := 'GET_EFFECTIVE_DATE';
418 l_effective_date DATE;
419
420 BEGIN
421 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
422 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
423 END IF;
424
425 IF p_related_doc_date is NOT NULL THEN
426 l_effective_date := p_related_doc_date;
427 ELSIF p_prov_tax_det_date is NOT NULL THEN
428 l_effective_date := p_prov_tax_det_date;
429 ELSIF p_adjusted_doc_date is NOT NULL THEN
430 l_effective_date := p_adjusted_doc_date;
431 ELSE
432 l_effective_date := p_trx_date;
433 END IF;
434
435 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
436 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
437 END IF;
438
439 RETURN l_effective_date;
440 END get_effective_date;
441
442 -----------------------------------------------------------------------
443 -- PRIVATE PROCEDURE
444 -- determine_effective_date
445 --
446 -- DESCRIPTION
447 -- Logic for determining effective_date
448 --
449 -- CALLED BY
450 -- calculate_tax
451 -- import_document_with_tax
452 -- get_default_tax_det_attrs
453 -- override_tax
454 -- validate_document_for_tax
455 -- insupd_line_det_factors
456 -----------------------------------------------------------------------
457 PROCEDURE determine_effective_date
458 ( p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
459 x_effective_date OUT NOCOPY DATE,
460 x_return_status OUT NOCOPY VARCHAR2
461 )IS
462 l_api_name CONSTANT VARCHAR2(30):= 'DETERMINE_EFFECTIVE_DATE';
463 l_adj_doc_date DATE;
464
465 BEGIN
466 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
467 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
468 END IF;
469
470 x_return_status := FND_API.G_RET_STS_SUCCESS;
471
472 IF ZX_API_PUB.G_PUB_SRVC in ('CALCULATE_TAX','IMPORT_DOCUMENT_WITH_TAX','OVERRIDE_TAX',
473 'GET_DEFAULT_TAX_DET_ATTRS','VALIDATE_DOCUMENT_FOR_TAX') THEN
474 IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN
475 SELECT /*+ INDEX (ZX_TRANSACTION_LINES_GT ZX_TRANSACTION_LINES_GT_U1)*/
476 adjusted_doc_date
477 INTO l_adj_doc_date
478 FROM ZX_TRANSACTION_LINES_GT
479 WHERE application_id = p_event_class_rec.application_id
480 AND entity_code = p_event_class_rec.entity_code
481 AND event_class_code = p_event_class_rec.event_class_code
482 AND trx_id = p_event_class_rec.trx_id
483 AND rownum = 1;
484 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' OR
485 ZX_API_PUB.G_PUB_SRVC in ('VALIDATE_DOCUMENT_FOR_TAX','OVERRIDE_TAX') THEN
486 SELECT adjusted_doc_date
487 INTO l_adj_doc_date
488 FROM ZX_LINES_DET_FACTORS
489 WHERE application_id = p_event_class_rec.application_id
490 AND entity_code = p_event_class_rec.entity_code
491 AND event_class_code = p_event_class_rec.event_class_code
492 AND trx_id = p_event_class_rec.trx_id
493 AND rownum = 1;
494 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' THEN
495 l_adj_doc_date := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_date(1);
496 END IF;
497 ELSE --for calls from products via global structures eg. update_line_det_factors/insert_line_det_factors
498 l_adj_doc_date := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_date(1);
499 END IF;
500
501 x_effective_date := get_effective_date (p_event_class_rec.rel_doc_date,
502 p_event_class_rec.provnl_tax_determination_date,
503 l_adj_doc_date,
504 p_event_class_rec.trx_date
505 );
506
507 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
508 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
509 '.END',G_PKG_NAME||': '||l_api_name||'()-'||
510 ', Adjusted doc date = ' || l_adj_doc_date||
511 ', x_effective_date = ' || x_effective_date||
512 ', RETURN_STATUS = ' || x_return_status);
513 END IF;
514
515 EXCEPTION
516 WHEN NO_DATA_FOUND THEN
517 null;
518 WHEN OTHERS THEN
519 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
520 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
521 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
522 'No lines exist in zx_transaction_lines_gt/zx_lines_det_factors'||
523 ' which is incorrect or the event information in headers and lines is incorrect.'||
524 SQLERRM);
525 END IF;
526 END determine_effective_date;
527
528 -----------------------------------------------------------------------
529 -- PRIVATE PROCEDURE
530 -- Populate_event_class_options
531 --
532 -- DESCRIPTION
533 -- For the specified subscriber this procedure identifies and fetches
534 -- the event class options setup for the specified event class into
535 -- the event class record
536 --
537 -- CALLED BY
538 -- calculate_tax
539 -- import_document_with_tax
540 -- override_tax
541 -- validate_document_for_tax
542 -- insupd_line_det_factors
543 -- get_default_tax_det_attrs
544 -----------------------------------------------------------------------
545 PROCEDURE populate_event_class_options
546 ( x_return_status OUT NOCOPY VARCHAR2,
547 p_trx_date IN DATE,
548 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
549 )IS
550 l_api_name CONSTANT VARCHAR2(30) := 'POPULATE_EVENT_CLASS_OPTIONS';
551
552 BEGIN
553 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
554 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
555 END IF;
556
557 x_return_status := FND_API.G_RET_STS_SUCCESS;
558 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
559
560 BEGIN
561 IF p_event_class_rec.event_class_code = 'SALES_TRANSACTION_TAX_QUOTE' THEN
562 SELECT det_factor_templ_code,
563 default_rounding_level_code,
564 rounding_level_hier_1_code,
565 rounding_level_hier_2_code,
566 rounding_level_hier_3_code,
567 rounding_level_hier_4_code,
568 process_for_applicability_flag,
569 def_intrcmp_trx_biz_category,
570 exmptn_pty_basis_hier_1_code,
571 exmptn_pty_basis_hier_2_code,
572 allow_exemptions_flag
573 INTO p_event_class_rec.det_factor_templ_code,
574 p_event_class_rec.default_rounding_level_code,
575 p_event_class_rec.rounding_level_hier_1_code,
576 p_event_class_rec.rounding_level_hier_2_code,
577 p_event_class_rec.rounding_level_hier_3_code,
578 p_event_class_rec.rounding_level_hier_4_code,
579 p_event_class_rec.process_for_applicability_flag,
580 p_event_class_rec.DEF_INTRCMP_TRX_BIZ_CATEGORY,
581 p_event_class_rec.exmptn_pty_basis_hier_1_code,
582 p_event_class_rec.exmptn_pty_basis_hier_2_code,
583 p_event_class_rec.ALLOW_EXEMPTIONS_FLAG
584 FROM ZX_EVNT_CLS_OPTIONS
585 WHERE application_id = 222
586 AND entity_code = 'TRANSACTIONS'
587 AND event_class_code = 'INVOICE'
588 AND first_pty_org_id = p_event_class_rec.first_pty_org_id
589 AND p_trx_date >= EFFECTIVE_FROM and p_trx_date <= nvl(EFFECTIVE_TO,p_trx_date)
590 AND enabled_flag = 'Y';
591 ELSIF p_event_class_rec.event_class_code = 'PURCHASE_TRANSACTION_TAX_QUOTE' THEN
592 SELECT det_factor_templ_code,
593 default_rounding_level_code,
594 rounding_level_hier_1_code,
595 rounding_level_hier_2_code,
596 rounding_level_hier_3_code,
597 rounding_level_hier_4_code,
598 process_for_applicability_flag,
599 def_intrcmp_trx_biz_category,
600 exmptn_pty_basis_hier_1_code,
601 exmptn_pty_basis_hier_2_code,
602 allow_exemptions_flag
603 INTO p_event_class_rec.det_factor_templ_code,
604 p_event_class_rec.default_rounding_level_code,
605 p_event_class_rec.rounding_level_hier_1_code,
606 p_event_class_rec.rounding_level_hier_2_code,
607 p_event_class_rec.rounding_level_hier_3_code,
608 p_event_class_rec.rounding_level_hier_4_code,
609 p_event_class_rec.process_for_applicability_flag,
610 p_event_class_rec.DEF_INTRCMP_TRX_BIZ_CATEGORY,
611 p_event_class_rec.exmptn_pty_basis_hier_1_code,
612 p_event_class_rec.exmptn_pty_basis_hier_2_code,
613 p_event_class_rec.ALLOW_EXEMPTIONS_FLAG
614 FROM ZX_EVNT_CLS_OPTIONS
615 WHERE application_id = 200
616 AND entity_code = 'AP_INVOICES'
617 AND event_class_code = 'STANDARD INVOICES'
618 AND first_pty_org_id = p_event_class_rec.first_pty_org_id
619 AND p_trx_date >= EFFECTIVE_FROM and p_trx_date <= nvl(EFFECTIVE_TO,p_trx_date)
620 AND enabled_flag = 'Y';
621 ELSE
622 SELECT det_factor_templ_code,
623 default_rounding_level_code,
624 rounding_level_hier_1_code,
625 rounding_level_hier_2_code,
626 rounding_level_hier_3_code,
627 rounding_level_hier_4_code,
628 allow_manual_lin_recalc_flag,
629 allow_override_flag,
630 allow_manual_lines_flag,
631 perf_addnl_appl_for_imprt_flag,
632 enforce_tax_from_acct_flag,
633 offset_tax_basis_code,
634 tax_tolerance,
635 tax_tol_amt_range,
636 'N',
637 allow_offset_tax_calc_flag,
638 enter_ovrd_incl_tax_lines_flag ,
639 ctrl_eff_ovrd_calc_lines_flag,
640 enforce_tax_from_ref_doc_flag,
641 process_for_applicability_flag,
642 allow_exemptions_flag,
643 exmptn_pty_basis_hier_1_code,
644 exmptn_pty_basis_hier_2_code,
645 def_intrcmp_trx_biz_category
646 INTO p_event_class_rec.DET_FACTOR_TEMPL_CODE,
647 p_event_class_rec.DEFAULT_ROUNDING_LEVEL_CODE,
648 p_event_class_rec.ROUNDING_LEVEL_HIER_1_CODE,
649 p_event_class_rec.ROUNDING_LEVEL_HIER_2_CODE,
650 p_event_class_rec.ROUNDING_LEVEL_HIER_3_CODE,
651 p_event_class_rec.ROUNDING_LEVEL_HIER_4_CODE,
652 p_event_class_rec.ALLOW_MANUAL_LIN_RECALC_FLAG,
653 p_event_class_rec.ALLOW_OVERRIDE_FLAG,
654 p_event_class_rec.ALLOW_MANUAL_LINES_FLAG,
655 p_event_class_rec.PERF_ADDNL_APPL_FOR_IMPRT_FLAG,
656 p_event_class_rec.ENFORCE_TAX_FROM_ACCT_FLAG,
657 p_event_class_rec.OFFSET_TAX_BASIS_CODE,
658 p_event_class_rec.TAX_TOLERANCE,
659 p_event_class_rec.TAX_TOL_AMT_RANGE,
660 p_event_class_rec.CTRL_TOTAL_LINE_TX_AMT_FLG,
661 p_event_class_rec.ALLOW_OFFSET_TAX_CALC_FLAG,
662 p_event_class_rec.ENTER_OVRD_INCL_TAX_LINES_FLAG ,
663 p_event_class_rec.CTRL_EFF_OVRD_CALC_LINES_FLAG,
664 p_event_class_rec.ENFORCE_TAX_FROM_REF_DOC_FLAG,
665 p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG,
666 p_event_class_rec.ALLOW_EXEMPTIONS_FLAG,
667 p_event_class_rec.EXMPTN_PTY_BASIS_HIER_1_CODE,
668 p_event_class_rec.EXMPTN_PTY_BASIS_HIER_2_CODE,
669 p_event_class_rec.DEF_INTRCMP_TRX_BIZ_CATEGORY
670 FROM ZX_EVNT_CLS_OPTIONS
671 WHERE application_id = p_event_class_rec.application_id
672 AND entity_code = p_event_class_rec.entity_code
673 AND event_class_code = p_event_class_rec.event_class_code
674 AND first_pty_org_id = p_event_class_rec.first_pty_org_id
675 AND p_trx_date >= EFFECTIVE_FROM and p_trx_date <= nvl(EFFECTIVE_TO,p_trx_date)
676 AND enabled_flag = 'Y';
677 END IF;
678 EXCEPTION
679 WHEN OTHERS THEN
680 null;
681 END;
682 --Bugfix 4765758 - Populate the process_for_applicability_flag in case the
683 --source_event_class_code in ('TRADE_MGT_PAYABLES','TRADE_MGT_RECEIVABLES')
684 --If 'N' then tax processing will not be done for such docs.
685 BEGIN
686 IF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND ZX_API_PUB.G_PUB_SRVC ='CALCULATE_TAX')
687 OR (ZX_API_PUB.G_PUB_SRVC ='DETERMINE_RECOVERY') THEN
688 SELECT opt.process_for_applicability_flag
689 INTO p_event_class_rec.source_process_for_appl_flag
690 FROM zx_evnt_cls_options opt,
691 zx_lines_det_factors det
692 WHERE opt.application_id = det.source_application_id
693 AND opt.entity_code = det.source_entity_code
694 AND opt.event_class_code = det.source_event_class_code
695 AND opt.first_pty_org_id = p_event_class_rec.first_pty_org_id
696 AND p_trx_date >= opt.EFFECTIVE_FROM and p_trx_date <= nvl(opt.EFFECTIVE_TO,p_trx_date)
697 AND opt.enabled_flag = 'Y'
698 AND det.trx_id = p_event_class_rec.trx_id
699 AND det.application_id = p_event_class_rec.application_id
700 AND det.entity_code = p_event_class_rec.entity_code
701 AND det.event_class_code = p_event_class_rec.event_class_code
702 AND det.source_event_class_code in ('TRADE_MGT_PAYABLES','TRADE_MGT_RECEIVABLES')
703 AND rownum=1;
704 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' AND ZX_API_PUB.G_PUB_SRVC ='CALCULATE_TAX' THEN
705 IF zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(1) = 'TRADE_MGT_PAYABLES' OR
706 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(1) = 'TRADE_MGT_RECEIVABLES' THEN
707 SELECT opt.process_for_applicability_flag
708 INTO p_event_class_rec.source_process_for_appl_flag
709 FROM zx_evnt_cls_options opt
710 WHERE opt.application_id = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(1)
711 AND opt.entity_code = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(1)
712 AND opt.event_class_code = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(1)
713 AND opt.first_pty_org_id = p_event_class_rec.first_pty_org_id
714 AND p_trx_date >= opt.EFFECTIVE_FROM and p_trx_date <= nvl(opt.EFFECTIVE_TO,p_trx_date)
715 AND opt.enabled_flag = 'Y';
716 END IF;
717 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN --import/calculate_tax
718 SELECT opt.process_for_applicability_flag
719 INTO p_event_class_rec.source_process_for_appl_flag
720 FROM zx_evnt_cls_options opt,
721 zx_transaction_lines_gt lines
722 WHERE opt.application_id = lines.source_application_id
723 AND opt.entity_code = lines.source_entity_code
724 AND opt.event_class_code = lines.source_event_class_code
725 AND opt.first_pty_org_id = p_event_class_rec.first_pty_org_id
726 AND p_trx_date >= opt.EFFECTIVE_FROM and p_trx_date <= nvl(opt.EFFECTIVE_TO,p_trx_date)
727 AND opt.enabled_flag = 'Y'
728 AND lines.trx_id = p_event_class_rec.trx_id
729 AND lines.application_id = p_event_class_rec.application_id
730 AND lines .entity_code = p_event_class_rec.entity_code
731 AND lines.event_class_code = p_event_class_rec.event_class_code
732 AND lines.source_event_class_code in ('TRADE_MGT_PAYABLES','TRADE_MGT_RECEIVABLES')
733 AND rownum=1;
734 END IF;
735 EXCEPTION
736 WHEN OTHERS THEN
737 null;
738 END;
739
740 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
741 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
742 G_PKG_NAME||': '||l_api_name||'()-'||
743 ' RETURN_STATUS = ' || x_return_status);
744 END IF;
745
746 EXCEPTION
747 WHEN NO_DATA_FOUND THEN
748 NULL;
749 WHEN OTHERS THEN
750 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
751 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
752 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
753 END IF;
754 RETURN;
755 END populate_event_class_options;
756
757 -----------------------------------------------------------------------
758 -- PRIVATE PROCEDURE
759 -- populate_appl_product_options
760 --
761 -- DESCRIPTION
762 -- For the specified subscriber the procedure identifies and fetches
763 -- the product options set for the specified application into event class record
764 --
765 -- CALLED BY
766 -- calculate_tax
767 -- import_document_with_tax
768 -- insupd_line_det_factors
769 -- get_default_tax_det_attrs
770 -----------------------------------------------------------------------
771 PROCEDURE populate_appl_product_options
772 ( x_return_status OUT NOCOPY VARCHAR2,
773 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
774 )IS
775 l_api_name CONSTANT VARCHAR2(30):= 'POPULATE_APPL_PRODUCT_OPTIONS';
776 l_zx_product_options_rec ZX_GLOBAL_STRUCTURES_PKG.zx_product_options_rec_type;
777 l_application_id NUMBER;
778
779 BEGIN
780 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
781 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
782 END IF;
783
784 x_return_status := FND_API.G_RET_STS_SUCCESS;
785
786 IF p_event_class_rec.event_class_code = 'SALES_TRANSACTION_TAX_QUOTE' THEN
787 l_application_id := 222;
788 ELSIF p_event_class_rec.event_class_code = 'PURCHASE_TRANSACTION_TAX_QUOTE' THEN
789 IF p_event_class_rec.application_id = 8407 THEN -- Bug 6510307
790 l_application_id := p_event_class_rec.application_id;
791 ELSE
792 l_application_id := 200;
793 END IF;
794 ELSE
795 l_application_id := p_event_class_rec.application_id;
796 END IF;
797
798 /* replaced the select from zx_product_options with cached structure
799 SELECT nvl(tax_method_code,'EBTAX'),
800 inclusive_tax_used_flag,
801 tax_use_customer_exempt_flag,
802 tax_use_product_exempt_flag,
803 tax_use_loc_exc_rate_flag,
804 tax_allow_compound_flag,
805 use_tax_classification_flag,
806 allow_tax_rounding_ovrd_flag,
807 home_country_default_flag
808 INTO p_event_class_rec.TAX_METHOD_CODE,
809 p_event_class_rec.INCLUSIVE_TAX_USED_FLAG,
810 p_event_class_rec.TAX_USE_CUSTOMER_EXEMPT_FLAG,
811 p_event_class_rec.TAX_USE_PRODUCT_EXEMPT_FLAG,
812 p_event_class_rec.TAX_USE_LOC_EXC_RATE_FLAG,
813 p_event_class_rec.TAX_ALLOW_COMPOUND_FLAG,
814 p_event_class_rec.USE_TAX_CLASSIFICATION_FLAG,
815 p_event_class_rec.ALLOW_TAX_ROUNDING_OVRD_FLAG,
816 p_event_class_rec.HOME_COUNTRY_DEFAULT_FLAG
817 FROM ZX_PRODUCT_OPTIONS_ALL
818 WHERE application_id = l_application_id
819 AND org_id = p_event_class_rec.internal_organization_id
820 AND rownum = 1;
821 */
822
823 ZX_GLOBAL_STRUCTURES_PKG.get_product_options_info
824 (p_application_id => l_application_id,
825 p_org_id => p_event_class_rec.internal_organization_id,
826 x_product_options_rec => l_zx_product_options_rec,
827 x_return_status => x_return_status);
828
829 IF x_return_status = FND_API.G_RET_STS_ERROR then
830
831 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
832 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Incorrect return status after calling '||
833 'ZX_GLOBAL_STRUCTURES_PKG.get_product_options_info');
834 END IF;
835
836 ELSE
837 p_event_class_rec.TAX_METHOD_CODE := l_zx_product_options_rec.tax_method_code;
838 p_event_class_rec.INCLUSIVE_TAX_USED_FLAG := l_zx_product_options_rec.inclusive_tax_used_flag;
839 p_event_class_rec.TAX_USE_CUSTOMER_EXEMPT_FLAG := l_zx_product_options_rec.tax_use_customer_exempt_flag;
840 p_event_class_rec.TAX_USE_PRODUCT_EXEMPT_FLAG := l_zx_product_options_rec.tax_use_product_exempt_flag;
841 p_event_class_rec.TAX_USE_LOC_EXC_RATE_FLAG := l_zx_product_options_rec.tax_use_loc_exc_rate_flag;
842 p_event_class_rec.TAX_ALLOW_COMPOUND_FLAG := l_zx_product_options_rec.tax_allow_compound_flag;
843 p_event_class_rec.USE_TAX_CLASSIFICATION_FLAG := l_zx_product_options_rec.use_tax_classification_flag;
844 p_event_class_rec.ALLOW_TAX_ROUNDING_OVRD_FLAG := l_zx_product_options_rec.allow_tax_rounding_ovrd_flag;
845 p_event_class_rec.HOME_COUNTRY_DEFAULT_FLAG := l_zx_product_options_rec.home_country_default_flag;
846 END IF;
847
848 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
849 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
850 G_PKG_NAME||': '||l_api_name||'()-'||
851 ', RETURN_STATUS = ' || x_return_status);
852 END IF;
853
854 EXCEPTION
855 WHEN NO_DATA_FOUND THEN
856 NULL;
857 WHEN OTHERS THEN
858 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
859 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
860 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
861 END IF;
862 END populate_appl_product_options;
863
864 ----------------------------------------------------------------------
865 -- PRIVATE PROCEDURE
866 -- Get_Tax_Event_Class
867 --
868 -- DESCRIPTION
869 -- Fetch the tax event class code and reference application id
870 --
871 -- CALLED BY
872 -- reverse_document
873 -- reverse_distributions
874 -- override_recovery
875 -- freeze_distribution_lines
876 -- validate_document_for_tax
877 -----------------------------------------------------------------------
878 PROCEDURE get_tax_event_class
879 ( x_return_status OUT NOCOPY VARCHAR2 ,
880 p_appln_id IN NUMBER,
881 p_entity_code IN VARCHAR2,
882 p_evnt_cls_code IN VARCHAR2,
883 x_tx_evnt_cls_code OUT NOCOPY VARCHAR2,
884 x_ref_appln_id OUT NOCOPY NUMBER,
885 x_record_flag OUT NOCOPY VARCHAR2, -- Bug 5200373
886 x_record_for_partners_flag OUT NOCOPY VARCHAR2, -- Bug 5200373
887 x_prod_family_grp_code OUT NOCOPY VARCHAR2, -- Bug 5200373
888 x_event_class_mapping_id OUT NOCOPY NUMBER , -- Bug 5200373
889 x_summarization_flag OUT NOCOPY VARCHAR2
890 )IS
891 l_api_name CONSTANT VARCHAR2(30) := 'GET_TAX_EVENT_CLASS';
892 l_index binary_integer;
893
894 BEGIN
895 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
896 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
897 END IF;
898
899 x_return_status := FND_API.G_RET_STS_SUCCESS;
900
901 /*
902 SELECT tax_event_class_code,
903 reference_application_id,
904 record_flag, -- Bug 5200373
905 record_for_partners_flag, -- Bug 5200373
906 prod_family_grp_code, -- Bug 5200373
907 event_class_mapping_id,
908 summarization_flag -- Bug 5200373
909 INTO x_tx_evnt_cls_code,
910 x_ref_appln_id,
911 x_record_flag, -- Bug 5200373
912 x_record_for_partners_flag, -- Bug 5200373
913 x_prod_family_grp_code, -- Bug 5200373
914 x_event_class_mapping_id, -- Bug 5200373
915 x_summarization_flag
916 FROM ZX_EVNT_CLS_MAPPINGS
917 WHERE event_class_code = p_evnt_cls_code
918 AND application_id = p_appln_id
919 AND entity_code = p_entity_code;
920 */
921
922 get_event_class_info(
923 P_ENTITY_CODE => p_entity_code,
924 P_EVENT_CLASS_CODE => p_evnt_cls_code,
925 P_APPLICATION_ID => p_appln_id,
926 X_TBL_INDEX => l_index,
927 X_RETURN_STATUS => x_return_status);
928
929 IF L_INDEX IS NULL THEN
930
931 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
932 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
933 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
934 'The event class information passed is incorrect. Please CHECK! '||SQLERRM);
935 END IF;
936
937 ELSE
938
939 x_tx_evnt_cls_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).tax_event_class_code;
940 x_ref_appln_id := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).reference_application_id;
941 x_record_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).record_flag;
942 x_record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).record_for_partners_flag;
943 x_prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).prod_family_grp_code;
944 x_event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).event_class_mapping_id;
945 x_summarization_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).summarization_flag;
946
947 END IF;
948
949
950 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
951 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
952 '.END',G_PKG_NAME||': '||l_api_name||'()-' ||
953 ', RETURN_STATUS = ' || x_return_status);
954 END IF;
955
956 EXCEPTION
957 WHEN OTHERS THEN
958 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
959 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
960 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
961 'The event class information passed is incorrect. Please CHECK! '||SQLERRM);
962 END IF;
963 END get_tax_event_class;
964
965 ----------------------------------------------------------------------
966 -- PRIVATE PROCEDURE
967 -- Get_Tax_Event_Class
968 --
969 -- DESCRIPTION
970 -- Fetch the relevant events information from zx_evnt_cls_mappings
971 --
972 -- CALLED BY
973 -- calculate_tax
974 -- import_document_with_tax
975 -- override_tax
976 -- determine_recovery
977 -- insupd_line_det_factors
978 -----------------------------------------------------------------------
979 PROCEDURE get_tax_event_class
980 ( x_return_status OUT NOCOPY VARCHAR2,
981 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
982 )IS
983 l_api_name CONSTANT VARCHAR2(30):= 'GET_TAX_EVENT_CLASS';
984 l_index BINARY_INTEGER;
985
986 BEGIN
987 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
988 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
989 END IF;
990
991 x_return_status := FND_API.G_RET_STS_SUCCESS;
992
993 IF p_event_class_rec.event_class_code = 'SALES_TRANSACTION_TAX_QUOTE' THEN
994 SELECT 0,
995 zxevntclsmap.tax_event_class_code,
996 zxevntclsmap.det_factor_templ_code,
997 zxevntclsmap.default_rounding_level_code,
998 zxevntclsmap.rounding_level_hier_1_code,
999 zxevntclsmap.rounding_level_hier_2_code,
1000 zxevntclsmap.rounding_level_hier_3_code,
1001 zxevntclsmap.rounding_level_hier_4_code,
1002 'N', --allow_manual_lin_recalc_flag
1003 'N', --allow_override_flag,
1004 'N', --allow_manual_lines_flag,
1005 'N', --perf_addnl_appl_for_imprt_flag,
1006 'N', --record_flag
1007 'THIRD_PARTY', --ship_to_party_type
1008 'LEGAL_ESTABLISHMENT', --ship_from_party_type
1009 'THIRD_PARTY', --bill_to_party_type
1010 'LEGAL_ESTABLISHMENT', --bill_from_party_type
1011 'THIRD_PARTY_SITE', --ship_to_pty_site_type
1012 'THIRD_PARTY_SITE', --bill_to_pty_site_type
1013 'N', --enforce_tax_from_acct_flag,
1014 null, --offset_tax_basis_code
1015 'N', --allow_offset_tax_calc_flag
1016 'N', --self_assess_tax_lines_flag
1017 'N', --tax_recovery_flag
1018 'N', --allow_cancel_tax_lines_flag
1019 'N', --allow_man_tax_only_lines_flag
1020 'N', --enable_mrc_flag
1021 'N', --tax_reporting_flag,
1022 'N', --enter_ovrd_incl_tax_lines_flag
1023 'N', --ctrl_eff_ovrd_calc_lines_flag
1024 'N', --summarization_flag
1025 'N', --retain_summ_tax_line_id_flag
1026 'N', --tax_variance_calc_flag
1027 'O2C', --prod_family_grp_code
1028 'N', --record_for_partners_flag
1029 'N', --manual_lines_for_partner_flag
1030 'N', --man_tax_only_lin_for_ptnr_flag
1031 'N', --always_use_ebtax_for_calc_flag
1032 'N', --enforce_tax_from_ref_doc_flag
1033 zxevntclsmap.process_for_applicability_flag,
1034 zxevntclsmap.allow_exemptions_flag, --allow_exemptions_flag
1035 zxevntclsmap.sup_cust_acct_type_code,
1036 'N', --intgrtn_det_factors_ui_flag
1037 'N', --display_tax_classif_flag
1038 zxcls.asc_intrcmp_tx_evnt_cls_code,
1039 zxevntclsmap.intrcmp_tx_evnt_cls_code,
1040 zxevntclsmap.intrcmp_src_appln_id,
1041 zxevntclsmap.intrcmp_src_entity_code,
1042 zxevntclsmap.intrcmp_src_evnt_cls_code
1043 INTO p_event_class_rec.event_class_mapping_id,
1044 p_event_class_rec.tax_event_class_code,
1045 p_event_class_rec.det_factor_templ_code,
1046 p_event_class_rec.default_rounding_level_code,
1047 p_event_class_rec.rounding_level_hier_1_code,
1048 p_event_class_rec.rounding_level_hier_2_code,
1049 p_event_class_rec.rounding_level_hier_3_code,
1050 p_event_class_rec.rounding_level_hier_4_code,
1051 p_event_class_rec.allow_manual_lin_recalc_flag,
1052 p_event_class_rec.allow_override_flag,
1053 p_event_class_rec.allow_manual_lines_flag,
1054 p_event_class_rec.perf_addnl_appl_for_imprt_flag,
1055 p_event_class_rec.record_flag,
1056 source_rec.ship_to_party_type,
1057 source_rec.ship_from_party_type,
1058 source_rec.bill_to_party_type,
1059 source_rec.bill_from_party_type,
1060 source_rec.ship_to_pty_site_type,
1061 source_rec.bill_to_pty_site_type,
1062 p_event_class_rec.enforce_tax_from_acct_flag,
1063 p_event_class_rec.offset_tax_basis_code ,
1064 p_event_class_rec.allow_offset_tax_calc_flag,
1065 p_event_class_rec.self_assess_tax_lines_flag,
1066 p_event_class_rec.tax_recovery_flag,
1067 p_event_class_rec.allow_cancel_tax_lines_flag,
1068 p_event_class_rec.allow_man_tax_only_lines_flag,
1069 p_event_class_rec.enable_mrc_flag,
1070 p_event_class_rec.tax_reporting_flag,
1071 p_event_class_rec.enter_ovrd_incl_tax_lines_flag,
1072 p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag,
1073 p_event_class_rec.summarization_flag,
1074 p_event_class_rec.retain_summ_tax_line_id_flag,
1075 p_event_class_rec.tax_variance_calc_flag,
1076 p_event_class_rec.prod_family_grp_code,
1077 p_event_class_rec.record_for_partners_flag,
1078 p_event_class_rec.manual_lines_for_partner_flag,
1079 p_event_class_rec.man_tax_only_lin_for_ptnr_flag,
1080 p_event_class_rec.always_use_ebtax_for_calc_flag,
1081 p_event_class_rec.enforce_tax_from_ref_doc_flag,
1082 p_event_class_rec.process_for_applicability_flag,
1083 p_event_class_rec.allow_exemptions_flag,
1084 p_event_class_rec.sup_cust_acct_type,
1085 p_event_class_rec.intgrtn_det_factors_ui_flag,
1086 p_event_class_rec.display_tax_classif_flag,
1087 p_event_class_rec.asc_intrcmp_tx_evnt_cls_code,
1088 p_event_class_rec.intrcmp_tx_evnt_cls_code,
1089 p_event_class_rec.intrcmp_src_appln_id,
1090 p_event_class_rec.intrcmp_src_entity_code,
1091 p_event_class_rec.intrcmp_src_evnt_cls_code
1092 FROM ZX_EVNT_CLS_MAPPINGS zxevntclsmap,
1093 ZX_EVENT_CLASSES_B zxcls
1094 WHERE zxevntclsmap.event_class_code = 'INVOICE'
1095 AND zxevntclsmap.application_id = 222
1096 AND zxevntclsmap.entity_code = 'TRANSACTIONS'
1097 AND zxevntclsmap.tax_event_class_code = zxcls.tax_event_class_code ;
1098 ELSIF p_event_class_rec.event_class_code = 'PURCHASE_TRANSACTION_TAX_QUOTE' THEN
1099 SELECT -1,
1100 zxevntclsmap.tax_event_class_code,
1101 zxevntclsmap.det_factor_templ_code,
1102 zxevntclsmap.default_rounding_level_code,
1103 zxevntclsmap.rounding_level_hier_1_code,
1104 zxevntclsmap.rounding_level_hier_2_code,
1105 zxevntclsmap.rounding_level_hier_3_code,
1106 zxevntclsmap.rounding_level_hier_4_code,
1107 'N', --allow_manual_lin_recalc_flag
1108 'N', --allow_override_flag,
1109 'N', --allow_manual_lines_flag,
1110 'N', --perf_addnl_appl_for_imprt_flag,
1111 'N', --record_flag
1112 'LEGAL_ESTABLISHMENT', --ship_to_party_type
1113 'THIRD_PARTY', --ship_from_party_type
1114 'LEGAL_ESTABLISHMENT', --bill_to_party_type
1115 'THIRD_PARTY', --bill_from_party_type
1116 'THIRD_PARTY_SITE', --ship_from_pty_site_type
1117 'THIRD_PARTY_SITE', --bill_from_pty_site_type
1118 'N', --enforce_tax_from_acct_flag,
1119 null, --offset_tax_basis_code
1120 'N', --allow_offset_tax_calc_flag
1121 'N', --self_assess_tax_lines_flag
1122 DECODE(p_event_class_rec.application_id,'8407','Y','N'), --tax_recovery_flag //Added decode logic for bug 6751638
1123 'N', --allow_cancel_tax_lines_flag
1124 'N', --allow_man_tax_only_lines_flag
1125 'N', --enable_mrc_flag
1126 'N', --tax_reporting_flag,
1127 'N', --enter_ovrd_incl_tax_lines_flag
1128 'N', --ctrl_eff_ovrd_calc_lines_flag
1129 'N', --summarization_flag
1130 'N', --retain_summ_tax_line_id_flag
1131 'N', --tax_variance_calc_flag
1132 'P2P', --prod_family_grp_code
1133 'N', --record_for_partners_flag
1134 'N', --manual_lines_for_partner_flag
1135 'N', --man_tax_only_lin_for_ptnr_flag
1136 'N', --always_use_ebtax_for_calc_flag
1137 'N', --enforce_tax_from_ref_doc_flag
1138 zxevntclsmap.process_for_applicability_flag,
1139 zxevntclsmap.allow_exemptions_flag, --allow_exemptions_flag
1140 zxevntclsmap.sup_cust_acct_type_code,
1141 'N', --intgrtn_det_factors_ui_flag
1142 'N', --display_tax_classif_flag
1143 zxcls.asc_intrcmp_tx_evnt_cls_code,
1144 zxevntclsmap.intrcmp_tx_evnt_cls_code,
1145 zxevntclsmap.intrcmp_src_appln_id,
1146 zxevntclsmap.intrcmp_src_entity_code,
1147 zxevntclsmap.intrcmp_src_evnt_cls_code
1148 INTO p_event_class_rec.event_class_mapping_id,
1149 p_event_class_rec.tax_event_class_code,
1150 p_event_class_rec.det_factor_templ_code,
1151 p_event_class_rec.default_rounding_level_code,
1152 p_event_class_rec.rounding_level_hier_1_code,
1153 p_event_class_rec.rounding_level_hier_2_code,
1154 p_event_class_rec.rounding_level_hier_3_code,
1155 p_event_class_rec.rounding_level_hier_4_code,
1156 p_event_class_rec.allow_manual_lin_recalc_flag,
1157 p_event_class_rec.allow_override_flag,
1158 p_event_class_rec.allow_manual_lines_flag,
1159 p_event_class_rec.perf_addnl_appl_for_imprt_flag,
1160 p_event_class_rec.record_flag,
1161 source_rec.ship_to_party_type,
1162 source_rec.ship_from_party_type,
1163 source_rec.bill_to_party_type,
1164 source_rec.bill_from_party_type,
1165 source_rec.ship_from_pty_site_type,
1166 source_rec.bill_from_pty_site_type,
1167 p_event_class_rec.enforce_tax_from_acct_flag,
1168 p_event_class_rec.offset_tax_basis_code ,
1169 p_event_class_rec.allow_offset_tax_calc_flag,
1170 p_event_class_rec.self_assess_tax_lines_flag,
1171 p_event_class_rec.tax_recovery_flag,
1172 p_event_class_rec.allow_cancel_tax_lines_flag,
1173 p_event_class_rec.allow_man_tax_only_lines_flag,
1174 p_event_class_rec.enable_mrc_flag,
1175 p_event_class_rec.tax_reporting_flag,
1176 p_event_class_rec.enter_ovrd_incl_tax_lines_flag,
1177 p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag,
1178 p_event_class_rec.summarization_flag,
1179 p_event_class_rec.retain_summ_tax_line_id_flag,
1180 p_event_class_rec.tax_variance_calc_flag,
1181 p_event_class_rec.prod_family_grp_code,
1182 p_event_class_rec.record_for_partners_flag,
1183 p_event_class_rec.manual_lines_for_partner_flag,
1184 p_event_class_rec.man_tax_only_lin_for_ptnr_flag,
1185 p_event_class_rec.always_use_ebtax_for_calc_flag,
1186 p_event_class_rec.enforce_tax_from_ref_doc_flag,
1187 p_event_class_rec.process_for_applicability_flag,
1188 p_event_class_rec.allow_exemptions_flag,
1189 p_event_class_rec.sup_cust_acct_type,
1190 p_event_class_rec.intgrtn_det_factors_ui_flag,
1191 p_event_class_rec.display_tax_classif_flag,
1192 p_event_class_rec.asc_intrcmp_tx_evnt_cls_code,
1193 p_event_class_rec.intrcmp_tx_evnt_cls_code,
1194 p_event_class_rec.intrcmp_src_appln_id,
1195 p_event_class_rec.intrcmp_src_entity_code,
1196 p_event_class_rec.intrcmp_src_evnt_cls_code
1197 FROM ZX_EVNT_CLS_MAPPINGS zxevntclsmap,
1198 ZX_EVENT_CLASSES_B zxcls
1199 WHERE zxevntclsmap.entity_code = 'AP_INVOICES'
1200 AND zxevntclsmap.application_id = 200
1201 AND zxevntclsmap.event_class_code = 'STANDARD INVOICES'
1202 AND zxevntclsmap.tax_event_class_code = zxcls.tax_event_class_code ;
1203 ELSE
1204 /*
1205 get_event_class_info(
1206 P_ENTITY_CODE => p_event_class_rec.entity_code,
1207 P_EVENT_CLASS_CODE => p_event_class_rec.event_class_code,
1208 P_APPLICATION_ID => p_event_class_rec.application_id,
1209 X_TBL_INDEX => l_index,
1210 X_RETURN_STATUS => x_return_status);
1211
1212 IF L_INDEX IS NULL THEN
1213
1214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1215 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1216 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
1217 'The event class information passed is incorrect. Please CHECK! '||SQLERRM);
1218 END IF;
1219
1220 ELSE
1221
1222 p_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).event_class_mapping_id;
1223 p_event_class_rec.tax_event_class_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).tax_event_class_code;
1224 p_event_class_rec.det_factor_templ_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).det_factor_templ_code;
1225 p_event_class_rec.default_rounding_level_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).default_rounding_level_code;
1226 p_event_class_rec.rounding_level_hier_1_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).rounding_level_hier_1_code;
1227 p_event_class_rec.rounding_level_hier_2_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).rounding_level_hier_2_code;
1228 p_event_class_rec.rounding_level_hier_3_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).rounding_level_hier_3_code;
1229 p_event_class_rec.rounding_level_hier_4_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).rounding_level_hier_4_code;
1230 p_event_class_rec.allow_manual_lin_recalc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_manual_lin_recalc_flag;
1231 p_event_class_rec.allow_override_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_override_flag;
1232 p_event_class_rec.allow_manual_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_manual_lines_flag;
1233 p_event_class_rec.perf_addnl_appl_for_imprt_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).perf_addnl_appl_for_imprt_flag;
1234 p_event_class_rec.record_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).record_flag;
1235 source_rec.ship_to_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ship_to_party_type;
1236 source_rec.ship_from_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ship_from_party_type;
1237 source_rec.poa_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poa_party_type;
1238 source_rec.poo_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poo_party_type;
1239 source_rec.paying_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).paying_party_type;
1240 source_rec.own_hq_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).own_hq_party_type;
1241 source_rec.trad_hq_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).trad_hq_party_type;
1242 source_rec.poi_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poi_party_type;
1243 source_rec.pod_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).pod_party_type;
1244 source_rec.bill_to_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).bill_to_party_type;
1245 source_rec.bill_from_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).bill_from_party_type;
1246 source_rec.ttl_trns_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ttl_trns_party_type;
1247 source_rec.ship_to_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ship_to_pty_site_type;
1248 source_rec.ship_from_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ship_from_pty_site_type;
1249 source_rec.poa_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poa_pty_site_type;
1250 source_rec.poo_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poo_pty_site_type;
1251 source_rec.paying_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).paying_pty_site_type;
1252 source_rec.own_hq_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).own_hq_pty_site_type;
1253 source_rec.trad_hq_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).trad_hq_pty_site_type;
1254 source_rec.poi_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).poi_pty_site_type;
1255 source_rec.pod_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).pod_pty_site_type;
1256 source_rec.bill_to_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).bill_to_pty_site_type;
1257 source_rec.bill_from_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).bill_from_pty_site_type;
1258 source_rec.ttl_trns_pty_site_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ttl_trns_pty_site_type;
1259 source_rec.merchant_party_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).merchant_party_type;
1260 p_event_class_rec.reference_application_id := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).reference_application_id;
1261 p_event_class_rec.enforce_tax_from_acct_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).enforce_tax_from_acct_flag;
1262 p_event_class_rec.offset_tax_basis_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).offset_tax_basis_code ;
1263 p_event_class_rec.allow_offset_tax_calc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_offset_tax_calc_flag;
1264 p_event_class_rec.self_assess_tax_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).self_assess_tax_lines_flag;
1265 p_event_class_rec.tax_recovery_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).tax_recovery_flag;
1266 p_event_class_rec.allow_cancel_tax_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_cancel_tax_lines_flag;
1267 p_event_class_rec.allow_man_tax_only_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_man_tax_only_lines_flag;
1268 --p_event_class_rec.enable_mrc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).enable_mrc_flag;
1269 p_event_class_rec.tax_reporting_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).tax_reporting_flag;
1270 p_event_class_rec.enter_ovrd_incl_tax_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).enter_ovrd_incl_tax_lines_flag;
1271 p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ctrl_eff_ovrd_calc_lines_flag;
1272 p_event_class_rec.summarization_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).summarization_flag;
1273 p_event_class_rec.retain_summ_tax_line_id_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).retain_summ_tax_line_id_flag;
1274 p_event_class_rec.tax_variance_calc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).tax_variance_calc_flag;
1275 p_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).prod_family_grp_code;
1276 p_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).record_for_partners_flag;
1277 p_event_class_rec.manual_lines_for_partner_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).manual_lines_for_partner_flag;
1278 p_event_class_rec.man_tax_only_lin_for_ptnr_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).man_tax_only_lin_for_ptnr_flag;
1279 p_event_class_rec.always_use_ebtax_for_calc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).always_use_ebtax_for_calc_flag;
1280 p_event_class_rec.enforce_tax_from_ref_doc_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).enforce_tax_from_ref_doc_flag;
1281 p_event_class_rec.process_for_applicability_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).process_for_applicability_flag;
1282 p_event_class_rec.allow_exemptions_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).allow_exemptions_flag;
1283 p_event_class_rec.sup_cust_acct_type := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).sup_cust_acct_type_code;
1284 p_event_class_rec.intgrtn_det_factors_ui_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).intgrtn_det_factors_ui_flag;
1285 p_event_class_rec.display_tax_classif_flag := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).display_tax_classif_flag;
1286 p_event_class_rec.intrcmp_tx_evnt_cls_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).intrcmp_tx_evnt_cls_code;
1287 p_event_class_rec.intrcmp_src_appln_id := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).intrcmp_src_appln_id;
1288 p_event_class_rec.intrcmp_src_entity_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).intrcmp_src_entity_code;
1289 p_event_class_rec.intrcmp_src_evnt_cls_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).intrcmp_src_evnt_cls_code;
1290
1291 IF ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl.exists(p_event_class_rec.tax_event_class_code) THEN
1292 p_event_class_rec.normal_sign_flag :=
1293 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(p_event_class_rec.tax_event_class_code).normal_sign_flag;
1294 p_event_class_rec.asc_intrcmp_tx_evnt_cls_code :=
1295 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(p_event_class_rec.tax_event_class_code).asc_intrcmp_tx_evnt_cls_code;
1296 ELSE
1297 populate_tax_event_class_info;
1298 p_event_class_rec.normal_sign_flag :=
1299 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(p_event_class_rec.tax_event_class_code).normal_sign_flag;
1300 p_event_class_rec.asc_intrcmp_tx_evnt_cls_code :=
1301 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(p_event_class_rec.tax_event_class_code).asc_intrcmp_tx_evnt_cls_code;
1302 END IF;
1303 END IF; -- l_index is NULL
1304 */
1305 SELECT zxevntclsmap.event_class_mapping_id,
1306 zxevntclsmap.tax_event_class_code,
1307 zxevntclsmap.det_factor_templ_code,
1308 zxevntclsmap.default_rounding_level_code,
1309 zxevntclsmap.rounding_level_hier_1_code,
1310 zxevntclsmap.rounding_level_hier_2_code,
1311 zxevntclsmap.rounding_level_hier_3_code,
1312 zxevntclsmap.rounding_level_hier_4_code,
1313 zxevntclsmap.allow_manual_lin_recalc_flag,
1314 zxevntclsmap.allow_override_flag,
1315 zxevntclsmap.allow_manual_lines_flag,
1316 zxevntclsmap.perf_addnl_appl_for_imprt_flag,
1317 zxcls.normal_sign_flag,
1318 zxevntclsmap.record_flag,
1319 zxevntclsmap.ship_to_party_type,
1320 zxevntclsmap.ship_from_party_type,
1321 zxevntclsmap.poa_party_type,
1322 zxevntclsmap.poo_party_type,
1323 zxevntclsmap.paying_party_type,
1324 zxevntclsmap.own_hq_party_type,
1325 zxevntclsmap.trad_hq_party_type,
1326 zxevntclsmap.poi_party_type,
1327 zxevntclsmap.pod_party_type,
1328 zxevntclsmap.bill_to_party_type,
1329 zxevntclsmap.bill_from_party_type,
1330 zxevntclsmap.ttl_trns_party_type,
1331 zxevntclsmap.ship_to_pty_site_type,
1332 zxevntclsmap.ship_from_pty_site_type,
1333 zxevntclsmap.poa_pty_site_type,
1334 zxevntclsmap.poo_pty_site_type,
1335 zxevntclsmap.paying_pty_site_type,
1336 zxevntclsmap.own_hq_pty_site_type,
1337 zxevntclsmap.trad_hq_pty_site_type,
1338 zxevntclsmap.poi_pty_site_type,
1339 zxevntclsmap.pod_pty_site_type,
1340 zxevntclsmap.bill_to_pty_site_type,
1341 zxevntclsmap.bill_from_pty_site_type,
1342 zxevntclsmap.ttl_trns_pty_site_type,
1343 zxevntclsmap.merchant_party_type,
1344 zxevntclsmap.reference_application_id,
1345 zxevntclsmap.enforce_tax_from_acct_flag,
1346 zxevntclsmap.offset_tax_basis_code ,
1347 zxevntclsmap.allow_offset_tax_calc_flag,
1348 zxevntclsmap.self_assess_tax_lines_flag,
1349 zxevntclsmap.tax_recovery_flag,
1350 zxevntclsmap.allow_cancel_tax_lines_flag,
1351 zxevntclsmap.allow_man_tax_only_lines_flag,
1352 zxevntclsmap.enable_mrc_flag,
1353 zxevntclsmap.tax_reporting_flag,
1354 zxevntclsmap.enter_ovrd_incl_tax_lines_flag,
1355 zxevntclsmap.ctrl_eff_ovrd_calc_lines_flag,
1356 zxevntclsmap.summarization_flag,
1357 zxevntclsmap.retain_summ_tax_line_id_flag,
1358 zxevntclsmap.tax_variance_calc_flag,
1359 zxevntclsmap.prod_family_grp_code,
1360 zxevntclsmap.record_for_partners_flag,
1361 zxevntclsmap.manual_lines_for_partner_flag,
1362 zxevntclsmap.man_tax_only_lin_for_ptnr_flag,
1363 zxevntclsmap.always_use_ebtax_for_calc_flag,
1364 zxevntclsmap.enforce_tax_from_ref_doc_flag,
1365 zxevntclsmap.process_for_applicability_flag,
1366 zxevntclsmap.allow_exemptions_flag,
1367 zxevntclsmap.sup_cust_acct_type_code,
1368 zxevntclsmap.intgrtn_det_factors_ui_flag,
1369 zxevntclsmap.display_tax_classif_flag,
1370 zxcls.asc_intrcmp_tx_evnt_cls_code,
1371 zxevntclsmap.intrcmp_tx_evnt_cls_code,
1372 zxevntclsmap.intrcmp_src_appln_id,
1373 zxevntclsmap.intrcmp_src_entity_code,
1374 zxevntclsmap.intrcmp_src_evnt_cls_code
1375 INTO p_event_class_rec.event_class_mapping_id,
1376 p_event_class_rec.tax_event_class_code,
1377 p_event_class_rec.det_factor_templ_code,
1378 p_event_class_rec.default_rounding_level_code,
1379 p_event_class_rec.rounding_level_hier_1_code,
1380 p_event_class_rec.rounding_level_hier_2_code,
1381 p_event_class_rec.rounding_level_hier_3_code,
1382 p_event_class_rec.rounding_level_hier_4_code,
1383 p_event_class_rec.allow_manual_lin_recalc_flag,
1384 p_event_class_rec.allow_override_flag,
1385 p_event_class_rec.allow_manual_lines_flag,
1386 p_event_class_rec.perf_addnl_appl_for_imprt_flag,
1387 p_event_class_rec.normal_sign_flag,
1388 p_event_class_rec.record_flag,
1389 source_rec.ship_to_party_type,
1390 source_rec.ship_from_party_type,
1391 source_rec.poa_party_type,
1392 source_rec.poo_party_type,
1393 source_rec.paying_party_type,
1394 source_rec.own_hq_party_type,
1395 source_rec.trad_hq_party_type,
1396 source_rec.poi_party_type,
1397 source_rec.pod_party_type,
1398 source_rec.bill_to_party_type,
1399 source_rec.bill_from_party_type,
1400 source_rec.ttl_trns_party_type,
1401 source_rec.ship_to_pty_site_type,
1402 source_rec.ship_from_pty_site_type,
1403 source_rec.poa_pty_site_type,
1404 source_rec.poo_pty_site_type,
1405 source_rec.paying_pty_site_type,
1406 source_rec.own_hq_pty_site_type,
1407 source_rec.trad_hq_pty_site_type,
1408 source_rec.poi_pty_site_type,
1409 source_rec.pod_pty_site_type,
1410 source_rec.bill_to_pty_site_type,
1411 source_rec.bill_from_pty_site_type,
1412 source_rec.ttl_trns_pty_site_type,
1413 source_rec.merchant_party_type,
1414 p_event_class_rec.reference_application_id,
1415 p_event_class_rec.enforce_tax_from_acct_flag,
1416 p_event_class_rec.offset_tax_basis_code ,
1417 p_event_class_rec.allow_offset_tax_calc_flag,
1418 p_event_class_rec.self_assess_tax_lines_flag,
1419 p_event_class_rec.tax_recovery_flag,
1420 p_event_class_rec.allow_cancel_tax_lines_flag,
1421 p_event_class_rec.allow_man_tax_only_lines_flag,
1422 p_event_class_rec.enable_mrc_flag,
1423 p_event_class_rec.tax_reporting_flag,
1424 p_event_class_rec.enter_ovrd_incl_tax_lines_flag,
1425 p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag,
1426 p_event_class_rec.summarization_flag,
1427 p_event_class_rec.retain_summ_tax_line_id_flag,
1428 p_event_class_rec.tax_variance_calc_flag,
1429 p_event_class_rec.prod_family_grp_code,
1430 p_event_class_rec.record_for_partners_flag,
1431 p_event_class_rec.manual_lines_for_partner_flag,
1432 p_event_class_rec.man_tax_only_lin_for_ptnr_flag,
1433 p_event_class_rec.always_use_ebtax_for_calc_flag,
1434 p_event_class_rec.enforce_tax_from_ref_doc_flag,
1435 p_event_class_rec.process_for_applicability_flag,
1436 p_event_class_rec.allow_exemptions_flag,
1437 p_event_class_rec.sup_cust_acct_type,
1438 p_event_class_rec.intgrtn_det_factors_ui_flag,
1439 p_event_class_rec.display_tax_classif_flag,
1440 p_event_class_rec.asc_intrcmp_tx_evnt_cls_code,
1441 p_event_class_rec.intrcmp_tx_evnt_cls_code,
1442 p_event_class_rec.intrcmp_src_appln_id,
1443 p_event_class_rec.intrcmp_src_entity_code,
1444 p_event_class_rec.intrcmp_src_evnt_cls_code
1445 FROM ZX_EVNT_CLS_MAPPINGS zxevntclsmap,
1446 ZX_EVENT_CLASSES_B zxcls
1447 WHERE zxevntclsmap.event_class_code = p_event_class_rec.event_class_code
1448 AND zxevntclsmap.application_id = p_event_class_rec.application_id
1449 AND zxevntclsmap.entity_code = p_event_class_rec.entity_code
1450 AND zxevntclsmap.tax_event_class_code = zxcls.tax_event_class_code ;
1451
1452
1453 END IF; -- p_event_class_rec.event_class_code = 'SALES_TRANSACTION_TAX_QUOTE
1454
1455 --Bug 4670938:populate the source_event_class_mapping_id for rules engine processing
1456 BEGIN
1457 IF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND ZX_API_PUB.G_PUB_SRVC ='CALCULATE_TAX')
1458 -- for recovery determination this logic is not needed
1459 -- OR (ZX_API_PUB.G_PUB_SRVC ='DETERMINE_RECOVERY')
1460 THEN
1461 SELECT mapp.event_class_mapping_id,
1462 mapp.tax_event_class_code,
1463 mapp.process_for_applicability_flag
1464 INTO p_event_class_rec.source_event_class_mapping_id,
1465 p_event_class_rec.source_tax_event_class_code,
1466 p_event_class_rec.source_process_for_appl_flag
1467 FROM zx_evnt_cls_mappings mapp,
1468 zx_lines_det_factors det
1469 WHERE mapp.application_id = det.source_application_id
1470 AND mapp.entity_code = det.source_entity_code
1471 AND mapp.event_class_code = det.source_event_class_code
1472 AND det.trx_id = p_event_class_rec.trx_id
1473 AND det.application_id = p_event_class_rec.application_id
1474 AND det.entity_code = p_event_class_rec.entity_code
1475 AND det.event_class_code = p_event_class_rec.event_class_code
1476 AND rownum=1;
1477 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' AND ZX_API_PUB.G_PUB_SRVC ='CALCULATE_TAX' THEN
1478 SELECT mapp.event_class_mapping_id,
1479 mapp.tax_event_class_code,
1480 mapp.process_for_applicability_flag
1481 INTO p_event_class_rec.source_event_class_mapping_id,
1482 p_event_class_rec.source_tax_event_class_code,
1483 p_event_class_rec.source_process_for_appl_flag
1484 FROM zx_evnt_cls_mappings mapp
1485 WHERE mapp.application_id = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(1)
1486 AND mapp.entity_code = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(1)
1487 AND mapp.event_class_code = zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(1);
1488
1489 -- When the data transfer mode is TAB, the logic
1490 -- to populate p_event_class_rec.source* columns
1491 -- is moved to service types pkg as it requires trx_id
1492
1493 END IF;
1494 EXCEPTION
1495 WHEN OTHERS THEN
1496 null;
1497 END;
1498
1499 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1500 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
1501 '.END',G_PKG_NAME||': '||l_api_name||'()-'||
1502 ', RETURN_STATUS = ' || x_return_status);
1503 END IF;
1504
1505 EXCEPTION
1506 WHEN OTHERS THEN
1507 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1508 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1509 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
1510 'The event class information passed is incorrect. Please CHECK! ' ||
1511 SQLERRM);
1512 END IF;
1513 END get_tax_event_class;
1514
1515 ----------------------------------------------------------------------
1516 -- PRIVATE PROCEDURE
1517 -- Get_Tax_Event_Type
1518 --
1519 -- DESCRIPTION
1520 -- Fetch the tax event type information
1521 --
1522 -- CALLED BY
1523 -- calculate_tax
1524 -- import_document_with_tax
1525 -- override_tax
1526 -- determine_recovery
1527 -- global_document_update
1528 -- override_recovery
1529 -- freeze_distribution_lines
1530 -- validate_document_for_tax
1531 -----------------------------------------------------------------------
1532 PROCEDURE Get_Tax_Event_Type
1533 ( x_return_status OUT NOCOPY VARCHAR2,
1534 p_evnt_cls_code IN VARCHAR2,
1535 p_appln_id IN NUMBER,
1536 p_entity_code IN VARCHAR2,
1537 p_evnt_typ_code IN VARCHAR2,
1538 p_tx_evnt_cls_code IN VARCHAR2,
1539 x_tx_evnt_typ_code OUT NOCOPY VARCHAR2,
1540 x_doc_status OUT NOCOPY VARCHAR2
1541 )IS
1542 l_api_name CONSTANT VARCHAR2(30) := 'GET_TAX_EVENT_TYPE';
1543 l_index BINARY_INTEGER;
1544 l_index2 BINARY_INTEGER;
1545
1546 l_tax_event_type_code ZX_EVNT_TYP_MAPPINGS.TAX_EVENT_CLASS_CODE%TYPE;
1547
1548 BEGIN
1549 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1550 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1551 END IF;
1552
1553 x_return_status := FND_API.G_RET_STS_SUCCESS;
1554
1555
1556 get_event_typ_mappings_info(
1557 P_ENTITY_CODE => p_entity_code,
1558 P_EVENT_CLASS_CODE => p_evnt_cls_code,
1559 P_APPLICATION_ID => p_appln_id,
1560 P_EVENT_TYPE_CODE => p_evnt_typ_code,
1561 X_TBL_INDEX => l_index,
1562 X_RETURN_STATUS => x_return_status);
1563
1564 IF l_index is NULL then
1565
1566 IF p_evnt_cls_code in ('SALES_TRANSACTION_TAX_QUOTE','PURCHASE_TRANSACTION_TAX_QUOTE') THEN
1567 x_tx_evnt_typ_code:='CREATE';
1568 ELSE
1569 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1570 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1571 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1572 ' Incorrect event information passed in for event type :' ||p_evnt_typ_code ||' Please Check!');
1573 END IF;
1574 END IF;
1575
1576 ELSE
1577 x_tx_evnt_typ_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).tax_event_type_code;
1578 l_tax_event_type_code := ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).tax_event_type_code;
1579
1580 l_index2 := dbms_utility.get_hash_value(p_tx_evnt_cls_code ||l_tax_event_type_code,
1581 1,8192);
1582
1583 IF ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_cls_typs_tbl.exists(l_index2) THEN
1584
1585 x_doc_status := ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_cls_typs_tbl(l_index2);
1586
1587 ELSE
1588 populate_event_cls_typs;
1589
1590 IF ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_cls_typs_tbl.exists(l_index2) THEN
1591 x_doc_status := ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_cls_typs_tbl(l_index2);
1592 ELSE
1593 IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
1594 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,
1595 ' Unable to derive doc_event_status. Please Check!');
1596 END IF;
1597 END IF;
1598 END IF;
1599
1600 END IF;
1601
1602 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1603 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
1604 '.END',G_PKG_NAME||': '||l_api_name||'()-'||
1605 ', Tax Event Type = ' || x_tx_evnt_typ_code ||
1606 ', Doc Event Status = ' || x_doc_status ||
1607 ', RETURN_STATUS = ' || x_return_status);
1608
1609 END IF;
1610
1611 EXCEPTION
1612 WHEN OTHERS THEN
1613 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1614 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1615 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
1616 END IF;
1617 END get_tax_event_type;
1618
1619
1620 ----------------------------------------------------------------------
1621 -- PRIVATE PROCEDURE
1622 -- get_tax_subscriber
1623 --
1624 -- DESCRIPTION
1625 -- Determine the first party org id
1626 --
1627 -- CALLED BY
1628 -- calculate_tax
1629 -- import_document_with_tax
1630 -- inspud_line_det_factors
1631 -- get_default_tax_det_attribs(GTT version)
1632 -----------------------------------------------------------------------
1633 PROCEDURE get_tax_subscriber
1634 ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
1635 p_effective_date IN DATE,
1636 x_return_status OUT NOCOPY VARCHAR2
1637 )IS
1638 l_api_name CONSTANT VARCHAR2(30):= 'GET_TAX_SUBSCRIBER';
1639 l_return_status VARCHAR2(30);
1640 l_context_info_rec ZX_API_PUB.context_info_rec_type;
1641 l_first_pty_org_id NUMBER;
1642
1643 BEGIN
1644 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1645 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1646 END IF;
1647
1648 l_first_pty_org_id := ZX_SECURITY.G_FIRST_PARTY_ORG_ID ;
1649
1650 x_return_status := FND_API.G_RET_STS_SUCCESS;
1651 ZX_SECURITY.set_security_context(p_event_class_rec.legal_entity_id,
1652 p_event_class_rec.internal_organization_id,
1653 p_effective_date,
1654 l_return_status
1655 );
1656
1657 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1658 x_return_status := l_return_status;
1659 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1660 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
1661 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
1662 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
1663 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
1664 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
1665 END IF;
1666 RETURN;
1667 END IF;
1668
1669 IF nvl(l_first_pty_org_id,-1087) <> nvl(ZX_SECURITY.G_FIRST_PARTY_ORG_ID,-1087) THEN
1670 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1671 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1672 'First Party org_id has changed. Old first_pty_org_id = '||to_char(l_first_pty_org_id)||
1673 ', New first_pty_org_id = '||to_char(ZX_SECURITY.G_FIRST_PARTY_ORG_ID)||
1674 '. Initializing Tax, Status and Rate cache..');
1675 END IF;
1676 ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl.delete;
1677 ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl.delete;
1678 ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.delete;
1679 ZX_TDS_UTILITIES_PKG.g_tax_rate_info_ind_by_hash.delete;
1680
1681 END IF;
1682
1683 p_event_class_rec.first_pty_org_id := ZX_SECURITY.G_FIRST_PARTY_ORG_ID ;
1684
1685 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1686 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
1687 '.END',G_PKG_NAME||': '||l_api_name||'()-'||
1688 ', RETURN_STATUS = ' || l_return_status);
1689 END IF;
1690 END get_tax_subscriber;
1691
1692
1693 ----------------------------------------------------------------------
1694 -- PRIVATE PROCEDURE
1695 -- get_tax_subscriber
1696 --
1697 -- DESCRIPTION
1698 -- Overloaded version to determine the first party org id
1699 --
1700 -- CALLED BY
1701 -- override_tax
1702 -- global_document_update
1703 -- determine_recovery
1704 -- override_recovery
1705 -- freeze_distribution_lines
1706 -- validate_document_for_tax
1707 -----------------------------------------------------------------------
1708 PROCEDURE get_tax_subscriber
1709 ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
1710 x_return_status OUT NOCOPY VARCHAR2
1711 )IS
1712 l_api_name CONSTANT VARCHAR2(30) := 'GET_TAX_SUBSCRIBER';
1713 l_effective_date DATE;
1714 l_related_doc_date DATE;
1715 l_adjusted_doc_date DATE;
1716 l_trx_date DATE;
1717 l_prov_tax_det_date DATE;
1718 l_return_status VARCHAR2(30);
1719 l_upg_trx_info_rec ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
1720 l_context_info_rec ZX_API_PUB.context_info_rec_type;
1721
1722 BEGIN
1723 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1724 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1725 END IF;
1726
1727 x_return_status := FND_API.G_RET_STS_SUCCESS;
1728
1729 BEGIN
1730 SELECT first_pty_org_id ,
1731 related_doc_date,
1732 adjusted_doc_date,
1733 trx_date,
1734 provnl_tax_determination_date
1735 INTO p_event_class_rec.first_pty_org_id,
1736 l_related_doc_date,
1737 l_adjusted_doc_date,
1738 l_trx_date,
1739 l_prov_tax_det_date
1740 FROM ZX_LINES_DET_FACTORS
1741 WHERE application_id = p_event_class_rec.application_id
1742 AND entity_code = p_event_class_rec.entity_code
1743 AND event_class_code = p_event_class_rec.event_class_code
1744 AND trx_id = p_event_class_rec.trx_id
1745 AND rownum = 1;
1746
1747 --Bugfix 4486946 -Call on the fly upgrade if the transaction if not found
1748 EXCEPTION
1749 WHEN NO_DATA_FOUND THEN
1750 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1751 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1752 'Call on-the-fly upgrade since transaction does not exist in repository for trx id: '||to_char(p_event_class_rec.trx_id));
1753 END IF;
1754 l_upg_trx_info_rec.application_id := p_event_class_rec.application_id;
1755 l_upg_trx_info_rec.entity_code := p_event_class_rec.entity_code;
1756 l_upg_trx_info_rec.event_class_code := p_event_class_rec.event_class_code;
1757 l_upg_trx_info_rec.trx_id := p_event_class_rec.trx_id;
1758 ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec => l_upg_trx_info_rec,
1759 x_return_status => l_return_status
1760 );
1761 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1762 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1763 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly returned errors');
1764 END IF;
1765 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1766 RAISE FND_API.G_EXC_ERROR;
1767 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1768 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1769 END IF;
1770 END IF;
1771 SELECT first_pty_org_id ,
1772 related_doc_date,
1773 adjusted_doc_date,
1774 trx_date,
1775 provnl_tax_determination_date
1776 INTO p_event_class_rec.first_pty_org_id,
1777 l_related_doc_date,
1778 l_adjusted_doc_date,
1779 l_trx_date,
1780 l_prov_tax_det_date
1781 FROM ZX_LINES_DET_FACTORS
1782 WHERE application_id = p_event_class_rec.application_id
1783 AND entity_code = p_event_class_rec.entity_code
1784 AND event_class_code = p_event_class_rec.event_class_code
1785 AND trx_id = p_event_class_rec.trx_id
1786 AND rownum = 1;
1787 END;
1788 --Bugfix 4486946; on-the-fly upgrade end
1789
1790 l_effective_date := get_effective_date (l_related_doc_date,
1791 l_prov_tax_det_date,
1792 l_adjusted_doc_date,
1793 l_trx_date
1794 );
1795
1796 IF nvl(p_event_class_rec.first_pty_org_id,-1087) <> nvl(ZX_SECURITY.G_FIRST_PARTY_ORG_ID,-1087) THEN
1797 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1798 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1799 'First Party org_id has changed. Old first_pty_org_id = '||to_char(ZX_SECURITY.G_FIRST_PARTY_ORG_ID)||
1800 ', New first_pty_org_id = '||to_char(p_event_class_rec.first_pty_org_id)||
1801 '. Initializing Tax, Status and Rate cache..');
1802 END IF;
1803 ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl.delete;
1804 ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl.delete;
1805 ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.delete;
1806 ZX_TDS_UTILITIES_PKG.g_tax_rate_info_ind_by_hash.delete;
1807
1808 END IF;
1809
1810
1811
1812 ZX_SECURITY.set_security_context(p_event_class_rec.first_pty_org_id,
1813 l_effective_date,
1814 l_return_status
1815 );
1816
1817
1818 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1819 x_return_status := l_return_status;
1820 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1821 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
1822 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
1823 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
1824 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
1825 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
1826 END IF;
1827 RETURN;
1828 END IF;
1829
1830 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1831 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
1832 '.END',G_PKG_NAME||': '||l_api_name||'()-' ||
1833 ', RETURN_STATUS = ' || l_return_status);
1834 END IF;
1835
1836 EXCEPTION
1837 WHEN OTHERS THEN
1838 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1839 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1840 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
1841 'Data is expected to be in eBTax repository for this call. Please CHECK your sequence of calls to eBTax' ||
1842 SQLERRM);
1843 END IF;
1844 END get_tax_subscriber;
1845
1846 ----------------------------------------------------------------------
1847 -- PRIVATE PROCEDURE
1848 -- set_security_context
1849 --
1850 -- DESCRIPTION
1851 -- Call set security context directlyl; need not return to event class rec
1852 --
1853 -- CALLED BY
1854 -- discard_tax_only_lines
1855 -- mark_tax_lines_deleted
1856 -- reverse_distributions
1857 -----------------------------------------------------------------------
1858 PROCEDURE set_security_context
1859 ( p_application_id IN NUMBER,
1860 p_entity_code IN VARCHAR2,
1861 p_event_class_code IN VARCHAR2,
1862 p_trx_id IN NUMBER,
1863 x_return_status OUT NOCOPY VARCHAR2
1864 )IS
1865 l_api_name CONSTANT VARCHAR2(30) := 'SET_SECURITY_CONTEXT';
1866 l_effective_date DATE;
1867 l_related_doc_date DATE;
1868 l_trx_date DATE;
1869 l_prov_tax_det_date DATE;
1870 l_adjusted_doc_date DATE;
1871 l_first_pty_org_id NUMBER;
1872 l_return_status VARCHAR2(30);
1873 l_upg_trx_info_rec ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
1874 l_context_info_rec ZX_API_PUB.context_info_rec_type;
1875
1876 BEGIN
1877 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1878 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1879 END IF;
1880
1881 x_return_status := FND_API.G_RET_STS_SUCCESS;
1882 BEGIN
1883 SELECT first_pty_org_id ,
1884 related_doc_date,
1885 adjusted_doc_date,
1886 trx_date,
1887 provnl_tax_determination_date
1888 INTO l_first_pty_org_id,
1889 l_related_doc_date,
1890 l_adjusted_doc_date,
1891 l_trx_date,
1892 l_prov_tax_det_date
1893 FROM ZX_LINES_DET_FACTORS
1894 WHERE application_id = p_application_id
1895 AND entity_code = p_entity_code
1896 AND event_class_code = p_event_class_code
1897 AND trx_id = p_trx_id
1898 AND rownum = 1;
1899
1900 --Bugfix 4486946 -Call on the fly upgrade if the transaction if not found
1901 EXCEPTION
1902 WHEN NO_DATA_FOUND THEN
1903 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1904 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1905 'Call on-the-fly upgrade since transaction does not exist in repository for trx id: '||to_char(p_trx_id));
1906 END IF;
1907 l_upg_trx_info_rec.application_id := p_application_id;
1908 l_upg_trx_info_rec.entity_code := p_entity_code;
1909 l_upg_trx_info_rec.event_class_code := p_event_class_code;
1910 l_upg_trx_info_rec.trx_id := p_trx_id;
1911 ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec => l_upg_trx_info_rec,
1912 x_return_status => l_return_status
1913 );
1914 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1915 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1916 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly returned errors');
1917 END IF;
1918 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1919 RAISE FND_API.G_EXC_ERROR;
1920 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1921 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1922 END IF;
1923 END IF;
1924 SELECT first_pty_org_id ,
1925 related_doc_date,
1926 adjusted_doc_date,
1927 trx_date,
1928 provnl_tax_determination_date
1929 INTO l_first_pty_org_id,
1930 l_related_doc_date,
1931 l_adjusted_doc_date,
1932 l_trx_date,
1933 l_prov_tax_det_date
1934 FROM ZX_LINES_DET_FACTORS
1935 WHERE application_id = p_application_id
1936 AND entity_code = p_entity_code
1937 AND event_class_code = p_event_class_code
1938 AND trx_id = p_trx_id
1939 AND rownum = 1;
1940 END;
1941 --Bugfix 4486946; on-the-fly upgrade end
1942
1943 l_effective_date := get_effective_date (l_related_doc_date,
1944 l_prov_tax_det_date,
1945 l_adjusted_doc_date,
1946 l_trx_date
1947 );
1948
1949
1950 ZX_SECURITY.set_security_context(l_first_pty_org_id,
1951 l_effective_date,
1952 l_return_status
1953 );
1954
1955 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1956 x_return_status := l_return_status;
1957 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1958 l_context_info_rec.APPLICATION_ID := p_application_id;
1959 l_context_info_rec.ENTITY_CODE := p_entity_code;
1960 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_code;
1961 l_context_info_rec.TRX_ID := p_trx_id;
1962 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
1963 END IF;
1964 RETURN;
1965 END IF;
1966
1967 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1968 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
1969 '.END',G_PKG_NAME||': '||l_api_name||'()-'||
1970 ', RETURN_STATUS = ' || l_return_status);
1971 END IF;
1972
1973 EXCEPTION
1974 WHEN OTHERS THEN
1975 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1976 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1977 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
1978 'Data is expected to be in eBTax repository for this call. Please CHECK your sequence of calls to eBTax '||
1979 SQLERRM);
1980 END IF;
1981 END set_security_context;
1982
1983 ----------------------------------------------------------------------
1984 -- PRIVATE PROCEDURE
1985 -- set_security_context
1986 --
1987 -- DESCRIPTION
1988 -- Call set security context directly; need not return to event class rec
1989 --
1990 -- CALLED BY
1991 -- reverse_document
1992 -----------------------------------------------------------------------
1993 PROCEDURE set_security_context
1994 ( x_return_status OUT NOCOPY VARCHAR2,
1995 p_event_class_rec IN ZX_API_PUB.event_class_rec_type
1996 )IS
1997 l_api_name CONSTANT VARCHAR2(30):= 'SET_SECURITY_CONTEXT';
1998 l_effective_date DATE;
1999 l_related_doc_date DATE;
2000 l_trx_date DATE;
2001 l_prov_tax_det_date DATE;
2002 l_adjusted_doc_date DATE;
2003 l_legal_entity_id NUMBER;
2004 l_ou_id NUMBER;
2005 l_application_id NUMBER;
2006 l_entity_code VARCHAR2(30);
2007 l_event_class_code VARCHAR2(30);
2008 l_trx_id NUMBER;
2009 l_return_status VARCHAR2(1);
2010 l_upg_trx_info_rec ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
2011 l_context_info_rec ZX_API_PUB.context_info_rec_type;
2012
2013 BEGIN
2014 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2015 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2016 END IF;
2017
2018 x_return_status := FND_API.G_RET_STS_SUCCESS;
2019
2020 BEGIN
2021 SELECT /*+ INDEX(ZX_REV_TRX_HEADERS_GT ZX_REV_TRX_HEADERS_GT_U1) INDEX(ZX_REVERSE_TRX_LINES_GT ZX_REVERSE_TRX_LINES_GT_U1) */
2022 hdrgt.legal_entity_id ,
2023 hdrgt.internal_organization_id,
2024 zl.related_doc_date,
2025 zl.adjusted_doc_date,
2026 zl.trx_date,
2027 zl.provnl_tax_determination_date,
2028 hdrgt.reversing_appln_id ,
2029 hdrgt.reversing_entity_code,
2030 hdrgt.reversing_evnt_cls_code,
2031 hdrgt.reversing_trx_id
2032 INTO l_legal_entity_id,
2033 l_ou_id,
2034 l_related_doc_date,
2035 l_adjusted_doc_date,
2036 l_trx_date,
2037 l_prov_tax_det_date,
2038 l_application_id,
2039 l_entity_code,
2040 l_event_class_code,
2041 l_trx_id
2042 FROM ZX_REV_TRX_HEADERS_GT hdrgt,
2043 ZX_REVERSE_TRX_LINES_GT lngt,
2044 ZX_LINES_DET_FACTORS zl
2045 WHERE hdrgt.reversing_appln_id = p_event_class_rec.application_id
2046 AND hdrgt.reversing_entity_code = p_event_class_rec.entity_code
2047 AND hdrgt.reversing_evnt_cls_code = p_event_class_rec.event_class_code
2048 AND hdrgt.reversing_trx_id = p_event_class_rec.trx_id
2049 AND lngt.reversing_trx_id = hdrgt.reversing_trx_id
2050 AND lngt.reversing_appln_id = hdrgt.reversing_appln_id
2051 AND lngt.reversing_entity_code = hdrgt.reversing_entity_code
2052 AND lngt.reversing_evnt_cls_code = hdrgt.reversing_evnt_cls_code
2053 AND zl.application_id = lngt.reversed_appln_id
2054 AND zl.entity_code = lngt.reversed_entity_code
2055 AND zl.event_class_code = lngt.reversed_evnt_cls_code
2056 AND zl.trx_id = lngt.reversed_trx_id
2057 AND zl.trx_line_id = lngt.reversed_trx_line_id
2058 AND zl.trx_level_type = lngt.reversed_trx_level_type
2059 AND rownum = 1; --bug6083282
2060
2061
2062 --Bugfix 4486946 -Call on the fly upgrade if the transaction if not found
2063 EXCEPTION
2064 WHEN NO_DATA_FOUND THEN
2065 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2066 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2067 'Call on-the-fly upgrade since transaction does not exist in repository for trx id: '||to_char(p_event_class_rec.trx_id));
2068 END IF;
2069 l_upg_trx_info_rec.application_id := p_event_class_rec.application_id;
2070 l_upg_trx_info_rec.entity_code := p_event_class_rec.entity_code;
2071 l_upg_trx_info_rec.event_class_code := p_event_class_rec.event_class_code;
2072 l_upg_trx_info_rec.trx_id := p_event_class_rec.trx_id;
2073 ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec => l_upg_trx_info_rec,
2074 x_return_status => l_return_status
2075 );
2076 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2077 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2078 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly returned errors');
2079 END IF;
2080 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2081 RAISE FND_API.G_EXC_ERROR;
2082 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2083 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2084 END IF;
2085 END IF;
2086 SELECT /*+ INDEX(ZX_REV_TRX_HEADERS_GT ZX_REV_TRX_HEADERS_GT_U1) INDEX(ZX_REVERSE_TRX_LINES_GT ZX_REVERSE_TRX_LINES_GT_U1) */
2087 hdrgt.legal_entity_id ,
2088 hdrgt .internal_organization_id,
2089 zl.related_doc_date,
2090 zl.adjusted_doc_date,
2091 zl.trx_date,
2092 zl.provnl_tax_determination_date,
2093 hdrgt.reversing_appln_id ,
2094 hdrgt.reversing_entity_code,
2095 hdrgt.reversing_evnt_cls_code,
2096 hdrgt.reversing_trx_id
2097 INTO l_legal_entity_id,
2098 l_ou_id,
2099 l_related_doc_date,
2100 l_adjusted_doc_date,
2101 l_trx_date,
2102 l_prov_tax_det_date,
2103 l_application_id,
2104 l_entity_code,
2105 l_event_class_code,
2106 l_trx_id
2107 FROM ZX_REV_TRX_HEADERS_GT hdrgt,
2108 ZX_REVERSE_TRX_LINES_GT lngt,
2109 ZX_LINES_DET_FACTORS zl
2110 WHERE hdrgt.reversing_appln_id = p_event_class_rec.application_id
2111 AND hdrgt.reversing_entity_code = p_event_class_rec.entity_code
2112 AND hdrgt.reversing_evnt_cls_code = p_event_class_rec.event_class_code
2113 AND hdrgt.reversing_trx_id = p_event_class_rec.trx_id
2114 AND lngt.reversing_trx_id = hdrgt.reversing_trx_id
2115 AND lngt.reversing_appln_id = hdrgt.reversing_appln_id
2116 AND lngt.reversing_entity_code = hdrgt.reversing_entity_code
2117 AND lngt.reversing_evnt_cls_code = hdrgt.reversing_evnt_cls_code
2118 AND zl.application_id = lngt.reversed_appln_id
2119 AND zl.entity_code = lngt.reversed_entity_code
2120 AND zl.event_class_code = lngt.reversed_evnt_cls_code
2121 AND zl.trx_id = lngt.reversed_trx_id
2122 AND zl.trx_line_id = lngt.reversed_trx_line_id
2123 AND zl.trx_level_type = lngt.reversed_trx_level_type;
2124 END;
2125 --Bugfix 4486946; on-the-fly upgrade end
2126
2127 l_effective_date := get_effective_date(l_related_doc_date,
2128 l_prov_tax_det_date,
2129 l_adjusted_doc_date,
2130 l_trx_date
2131 );
2132
2133 ZX_SECURITY.set_security_context(l_legal_entity_id,
2134 l_ou_id,
2135 l_effective_date,
2136 l_return_status
2137 );
2138
2139 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2140 x_return_status := l_return_status;
2141 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2142 l_context_info_rec.APPLICATION_ID := p_event_class_rec.APPLICATION_ID;
2143 l_context_info_rec.ENTITY_CODE := p_event_class_rec.ENTITY_CODE;
2144 l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
2145 l_context_info_rec.TRX_ID := p_event_class_rec.TRX_ID;
2146 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
2147 END IF;
2148 RETURN;
2149 END IF;
2150
2151 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2152 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
2153 '.END',G_PKG_NAME||': '||l_api_name||'()-' ||
2154 ', RETURN_STATUS = ' || l_return_status);
2155 END IF;
2156
2157 EXCEPTION
2158 WHEN OTHERS THEN
2159 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2160 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
2161 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
2162 'Data is expected to be in eBTax repository for this call. Please CHECK your sequence of calls to eBTax '||
2163 SQLERRM);
2164 END IF;
2165 END set_security_context;
2166
2167 /*----------------------------------------------------------------------------*
2168 | PUBLIC FUNCTIONS/PROCEDURES |
2169 *----------------------------------------------------------------------------*/
2170
2171 -----------------------------------------------------------------------
2172 -- PUBLIC FUNCTION
2173 -- is_doc_to_be_recorded
2174 --
2175 -- DESCRIPTION
2176 -- Determine if document should be recorded
2177 --
2178 -- CALLED BY
2179 --
2180 -----------------------------------------------------------------------
2181 Function is_doc_to_be_recorded
2182 ( p_application_id IN NUMBER,
2183 p_entity_code IN VARCHAR2,
2184 p_event_class_code IN VARCHAR2,
2185 p_quote_flag IN VARCHAR2,
2186 x_return_status OUT NOCOPY VARCHAR2
2187 )RETURN VARCHAR2 IS
2188 l_api_name CONSTANT VARCHAR2(30) := 'IS_DOC_TO_BE_RECORDED';
2189 l_record_flag VARCHAR2(1);
2190
2191 BEGIN
2192 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2193 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2194 END IF;
2195
2196 x_return_status := FND_API.G_RET_STS_SUCCESS;
2197
2198 SELECT record_flag
2199 INTO l_record_flag
2200 FROM ZX_EVNT_CLS_MAPPINGS
2201 WHERE application_id = p_application_id
2202 AND entity_code = p_entity_code
2203 AND event_class_code = p_event_class_code;
2204
2205 IF l_record_flag = 'Y' THEN
2206 IF p_quote_Flag = 'Y' THEN
2207 l_record_flag := 'N';
2208 END IF;
2209 END IF;
2210
2211 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2212 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||
2213 '.END',G_PKG_NAME||': '||l_api_name||'()-' ||
2214 ', Record Flag = ' || l_record_flag ||
2215 ', RETURN_STATUS = ' || x_return_status);
2216
2217 END IF;
2218
2219 RETURN l_record_flag;
2220
2221 EXCEPTION
2222 WHEN OTHERS THEN
2223 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2224 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
2225 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
2226 END IF;
2227 RETURN l_record_flag;
2228 END is_doc_to_be_recorded;
2229
2230
2231 -----------------------------------------------------------------------
2232 -- PUBLIC PROCEDURE
2233 -- Calculate_Tax
2234 --
2235 -- DESCRIPTION
2236 -- Validates and initializes parameters for calculate_tax published service
2237 --
2238 -- CALLED BY
2239 -- ZX_API_PUB.calculate_tax
2240 -----------------------------------------------------------------------
2241 PROCEDURE Calculate_Tax
2242 ( x_return_status OUT NOCOPY VARCHAR2,
2243 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
2244 )IS
2245 l_api_name CONSTANT VARCHAR2(30):= 'CALCULATE_TAX';
2246 l_return_status VARCHAR2(30);
2247 l_effective_date DATE;
2248 l_ship_from_location_id NUMBER;
2249 l_bill_from_location_id NUMBER;
2250 l_ship_to_location_id NUMBER;
2251 l_bill_to_location_id NUMBER;
2252
2253 BEGIN
2254 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2255 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2256 END IF;
2257
2258 x_return_status := FND_API.G_RET_STS_SUCCESS;
2259 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
2260
2261 /* ----------------------------------------------------------------------+
2262 | Initializing the tax regime dtl procedures |
2263 + ----------------------------------------------------------------------*/
2264 ZX_GLOBAL_STRUCTURES_PKG.Init_Tax_Regime_Tbl;
2265
2266 ZX_GLOBAL_STRUCTURES_PKG.Init_Detail_Tax_Regime_Tbl;
2267
2268 /* ----------------------------------------------------------------------+
2269 | Get Tax Event Class |
2270 + ----------------------------------------------------------------------*/
2271 get_tax_event_class (l_return_status
2272 ,p_event_class_rec
2273 );
2274
2275 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2276 x_return_status := l_return_status;
2277 RETURN;
2278 END IF;
2279
2280 IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
2281
2282 /* ----------------------------------------------------------------------+
2283 | Determine effective date |
2284 + ----------------------------------------------------------------------*/
2285 determine_effective_date(p_event_class_rec,
2286 l_effective_date,
2287 l_return_status
2288 );
2289
2290 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2291 x_return_status := l_return_status;
2292 RETURN;
2293 END IF;
2294
2295 /* ----------------------------------------------------------------------+
2296 | Bug 3129063 - Setting the Security Context for Subscription |
2297 + ----------------------------------------------------------------------*/
2298 get_tax_subscriber(p_event_class_rec,
2299 l_effective_date,
2300 l_return_status
2301 );
2302
2303 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2304 x_return_status := l_return_status;
2305 RETURN;
2306 END IF;
2307
2308 /* ----------------------------------------------------------------------+
2309 | Get Tax Event Type |
2310 + ----------------------------------------------------------------------*/
2311 get_tax_event_type (l_return_status
2312 ,p_event_class_rec.event_class_code
2313 ,p_event_class_rec.application_id
2314 ,p_event_class_rec.entity_code
2315 ,p_event_class_rec.event_type_code
2316 ,p_event_class_rec.tax_event_class_code
2317 ,p_event_class_rec.tax_event_type_code
2318 ,p_event_class_rec.doc_status_code
2319 );
2320
2321 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2322 x_return_status := l_return_status;
2323 RETURN;
2324 END IF;
2325
2326 /* ----------------------------------------------------------------------+
2327 | Populate Event Class Options |
2328 + ----------------------------------------------------------------------*/
2329 populate_event_class_options(l_return_status,
2330 l_effective_date,
2331 p_event_class_rec
2332 );
2333
2334 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2335 x_return_status := l_return_status;
2336 RETURN;
2337 END IF;
2338
2339 END IF; -- ZX_API_PUB.g_data_tranfer_mode <> 'TAB'
2340
2341 /* ----------------------------------------------------------------------+
2342 | Populate Application Product Options |
2343 +----------------------------------------------------------------------*/
2344 populate_appl_product_options(l_return_status,
2345 p_event_class_rec
2346 );
2347
2348 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2349 x_return_status := l_return_status;
2350 RETURN;
2351 END IF;
2352
2353 -- populate global event class record structure
2354 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
2355
2356 /* ----------------------------------------------------------------------+
2357 | The below logic needs not be executed for calculate tax called by |
2358 | products uptaking the determining factors UI since the values of |
2359 | rounding parties are already available in zx_lines_det_factors. |
2360 + ----------------------------------------------------------------------*/
2361
2362 /* ----------------------------------------------------------------------+
2363 | Get the locations for parties and their ptp ids |
2364 + ----------------------------------------------------------------------*/
2365 IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' THEN
2366 get_loc_id_and_ptp_ids( p_event_class_rec => p_event_class_rec,
2367 p_trx_line_index => NULL,
2368 x_return_status => l_return_status
2369 );
2370
2371 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2372 x_return_status := l_return_status;
2373 RETURN;
2374 END IF;
2375 END IF;
2376 /* ----------------------------------------------------------------------+
2377 | Check Required parameters - Header and Line level |
2378 + ----------------------------------------------------------------------*/
2379 IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN
2380 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_headers_tbl(l_return_status,
2381 p_event_class_rec
2382 );
2383
2384 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2385 x_return_status := l_return_status;
2386 RETURN;
2387 END IF;
2388
2389 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_line_tbl(l_return_status,
2390 p_event_class_rec
2391 );
2392 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2393 x_return_status := l_return_status;
2394 RETURN;
2395 END IF;
2396 ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' THEN
2397 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_lines(l_return_status,
2398 p_event_class_rec
2399 );
2400
2401 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2402 x_return_status := l_return_status;
2403 RETURN;
2404 END IF;
2405 END IF;
2406
2407 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2408 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2409 ' application_id: '||p_event_class_rec.application_id||
2410 ', entity_code: '||p_event_class_rec.entity_code||
2411 ', event_class_code: '||p_event_class_rec.event_class_code||
2412 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
2413 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
2414 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
2415 ', ledger_id: '||p_event_class_rec.ledger_id||
2416 ', reference_application_id: '||p_event_class_rec.reference_application_id||
2417 ', event_type_code: '||p_event_class_rec.event_type_code||
2418 ', trx_id: '||p_event_class_rec.trx_id||
2419 ', trx_date: '||p_event_class_rec.trx_date||
2420 ', rel_doc_date: '||p_event_class_rec.rel_doc_date||
2421 ', trx_currency_code: '||p_event_class_rec.trx_currency_code||
2422 ', currency_conversion_type: '||p_event_class_rec.currency_conversion_type||
2423 ', currency_conversion_rate: '||p_event_class_rec.currency_conversion_rate||
2424 ', currency_conversion_date: '||p_event_class_rec.currency_conversion_date||
2425 ', rounding_ship_to_party_id: '||p_event_class_rec.rounding_ship_to_party_id||
2426 ', rounding_ship_from_party_id: '||p_event_class_rec.rounding_ship_from_party_id||
2427 ', rounding_bill_to_party_id: '||p_event_class_rec.rounding_bill_to_party_id||
2428 ', rounding_bill_from_party_id: '||p_event_class_rec.rounding_bill_from_party_id||
2429 ', rndg_ship_to_party_site_id: '||p_event_class_rec.rndg_ship_to_party_site_id||
2430 ', rndg_ship_from_party_site_id: '||p_event_class_rec.rndg_ship_from_party_site_id||
2431 ', rndg_bill_to_party_site_id: '||p_event_class_rec.rndg_bill_to_party_site_id||
2432 ', rndg_bill_from_party_site_id: '||p_event_class_rec.rndg_bill_from_party_site_id||
2433 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
2434 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
2435 ', doc_status_code: '||p_event_class_rec.doc_status_code||
2436 ', det_factor_templ_code: '||p_event_class_rec.det_factor_templ_code||
2437 ', default_rounding_level_code: '||p_event_class_rec.default_rounding_level_code||
2438 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
2439 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
2440 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
2441 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
2442 ', rdng_ship_to_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_to_pty_tx_prof_id||
2443 ', rdng_ship_from_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_from_pty_tx_prof_id||
2444 ', rdng_bill_to_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_to_pty_tx_prof_id||
2445 ', rdng_bill_from_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_from_pty_tx_prof_id||
2446 ', rdng_ship_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_to_pty_tx_p_st_id||
2447 ', rdng_ship_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_from_pty_tx_p_st_id||
2448 ', rdng_bill_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_to_pty_tx_p_st_id||
2449 ', rdng_bill_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_from_pty_tx_p_st_id||
2450 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
2451 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
2452 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
2453 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
2454 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
2455 ', record_flag: '||p_event_class_rec.record_flag||
2456 ', quote_flag: '||p_event_class_rec.quote_flag||
2457 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
2458 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
2459 ', tax_tolerance: '||p_event_class_rec.tax_tolerance||
2460 ', tax_tol_amt_range: '||p_event_class_rec.tax_tol_amt_range ||
2461 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
2462 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
2463 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
2464 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
2465 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
2466 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
2467 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
2468 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
2469 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
2470 ', summarization_flag: '||p_event_class_rec.summarization_flag||
2471 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
2472 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
2473 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
2474 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
2475 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
2476 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
2477 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
2478 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
2479 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
2480 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
2481 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
2482 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
2483 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
2484 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
2485 ', tax_method_code: '||p_event_class_rec.tax_method_code||
2486 ', inclusive_tax_used_flag: '||p_event_class_rec.inclusive_tax_used_flag||
2487 ', tax_use_customer_exempt_flag: '||p_event_class_rec.tax_use_customer_exempt_flag||
2488 ', tax_use_product_exempt_flag: '||p_event_class_rec.tax_use_product_exempt_flag||
2489 ', tax_use_loc_exc_rate_flag: '||p_event_class_rec.tax_use_loc_exc_rate_flag||
2490 ', tax_allow_compound_flag: '||p_event_class_rec.tax_allow_compound_flag||
2491 ', use_tax_classification_flag: '||p_event_class_rec.use_tax_classification_flag||
2492 ', allow_tax_rounding_ovrd_flag: '||p_event_class_rec.allow_tax_rounding_ovrd_flag||
2493 ', home_country_default_flag: '||p_event_class_rec.home_country_default_flag ||
2494 ', header_level_currency_flag: '||p_event_class_rec.header_level_currency_flag||
2495 ', source_process_for_applicability_flag: '||p_event_class_rec.source_process_for_appl_flag||
2496 ', RETURN_STATUS = ' || x_return_status);
2497 END IF;
2498
2499 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2500 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
2501 END IF;
2502 END calculate_tax;
2503
2504 -----------------------------------------------------------------------
2505 -- PUBLIC PROCEDURE
2506 -- import_document_with_tax
2507 --
2508 -- DESCRIPTION
2509 -- Validates and initializes parameters for import_document_with_tax published service
2510 --
2511 -- CALLED BY
2512 -- ZX_API_PUB.import_document_with_tax
2513 -----------------------------------------------------------------------
2514 PROCEDURE import_document_with_tax
2515 ( x_return_status OUT NOCOPY VARCHAR2,
2516 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
2517 )IS
2518 l_api_name CONSTANT VARCHAR2(30) := 'IMPORT_DOCUMENT_WITH_TAX';
2519 l_return_status VARCHAR2(30);
2520 l_effective_date DATE;
2521 l_ship_from_location_id NUMBER;
2522 l_bill_from_location_id NUMBER;
2523 l_ship_to_location_id NUMBER;
2524 l_bill_to_location_id NUMBER;
2525
2526 BEGIN
2527 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2528 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2529 END IF;
2530
2531 x_return_status := FND_API.G_RET_STS_SUCCESS;
2532 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
2533
2534 /* ----------------------------------------------------------------------+
2535 | Initializing the tax regime dtl procedures |
2536 + ----------------------------------------------------------------------*/
2537 ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl;
2538
2539 ZX_GLOBAL_STRUCTURES_PKG.init_detail_tax_regime_tbl;
2540
2541 /* ----------------------------------------------------------------------+
2542 | Get Tax Event Class |
2543 + ----------------------------------------------------------------------*/
2544 get_tax_event_class (l_return_status
2545 ,p_event_class_rec
2546 );
2547
2548 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2549 x_return_status := l_return_status;
2550 RETURN;
2551 END IF;
2552
2553
2554 /* ----------------------------------------------------------------------+
2555 | Populate Application Product Options |
2556 + ----------------------------------------------------------------------*/
2557 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2558 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' Populate Application product options');
2559 END IF;
2560
2561 populate_appl_product_options(l_return_status,
2562 p_event_class_rec
2563 );
2564
2565 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2566 x_return_status := l_return_status;
2567 RETURN;
2568 END IF;
2569
2570 -- populate global event class record structure
2571 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
2572
2573 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2574 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2575 'application_id: '||p_event_class_rec.application_id||
2576 ', entity_code: '||p_event_class_rec.entity_code||
2577 ', event_class_code: '||p_event_class_rec.event_class_code||
2578 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
2579 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
2580 ', Det_Factor_Templ_Code: '||p_event_class_rec.det_factor_templ_code||
2581 ', Default_Rounding_Level_Code: '||p_event_class_rec.default_rounding_level_code||
2582 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
2583 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
2584 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
2585 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
2586 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
2587 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
2588 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
2589 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
2590 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
2591 ', record_flag: '||p_event_class_rec.record_flag||
2592 ', quote_flag: '||p_event_class_rec.quote_flag||
2593 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
2594 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
2595 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
2596 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
2597 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
2598 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
2599 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
2600 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
2601 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
2602 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
2603 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
2604 ', summarization_flag: '||p_event_class_rec.summarization_flag||
2605 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
2606 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
2607 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
2608 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
2609 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
2610 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
2611 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
2612 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
2613 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
2614 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
2615 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
2616 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
2617 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
2618 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
2619 ', tax_method_code: '||p_event_class_rec.tax_method_code||
2620 ', inclusive_tax_used_flag: '||p_event_class_rec.inclusive_tax_used_flag||
2621 ', tax_use_customer_exempt_flag: '||p_event_class_rec.tax_use_customer_exempt_flag||
2622 ', tax_use_product_exempt_flag: '||p_event_class_rec.tax_use_product_exempt_flag||
2623 ', tax_use_loc_exc_rate_flag: '||p_event_class_rec.tax_use_loc_exc_rate_flag||
2624 ', tax_allow_compound_flag: '||p_event_class_rec.tax_allow_compound_flag||
2625 ', use_tax_classification_flag: '||p_event_class_rec.use_tax_classification_flag||
2626 ', allow_tax_rounding_ovrd_flag: '||p_event_class_rec.allow_tax_rounding_ovrd_flag||
2627 ', home_country_default_flag: '||p_event_class_rec.home_country_default_flag ||
2628 ', header_level_currency_flag: '||p_event_class_rec.header_level_currency_flag||
2629 ', RETURN_STATUS = ' || x_return_status);
2630 END IF;
2631 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2632 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
2633 END IF;
2634 END import_document_with_tax;
2635
2636 -----------------------------------------------------------------------
2637 -- PUBLIC PROCEDURE
2638 -- Override_Tax
2639 --
2640 -- DESCRIPTION
2641 -- Validates and initializes parameters for Override_Tax published service
2642 --
2643 -- CALLED BY
2644 -- ZX_API_PUB.Override_Tax
2645 -----------------------------------------------------------------------
2646 PROCEDURE Override_Tax
2647 ( x_return_status OUT NOCOPY VARCHAR2,
2648 p_override IN VARCHAR2,
2649 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
2650 p_trx_rec IN ZX_API_PUB.transaction_rec_type
2651 ) IS
2652 l_api_name CONSTANT VARCHAR2(30):= 'OVERRIDE_TAX';
2653 l_return_status VARCHAR2(30);
2654 l_effective_date DATE;
2655 l_ship_from_location_id NUMBER;
2656 l_bill_from_location_id NUMBER;
2657 l_ship_to_location_id NUMBER;
2658 l_bill_to_location_id NUMBER;
2659
2660 BEGIN
2661 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2662 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2663 END IF;
2664
2665 x_return_status := FND_API.G_RET_STS_SUCCESS;
2666 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
2667
2668 /* ----------------------------------------------------------------------+
2669 | Get Tax Event Class |
2670 + ----------------------------------------------------------------------*/
2671 get_tax_event_class (l_return_status
2672 ,p_event_class_rec
2673 );
2674
2675 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2676 x_return_status := l_return_status;
2677 RETURN;
2678 END IF;
2679
2680
2681 /* ----------------------------------------------------------------------+
2682 | Bug 3129063 - Setting the Security Context for Subscription |
2683 + ----------------------------------------------------------------------*/
2684
2685 get_tax_subscriber(p_event_class_rec,
2686 l_return_status
2687 );
2688
2689 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2690 x_return_status := l_return_status;
2691 RETURN;
2692 END IF;
2693
2694
2695
2696 /* ----------------------------------------------------------------------+
2697 | Get Tax Event Type |
2698 + ----------------------------------------------------------------------*/
2699 get_tax_event_type (l_return_status
2700 ,p_event_class_rec.event_class_code
2701 ,p_event_class_rec.application_id
2702 ,p_event_class_rec.entity_code
2703 ,p_event_class_rec.event_type_code
2704 ,p_event_class_rec.tax_event_class_code
2705 ,p_event_class_rec.tax_event_type_code
2706 ,p_event_class_rec.doc_status_code
2707 );
2708
2709
2710 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2711 x_return_status := l_return_status;
2712 RETURN;
2713 END IF;
2714
2715
2716 /* ----------------------------------------------------------------------+
2717 | Check Trx Rec |
2718 + ----------------------------------------------------------------------*/
2719 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
2720 p_trx_rec
2721 );
2722
2723 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2724 x_return_status := l_return_status;
2725 RETURN;
2726 END IF;
2727
2728
2729 /* ----------------------------------------------------------------------+
2730 | Determine effective date |
2731 + ----------------------------------------------------------------------*/
2732 determine_effective_date(p_event_class_rec,
2733 l_effective_date,
2734 l_return_status
2735 );
2736
2737 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2738 x_return_status := l_return_status;
2739 RETURN;
2740 END IF;
2741
2742
2743 /* ----------------------------------------------------------------------+
2744 | Populate Event Class Options |
2745 + ----------------------------------------------------------------------*/
2746 populate_event_class_options(l_return_status,
2747 l_effective_date,
2748 p_event_class_rec
2749 );
2750
2751 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2752 x_return_status := l_return_status;
2753 RETURN;
2754 END IF;
2755
2756 /* Bug 5382069 */
2757 -- populate global event class record structure
2758 p_event_class_rec.quote_flag := 'N';
2759
2760 /* ----------------------------------------------------------------------+
2761 | Override Flag |
2762 + ----------------------------------------------------------------------*/
2763 IF p_override is NULL THEN
2764 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2765 IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
2766 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,'Override Level is required');
2767 END IF;
2768 RETURN;
2769 ELSE
2770 p_event_class_rec.override_level := p_override;
2771 END IF;
2772
2773 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
2774
2775 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2776 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2777 'application_id: '||p_event_class_rec.application_id||
2778 ', entity_code: '||p_event_class_rec.entity_code||
2779 ', event_class_code: '||p_event_class_rec.event_class_code||
2780 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
2781 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
2782 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
2783 ', reference_application_id: '||p_event_class_rec.reference_application_id||
2784 ', event_type_code: '||p_event_class_rec.event_type_code||
2785 ', trx_id: '||p_event_class_rec.trx_id||
2786 ', trx_date: '||p_event_class_rec.trx_date||
2787 ', rel_doc_date: '||p_event_class_rec.rel_doc_date||
2788 ', trx_currency_code: '||p_event_class_rec.trx_currency_code||
2789 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
2790 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
2791 ', doc_status_code: '||p_event_class_rec.doc_status_code||
2792 ', Det_Factor_Templ_Code: '||p_event_class_rec.det_factor_templ_code||
2793 ', Default_Rounding_Level_Code: '||p_event_class_rec.default_rounding_level_code||
2794 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
2795 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
2796 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
2797 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
2798 ', rdng_ship_to_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_to_pty_tx_prof_id||
2799 ', rdng_ship_from_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_from_pty_tx_prof_id||
2800 ', rdng_bill_to_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_to_pty_tx_prof_id||
2801 ', rdng_bill_from_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_from_pty_tx_prof_id||
2802 ', rdng_ship_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_to_pty_tx_p_st_id||
2803 ', rdng_ship_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_from_pty_tx_p_st_id||
2804 ', rdng_bill_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_to_pty_tx_p_st_id||
2805 ', rdng_bill_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_from_pty_tx_p_st_id||
2806 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
2807 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
2808 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
2809 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
2810 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
2811 ', record_flag: '||p_event_class_rec.record_flag||
2812 ', quote_flag: '||p_event_class_rec.quote_flag||
2813 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
2814 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
2815 ', tax_tolerance: '||p_event_class_rec.tax_tolerance||
2816 ', tax_tol_amt_range: '||p_event_class_rec.tax_tol_amt_range ||
2817 ', reference_application_id: '||p_event_class_rec.reference_application_id||
2818 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
2819 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
2820 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
2821 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
2822 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
2823 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
2824 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
2825 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
2826 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
2827 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
2828 ', summarization_flag: '||p_event_class_rec.summarization_flag||
2829 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
2830 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
2831 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
2832 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
2833 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
2834 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
2835 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
2836 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
2837 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
2838 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
2839 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
2840 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
2841 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
2842 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
2843 ', RETURN_STATUS = ' || x_return_status);
2844 END IF;
2845 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2846 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
2847 END IF;
2848 END override_tax;
2849
2850 -----------------------------------------------------------------------
2851 -- PUBLIC PROCEDURE
2852 -- global_document_update
2853 --
2854 -- DESCRIPTION
2855 -- Validates and initializes parameters for global_document_update published service
2856 --
2857 -- CALLED BY
2858 -- ZX_API_PUB.global_document_update
2859 -----------------------------------------------------------------------
2860 PROCEDURE Global_Document_Update
2861 ( x_return_status OUT NOCOPY VARCHAR2,
2862 p_event_class_rec OUT NOCOPY ZX_API_PUB.event_class_rec_type,
2863 p_trx_rec IN ZX_API_PUB.transaction_rec_type
2864 )IS
2865 l_api_name CONSTANT VARCHAR2(30):= 'GLOBAL_DOCUMENT_UPDATE';
2866 l_return_status VARCHAR2(30);
2867 l_ref_appln_id NUMBER;
2868
2869 BEGIN
2870 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2871 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2872 END IF;
2873
2874 x_return_status := FND_API.G_RET_STS_SUCCESS;
2875 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
2876
2877 /*------------------------------------------------------+
2878 | Copy to Event Class Record |
2879 +------------------------------------------------------*/
2880 p_event_class_rec.INTERNAL_ORGANIZATION_ID := p_trx_rec.INTERNAL_ORGANIZATION_ID;
2881 p_event_class_rec.APPLICATION_ID := p_trx_rec.APPLICATION_ID;
2882 p_event_class_rec.ENTITY_CODE := p_trx_rec.ENTITY_CODE;
2883 p_event_class_rec.EVENT_CLASS_CODE := p_trx_rec.EVENT_CLASS_CODE;
2884 p_event_class_rec.EVENT_TYPE_CODE := p_trx_rec.EVENT_TYPE_CODE;
2885 p_event_class_rec.TRX_ID := p_trx_rec.TRX_ID;
2886
2887 /* ----------------------------------------------------------------------+
2888 | Bug 3129063 - Setting the Security Context for Subscription |
2889 + ----------------------------------------------------------------------*/
2890 --IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2891 -- FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' Call GET_TAX_SUBSCRIBER');
2892 -- END IF;
2893
2894 --get_tax_subscriber(p_event_class_rec,
2895 -- l_return_status
2896 -- );
2897
2898 --IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2899 -- x_return_status := l_return_status;
2900 -- RETURN;
2901 --END IF;
2902
2903 /* ------------------------------------------------+
2904 | Get Tax Event Class |
2905 + -----------------------------------------------*/
2906 get_tax_event_class (l_return_status,
2907 p_event_class_rec.application_id,
2908 p_event_class_rec.entity_code,
2909 p_event_class_rec.event_class_code,
2910 p_event_class_rec.tax_event_class_code,
2911 l_ref_appln_id,
2912 p_event_class_rec.record_flag, -- Bug 5200373
2913 p_event_class_rec.record_for_partners_flag, -- Bug 5200373
2914 p_event_class_rec.prod_family_grp_code, -- Bug 5200373
2915 p_event_class_rec.event_class_mapping_id, -- Bug 5200373
2916 p_event_class_rec.summarization_flag
2917 );
2918
2919 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2920 x_return_status := l_return_status;
2921 RETURN;
2922 END IF;
2923
2924 /* ----------------------------------------------------------------------+
2925 | Get Tax Event Type |
2926 + ----------------------------------------------------------------------*/
2927 get_tax_event_type (l_return_status,
2928 p_event_class_rec.event_class_code,
2929 p_event_class_rec.application_id,
2930 p_event_class_rec.entity_code,
2931 p_event_class_rec.event_type_code,
2932 p_event_class_rec.tax_event_class_code,
2933 p_event_class_rec.tax_event_type_code,
2934 p_event_class_rec.doc_status_code
2935 );
2936
2937 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2938 x_return_status := l_return_status;
2939 RETURN;
2940 END IF;
2941
2942 /* ----------------------------------------------------------------------+
2943 | Check Trx Rec |
2944 + ----------------------------------------------------------------------*/
2945 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
2946 p_trx_rec
2947 );
2948
2949 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2950 x_return_status := l_return_status;
2951 RETURN;
2952 END IF;
2953
2954 -- populate global event class record structure
2955 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
2956
2957 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2958 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2959 'application_id: '||p_event_class_rec.application_id||
2960 ', entity_code: '||p_event_class_rec.entity_code||
2961 ', event_class_code: '||p_event_class_rec.event_class_code||
2962 ', event_type_code: '||p_event_class_rec.event_type_code||
2963 ', trx_id: '||p_event_class_rec.trx_id||
2964 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
2965 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
2966 ', doc_event_status: '||p_event_class_rec.doc_status_code||
2967 ', RETURN_STATUS = ' || x_return_status);
2968 END IF;
2969 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2970 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
2971 END IF;
2972 END global_document_update;
2973
2974
2975 /* ======================================================================*
2976 | PROCEDURE Mark_tax_lines_deleted:Validates the input parameters of |
2977 | Mark_tax_lines_deleted published |
2978 | service |
2979 * ======================================================================*/
2980 PROCEDURE mark_tax_lines_deleted
2981 ( x_return_status OUT NOCOPY VARCHAR2,
2982 p_transaction_line_rec IN ZX_API_PUB.transaction_line_rec_type
2983 ) IS
2984 l_api_name CONSTANT VARCHAR2(30):= 'MARK_TAX_LINES_DELETED';
2985 l_return_status VARCHAR2(30);
2986
2987 BEGIN
2988 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2989 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2990 END IF;
2991
2992 x_return_status := FND_API.G_RET_STS_SUCCESS;
2993
2994 /* ----------------------------------------------------------------------+
2995 | Bug 3129063 - Setting the Security Context for Subscription |
2996 + ----------------------------------------------------------------------*/
2997 set_security_context(p_transaction_line_rec.application_id,
2998 p_transaction_line_rec.entity_code,
2999 p_transaction_line_rec.event_class_code,
3000 p_transaction_line_rec.trx_id,
3001 l_return_status
3002 );
3003
3004 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3005 x_return_status := l_return_status;
3006 RETURN;
3007 END IF;
3008
3009 /* ----------------------------------------------------------------------+
3010 | Check Required Parameters |
3011 + ----------------------------------------------------------------------*/
3012 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_line_rec(l_return_status
3013 ,p_transaction_line_rec
3014 );
3015
3016 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3017 x_return_status := l_return_status;
3018 RETURN;
3019 END IF;
3020
3021 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3022 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3023 'application_id: '||p_transaction_line_rec.application_id||
3024 ', entity_code: '||p_transaction_line_rec.entity_code||
3025 ', event_class_code: '||p_transaction_line_rec.event_class_code||
3026 ', event_type_code: '||p_transaction_line_rec.event_type_code||
3027 ', trx_id: '||p_transaction_line_rec.trx_id||
3028 ', tax_event_class_code: '||p_transaction_line_rec.tax_event_class_code||
3029 ', tax_event_type_code: '||p_transaction_line_rec.tax_event_type_code||
3030 ', doc_event_status: '||p_transaction_line_rec.doc_event_status||
3031 ', trx_level_type: '||p_transaction_line_rec.trx_level_type||
3032 ', doc_trx_line_id: '||p_transaction_line_rec.trx_line_id||
3033 ', RETURN_STATUS = ' || x_return_status);
3034 END IF;
3035 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3036 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3037 END IF;
3038 END mark_tax_lines_deleted;
3039
3040 -----------------------------------------------------------------------
3041 -- PUBLIC PROCEDURE
3042 -- reverse_document
3043 --
3044 -- DESCRIPTION
3045 -- Validates and initializes parameters for reverse_document published service
3046 --
3047 -- CALLED BY
3048 -- ZX_API_PUB.reverse_document
3049 -----------------------------------------------------------------------
3050 PROCEDURE reverse_document
3051 ( x_return_status OUT NOCOPY VARCHAR2 ,
3052 p_event_class_rec OUT NOCOPY ZX_API_PUB.event_class_rec_type
3053 ) IS
3054 l_api_name CONSTANT VARCHAR2(30):= 'REVERSE_DOCUMENT';
3055 l_return_status VARCHAR2(30);
3056 l_appln_id NUMBER;
3057 l_entity_code VARCHAR2(30);
3058 l_evnt_cls_code VARCHAR2(30);
3059 l_tx_evnt_cls_code VARCHAR2(30);
3060 l_ref_appln_id NUMBER;
3061
3062 BEGIN
3063 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3064 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3065 END IF;
3066
3067 x_return_status := FND_API.G_RET_STS_SUCCESS;
3068 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3069
3070
3071 /* ----------------------------------------------------------------------+
3072 | Get Tax Event Class |
3073 + ----------------------------------------------------------------------*/
3074 SELECT reversing_appln_id,
3075 reversing_entity_code,
3076 reversing_evnt_cls_code,
3077 reversing_trx_id
3078 INTO p_event_class_rec.application_id,
3079 p_event_class_rec.entity_code,
3080 p_event_class_rec.event_class_code,
3081 p_event_class_rec.trx_id
3082 FROM ZX_REV_TRX_HEADERS_GT
3083 WHERE rownum = 1;
3084
3085 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3086 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' Get tax event class');
3087 END IF;
3088
3089 /* -----------------------------------------------------------------------+
3090 | Bug 3129063 Setting the Security Context for Subscription |
3091 + ----------------------------------------------------------------------*/
3092
3093 set_security_context(l_return_status,p_event_class_rec);
3094
3095 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3096 x_return_status := l_return_status;
3097 RETURN;
3098 END IF;
3099
3100 get_tax_event_class (l_return_status,
3101 p_event_class_rec.application_id,
3102 p_event_class_rec.entity_code,
3103 p_event_class_rec.event_class_code,
3104 p_event_class_rec.tax_event_class_code,
3105 l_ref_appln_id,
3106 p_event_class_rec.record_flag, -- Bug 5200373
3107 p_event_class_rec.record_for_partners_flag, -- Bug 5200373
3108 p_event_class_rec.prod_family_grp_code, -- Bug 5200373
3109 p_event_class_rec.event_class_mapping_id, -- Bug 5200373
3110 p_event_class_rec.summarization_flag
3111 );
3112
3113 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3114 x_return_status := l_return_status;
3115 RETURN;
3116 END IF;
3117
3118 -- populate global event class record structure
3119 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
3120
3121 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3122 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3123 'application_id: '||l_appln_id||
3124 ', entity_code: '||l_entity_code||
3125 ', event_class_code: '||l_evnt_cls_code||
3126 ', tax_event_class_code: '||l_tx_evnt_cls_code||
3127 ', reference_application_id: '||l_ref_appln_id||
3128 ', RETURN_STATUS = ' || x_return_status);
3129 END IF;
3130 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3131 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3132 END IF;
3133
3134 END reverse_document;
3135
3136 -----------------------------------------------------------------------
3137 -- PUBLIC PROCEDURE
3138 -- reverse_distributions
3139 --
3140 -- DESCRIPTION
3141 -- Validates and initializes parameters for reverse_distributions published service
3142 --
3143 -- CALLED BY
3144 -- ZX_API_PUB.reverse_distributions
3145 -----------------------------------------------------------------------
3146 PROCEDURE reverse_distributions
3147 ( x_return_status OUT NOCOPY VARCHAR2
3148 )
3149 IS
3150 l_api_name CONSTANT VARCHAR2(30):= 'REVERSE_DISTRIBUTIONS';
3151 l_appln_id NUMBER;
3152 l_return_status VARCHAR2(30);
3153 l_entity_code VARCHAR2(30);
3154 l_evnt_cls_code VARCHAR2(30);
3155 l_tx_evnt_cls_code VARCHAR2(30);
3156 l_ref_appln_id NUMBER;
3157 l_trx_id NUMBER;
3158 l_record_flag zx_evnt_cls_mappings.record_flag%type;
3159 l_record_for_partners_flag zx_evnt_cls_mappings.record_for_partners_flag%type;
3160 l_prod_family_grp_code zx_evnt_cls_mappings.prod_family_grp_code%type;
3161 l_event_class_mapping_id zx_evnt_cls_mappings.event_class_mapping_id%type;
3162 l_summarization_flag zx_evnt_cls_mappings.summarization_flag%TYPE;
3163
3164 BEGIN
3165
3166 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3167 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3168 END IF;
3169
3170 x_return_status := FND_API.G_RET_STS_SUCCESS;
3171 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3172
3173 SELECT reversing_appln_id,
3174 reversing_entity_code,
3175 reversing_evnt_cls_code,
3176 reversing_trx_id
3177 INTO l_appln_id,
3178 l_entity_code,
3179 l_evnt_cls_code,
3180 l_trx_id
3181 FROM ZX_REVERSE_DIST_GT
3182 WHERE rownum = 1;
3183
3184 /* ----------------------------------------------------------------------+
3185 | Bug 3129063 - Setting the Security Context for Subscription |
3186 + ----------------------------------------------------------------------*/
3187 set_security_context(l_appln_id,
3188 l_entity_code,
3189 l_evnt_cls_code,
3190 l_trx_id,
3191 l_return_status
3192 );
3193
3194 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3195 x_return_status := l_return_status;
3196 RETURN;
3197 END IF;
3198
3199 /* ----------------------------------------------------------------------+
3200 | Get Tax Event Class |
3201 + ----------------------------------------------------------------------*/
3202 get_tax_event_class (l_return_status
3203 ,l_appln_id
3204 ,l_entity_code
3205 ,l_evnt_cls_code
3206 ,l_tx_evnt_cls_code
3207 ,l_ref_appln_id
3208 ,l_record_flag -- Bug 5200373
3209 ,l_record_for_partners_flag -- Bug 5200373
3210 ,l_prod_family_grp_code -- Bug 5200373
3211 ,l_event_class_mapping_id -- Bug 5200373
3212 ,l_summarization_flag
3213 );
3214
3215 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3216 x_return_status := l_return_status;
3217 RETURN;
3218 END IF;
3219
3220
3221 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3222 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3223 'application_id: '||l_appln_id||
3224 ', entity_code: '||l_entity_code||
3225 ', event_class_code: '||l_evnt_cls_code||
3226 ', tax_event_class_code: '||l_tx_evnt_cls_code||
3227 ', reference_application_id: '||l_ref_appln_id||
3228 ', RETURN_STATUS = ' || x_return_status);
3229 END IF;
3230
3231 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3232 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3233 END IF;
3234 END reverse_distributions;
3235
3236 -----------------------------------------------------------------------
3237 -- PUBLIC PROCEDURE
3238 -- determine_recovery
3239 --
3240 -- DESCRIPTION
3241 -- Validates and initializes parameters for determine_recovery published service
3242 --
3243 -- CALLED BY
3244 -- ZX_API_PUB.determine_recovery
3245 -----------------------------------------------------------------------
3246 PROCEDURE determine_recovery
3247 ( x_return_status OUT NOCOPY VARCHAR2,
3248 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
3249 )IS
3250 l_api_name CONSTANT VARCHAR2(30):= 'DETERMINE_RECOVERY';
3251 l_return_status VARCHAR2(30);
3252
3253 BEGIN
3254 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3255 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3256 END IF;
3257
3258 x_return_status := FND_API.G_RET_STS_SUCCESS;
3259 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3260
3261 /* ----------------------------------------------------------------------+
3262 | Get Tax Event Class |
3263 + ----------------------------------------------------------------------*/
3264 get_tax_event_class (l_return_status
3265 ,p_event_class_rec
3266 );
3267
3268 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3269 x_return_status := l_return_status;
3270 RETURN;
3271 END IF;
3272
3273
3274 -- populate global event class record structure
3275 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
3276
3277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3278 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3279 'application_id: '||p_event_class_rec.application_id||
3280 ', entity_code: '||p_event_class_rec.entity_code||
3281 ', event_class_code: '||p_event_class_rec.event_class_code||
3282 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
3283 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
3284 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
3285 ', event_type_code: '||p_event_class_rec.event_type_code||
3286 ', trx_id: '||p_event_class_rec.trx_id||
3287 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
3288 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
3289 ', doc_status_code: '||p_event_class_rec.doc_status_code||
3290 ', RETURN_STATUS = ' || x_return_status);
3291 END IF;
3292 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3293 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3294 END IF;
3295 END determine_recovery;
3296
3297 -----------------------------------------------------------------------
3298 -- PUBLIC PROCEDURE
3299 -- override_recovery
3300 --
3301 -- DESCRIPTION
3302 -- Validates and initializes parameters for override_recovery published service
3303 --
3304 -- CALLED BY
3305 -- ZX_API_PUB.override_recovery
3306 -----------------------------------------------------------------------
3307 PROCEDURE override_recovery
3308 ( x_return_status OUT NOCOPY VARCHAR2,
3309 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
3310 p_trx_rec IN OUT NOCOPY ZX_API_PUB.transaction_rec_type
3311 )IS
3312 l_api_name CONSTANT VARCHAR2(30) := 'OVERRIDE_RECOVERY';
3313 l_return_status VARCHAR2(30);
3314
3315 BEGIN
3316 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3317 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3318 END IF;
3319
3320 x_return_status := FND_API.G_RET_STS_SUCCESS;
3321 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3322
3323 /*------------------------------------------------------+
3324 | Copy to Event Class Record |
3325 +------------------------------------------------------*/
3326 p_event_class_rec.INTERNAL_ORGANIZATION_ID := p_trx_rec.INTERNAL_ORGANIZATION_ID;
3327 p_event_class_rec.APPLICATION_ID := p_trx_rec.APPLICATION_ID;
3328 p_event_class_rec.ENTITY_CODE := p_trx_rec.ENTITY_CODE;
3329 p_event_class_rec.EVENT_CLASS_CODE := p_trx_rec.EVENT_CLASS_CODE;
3330 p_event_class_rec.EVENT_TYPE_CODE := p_trx_rec.EVENT_TYPE_CODE;
3331 p_event_class_rec.TRX_ID := p_trx_rec.TRX_ID;
3332
3333 /* ----------------------------------------------------------------------+
3334 | Bug 3129063 - Setting the Security Context for Subscription |
3335 + ----------------------------------------------------------------------*/
3336 get_tax_subscriber(p_event_class_rec,
3337 l_return_status
3338 );
3339
3340 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3341 x_return_status := l_return_status;
3342 RETURN;
3343 END IF;
3344
3345 /* ----------------------------------------------------------------------+
3346 | Get Tax Event Class |
3347 + ----------------------------------------------------------------------*/
3348 get_tax_event_class (l_return_status
3349 ,p_trx_rec.application_id
3350 ,p_trx_rec.entity_code
3351 ,p_trx_rec.event_class_code
3352 ,p_trx_rec.tax_event_class_code
3353 ,p_event_class_rec.reference_application_id
3354 ,p_event_class_rec.record_flag -- Bug 5200373
3355 ,p_event_class_rec.record_for_partners_flag -- Bug 5200373
3356 ,p_event_class_rec.prod_family_grp_code -- Bug 5200373
3357 ,p_event_class_rec.event_class_mapping_id -- Bug 5200373
3358 ,p_event_class_rec.summarization_flag
3359 );
3360
3361 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3362 x_return_status := l_return_status;
3363 RETURN;
3364 END IF;
3365
3366 /* ----------------------------------------------------------------------+
3367 | Get Tax Event type |
3368 + ----------------------------------------------------------------------*/
3369 get_tax_event_type (l_return_status
3370 ,p_trx_rec.event_class_code
3371 ,p_trx_rec.application_id
3372 ,p_trx_rec.entity_code
3373 ,p_trx_rec.event_type_code
3374 ,p_trx_rec.tax_event_class_code
3375 ,p_trx_rec.tax_event_type_code
3376 ,p_trx_rec.doc_event_status
3377 );
3378
3379 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3380 x_return_status := l_return_status;
3381 RETURN;
3382 END IF;
3383
3384 /* ----------------------------------------------------------------------+
3385 | Check Required Parameters |
3386 + ----------------------------------------------------------------------*/
3387 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
3388 p_trx_rec
3389 );
3390
3391 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3392 x_return_status := l_return_status;
3393 RETURN;
3394 END IF;
3395
3396 /* ----------------------------------------------------------------------+
3397 | Populating Event Class Record |
3398 + ----------------------------------------------------------------------*/
3399 p_event_class_rec.first_pty_org_id := p_trx_rec.FIRST_PTY_ORG_ID;
3400 p_event_class_rec.application_id := p_trx_rec.APPLICATION_ID;
3401 p_event_class_rec.entity_code := p_trx_rec.ENTITY_CODE;
3402 p_event_class_rec.event_class_code := p_trx_rec.EVENT_CLASS_CODE;
3403 p_event_class_rec.tax_event_class_code := p_trx_rec.TAX_EVENT_CLASS_CODE;
3404 p_event_class_rec.trx_id := p_trx_rec.TRX_ID;
3405 p_event_class_rec.event_type_code := p_trx_rec.EVENT_TYPE_CODE;
3406 p_event_class_rec.tax_event_type_code := p_trx_rec.TAX_EVENT_TYPE_CODE;
3407
3408 p_event_class_rec.quote_flag := 'N';
3409
3410 -- populate global event class record structure
3411 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
3412
3413 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3414 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3415 'application_id: '||p_event_class_rec.application_id||
3416 ', entity_code: '||p_event_class_rec.entity_code||
3417 ', event_class_code: '||p_event_class_rec.event_class_code||
3418 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
3419 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
3420 ', event_type_code: '||p_event_class_rec.event_type_code||
3421 ', trx_id: '||p_event_class_rec.trx_id||
3422 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
3423 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
3424 ', doc_status_code: '||p_event_class_rec.doc_status_code||
3425 ', quote_flag: '||p_event_class_rec.quote_flag||
3426 ', RETURN_STATUS = ' || x_return_status);
3427 END IF;
3428 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3429 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3430 END IF;
3431 END override_recovery;
3432
3433 -----------------------------------------------------------------------
3434 -- PUBLIC PROCEDURE
3435 -- freeze_distribution_lines
3436 --
3437 -- DESCRIPTION
3438 -- Validates and initializes parameters for freeze_distribution_lines published service
3439 --
3440 -- CALLED BY
3441 -- ZX_API_PUB.freeze_distribution_lines
3442 -----------------------------------------------------------------------
3443 PROCEDURE freeze_distribution_lines
3444 ( x_return_status OUT NOCOPY VARCHAR2,
3445 p_event_class_rec OUT NOCOPY ZX_API_PUB.event_class_rec_type,
3446 p_trx_rec IN OUT NOCOPY ZX_API_PUB.transaction_rec_type
3447 ) IS
3448 l_api_name CONSTANT VARCHAR2(30):= 'FREEZE_DISTRIBUTION_LINES';
3449 l_return_status VARCHAR2(30);
3450 l_ref_appln_id NUMBER;
3451
3452 BEGIN
3453 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3454 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3455 END IF;
3456
3457 x_return_status := FND_API.G_RET_STS_SUCCESS;
3458 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3459
3460 /*------------------------------------------------------+
3461 | Copy to Event Class Record |
3462 +------------------------------------------------------*/
3463 p_event_class_rec.INTERNAL_ORGANIZATION_ID := p_trx_rec.INTERNAL_ORGANIZATION_ID;
3464 p_event_class_rec.APPLICATION_ID := p_trx_rec.APPLICATION_ID;
3465 p_event_class_rec.ENTITY_CODE := p_trx_rec.ENTITY_CODE;
3466 p_event_class_rec.EVENT_CLASS_CODE := p_trx_rec.EVENT_CLASS_CODE;
3467 p_event_class_rec.EVENT_TYPE_CODE := p_trx_rec.EVENT_TYPE_CODE;
3468 p_event_class_rec.TRX_ID := p_trx_rec.TRX_ID;
3469
3470 /* ----------------------------------------------------------------------+
3471 | Bug 3129063 - Setting the Security Context for Subscription |
3472 + ----------------------------------------------------------------------*/
3473 get_tax_subscriber(p_event_class_rec,
3474 l_return_status
3475 );
3476
3477 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3478 x_return_status := l_return_status;
3479 RETURN;
3480 END IF;
3481
3482 /* ----------------------------------------------------------------------+
3483 | Get Tax Event Class |
3484 + ----------------------------------------------------------------------*/
3485 get_tax_event_class (l_return_status
3486 ,p_event_class_rec
3487 );
3488
3489 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3490 x_return_status := l_return_status;
3491 RETURN;
3492 END IF;
3493
3494 p_trx_rec.tax_event_class_code := p_event_class_rec.tax_event_class_code;
3495
3496 /* ----------------------------------------------------------------------+
3497 | Get Tax Event Type |
3498 + ----------------------------------------------------------------------*/
3499 get_tax_event_type (l_return_status
3500 ,p_trx_rec.event_class_code
3501 ,p_trx_rec.application_id
3502 ,p_trx_rec.entity_code
3503 ,p_trx_rec.event_type_code
3504 ,p_trx_rec.tax_event_class_code
3505 ,p_trx_rec.tax_event_type_code
3506 ,p_trx_rec.doc_event_status
3507 );
3508
3509 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3510 x_return_status := l_return_status;
3511 RETURN;
3512 END IF;
3513
3514 /* ----------------------------------------------------------------------+
3515 | Check Required Parameters |
3516 + ----------------------------------------------------------------------*/
3517 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
3518 p_trx_rec
3519 );
3520
3521 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3522 x_return_status := l_return_status;
3523 RETURN;
3524 END IF;
3525
3526 -- populate global event class record structure
3527 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
3528
3529 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3530 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3531 'application_id: '||p_trx_rec.application_id||
3532 ', entity_code: '||p_trx_rec.entity_code||
3533 ', event_class_code: '||p_trx_rec.event_class_code||
3534 ', event_type_code: '||p_trx_rec.event_type_code||
3535 ', trx_id: '||p_trx_rec.trx_id||
3536 ', tax_event_class_code: '||p_trx_rec.tax_event_class_code||
3537 ', tax_event_type_code: '||p_trx_rec.tax_event_type_code||
3538 ', doc_event_status: '||p_trx_rec.doc_event_status||
3539 ', RETURN_STATUS = ' || x_return_status);
3540 END IF;
3541 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3542 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3543 END IF;
3544 END freeze_distribution_lines;
3545
3546 -----------------------------------------------------------------------
3547 -- PUBLIC PROCEDURE
3548 -- validate_document_for_tax
3549 --
3550 -- DESCRIPTION
3551 -- Validates and initializes parameters for validate_document_for_tax published service
3552 --
3553 -- CALLED BY
3554 -- ZX_API_PUB.validate_document_for_tax
3555 -----------------------------------------------------------------------
3556 PROCEDURE validate_document_for_tax
3557 ( x_return_status OUT NOCOPY VARCHAR2,
3558 p_event_class_rec OUT NOCOPY ZX_API_PUB.event_class_rec_type,
3559 p_trx_rec IN OUT NOCOPY ZX_API_PUB.transaction_rec_type
3560 )IS
3561 l_api_name CONSTANT VARCHAR2(30):= 'VALIDATE_DOCUMENT_FOR_TAX';
3562 l_return_status VARCHAR2(30);
3563 l_ref_appln_id NUMBER;
3564 l_effective_date DATE;
3565
3566 BEGIN
3567 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3568 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3569 END IF;
3570
3571 x_return_status := FND_API.G_RET_STS_SUCCESS;
3572 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3573
3574 /*------------------------------------------------------+
3575 | Copy to Event Class Record |
3576 +------------------------------------------------------*/
3577 p_event_class_rec.INTERNAL_ORGANIZATION_ID := p_trx_rec.INTERNAL_ORGANIZATION_ID;
3578 p_event_class_rec.APPLICATION_ID := p_trx_rec.APPLICATION_ID;
3579 p_event_class_rec.ENTITY_CODE := p_trx_rec.ENTITY_CODE;
3580 p_event_class_rec.EVENT_CLASS_CODE := p_trx_rec.EVENT_CLASS_CODE;
3581 p_event_class_rec.EVENT_TYPE_CODE := p_trx_rec.EVENT_TYPE_CODE;
3582 p_event_class_rec.TRX_ID := p_trx_rec.TRX_ID;
3583
3584 /*-------------------------------------------------------------+
3585 | Initialize Event Class Record With Related Doc Date, Trx Date|
3586 | and Provisional Tax Determination Date --Bug 5617541 |
3587 +--------------------------------------------------------------*/
3588 BEGIN
3589 SELECT RELATED_DOC_DATE ,
3590 TRX_DATE ,
3591 PROVNL_TAX_DETERMINATION_DATE
3592 INTO p_event_class_rec.REL_DOC_DATE,
3593 p_event_class_rec.TRX_DATE ,
3594 p_event_class_rec.PROVNL_TAX_DETERMINATION_DATE
3595 FROM ZX_LINES_DET_FACTORS
3596 WHERE APPLICATION_ID = p_trx_rec.APPLICATION_ID
3597 AND EVENT_CLASS_CODE = p_trx_rec.EVENT_CLASS_CODE
3598 AND ENTITY_CODE = p_trx_rec.ENTITY_CODE
3599 AND TRX_ID = p_trx_rec.TRX_ID
3600 AND ROWNUM = 1;
3601 EXCEPTION WHEN OTHERS THEN
3602 NULL;
3603 END;
3604
3605 /* ----------------------------------------------------------------------+
3606 | Bug 3129063 - Setting the Security Context for Subscription |
3607 + ----------------------------------------------------------------------*/
3608 get_tax_subscriber(p_event_class_rec,
3609 l_return_status
3610 );
3611
3612 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3613 x_return_status := l_return_status;
3614 RETURN;
3615 END IF;
3616
3617 /* ----------------------------------------------------------------------+
3618 | Get Tax Event Class |
3619 + ----------------------------------------------------------------------*/
3620 get_tax_event_class (l_return_status
3621 ,p_trx_rec.application_id
3622 ,p_trx_rec.entity_code
3623 ,p_trx_rec.event_class_code
3624 ,p_trx_rec.tax_event_class_code
3625 ,l_ref_appln_id
3626 ,p_event_class_rec.record_flag -- Bug 5200373
3627 ,p_event_class_rec.record_for_partners_flag -- Bug 5200373
3628 ,p_event_class_rec.prod_family_grp_code -- Bug 5200373
3629 ,p_event_class_rec.event_class_mapping_id -- Bug 5200373
3630 ,p_event_class_rec.summarization_flag
3631 );
3632
3633 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3634 x_return_status := l_return_status;
3635 RETURN;
3636 END IF;
3637
3638
3639 /* ----------------------------------------------------------------------+
3640 | Get Tax Event Type |
3641 + ----------------------------------------------------------------------*/
3642 get_tax_event_type (l_return_status
3643 ,p_trx_rec.event_class_code
3644 ,p_trx_rec.application_id
3645 ,p_trx_rec.entity_code
3646 ,p_trx_rec.event_type_code
3647 ,p_trx_rec.tax_event_class_code
3648 ,p_trx_rec.tax_event_type_code
3649 ,p_trx_rec.doc_event_status
3650 );
3651
3652 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3653 x_return_status := l_return_status;
3654 RETURN;
3655 END IF;
3656
3657 p_event_class_rec.tax_event_class_code := p_trx_rec.tax_event_class_code;
3658 p_event_class_rec.tax_event_type_code := p_trx_rec.tax_event_type_code;
3659 p_event_class_rec.doc_status_code := p_trx_rec.doc_event_status;
3660
3661 /* ----------------------------------------------------------------------+
3662 | Determine effective date |
3663 + ----------------------------------------------------------------------*/
3664 determine_effective_date(p_event_class_rec,
3665 l_effective_date,
3666 l_return_status
3667 );
3668
3669 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3670 x_return_status := l_return_status;
3671 RETURN;
3672 END IF;
3673
3674 /* ----------------------------------------------------------------------+
3675 | Populate Event Class Options |
3676 + ----------------------------------------------------------------------*/
3677 populate_event_class_options(l_return_status,
3678 l_effective_date,
3679 p_event_class_rec
3680 );
3681
3682 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3683 x_return_status := l_return_status;
3684 RETURN;
3685 END IF;
3686
3687 /* ----------------------------------------------------------------------+
3688 | Check Trx Rec |
3689 + ----------------------------------------------------------------------*/
3690 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
3691 p_trx_rec
3692 );
3693
3694 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3695 x_return_status := l_return_status;
3696 RETURN;
3697 END IF;
3698
3699 -- populate global event class record structure
3700 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
3701
3702 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3703 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3704 'application_id: '||p_event_class_rec.application_id||
3705 ', entity_code: '||p_event_class_rec.entity_code||
3706 ', event_class_code: '||p_event_class_rec.event_class_code||
3707 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
3708 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
3709 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
3710 ', ledger_id: '||p_event_class_rec.ledger_id||
3711 ', reference_application_id: '||p_event_class_rec.reference_application_id||
3712 ', event_type_code: '||p_event_class_rec.event_type_code||
3713 ', trx_id: '||p_event_class_rec.trx_id||
3714 ', trx_date: '||p_event_class_rec.trx_date||
3715 ', rel_doc_date: '||p_event_class_rec.rel_doc_date||
3716 ', trx_currency_code: '||p_event_class_rec.trx_currency_code||
3717 ', currency_conversion_type: '||p_event_class_rec.currency_conversion_type||
3718 ', currency_conversion_rate: '||p_event_class_rec.currency_conversion_rate||
3719 ', currency_conversion_date: '||p_event_class_rec.currency_conversion_date||
3720 ', rounding_ship_to_party_id: '||p_event_class_rec.rounding_ship_to_party_id||
3721 ', rounding_ship_from_party_id: '||p_event_class_rec.rounding_ship_from_party_id||
3722 ', rounding_bill_to_party_id: '||p_event_class_rec.rounding_bill_to_party_id||
3723 ', rounding_bill_from_party_id: '||p_event_class_rec.rounding_bill_from_party_id||
3724 ', rndg_ship_to_party_site_id: '||p_event_class_rec.rndg_ship_to_party_site_id||
3725 ', rndg_ship_from_party_site_id: '||p_event_class_rec.rndg_ship_from_party_site_id||
3726 ', rndg_bill_to_party_site_id: '||p_event_class_rec.rndg_bill_to_party_site_id||
3727 ', rndg_bill_from_party_site_id: '||p_event_class_rec.rndg_bill_from_party_site_id||
3728 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
3729 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
3730 ', doc_status_code: '||p_event_class_rec.doc_status_code||
3731 ', Det_Factor_Templ_Code: '||p_event_class_rec.det_factor_templ_code||
3732 ', Default_Rounding_Level_Code: '||p_event_class_rec.default_rounding_level_code||
3733 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
3734 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
3735 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
3736 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
3737 ', rdng_ship_to_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_to_pty_tx_prof_id||
3738 ', rdng_ship_from_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_from_pty_tx_prof_id||
3739 ', rdng_bill_to_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_to_pty_tx_prof_id||
3740 ', rdng_bill_from_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_from_pty_tx_prof_id||
3741 ', rdng_ship_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_to_pty_tx_p_st_id||
3742 ', rdng_ship_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_from_pty_tx_p_st_id||
3743 ', rdng_bill_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_to_pty_tx_p_st_id||
3744 ', rdng_bill_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_from_pty_tx_p_st_id||
3745 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
3746 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
3747 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
3748 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
3749 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
3750 ', record_flag: '||p_event_class_rec.record_flag||
3751 ', quote_flag: '||p_event_class_rec.quote_flag||
3752 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
3753 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
3754 ', tax_tolerance: '||p_event_class_rec.tax_tolerance||
3755 ', tax_tol_amt_range: '||p_event_class_rec.tax_tol_amt_range ||
3756 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
3757 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
3758 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
3759 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
3760 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
3761 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
3762 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
3763 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
3764 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
3765 ', summarization_flag: '||p_event_class_rec.summarization_flag||
3766 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
3767 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
3768 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
3769 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
3770 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
3771 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
3772 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
3773 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
3774 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
3775 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
3776 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
3777 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
3778 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
3779 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
3780 ', tax_method_code: '||p_event_class_rec.tax_method_code||
3781 ', inclusive_tax_used_flag: '||p_event_class_rec.inclusive_tax_used_flag||
3782 ', tax_use_customer_exempt_flag: '||p_event_class_rec.tax_use_customer_exempt_flag||
3783 ', tax_use_product_exempt_flag: '||p_event_class_rec.tax_use_product_exempt_flag||
3784 ', tax_use_loc_exc_rate_flag: '||p_event_class_rec.tax_use_loc_exc_rate_flag||
3785 ', tax_allow_compound_flag: '||p_event_class_rec.tax_allow_compound_flag||
3786 ', use_tax_classification_flag: '||p_event_class_rec.use_tax_classification_flag||
3787 ', allow_tax_rounding_ovrd_flag: '||p_event_class_rec.allow_tax_rounding_ovrd_flag||
3788 ', home_country_default_flag: '||p_event_class_rec.home_country_default_flag||
3789 ', RETURN_STATUS = ' || x_return_status);
3790 END IF;
3791 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3792 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3793 END IF;
3794 END validate_document_for_tax;
3795
3796
3797 -----------------------------------------------------------------------
3798 -- PUBLIC PROCEDURE
3799 -- discard_tax_only_lines
3800 --
3801 -- DESCRIPTION
3802 -- Validates and initializes parameters for discard_tax_only_lines published service
3803 --
3804 -- CALLED BY
3805 -- ZX_API_PUB.discard_tax_only_lines
3806 -----------------------------------------------------------------------
3807 PROCEDURE discard_tax_only_lines
3808 ( x_return_status OUT NOCOPY VARCHAR2,
3809 p_trx_rec IN ZX_API_PUB.transaction_rec_type
3810 ) IS
3811 l_api_name CONSTANT VARCHAR2(30):= 'DISCARD_TAX_ONLY_LINES';
3812 l_return_status VARCHAR2(30);
3813
3814 BEGIN
3815 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3816 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3817 END IF;
3818
3819 x_return_status := FND_API.G_RET_STS_SUCCESS;
3820
3821 /* ----------------------------------------------------------------------+
3822 | Bug 3129063 - Setting the Security Context for Subscription |
3823 + ----------------------------------------------------------------------*/
3824 set_security_context(p_trx_rec.application_id,
3825 p_trx_rec.entity_code,
3826 p_trx_rec.event_class_code,
3827 p_trx_rec.trx_id,
3828 l_return_status
3829 );
3830
3831 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3832 x_return_status := l_return_status;
3833 RETURN;
3834 END IF;
3835
3836
3837 /* ----------------------------------------------------------------------+
3838 | Check Required Parameters |
3839 + ----------------------------------------------------------------------*/
3840 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_rec(l_return_status,
3841 p_trx_rec
3842 );
3843
3844 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3845 x_return_status := l_return_status;
3846 RETURN;
3847 END IF;
3848
3849 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3850 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3851 'application_id: '||p_trx_rec.application_id||
3852 ', entity_code: '||p_trx_rec.entity_code||
3853 ', event_class_code: '||p_trx_rec.event_class_code||
3854 ', event_type_code: '||p_trx_rec.event_type_code||
3855 ', trx_id: '||p_trx_rec.trx_id||
3856 ', RETURN_STATUS = ' || x_return_status);
3857 END IF;
3858 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3859 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3860 END IF;
3861 END discard_tax_only_lines;
3862
3863
3864 -----------------------------------------------------------------------
3865 -- PUBLIC PROCEDURE
3866 -- insupd_line_det_factors
3867 --
3868 -- DESCRIPTION
3869 -- Validates and initializes parameters for the insert/update published service
3870 --
3871 -- CALLED BY
3872 -- ZX_API_PUB.insert_line_det_factors
3873 -- ZX_API_PUB.update_line_det_factos
3874 -- ZX_API_PUB.update_det_factors_hdr
3875 -- ZX_API_PUB.copy_insert_line_det_factors
3876 -----------------------------------------------------------------------
3877 PROCEDURE insupd_line_det_factors
3878 ( x_return_status OUT NOCOPY VARCHAR2,
3879 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
3880 p_trx_line_index IN NUMBER
3881 )IS
3882 l_api_name CONSTANT VARCHAR2(30):= 'INSUPD_LINE_DET_FACTORS';
3883 l_return_status VARCHAR2(30);
3884 l_effective_date DATE;
3885 l_ship_from_location_id NUMBER;
3886 l_bill_from_location_id NUMBER;
3887 l_ship_to_location_id NUMBER;
3888 l_bill_to_location_id NUMBER;
3889
3890 BEGIN
3891 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3892 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3893 END IF;
3894
3895 x_return_status := FND_API.G_RET_STS_SUCCESS;
3896 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
3897
3898 /* ----------------------------------------------------------------------+
3899 | Get Tax Event Class |
3900 + ----------------------------------------------------------------------*/
3901 get_tax_event_class (l_return_status
3902 ,p_event_class_rec
3903 );
3904
3905 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3906 x_return_status := l_return_status;
3907 RETURN;
3908 END IF;
3909
3910 /* ----------------------------------------------------------------------+
3911 | Determine effective date |
3912 + ----------------------------------------------------------------------*/
3913 determine_effective_date(p_event_class_rec,
3914 l_effective_date,
3915 l_return_status
3916 );
3917
3918 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3919 x_return_status := l_return_status;
3920 RETURN;
3921 END IF;
3922
3923
3924 /* ----------------------------------------------------------------------+
3925 | Bug 3129063 - Setting the Security Context for Subscription |
3926 + ----------------------------------------------------------------------*/
3927
3928 get_tax_subscriber(p_event_class_rec,
3929 l_effective_date ,
3930 l_return_status
3931 );
3932
3933 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3934 x_return_status := l_return_status;
3935 RETURN;
3936 END IF;
3937
3938 /* ----------------------------------------------------------------------+
3939 | Get Tax Event Type |
3940 + ----------------------------------------------------------------------*/
3941 get_tax_event_type (l_return_status
3942 ,p_event_class_rec.event_class_code
3943 ,p_event_class_rec.application_id
3944 ,p_event_class_rec.entity_code
3945 ,p_event_class_rec.event_type_code
3946 ,p_event_class_rec.tax_event_class_code
3947 ,p_event_class_rec.tax_event_type_code
3948 ,p_event_class_rec.doc_status_code
3949 );
3950
3951 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3952 x_return_status := l_return_status;
3953 RETURN;
3954 END IF;
3955
3956 /* ----------------------------------------------------------------------+
3957 | Get the locations for parties |
3958 + ----------------------------------------------------------------------*/
3959 IF ZX_API_PUB.G_PUB_SRVC <> 'UPDATE_DET_FACTORS_HDR' THEN
3960
3961 get_loc_id_and_ptp_ids(p_event_class_rec => p_event_class_rec,
3962 p_trx_line_index => p_trx_line_index,
3963 x_return_status => l_return_status
3964 );
3965
3966 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3967 x_return_status := l_return_status;
3968 RETURN;
3969 END IF;
3970
3971 /* ----------------------------------------------------------------------+
3972 | Check Required parameters |
3973 + ----------------------------------------------------------------------*/
3974 --Skip validation if published service is copy_insert_line_det_factors
3975 IF ZX_API_PUB.G_PUB_SRVC <> 'COPY_INSERT_LINE_DET_FACTORS' THEN
3976 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_headers_tbl(l_return_status,
3977 p_event_class_rec
3978 );
3979
3980 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3981 x_return_status := l_return_status;
3982 RETURN;
3983 END IF;
3984
3985
3986 /* ----------------------------------------------------------------------+
3987 | Check Required parameters |
3988 + ----------------------------------------------------------------------*/
3989 ZX_CHECK_REQUIRED_PARAMS_PKG.check_trx_lines(l_return_status,
3990 p_event_class_rec
3991 );
3992
3993 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3994 x_return_status := l_return_status;
3995 RETURN;
3996 END IF;
3997 END IF; --G_PUB_SRVC <> 'COPY_INSERT_LINE_DET_FACTORS'
3998 END IF; --G_PUB_SRVC <> 'UPDATE_DET_FACTORS_HDR
3999
4000 /* ----------------------------------------------------------------------+
4001 | Populate Event Class Options |
4002 + ----------------------------------------------------------------------*/
4003 populate_event_class_options(l_return_status,
4004 l_effective_date,
4005 p_event_class_rec
4006 );
4007
4008 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4009 x_return_status := l_return_status;
4010 RETURN;
4011 END IF;
4012
4013 /* ----------------------------------------------------------------------+
4014 | Populate Application Product Options |
4015 + ----------------------------------------------------------------------*/
4016 populate_appl_product_options(l_return_status,
4017 p_event_class_rec
4018 );
4019
4020 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4021 x_return_status := l_return_status;
4022 RETURN;
4023 END IF;
4024
4025 -- populate global event class record structure
4026 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
4027
4028 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4029 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4030 'application_id: '||p_event_class_rec.application_id||
4031 ', entity_code: '||p_event_class_rec.entity_code||
4032 ', event_class_code: '||p_event_class_rec.event_class_code||
4033 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
4034 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
4035 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
4036 ', ledger_id: '||p_event_class_rec.ledger_id||
4037 ', reference_application_id: '||p_event_class_rec.reference_application_id||
4038 ', event_type_code: '||p_event_class_rec.event_type_code||
4039 ', trx_id: '||p_event_class_rec.trx_id||
4040 ', trx_date: '||p_event_class_rec.trx_date||
4041 ', rel_doc_date: '||p_event_class_rec.rel_doc_date||
4042 ', trx_currency_code: '||p_event_class_rec.trx_currency_code||
4043 ', currency_conversion_type: '||p_event_class_rec.currency_conversion_type||
4044 ', currency_conversion_rate: '||p_event_class_rec.currency_conversion_rate||
4045 ', currency_conversion_date: '||p_event_class_rec.currency_conversion_date||
4046 ', rounding_ship_to_party_id: '||p_event_class_rec.rounding_ship_to_party_id||
4047 ', rounding_ship_from_party_id: '||p_event_class_rec.rounding_ship_from_party_id||
4048 ', rounding_bill_to_party_id: '||p_event_class_rec.rounding_bill_to_party_id||
4049 ', rounding_bill_from_party_id: '||p_event_class_rec.rounding_bill_from_party_id||
4050 ', rndg_ship_to_party_site_id: '||p_event_class_rec.rndg_ship_to_party_site_id||
4051 ', rndg_ship_from_party_site_id: '||p_event_class_rec.rndg_ship_from_party_site_id||
4052 ', rndg_bill_to_party_site_id: '||p_event_class_rec.rndg_bill_to_party_site_id||
4053 ', rndg_bill_from_party_site_id: '||p_event_class_rec.rndg_bill_from_party_site_id||
4054 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
4055 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
4056 ', doc_status_code: '||p_event_class_rec.doc_status_code||
4057 ', Det_Factor_Templ_Code: '||p_event_class_rec.det_factor_templ_code||
4058 ', Default_Rounding_Level_Code: '||p_event_class_rec.default_rounding_level_code||
4059 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
4060 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
4061 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
4062 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
4063 ', rdng_ship_to_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_to_pty_tx_prof_id||
4064 ', rdng_ship_from_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_from_pty_tx_prof_id||
4065 ', rdng_bill_to_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_to_pty_tx_prof_id||
4066 ', rdng_bill_from_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_from_pty_tx_prof_id||
4067 ', rdng_ship_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_to_pty_tx_p_st_id||
4068 ', rdng_ship_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_from_pty_tx_p_st_id||
4069 ', rdng_bill_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_to_pty_tx_p_st_id||
4070 ', rdng_bill_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_from_pty_tx_p_st_id||
4071 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
4072 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
4073 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
4074 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
4075 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
4076 ', record_flag: '||p_event_class_rec.record_flag||
4077 ', quote_flag: '||p_event_class_rec.quote_flag||
4078 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
4079 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
4080 ', tax_tolerance: '||p_event_class_rec.tax_tolerance||
4081 ', tax_tol_amt_range: '||p_event_class_rec.tax_tol_amt_range ||
4082 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
4083 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
4084 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
4085 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
4086 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
4087 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
4088 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
4089 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
4090 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
4091 ', summarization_flag: '||p_event_class_rec.summarization_flag||
4092 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
4093 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
4094 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
4095 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
4096 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
4097 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
4098 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
4099 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
4100 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
4101 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
4102 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
4103 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
4104 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
4105 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
4106 ', tax_method_code: '||p_event_class_rec.tax_method_code||
4107 ', inclusive_tax_used_flag: '||p_event_class_rec.inclusive_tax_used_flag||
4108 ', tax_use_customer_exempt_flag: '||p_event_class_rec.tax_use_customer_exempt_flag||
4109 ', tax_use_product_exempt_flag: '||p_event_class_rec.tax_use_product_exempt_flag||
4110 ', tax_use_loc_exc_rate_flag: '||p_event_class_rec.tax_use_loc_exc_rate_flag||
4111 ', tax_allow_compound_flag: '||p_event_class_rec.tax_allow_compound_flag||
4112 ', use_tax_classification_flag: '||p_event_class_rec.use_tax_classification_flag||
4113 ', allow_tax_rounding_ovrd_flag: '||p_event_class_rec.allow_tax_rounding_ovrd_flag||
4114 ', home_country_default_flag: '||p_event_class_rec.home_country_default_flag||
4115 ', RETURN_STATUS = ' || l_return_status);
4116 END IF;
4117
4118 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4119 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
4120 END IF;
4121 END insupd_line_det_factors;
4122
4123
4124
4125 -----------------------------------------------------------------------
4126 -- PUBLIC PROCEDURE
4127 -- get_default_tax_det_attrs
4128 --
4129 -- DESCRIPTION
4130 -- Validates and initializes parameters for get_default_tax_det_attrs published service
4131 --
4132 -- CALLED BY
4133 -- ZX_API_PUB.get_default_tax_det_attrs
4134 -----------------------------------------------------------------------
4135 PROCEDURE get_default_tax_det_attrs(
4136 x_return_status OUT NOCOPY VARCHAR2,
4137 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type
4138 )IS
4139 l_api_name CONSTANT VARCHAR2(30):= 'GET_DEFAULT_TAX_DET_ATTRS';
4140 l_return_status VARCHAR2(30);
4141 l_effective_date DATE;
4142 l_ship_from_location_id NUMBER;
4143 l_bill_from_location_id NUMBER;
4144 l_ship_to_location_id NUMBER;
4145 l_bill_to_location_id NUMBER;
4146
4147 BEGIN
4148 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4149 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4150 END IF;
4151
4152 x_return_status := FND_API.G_RET_STS_SUCCESS;
4153 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := null_event_class_rec;
4154
4155 /* ----------------------------------------------------------------------+
4156 | Get Tax Event Class |
4157 + ----------------------------------------------------------------------*/
4158 get_tax_event_class (l_return_status
4159 ,p_event_class_rec
4160 );
4161
4162 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4163 x_return_status := l_return_status;
4164 RETURN;
4165 END IF;
4166
4167 /* ----------------------------------------------------------------------+
4168 | Determine effective date |
4169 + ----------------------------------------------------------------------*/
4170 determine_effective_date(p_event_class_rec,
4171 l_effective_date,
4172 l_return_status
4173 );
4174
4175 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4176 x_return_status := l_return_status;
4177 RETURN;
4178 END IF;
4179
4180
4181 /* ----------------------------------------------------------------------+
4182 | Bug 3129063 - Setting the Security Context for Subscription |
4183 + ----------------------------------------------------------------------*/
4184 get_tax_subscriber(p_event_class_rec,
4185 l_effective_date ,
4186 l_return_status
4187 );
4188
4189 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4190 x_return_status := l_return_status;
4191 RETURN;
4192 END IF;
4193
4194 /* ----------------------------------------------------------------------+
4195 | Get Tax Event Type |
4196 + ----------------------------------------------------------------------*/
4197 get_tax_event_type (l_return_status
4198 ,p_event_class_rec.event_class_code
4199 ,p_event_class_rec.application_id
4200 ,p_event_class_rec.entity_code
4201 ,p_event_class_rec.event_type_code
4202 ,p_event_class_rec.tax_event_class_code
4203 ,p_event_class_rec.tax_event_type_code
4204 ,p_event_class_rec.doc_status_code
4205 );
4206
4207 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4208 x_return_status := l_return_status;
4209 RETURN;
4210 END IF;
4211
4212 /* ----------------------------------------------------------------------+
4213 | Populate Event Class Options |
4214 + ----------------------------------------------------------------------*/
4215 populate_event_class_options(l_return_status,
4216 l_effective_date,
4217 p_event_class_rec
4218 );
4219
4220 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4221 x_return_status := l_return_status;
4222 RETURN;
4223 END IF;
4224
4225 /* ----------------------------------------------------------------------+
4226 | Populate Application Product Options |
4227 + ----------------------------------------------------------------------*/
4228 populate_appl_product_options(l_return_status,
4229 p_event_class_rec
4230 );
4231
4232 -- populate global event class record structure
4233 ZX_GLOBAL_STRUCTURES_PKG.g_event_class_rec := p_event_class_rec;
4234
4235 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4236 x_return_status := l_return_status;
4237 RETURN;
4238 END IF;
4239
4240 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4241 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4242 'application_id: '||p_event_class_rec.application_id||
4243 ', entity_code: '||p_event_class_rec.entity_code||
4244 ', event_class_code: '||p_event_class_rec.event_class_code||
4245 ', internal_organization_id: '||p_event_class_rec.internal_organization_id||
4246 ', legal_entity_id: '||p_event_class_rec.legal_entity_id||
4247 ', first_pty_org_id: '||p_event_class_rec.first_pty_org_id||
4248 ', ledger_id: '||p_event_class_rec.ledger_id||
4249 ', reference_application_id: '||p_event_class_rec.reference_application_id||
4250 ', event_type_code: '||p_event_class_rec.event_type_code||
4251 ', trx_id: '||p_event_class_rec.trx_id||
4252 ', trx_date: '||p_event_class_rec.trx_date||
4253 ', rel_doc_date: '||p_event_class_rec.rel_doc_date||
4254 ', trx_currency_code: '||p_event_class_rec.trx_currency_code||
4255 ', currency_conversion_type: '||p_event_class_rec.currency_conversion_type||
4256 ', currency_conversion_rate: '||p_event_class_rec.currency_conversion_rate||
4257 ', currency_conversion_date: '||p_event_class_rec.currency_conversion_date||
4258 ', rounding_ship_to_party_id: '||p_event_class_rec.rounding_ship_to_party_id||
4259 ', rounding_ship_from_party_id: '||p_event_class_rec.rounding_ship_from_party_id||
4260 ', rounding_bill_to_party_id: '||p_event_class_rec.rounding_bill_to_party_id||
4261 ', rounding_bill_from_party_id: '||p_event_class_rec.rounding_bill_from_party_id||
4262 ', rndg_ship_to_party_site_id: '||p_event_class_rec.rndg_ship_to_party_site_id||
4263 ', rndg_ship_from_party_site_id: '||p_event_class_rec.rndg_ship_from_party_site_id||
4264 ', rndg_bill_to_party_site_id: '||p_event_class_rec.rndg_bill_to_party_site_id||
4265 ', rndg_bill_from_party_site_id: '||p_event_class_rec.rndg_bill_from_party_site_id||
4266 ', tax_event_class_code: '||p_event_class_rec.tax_event_class_code||
4267 ', tax_event_type_code: '||p_event_class_rec.tax_event_type_code||
4268 ', doc_status_code: '||p_event_class_rec.doc_status_code||
4269 ', Det_Factor_Templ_Code: '||p_event_class_rec.det_factor_templ_code||
4270 ', Default_Rounding_Level_Code: '||p_event_class_rec.default_rounding_level_code||
4271 ', rounding_level_hier1: '||p_event_class_rec.rounding_level_hier_1_code||
4272 ', rounding_level_hier2: '||p_event_class_rec.rounding_level_hier_2_code||
4273 ', rounding_level_hier3: '||p_event_class_rec.rounding_level_hier_3_code||
4274 ', rounding_level_hier4: '||p_event_class_rec.rounding_level_hier_4_code||
4275 ', rdng_ship_to_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_to_pty_tx_prof_id||
4276 ', rdng_ship_from_pty_tx_prof_id: '||p_event_class_rec.rdng_ship_from_pty_tx_prof_id||
4277 ', rdng_bill_to_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_to_pty_tx_prof_id||
4278 ', rdng_bill_from_pty_tx_prof_id: '||p_event_class_rec.rdng_bill_from_pty_tx_prof_id||
4279 ', rdng_ship_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_to_pty_tx_p_st_id||
4280 ', rdng_ship_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_ship_from_pty_tx_p_st_id||
4281 ', rdng_bill_to_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_to_pty_tx_p_st_id||
4282 ', rdng_bill_from_pty_tx_p_st_id: '||p_event_class_rec.rdng_bill_from_pty_tx_p_st_id||
4283 ', allow_manual_lin_recalc_flag: '||p_event_class_rec.allow_manual_lin_recalc_flag||
4284 ', allow_manual_lines_flag: '||p_event_class_rec.allow_manual_lines_flag||
4285 ', allow_override_flag: '||p_event_class_rec.allow_override_flag||
4286 ', enforce_tax_from_acct_flag: '||p_event_class_rec.enforce_tax_from_acct_flag||
4287 ', perform_additional_applicability_for_import_flag: '||p_event_class_rec.perf_addnl_appl_for_imprt_flag||
4288 ', record_flag: '||p_event_class_rec.record_flag||
4289 ', quote_flag: '||p_event_class_rec.quote_flag||
4290 ', normal_sign_flag: '||p_event_class_rec.normal_sign_flag||
4291 ', offset_tax_basis_code: '||p_event_class_rec.offset_tax_basis_code||
4292 ', tax_tolerance: '||p_event_class_rec.tax_tolerance||
4293 ', tax_tol_amt_range: '||p_event_class_rec.tax_tol_amt_range ||
4294 ', allow_offset_tax_calc_flag: '||p_event_class_rec.allow_offset_tax_calc_flag||
4295 ', self_assess_tax_lines_flag: '||p_event_class_rec.self_assess_tax_lines_flag||
4296 ', tax_recovery_flag: '||p_event_class_rec.tax_recovery_flag||
4297 ', allow_cancel_tax_lines_flag: '||p_event_class_rec.allow_cancel_tax_lines_flag||
4298 ', allow_man_tax_only_lines_flag: '||p_event_class_rec.allow_man_tax_only_lines_flag||
4299 ', enable_mrc_flag: '||p_event_class_rec.enable_mrc_flag||
4300 ', tax_reporting_flag: '||p_event_class_rec.tax_reporting_flag||
4301 ', enter_ovrd_incl_tax_lines_flag: '||p_event_class_rec.enter_ovrd_incl_tax_lines_flag||
4302 ', ctrl_eff_ovrd_calc_lines_flag: '||p_event_class_rec.ctrl_eff_ovrd_calc_lines_flag||
4303 ', summarization_flag: '||p_event_class_rec.summarization_flag||
4304 ', retain_summ_tax_line_id_flag: '||p_event_class_rec.retain_summ_tax_line_id_flag||
4305 ', tax_variance_calc_flag: '||p_event_class_rec.tax_variance_calc_flag||
4306 ', prod_family_grp_code: '||p_event_class_rec.prod_family_grp_code||
4307 ', record_for_partners_flag: '||p_event_class_rec.record_for_partners_flag||
4308 ', manual_lines_for_partner_flag: '||p_event_class_rec.manual_lines_for_partner_flag||
4309 ', man_tax_only_lin_for_ptnr_flag: '||p_event_class_rec.man_tax_only_lin_for_ptnr_flag||
4310 ', always_use_ebtax_for_calc_flag: '||p_event_class_rec.always_use_ebtax_for_calc_flag||
4311 ', enforce_tax_from_ref_doc_flag: '||p_event_class_rec.enforce_tax_from_ref_doc_flag||
4312 ', process_for_applicability_flag: '||p_event_class_rec.process_for_applicability_flag||
4313 ', allow_exemptions_flag: '||p_event_class_rec.allow_exemptions_flag||
4314 ', sup_cust_acct_type: '||p_event_class_rec.sup_cust_acct_type||
4315 ', intgrtn_det_factors_ui_flag: '||p_event_class_rec.intgrtn_det_factors_ui_flag||
4316 ', exmptn_pty_basis_hier_1_code: '||p_event_class_rec.exmptn_pty_basis_hier_1_code||
4317 ', exmptn_pty_basis_hier_2_code: '||p_event_class_rec.exmptn_pty_basis_hier_2_code||
4318 ', tax_method_code: '||p_event_class_rec.tax_method_code||
4319 ', inclusive_tax_used_flag: '||p_event_class_rec.inclusive_tax_used_flag||
4320 ', tax_use_customer_exempt_flag: '||p_event_class_rec.tax_use_customer_exempt_flag||
4321 ', tax_use_product_exempt_flag: '||p_event_class_rec.tax_use_product_exempt_flag||
4322 ', tax_use_loc_exc_rate_flag: '||p_event_class_rec.tax_use_loc_exc_rate_flag||
4323 ', tax_allow_compound_flag: '||p_event_class_rec.tax_allow_compound_flag||
4324 ', use_tax_classification_flag: '||p_event_class_rec.use_tax_classification_flag||
4325 ', allow_tax_rounding_ovrd_flag: '||p_event_class_rec.allow_tax_rounding_ovrd_flag||
4326 ', home_country_default_flag: '||p_event_class_rec.home_country_default_flag||
4327 ', RETURN_STATUS = ' || l_return_status);
4328 END IF;
4329
4330 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4331 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
4332 END IF;
4333 END get_default_tax_det_attrs;
4334
4335 PROCEDURE get_event_class_info(
4336 P_ENTITY_CODE IN ZX_EVNT_CLS_MAPPINGS.entity_code%TYPE,
4337 P_EVENT_CLASS_CODE IN ZX_EVNT_CLS_MAPPINGS.event_class_code%TYPE,
4338 P_APPLICATION_ID IN ZX_EVNT_CLS_MAPPINGS.application_id%TYPE,
4339 X_TBL_INDEX OUT NOCOPY BINARY_INTEGER,
4340 X_RETURN_STATUS OUT NOCOPY VARCHAR2)
4341 is
4342 cursor c_evnt_class_info is
4343 SELECT
4344 EVENT_CLASS_CODE
4345 ,APPLICATION_ID
4346 ,ENTITY_CODE
4347 ,TAX_EVENT_CLASS_CODE
4348 ,RECORD_FLAG
4349 ,DET_FACTOR_TEMPL_CODE
4350 ,DEFAULT_ROUNDING_LEVEL_CODE
4351 ,ROUNDING_LEVEL_HIER_1_CODE
4352 ,ROUNDING_LEVEL_HIER_2_CODE
4353 ,ROUNDING_LEVEL_HIER_3_CODE
4354 ,ROUNDING_LEVEL_HIER_4_CODE
4355 ,ALLOW_MANUAL_LIN_RECALC_FLAG
4356 ,ALLOW_OVERRIDE_FLAG
4357 ,ALLOW_MANUAL_LINES_FLAG
4358 ,PERF_ADDNL_APPL_FOR_IMPRT_FLAG
4359 ,SHIP_TO_PARTY_TYPE
4360 ,SHIP_FROM_PARTY_TYPE
4361 ,POA_PARTY_TYPE
4362 ,POO_PARTY_TYPE
4363 ,PAYING_PARTY_TYPE
4364 ,OWN_HQ_PARTY_TYPE
4365 ,TRAD_HQ_PARTY_TYPE
4366 ,POI_PARTY_TYPE
4367 ,POD_PARTY_TYPE
4368 ,BILL_TO_PARTY_TYPE
4369 ,BILL_FROM_PARTY_TYPE
4370 ,TTL_TRNS_PARTY_TYPE
4371 ,MERCHANT_PARTY_TYPE
4372 ,SHIP_TO_PTY_SITE_TYPE
4373 ,SHIP_FROM_PTY_SITE_TYPE
4374 ,POA_PTY_SITE_TYPE
4375 ,POO_PTY_SITE_TYPE
4376 ,PAYING_PTY_SITE_TYPE
4377 ,OWN_HQ_PTY_SITE_TYPE
4378 ,TRAD_HQ_PTY_SITE_TYPE
4379 ,POI_PTY_SITE_TYPE
4380 ,POD_PTY_SITE_TYPE
4381 ,BILL_TO_PTY_SITE_TYPE
4382 ,BILL_FROM_PTY_SITE_TYPE
4383 ,TTL_TRNS_PTY_SITE_TYPE
4384 ,ENFORCE_TAX_FROM_ACCT_FLAG
4385 ,OFFSET_TAX_BASIS_CODE
4386 ,REFERENCE_APPLICATION_ID
4387 ,PROD_FAMILY_GRP_CODE
4388 ,ALLOW_OFFSET_TAX_CALC_FLAG
4389 ,SELF_ASSESS_TAX_LINES_FLAG
4390 ,TAX_RECOVERY_FLAG
4391 ,ALLOW_CANCEL_TAX_LINES_FLAG
4392 ,ALLOW_MAN_TAX_ONLY_LINES_FLAG
4393 ,TAX_VARIANCE_CALC_FLAG
4394 ,TAX_REPORTING_FLAG
4395 ,ENTER_OVRD_INCL_TAX_LINES_FLAG
4396 ,CTRL_EFF_OVRD_CALC_LINES_FLAG
4397 ,SUMMARIZATION_FLAG
4398 ,RETAIN_SUMM_TAX_LINE_ID_FLAG
4399 ,RECORD_FOR_PARTNERS_FLAG
4400 ,MANUAL_LINES_FOR_PARTNER_FLAG
4401 ,MAN_TAX_ONLY_LIN_FOR_PTNR_FLAG
4402 ,ALWAYS_USE_EBTAX_FOR_CALC_FLAG
4403 ,PROCESSING_PRECEDENCE
4404 ,EVENT_CLASS_MAPPING_ID
4405 ,ENFORCE_TAX_FROM_REF_DOC_FLAG
4406 ,PROCESS_FOR_APPLICABILITY_FLAG
4407 ,SUP_CUST_ACCT_TYPE_CODE
4408 ,DISPLAY_TAX_CLASSIF_FLAG
4409 ,INTGRTN_DET_FACTORS_UI_FLAG
4410 ,INTRCMP_TX_EVNT_CLS_CODE
4411 ,INTRCMP_SRC_ENTITY_CODE
4412 ,INTRCMP_SRC_EVNT_CLS_CODE
4413 ,INTRCMP_SRC_APPLN_ID
4414 ,ALLOW_EXEMPTIONS_FLAG
4415 ,ENABLE_MRC_FLAG
4416 from
4417 ZX_EVNT_CLS_MAPPINGS
4418 WHERE
4419 application_id = p_application_id
4420 AND entity_code = p_entity_code
4421 AND event_class_Code = p_event_class_code;
4422
4423 l_index binary_integer;
4424
4425 BEGIN
4426
4427 x_return_status := FND_API.G_RET_STS_SUCCESS;
4428
4429 l_index := dbms_utility.get_hash_value(to_char(p_application_id)||p_entity_code||p_event_class_code,1,8192);
4430
4431 IF ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl.EXISTS(l_index) then
4432
4433 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4434 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX_VALID_INIT_PKG.get_evnt_cls_info',
4435 'Event class record found in cache ');
4436 END IF;
4437
4438 X_TBL_INDEX := l_index;
4439 RETURN;
4440
4441 ELSE
4442
4443 FOR L_EVENT_CLASS_REC IN C_EVNT_CLASS_INFO LOOP
4444
4445 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).EVENT_CLASS_CODE := L_EVENT_CLASS_REC.EVENT_CLASS_CODE ;
4446 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).APPLICATION_ID := L_EVENT_CLASS_REC.APPLICATION_ID ;
4447 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ENTITY_CODE := L_EVENT_CLASS_REC.ENTITY_CODE ;
4448 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TAX_EVENT_CLASS_CODE := L_EVENT_CLASS_REC.TAX_EVENT_CLASS_CODE ;
4449 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).RECORD_FLAG := L_EVENT_CLASS_REC.RECORD_FLAG ;
4450 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).DET_FACTOR_TEMPL_CODE := L_EVENT_CLASS_REC.DET_FACTOR_TEMPL_CODE ;
4451 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).DEFAULT_ROUNDING_LEVEL_CODE := L_EVENT_CLASS_REC.DEFAULT_ROUNDING_LEVEL_CODE ;
4452 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ROUNDING_LEVEL_HIER_1_CODE := L_EVENT_CLASS_REC.ROUNDING_LEVEL_HIER_1_CODE ;
4453 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ROUNDING_LEVEL_HIER_2_CODE := L_EVENT_CLASS_REC.ROUNDING_LEVEL_HIER_2_CODE ;
4454 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ROUNDING_LEVEL_HIER_3_CODE := L_EVENT_CLASS_REC.ROUNDING_LEVEL_HIER_3_CODE ;
4455 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ROUNDING_LEVEL_HIER_4_CODE := L_EVENT_CLASS_REC.ROUNDING_LEVEL_HIER_4_CODE ;
4456 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_MANUAL_LIN_RECALC_FLAG := L_EVENT_CLASS_REC.ALLOW_MANUAL_LIN_RECALC_FLAG ;
4457 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_OVERRIDE_FLAG := L_EVENT_CLASS_REC.ALLOW_OVERRIDE_FLAG ;
4458 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_MANUAL_LINES_FLAG := L_EVENT_CLASS_REC.ALLOW_MANUAL_LINES_FLAG ;
4459 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PERF_ADDNL_APPL_FOR_IMPRT_FLAG := L_EVENT_CLASS_REC.PERF_ADDNL_APPL_FOR_IMPRT_FLAG ;
4460 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SHIP_TO_PARTY_TYPE := L_EVENT_CLASS_REC.SHIP_TO_PARTY_TYPE ;
4461 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SHIP_FROM_PARTY_TYPE := L_EVENT_CLASS_REC.SHIP_FROM_PARTY_TYPE ;
4462 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POA_PARTY_TYPE := L_EVENT_CLASS_REC.POA_PARTY_TYPE ;
4463 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POO_PARTY_TYPE := L_EVENT_CLASS_REC.POO_PARTY_TYPE ;
4464 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PAYING_PARTY_TYPE := L_EVENT_CLASS_REC.PAYING_PARTY_TYPE ;
4465 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).OWN_HQ_PARTY_TYPE := L_EVENT_CLASS_REC.OWN_HQ_PARTY_TYPE ;
4466 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TRAD_HQ_PARTY_TYPE := L_EVENT_CLASS_REC.TRAD_HQ_PARTY_TYPE ;
4467 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POI_PARTY_TYPE := L_EVENT_CLASS_REC.POI_PARTY_TYPE ;
4468 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POD_PARTY_TYPE := L_EVENT_CLASS_REC.POD_PARTY_TYPE ;
4469 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).BILL_TO_PARTY_TYPE := L_EVENT_CLASS_REC.BILL_TO_PARTY_TYPE ;
4470 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).BILL_FROM_PARTY_TYPE := L_EVENT_CLASS_REC.BILL_FROM_PARTY_TYPE ;
4471 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TTL_TRNS_PARTY_TYPE := L_EVENT_CLASS_REC.TTL_TRNS_PARTY_TYPE ;
4472 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).MERCHANT_PARTY_TYPE := L_EVENT_CLASS_REC.MERCHANT_PARTY_TYPE ;
4473 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SHIP_TO_PTY_SITE_TYPE := L_EVENT_CLASS_REC.SHIP_TO_PTY_SITE_TYPE ;
4474 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SHIP_FROM_PTY_SITE_TYPE := L_EVENT_CLASS_REC.SHIP_FROM_PTY_SITE_TYPE ;
4475 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POA_PTY_SITE_TYPE := L_EVENT_CLASS_REC.POA_PTY_SITE_TYPE ;
4476 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POO_PTY_SITE_TYPE := L_EVENT_CLASS_REC.POO_PTY_SITE_TYPE ;
4477 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PAYING_PTY_SITE_TYPE := L_EVENT_CLASS_REC.PAYING_PTY_SITE_TYPE ;
4478 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).OWN_HQ_PTY_SITE_TYPE := L_EVENT_CLASS_REC.OWN_HQ_PTY_SITE_TYPE ;
4479 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TRAD_HQ_PTY_SITE_TYPE := L_EVENT_CLASS_REC.TRAD_HQ_PTY_SITE_TYPE ;
4480 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POI_PTY_SITE_TYPE := L_EVENT_CLASS_REC.POI_PTY_SITE_TYPE ;
4481 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).POD_PTY_SITE_TYPE := L_EVENT_CLASS_REC.POD_PTY_SITE_TYPE ;
4482 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).BILL_TO_PTY_SITE_TYPE := L_EVENT_CLASS_REC.BILL_TO_PTY_SITE_TYPE ;
4483 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).BILL_FROM_PTY_SITE_TYPE := L_EVENT_CLASS_REC.BILL_FROM_PTY_SITE_TYPE ;
4484 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TTL_TRNS_PTY_SITE_TYPE := L_EVENT_CLASS_REC.TTL_TRNS_PTY_SITE_TYPE ;
4485 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ENFORCE_TAX_FROM_ACCT_FLAG := L_EVENT_CLASS_REC.ENFORCE_TAX_FROM_ACCT_FLAG ;
4486 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).OFFSET_TAX_BASIS_CODE := L_EVENT_CLASS_REC.OFFSET_TAX_BASIS_CODE ;
4487 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).REFERENCE_APPLICATION_ID := L_EVENT_CLASS_REC.REFERENCE_APPLICATION_ID ;
4488 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PROD_FAMILY_GRP_CODE := L_EVENT_CLASS_REC.PROD_FAMILY_GRP_CODE ;
4489 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_OFFSET_TAX_CALC_FLAG := L_EVENT_CLASS_REC.ALLOW_OFFSET_TAX_CALC_FLAG ;
4490 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SELF_ASSESS_TAX_LINES_FLAG := L_EVENT_CLASS_REC.SELF_ASSESS_TAX_LINES_FLAG ;
4491 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TAX_RECOVERY_FLAG := L_EVENT_CLASS_REC.TAX_RECOVERY_FLAG ;
4492 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_CANCEL_TAX_LINES_FLAG := L_EVENT_CLASS_REC.ALLOW_CANCEL_TAX_LINES_FLAG ;
4493 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_MAN_TAX_ONLY_LINES_FLAG := L_EVENT_CLASS_REC.ALLOW_MAN_TAX_ONLY_LINES_FLAG ;
4494 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TAX_VARIANCE_CALC_FLAG := L_EVENT_CLASS_REC.TAX_VARIANCE_CALC_FLAG ;
4495 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).TAX_REPORTING_FLAG := L_EVENT_CLASS_REC.TAX_REPORTING_FLAG ;
4496 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ENTER_OVRD_INCL_TAX_LINES_FLAG := L_EVENT_CLASS_REC.ENTER_OVRD_INCL_TAX_LINES_FLAG ;
4497 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).CTRL_EFF_OVRD_CALC_LINES_FLAG := L_EVENT_CLASS_REC.CTRL_EFF_OVRD_CALC_LINES_FLAG ;
4498 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SUMMARIZATION_FLAG := L_EVENT_CLASS_REC.SUMMARIZATION_FLAG ;
4499 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).RETAIN_SUMM_TAX_LINE_ID_FLAG := L_EVENT_CLASS_REC.RETAIN_SUMM_TAX_LINE_ID_FLAG ;
4500 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).RECORD_FOR_PARTNERS_FLAG := L_EVENT_CLASS_REC.RECORD_FOR_PARTNERS_FLAG ;
4501 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).MANUAL_LINES_FOR_PARTNER_FLAG := L_EVENT_CLASS_REC.MANUAL_LINES_FOR_PARTNER_FLAG ;
4502 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).MAN_TAX_ONLY_LIN_FOR_PTNR_FLAG := L_EVENT_CLASS_REC.MAN_TAX_ONLY_LIN_FOR_PTNR_FLAG ;
4503 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALWAYS_USE_EBTAX_FOR_CALC_FLAG := L_EVENT_CLASS_REC.ALWAYS_USE_EBTAX_FOR_CALC_FLAG ;
4504 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PROCESSING_PRECEDENCE := L_EVENT_CLASS_REC.PROCESSING_PRECEDENCE ;
4505 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).EVENT_CLASS_MAPPING_ID := L_EVENT_CLASS_REC.EVENT_CLASS_MAPPING_ID ;
4506 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ENFORCE_TAX_FROM_REF_DOC_FLAG := L_EVENT_CLASS_REC.ENFORCE_TAX_FROM_REF_DOC_FLAG ;
4507 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).PROCESS_FOR_APPLICABILITY_FLAG := L_EVENT_CLASS_REC.PROCESS_FOR_APPLICABILITY_FLAG ;
4508 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).SUP_CUST_ACCT_TYPE_CODE := L_EVENT_CLASS_REC.SUP_CUST_ACCT_TYPE_CODE ;
4509 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).DISPLAY_TAX_CLASSIF_FLAG := L_EVENT_CLASS_REC.DISPLAY_TAX_CLASSIF_FLAG ;
4510 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).INTGRTN_DET_FACTORS_UI_FLAG := L_EVENT_CLASS_REC.INTGRTN_DET_FACTORS_UI_FLAG ;
4511 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).INTRCMP_TX_EVNT_CLS_CODE := L_EVENT_CLASS_REC.INTRCMP_TX_EVNT_CLS_CODE ;
4512 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).INTRCMP_SRC_ENTITY_CODE := L_EVENT_CLASS_REC.INTRCMP_SRC_ENTITY_CODE ;
4513 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).INTRCMP_SRC_EVNT_CLS_CODE := L_EVENT_CLASS_REC.INTRCMP_SRC_EVNT_CLS_CODE ;
4514 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).INTRCMP_SRC_APPLN_ID := L_EVENT_CLASS_REC.INTRCMP_SRC_APPLN_ID ;
4515 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ALLOW_EXEMPTIONS_FLAG := L_EVENT_CLASS_REC.ALLOW_EXEMPTIONS_FLAG ;
4516 ZX_GLOBAL_STRUCTURES_PKG.g_zx_event_class_rec_tbl(l_index).ENABLE_MRC_FLAG := L_EVENT_CLASS_REC.ENABLE_MRC_FLAG ;
4517
4518 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4519 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX_VALID_INIT_PKG.get_evnt_cls_info',
4520 'Event class record not found in cache. Populating from database ');
4521 END IF;
4522
4523 X_TBL_INDEX := l_index;
4524 EXIT;
4525
4526 END LOOP;
4527
4528 END IF;
4529
4530 EXCEPTION
4531 WHEN OTHERS THEN
4532
4533 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4534 FND_LOG.STRING(g_level_unexpected,
4535 'ZX.PLSQL.ZX_VALID_INIT_PKG.get_evnt_cls_info',
4536 'Exception in ZZX_VALID_INIT_PKG.get_evnt_cls_info. '||SQLCODE||SQLERRM);
4537 END IF;
4538
4539 IF C_EVNT_CLASS_INFO%ISOPEN then
4540 close C_EVNT_CLASS_INFO;
4541 END IF;
4542
4543 END get_event_class_info;
4544
4545
4546
4547 PROCEDURE get_event_typ_mappings_info(
4548 P_ENTITY_CODE IN ZX_EVNT_TYP_MAPPINGS.entity_code%TYPE,
4549 P_EVENT_CLASS_CODE IN ZX_EVNT_TYP_MAPPINGS.event_class_code%TYPE,
4550 P_APPLICATION_ID IN ZX_EVNT_TYP_MAPPINGS.application_id%TYPE,
4551 P_EVENT_TYPE_CODE IN ZX_EVNT_TYP_MAPPINGS.event_type_code%TYPE,
4552 X_TBL_INDEX OUT NOCOPY BINARY_INTEGER,
4553 X_RETURN_STATUS OUT NOCOPY VARCHAR2)
4554 is
4555 cursor c_evnt_typ_mapping_info is
4556 SELECT
4557 EVENT_CLASS_MAPPING_ID,
4558 EVENT_TYPE_MAPPING_ID,
4559 EVENT_CLASS_CODE,
4560 EVENT_TYPE_CODE,
4561 APPLICATION_ID,
4562 ENTITY_CODE,
4563 TAX_EVENT_CLASS_CODE,
4564 TAX_EVENT_TYPE_CODE,
4565 ENABLED_FLAG
4566 from
4567 ZX_EVNT_TYP_MAPPINGS
4568 WHERE
4569 application_id = P_APPLICATION_ID
4570 AND entity_code = P_ENTITY_CODE
4571 AND event_class_code = P_EVENT_CLASS_CODE
4572 AND event_type_code = P_EVENT_TYPE_CODE ;
4573
4574 l_index binary_integer;
4575
4576 BEGIN
4577
4578 x_return_status := FND_API.G_RET_STS_SUCCESS;
4579
4580 l_index := dbms_utility.get_hash_value(to_char(p_application_id)||p_entity_code||p_event_class_code
4581 ||p_event_type_Code,1,8192);
4582
4583 IF ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl.EXISTS(l_index) then
4584
4585 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4586 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX_VALID_INIT_PKG.get_evnt_cls_info',
4587 'Event type record found in cache ');
4588 END IF;
4589
4590 X_TBL_INDEX := l_index;
4591 RETURN;
4592
4593 ELSE
4594
4595 FOR L_EVENT_TYPE_REC IN c_evnt_typ_mapping_info LOOP
4596
4597 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).EVENT_CLASS_MAPPING_ID := l_event_type_rec.EVENT_CLASS_MAPPING_ID;
4598 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).EVENT_TYPE_MAPPING_ID := l_event_type_rec.EVENT_TYPE_MAPPING_ID;
4599 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).EVENT_CLASS_CODE := l_event_type_rec.EVENT_CLASS_CODE;
4600 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).EVENT_TYPE_CODE := l_event_type_rec.EVENT_TYPE_CODE;
4601 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).APPLICATION_ID := l_event_type_rec.APPLICATION_ID;
4602 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).ENTITY_CODE := l_event_type_rec.ENTITY_CODE;
4603 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).TAX_EVENT_CLASS_CODE := l_event_type_rec.TAX_EVENT_CLASS_CODE;
4604 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).TAX_EVENT_TYPE_CODE := l_event_type_rec.TAX_EVENT_TYPE_CODE;
4605 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_typ_map_tbl(l_index).ENABLED_FLAG := l_event_type_rec.ENABLED_FLAG;
4606
4607 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4608 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX_VALID_INIT_PKG.get_evnt_typ_mappings_info',
4609 'Event type record not found in cache. Populating from database ');
4610 END IF;
4611
4612 X_TBL_INDEX := l_index;
4613 EXIT;
4614
4615 END LOOP;
4616
4617 END IF;
4618
4619 EXCEPTION
4620 WHEN OTHERS THEN
4621
4622 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4623 FND_LOG.STRING(g_level_unexpected,
4624 'ZX.PLSQL.ZX_VALID_INIT_PKG.get_evnt_typ_mappings_info',
4625 'Exception in ZX_VALID_INIT_PKG.get_evnt_typ_mappings_info. '||SQLCODE||SQLERRM);
4626 END IF;
4627
4628 IF c_evnt_typ_mapping_info%ISOPEN then
4629 close c_evnt_typ_mapping_info;
4630 END IF;
4631
4632 END get_event_typ_mappings_info;
4633
4634 PROCEDURE populate_event_cls_typs
4635 IS
4636
4637 cursor c_get_evnt_cls_typs is
4638 select TAX_EVENT_CLASS_CODE,
4639 TAX_EVENT_TYPE_CODE,
4640 STATUS_CODE
4641 from zx_evnt_cls_typs;
4642 l_index binary_integer;
4643
4644 BEGIN
4645
4646 FOR l_evnt_cls_typs_rec in c_get_evnt_cls_typs LOOP
4647
4648 l_index := dbms_utility.get_hash_value(l_evnt_cls_typs_rec.TAX_EVENT_CLASS_CODE ||
4649 l_evnt_cls_typs_rec.TAX_EVENT_TYPE_CODE,
4650 1,8192);
4651
4652 ZX_GLOBAL_STRUCTURES_PKG.g_zx_evnt_cls_typs_tbl(l_index) := l_evnt_cls_typs_rec.STATUS_CODE;
4653
4654 END LOOP;
4655
4656 EXCEPTION
4657 WHEN OTHERS THEN
4658 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4659 FND_LOG.STRING(g_level_unexpected,
4660 'ZX.PLSQL.ZX_VALID_INIT_PKG.populate_event_cls_typs',
4661 'Exception in ZX_VALID_INIT_PKG.populate_event_cls_typs. '||SQLCODE||SQLERRM);
4662 END IF;
4663
4664 IF c_get_evnt_cls_typs%ISOPEN then
4665 close c_get_evnt_cls_typs;
4666 END IF;
4667 END populate_event_cls_typs;
4668
4669 PROCEDURE populate_tax_event_class_info
4670 IS
4671
4672 cursor c_get_tax_evnt_cls is
4673 select TAX_EVENT_CLASS_CODE,
4674 NORMAL_SIGN_FLAG,
4675 ASC_INTRCMP_TX_EVNT_CLS_CODE
4676 from zx_event_classes_b;
4677
4678 BEGIN
4679
4680 FOR l_tax_evnt_cls_rec in c_get_tax_evnt_cls LOOP
4681
4682 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(l_tax_evnt_cls_rec.TAX_EVENT_CLASS_CODE).TAX_EVENT_CLASS_CODE := l_tax_evnt_cls_rec.TAX_EVENT_CLASS_CODE;
4683 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(l_tax_evnt_cls_rec.TAX_EVENT_CLASS_CODE).NORMAL_SIGN_FLAG := l_tax_evnt_cls_rec.NORMAL_SIGN_FLAG;
4684 ZX_GLOBAL_STRUCTURES_PKG.g_zx_tax_evnt_cls_tbl(l_tax_evnt_cls_rec.TAX_EVENT_CLASS_CODE).ASC_INTRCMP_TX_EVNT_CLS_CODE := l_tax_evnt_cls_rec.ASC_INTRCMP_TX_EVNT_CLS_CODE;
4685
4686 END LOOP;
4687
4688 EXCEPTION
4689 WHEN OTHERS THEN
4690 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4691 FND_LOG.STRING(g_level_unexpected,
4692 'ZX.PLSQL.ZX_VALID_INIT_PKG.populate_tax_event_class_info',
4693 'Exception in ZX_VALID_INIT_PKG.populate_tax_event_class_info. '||SQLCODE||SQLERRM);
4694 END IF;
4695
4696 IF c_get_tax_evnt_cls%ISOPEN then
4697 close c_get_tax_evnt_cls;
4698 END IF;
4699 END populate_tax_event_class_info;
4700
4701 END ZX_VALID_INIT_PARAMS_PKG;
4702