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