[Home] [Help]
PACKAGE BODY: APPS.ZX_TDS_TAX_STATUS_DETM_PKG
Source
1 package body ZX_TDS_TAX_STATUS_DETM_PKG as
2 /* $Header: zxditaxstsdtpkgb.pls 120.29.12010000.2 2008/09/11 18:22:14 appradha ship $ */
3
4
5 PROCEDURE get_def_tax_status_info(
6 p_tax IN ZX_TAXES_B.TAX%TYPE,
7 p_tax_regime_code IN ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
8 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
9 p_status_rec OUT NOCOPY ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC,
10 p_return_status OUT NOCOPY VARCHAR2,
11 p_error_buffer OUT NOCOPY VARCHAR2);
12
13
14 PROCEDURE update_det_tax_line(
15 i IN BINARY_INTEGER,
16 p_status_result_id IN ZX_LINES.STATUS_RESULT_ID%TYPE,
17 p_status_rec IN ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC);
18
19 PROCEDURE rule_base_tax_status_detm(
20 p_structure_name IN VARCHAR2,
21 p_structure_index IN BINARY_INTEGER,
22 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
23 p_status_result_id OUT NOCOPY ZX_LINES.STATUS_RESULT_ID%TYPE,
24 p_tax_id IN ZX_TAXES_B.TAX_ID%TYPE,
25 p_tax_status_code IN OUT NOCOPY ZX_STATUS_B.TAX_STATUS_CODE%TYPE,
26 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
27 p_return_status OUT NOCOPY VARCHAR2,
28 p_error_buffer OUT NOCOPY VARCHAR2);
29
30 g_current_runtime_level NUMBER;
31 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
32 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
33 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
34 g_level_error CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
35 -----------------------------------------------------------------------
36 -- PUBLIC PROCEDURE
37 -- get_tax_status
38 --
39 -- DESCRIPTION
40 --
41 -- This procedure is the entry point to Tax status determination process
42 -- It gets tax status information for a given applicable tax
43 --
44
45 PROCEDURE get_tax_status(
46 p_begin_index IN BINARY_INTEGER,
47 p_end_index IN BINARY_INTEGER,
48 p_structure_name IN VARCHAR2,
49 p_structure_index IN BINARY_INTEGER,
50 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
51 p_return_status OUT NOCOPY VARCHAR2,
52 p_error_buffer OUT NOCOPY VARCHAR2)
53 IS
54
55 l_tax_status_code ZX_STATUS_B.tax_status_code%TYPE;
56 l_tax_rec ZX_TDS_UTILITIES_PKG.ZX_TAX_INFO_CACHE_REC;
57 l_tax_determine_date ZX_LINES.TAX_DETERMINE_DATE%TYPE;
58 l_tax_id ZX_TAXES_B.TAX_ID%TYPE;
59 l_tax_regime_code ZX_REGIMES_B.TAX_REGIME_CODE%TYPE;
60 l_tax ZX_TAXES_B.TAX%TYPE;
61 l_status_result_id ZX_LINES.STATUS_RESULT_ID%TYPE;
62 l_status_rec ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC;
63
64 BEGIN
65 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
66
67 IF (g_level_procedure >= g_current_runtime_level ) THEN
68
69 FND_LOG.STRING(g_level_procedure,
70 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status.BEGIN',
71 'ZX_TDS_TAX_STATUS_DETM_PKG: get_tax_status(+)');
72
73
74 END IF;
75
76 -- init return status to FND_API.G_RET_STS_SUCCESS
77 p_return_status := FND_API.G_RET_STS_SUCCESS;
78 p_error_buffer := NULL;
79
80 --
81 -- check if begin_index and end_index have values
82 --
83 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
84 p_return_status:= FND_API.G_RET_STS_ERROR;
85
86 IF (g_level_error >= g_current_runtime_level ) THEN
87 FND_LOG.STRING(g_level_error,
88 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
89 'Begin index or End index is null');
90 END IF;
91 RETURN;
92 END IF;
93
94 --
95 -- loop through the detail tax lines structure to get tax status code for
96 -- each line, exit loop and return to calling process if error occurs
97 --
98
99 FOR i IN p_begin_index .. p_end_index LOOP
100 IF (g_level_statement >= g_current_runtime_level ) THEN
101 FND_LOG.STRING(g_level_statement,
102 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
103 'processing detail line index = ' || to_char(i));
104 END IF;
105
106 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
107 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
108 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
109 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
110 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
111 THEN
112
113 NULL;
114
115 ELSE
116
117 --
118 -- init status info
119 --
120 l_status_result_id := NULL;
121 l_status_rec := NULL;
122 l_tax_status_code := NULL;
123
124 l_tax_determine_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date;
125 l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
126 l_tax_rec := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id);
127 l_tax_regime_code := l_tax_rec.tax_regime_code;
128 l_tax := l_tax_rec.tax;
129
130 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code IS NULL THEN
131
132 --
133 -- non manual tax line
134 --
135 IF l_tax_rec.Tax_Status_Rule_Flag = 'N' THEN
136 --
137 -- no rule defined, get the default tax status
138 -- code from zx_status
139 --
140 get_def_tax_status_info(l_tax,
141 l_tax_regime_code,
142 l_tax_determine_date,
143 l_status_rec,
144 p_return_status,
145 p_error_buffer);
146 ELSE
147 --
148 -- tax status determination rules apply for this tax
149 --
150 rule_base_tax_status_detm(
151 p_structure_name,
152 p_structure_index,
153 p_event_class_rec,
154 l_status_result_id,
155 l_tax_id,
156 l_tax_status_code,
157 l_tax_determine_date,
158 p_return_status,
159 p_error_buffer);
160
161 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
162 IF (g_level_error >= g_current_runtime_level ) THEN
163 FND_LOG.STRING(g_level_error,
164 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
165 'Incorrect return_status after calling rule_base_tax_status_detm()');
166 FND_LOG.STRING(g_level_error,
167 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
168 'p_return_status : '|| p_return_status);
169 END IF;
170 EXIT;
171 ELSE
172
173 IF l_tax_status_code IS NOT NULL THEN
174
175 -- check valid tax status id and populate tax status cache
176 --
177 ZX_TDS_UTILITIES_PKG.get_tax_status_cache_info(
178 l_tax,
179 l_tax_regime_code,
180 l_tax_status_code,
181 l_tax_determine_date,
182 l_status_rec,
183 p_return_status,
184 p_error_buffer);
185 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
186 IF (g_level_error >= g_current_runtime_level ) THEN
187 FND_LOG.STRING(g_level_error,
188 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
189 'Incorrect return_status after calling '||
190 'ZX_TDS_UTILITIES_PKG.get_tax_status_cache_info()' );
191 FND_LOG.STRING(g_level_error,
192 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
193 'No valid tax status id for the tax status code ' ||
194 'returned from rule engine. Need to get default tax status.');
195 END IF;
196 -- reset return status
197 --
198 p_return_status := FND_API.G_RET_STS_SUCCESS;
199 END IF;
200 END IF;
201
202 IF l_tax_status_code IS NULL OR l_status_rec.tax_status_id IS NULL
203 THEN
204 --
205 -- rule based determination returns success
206 -- but no conditions matched, get status code
207 -- from the default
208 --
209 get_def_tax_status_info(l_tax,
210 l_tax_regime_code,
211 l_tax_determine_date,
212 l_status_rec,
213 p_return_status,
214 p_error_buffer);
215 END IF; -- l_tax_status_code IS NULL
216 END IF; -- of checking p_return_status after calling rule based determination
217 END IF; -- of checking Tax_Status_Rule_Flag
218 --
219 -- should have the tax status code at this point, update
220 -- detail tax line with tax status info
221 --
222
223 IF l_status_rec.tax_status_code IS NULL THEN
224 IF (g_level_error >= g_current_runtime_level ) THEN
225 FND_LOG.STRING(g_level_error,
226 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
227 'tax status not found for tax: ' || l_tax);
228 END IF;
229
230 FND_MESSAGE.SET_NAME('ZX','ZX_STATUS_NOT_FOUND');
231 FND_MESSAGE.SET_TOKEN('TAX',l_tax);
232 -- FND_MSG_PUB.Add;
233
234 ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
235 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
236 ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
237 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
238
239 ZX_API_PUB.add_msg(
240 ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
241 RETURN;
242 END IF;
243
244 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
245 EXIT;
246 ELSE
247 update_det_tax_line(i,
248 l_status_result_id,
249 l_status_rec);
250 END IF; -- of checking p_return_status after getting tax status info
251 END IF; -- of checking event_class_rec
252 END IF;
253 END LOOP;
254
255 IF (g_level_procedure >= g_current_runtime_level ) THEN
256
257 FND_LOG.STRING(g_level_procedure,
258 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status.END',
259 'ZX_TDS_TAX_STATUS_DETM_PKG: get_tax_status(-)'||p_return_status);
260 END IF;
261
262 EXCEPTION
263 WHEN OTHERS THEN
264 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
265 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
266
267 IF (g_level_unexpected >= g_current_runtime_level ) THEN
268 FND_LOG.STRING(g_level_unexpected,
269 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_tax_status',
270 p_error_buffer);
271 END IF;
272
273 END get_tax_status;
274
275 -----------------------------------------------------------------------
276 -- PRIVATE PROCEDURE
277 -- get_def_tax_status_info
278 --
279 -- DESCRIPTION
280 -- This procedure gets the default tax status code and
281 -- all information related to this status
282 --
283 PROCEDURE get_def_tax_status_info(
284 p_tax IN ZX_TAXES_B.TAX%TYPE,
285 p_tax_regime_code IN ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
286 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
287 p_status_rec OUT NOCOPY ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC,
288 p_return_status OUT NOCOPY VARCHAR2,
289 p_error_buffer OUT NOCOPY VARCHAR2)
290
291 IS
292 l_index BINARY_INTEGER;
293
294 CURSOR get_def_status_info_csr
295 (c_tax ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
296 c_tax_regime_code ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
297 c_tax_determine_date ZX_LINES.TAX_DETERMINE_DATE%TYPE)
298 IS
299 SELECT tax_status_id,
300 tax_status_code,
301 tax,
302 tax_regime_code,
303 effective_from,
304 effective_to,
305 Rule_Based_Rate_Flag,
306 Allow_Rate_Override_Flag,
307 Allow_Exemptions_Flag,
308 Allow_Exceptions_Flag
309 -- Vat_Transaction_Type_Code
310 -- Default_Status_Flag,
311 -- default_flg_effective_from,
312 -- default_flg_effective_to
313 FROM ZX_SCO_STATUS_B_V
314 WHERE Default_Status_Flag = 'Y' AND
315 c_tax_determine_date >= DEFAULT_FLG_EFFECTIVE_FROM AND
316 (c_tax_determine_date <= DEFAULT_FLG_EFFECTIVE_TO OR
317 DEFAULT_FLG_EFFECTIVE_TO IS NULL) AND
318 TAX = c_tax AND
319 TAX_REGIME_CODE = c_tax_regime_code AND
320 c_tax_determine_date >= EFFECTIVE_FROM AND
321 (c_tax_determine_date <= EFFECTIVE_TO OR
322 EFFECTIVE_TO IS NULL)
323 --AND rownum = 1;
324 ORDER BY subscription_level_code;
325
326 BEGIN
327 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
328
329 IF (g_level_procedure >= g_current_runtime_level ) THEN
330 FND_LOG.STRING(g_level_procedure,
331 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_def_tax_status_info.BEGIN',
332 'ZX_TDS_TAX_STATUS_DETM_PKG: get_def_tax_status_info(+)'||
333 'tax_regime_code = ' || p_tax_regime_code||
334 'tax = ' || p_tax);
335
336 END IF;
337
338 p_return_status := FND_API.G_RET_STS_SUCCESS;
339
340 OPEN get_def_status_info_csr(p_tax,
341 p_tax_regime_code,
342 p_tax_determine_date);
343 FETCH get_def_status_info_csr INTO
344 p_status_rec.tax_status_id,
345 p_status_rec.tax_status_code,
346 p_status_rec.tax,
347 p_status_rec.tax_regime_code,
348 p_status_rec.effective_from,
349 p_status_rec.effective_to,
350 p_status_rec.Rule_Based_Rate_Flag,
351 p_status_rec.Allow_Rate_Override_Flag,
352 p_status_rec.Allow_Exemptions_Flag,
353 p_status_rec.Allow_Exceptions_Flag;
354 IF get_def_status_info_csr%NOTFOUND THEN
355 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356 p_error_buffer := 'No default tax status found';
357
358 IF (g_level_statement >= g_current_runtime_level ) THEN
359 FND_LOG.STRING(g_level_statement,
360 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_def_tax_status_info',
361 p_error_buffer);
362 END IF;
363 END IF;
364 CLOSE get_def_status_info_csr;
365 --
366 -- update the global status cache structure
367 --
368 IF p_return_status = FND_API.G_RET_STS_SUCCESS THEN
369 l_index := ZX_TDS_UTILITIES_PKG.get_tax_status_index(
370 p_status_rec.tax,
371 p_status_rec.tax_regime_code,
372 p_status_rec.tax_status_code);
373 ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl(l_index) := p_status_rec;
374 END IF;
375
376
377 IF (g_level_procedure >= g_current_runtime_level ) THEN
378 FND_LOG.STRING(g_level_procedure,
379 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_def_tax_status_info.END',
380 'ZX_TDS_TAX_STATUS_DETM_PKG: get_def_tax_status_info(-)'||
381 'tax_status_code = ' ||
382 p_status_rec.tax_status_code);
383 END IF;
384
385 EXCEPTION
386 WHEN OTHERS THEN
387 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
388 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
389 IF get_def_status_info_csr%ISOPEN THEN
390 CLOSE get_def_status_info_csr;
391 END IF;
392 IF (g_level_unexpected >= g_current_runtime_level ) THEN
393 FND_LOG.STRING(g_level_unexpected,
394 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.get_def_tax_status_info',
395 p_error_buffer);
396 END IF;
397 END get_def_tax_status_info;
398
399 -----------------------------------------------------------------------
400 -- PRIVATE PROCEDURE
401 -- rule_base_tax_status_detm
402 --
403 -- DESCRIPTION
404 --
405 -- The procedure is used to get derive tax status code based on the rules
406 -- defined by calling Rule based engine
407 --
408
409 PROCEDURE rule_base_tax_status_detm(
410 p_structure_name IN VARCHAR2,
411 p_structure_index IN BINARY_INTEGER,
412 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
413 p_status_result_id OUT NOCOPY ZX_LINES.STATUS_RESULT_ID%TYPE,
414 p_tax_id IN ZX_TAXES_B.TAX_ID%TYPE,
415 p_tax_status_code IN OUT NOCOPY ZX_STATUS_B.TAX_STATUS_CODE%TYPE,
416 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
417 p_return_status OUT NOCOPY VARCHAR2,
418 p_error_buffer OUT NOCOPY VARCHAR2)
419 IS
420 l_service_type_code ZX_RULES_B.SERVICE_TYPE_CODE%TYPE;
421 l_tax_result_rec ZX_PROCESS_RESULTS%ROWTYPE;
422 l_tax_rule_code ZX_RULES_B.TAX_RULE_CODE%TYPE;
423 l_recovery_type_code ZX_RULES_B.RECOVERY_TYPE_CODE%TYPE;
424
425 BEGIN
426
427 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
428
429 IF (g_level_procedure >= g_current_runtime_level ) THEN
430 FND_LOG.STRING(g_level_procedure,
431 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm.BEGIN',
432 'ZX_TDS_TAX_STATUS_DETM_PKG: rule_base_tax_status_detm(+)');
433 END IF;
434 IF (g_level_statement >= g_current_runtime_level ) THEN
435 FND_LOG.STRING(g_level_statement,
436 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
437 'p_tax_id = ' || to_char(p_tax_id));
438 END IF;
439
440 p_return_status := FND_API.G_RET_STS_SUCCESS;
441
442 l_service_type_code := 'DET_TAX_STATUS';
443
444 ZX_TDS_RULE_BASE_DETM_PVT.rule_base_process(l_service_type_code,
445 p_structure_name,
446 p_structure_index,
447 p_event_class_rec,
448 p_tax_id,
449 p_tax_status_code,
450 p_tax_determine_date,
451 l_tax_rule_code,
452 l_recovery_type_code,
453 l_tax_result_rec,
454 p_return_status,
455 p_error_buffer);
456
457 IF (l_tax_result_rec.alphanumeric_result IS NOT NULL AND
458 p_return_status = FND_API.G_RET_STS_SUCCESS) THEN
459 p_tax_status_code := l_tax_result_rec.alphanumeric_result;
460 p_status_result_id := l_tax_result_rec.result_id;
461 END IF;
462
463 IF (g_level_statement >= g_current_runtime_level ) THEN
464 FND_LOG.STRING(g_level_statement,
465 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
466 'p_return_status = ' || p_return_status);
467 FND_LOG.STRING(g_level_statement,
468 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
469 'p_error_buffer = ' || p_error_buffer);
470 FND_LOG.STRING(g_level_statement,
471 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
472 'p_tax_status_code = ' || p_tax_status_code);
473 FND_LOG.STRING(g_level_statement,
474 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
475 'p_status_result_id = ' ||
476 to_char(p_status_result_id));
477 END IF;
478
479 IF (g_level_procedure >= g_current_runtime_level ) THEN
480 FND_LOG.STRING(g_level_procedure,
481 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm.END',
482 'ZX_TDS_TAX_STATUS_DETM_PKG: rule_base_tax_status_detm(-)');
483 END IF;
484
485 EXCEPTION
486 WHEN OTHERS THEN
487 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
488 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
489
490 IF (g_level_unexpected >= g_current_runtime_level ) THEN
491 FND_LOG.STRING(g_level_unexpected,
492 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.rule_base_tax_status_detm',
493 p_error_buffer);
494 END IF;
495
496 END rule_base_tax_status_detm;
497
498 -----------------------------------------------------------------------
499 -- PRIVATE PROCEDURE
500 -- update_det_tax_line
501 --
502 -- DESCRIPTION
503 --
504 -- This procedure is used to update the detail tax lines structure
505 -- with tax status information
506 --
507
508 PROCEDURE update_det_tax_line(
509 i IN BINARY_INTEGER,
510 p_status_result_id IN ZX_LINES.STATUS_RESULT_ID%TYPE,
511 p_status_rec IN ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC)
512 IS
513 BEGIN
514 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
515
516 IF (g_level_procedure >= g_current_runtime_level ) THEN
517 FND_LOG.STRING(g_level_procedure,
518 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.update_det_tax_line.BEGIN',
519 'ZX_TDS_TAX_STATUS_DETM_PKG: update_det_tax_line(+)');
520 END IF;
521
522 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_id := p_status_rec.tax_status_id;
523 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code := p_status_rec.tax_status_code;
524 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).status_result_id := p_status_result_id;
525 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_message_status := NULL;
526
527 IF (g_level_procedure >= g_current_runtime_level ) THEN
528 FND_LOG.STRING(g_level_procedure,
529 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.update_det_tax_line.END',
530 'ZX_TDS_TAX_STATUS_DETM_PKG: update_det_tax_line(-)');
531 END IF;
532
533 EXCEPTION
534 WHEN OTHERS THEN
535 IF (g_level_unexpected >= g_current_runtime_level ) THEN
536 FND_LOG.STRING(g_level_unexpected,
537 'ZX.PLSQL.ZX_TDS_TAX_STATUS_DETM_PKG.update_det_tax_line',
538 sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80));
539 END IF;
540
541 END update_det_tax_line;
542
543 END ZX_TDS_TAX_STATUS_DETM_PKG;