3498:
3499: IS
3500: l_amt_tax_curr NUMBER;
3501: l_rate_type_code ZX_RATES_B.RATE_TYPE_CODE%TYPE;
3502: l_tax_rate_rec ZX_TDS_UTILITIES_PKG.ZX_RATE_INFO_REC_TYPE;
3503:
3504: BEGIN
3505:
3506: IF (g_level_statement >= g_current_runtime_level ) THEN
3512: END IF;
3513:
3514: p_return_status := FND_API.G_RET_STS_SUCCESS;
3515:
3516: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3517: l_rate_type_code :=
3518: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3519: ELSE
3520: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3514: p_return_status := FND_API.G_RET_STS_SUCCESS;
3515:
3516: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3517: l_rate_type_code :=
3518: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3519: ELSE
3520: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3521: p_tax_rate_id => p_tax_rate_id,
3522: p_tax_rate_rec => l_tax_rate_rec,
3516: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3517: l_rate_type_code :=
3518: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3519: ELSE
3520: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3521: p_tax_rate_id => p_tax_rate_id,
3522: p_tax_rate_rec => l_tax_rate_rec,
3523: p_return_status => p_return_status,
3524: p_error_buffer => p_error_buffer);
3608: )
3609: IS
3610: l_amt_funcl_curr NUMBER;
3611: l_rate_type_code ZX_RATES_B.RATE_TYPE_CODE%TYPE;
3612: l_tax_rate_rec ZX_TDS_UTILITIES_PKG.ZX_RATE_INFO_REC_TYPE;
3613:
3614: BEGIN
3615: IF (g_level_statement >= g_current_runtime_level ) THEN
3616: FND_LOG.STRING(g_level_statement,
3621: END IF;
3622:
3623: p_return_status := FND_API.G_RET_STS_SUCCESS;
3624:
3625: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3626: l_rate_type_code :=
3627: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3628: ELSE
3629: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3623: p_return_status := FND_API.G_RET_STS_SUCCESS;
3624:
3625: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3626: l_rate_type_code :=
3627: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3628: ELSE
3629: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3630: p_tax_rate_id => p_tax_rate_id,
3631: p_tax_rate_rec => l_tax_rate_rec,
3625: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(p_tax_rate_id) THEN
3626: l_rate_type_code :=
3627: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(p_tax_rate_id).rate_type_code;
3628: ELSE
3629: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
3630: p_tax_rate_id => p_tax_rate_id,
3631: p_tax_rate_rec => l_tax_rate_rec,
3632: p_return_status => p_return_status,
3633: p_error_buffer => p_error_buffer);
3980: p_error_buffer OUT NOCOPY VARCHAR2
3981: )
3982: IS
3983: l_tax_id ZX_TAXES_B.TAX_ID%TYPE;
3984: l_tax_rec ZX_TDS_UTILITIES_PKG.ZX_TAX_INFO_CACHE_REC;
3985:
3986: BEGIN
3987:
3988: IF (g_level_statement >= g_current_runtime_level ) THEN
3997:
3998: --
3999: -- Bug#5410271- populate cache structure if not exist
4000: --
4001: IF NOT ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl.EXISTS(p_tax_id) THEN
4002: ZX_TDS_UTILITIES_PKG.populate_tax_cache(
4003: p_tax_id,
4004: p_return_status,
4005: p_error_buffer);
3998: --
3999: -- Bug#5410271- populate cache structure if not exist
4000: --
4001: IF NOT ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl.EXISTS(p_tax_id) THEN
4002: ZX_TDS_UTILITIES_PKG.populate_tax_cache(
4003: p_tax_id,
4004: p_return_status,
4005: p_error_buffer);
4006:
4014: RETURN;
4015: END IF;
4016: END IF;
4017:
4018: l_tax_rec := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id);
4019: p_tax_precision := l_tax_rec.tax_precision;
4020: p_tax_min_acct_unit := l_tax_rec.minimum_accountable_unit;
4021: p_tax_currency_code := l_tax_rec.tax_currency_code;
4022: p_tax_currency_conversion_type := l_tax_rec.exchange_rate_type;
4343: l_rnd_sum_unrnd_tx_curr := round(g_hdr_rounding_info_tbl(i).sum_unrnd_tax_amt *
4344: g_hdr_rounding_info_tbl(i).tax_curr_conv_rate,20);
4345: j := g_hdr_rounding_info_tbl(i).tax_id;
4346:
4347: l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(j).tax_precision;
4348: l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(j).minimum_accountable_unit;
4349:
4350: l_rnd_sum_unrnd_tx_curr := round_tax(
4351: l_rnd_sum_unrnd_tx_curr,
4344: g_hdr_rounding_info_tbl(i).tax_curr_conv_rate,20);
4345: j := g_hdr_rounding_info_tbl(i).tax_id;
4346:
4347: l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(j).tax_precision;
4348: l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(j).minimum_accountable_unit;
4349:
4350: l_rnd_sum_unrnd_tx_curr := round_tax(
4351: l_rnd_sum_unrnd_tx_curr,
4352: g_hdr_rounding_info_tbl(i).Rounding_Rule_Code,
5983: l_sum_unrnd_tax_amt NUMBER;
5984: l_sum_rnd_tax_amt NUMBER;
5985: l_sum_rnd_tax_curr NUMBER;
5986: l_sum_rnd_funcl_curr NUMBER;
5987: l_tax_rate_rec ZX_TDS_UTILITIES_PKG.ZX_RATE_INFO_REC_TYPE;
5988: l_rate_type_code ZX_RATES_B.RATE_TYPE_CODE%TYPE;
5989:
5990: l_tax_line_id_tbl TAX_LINE_ID_TBL;
5991: l_internal_organization_id_tbl INTERNAL_ORGANIZATION_ID_TBL;
6663: IF (l_tax_amt_tax_curr_tbl(i) IS NULL OR
6664: l_taxable_amt_tax_curr_tbl(i) IS NULL ) THEN
6665: -- get l_rate_type_code
6666:
6667: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(l_tax_rate_id_tbl(i)) THEN
6668:
6669: l_rate_type_code :=
6670: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id_tbl(i)).rate_type_code;
6671: ELSE
6666:
6667: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(l_tax_rate_id_tbl(i)) THEN
6668:
6669: l_rate_type_code :=
6670: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id_tbl(i)).rate_type_code;
6671: ELSE
6672: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
6673: p_tax_rate_id => l_tax_rate_id_tbl(i),
6674: p_tax_rate_rec => l_tax_rate_rec,
6668:
6669: l_rate_type_code :=
6670: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id_tbl(i)).rate_type_code;
6671: ELSE
6672: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
6673: p_tax_rate_id => l_tax_rate_id_tbl(i),
6674: p_tax_rate_rec => l_tax_rate_rec,
6675: p_return_status => p_return_status,
6676: p_error_buffer => p_error_buffer);
8618:
8619: --
8620: -- get functional currency info
8621: --
8622: IF ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl.EXISTS(p_ledger_id) THEN
8623: --
8624: -- functional currency info can be obtained from the cache structure
8625: --
8626: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8622: IF ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl.EXISTS(p_ledger_id) THEN
8623: --
8624: -- functional currency info can be obtained from the cache structure
8625: --
8626: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8627: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8628: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8629: ELSE
8630: --
8623: --
8624: -- functional currency info can be obtained from the cache structure
8625: --
8626: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8627: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8628: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8629: ELSE
8630: --
8631: -- functional currency info does not exist in cache structure
8624: -- functional currency info can be obtained from the cache structure
8625: --
8626: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8627: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8628: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8629: ELSE
8630: --
8631: -- functional currency info does not exist in cache structure
8632: -- need to obtain from the database
8630: --
8631: -- functional currency info does not exist in cache structure
8632: -- need to obtain from the database
8633: --
8634: ZX_TDS_UTILITIES_PKG.populate_currency_cache
8635: (p_ledger_id,
8636: p_return_status,
8637: p_error_buffer );
8638:
8643: --
8644: RETURN;
8645: END IF;
8646:
8647: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8648: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8649: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8650:
8651: END IF;
8644: RETURN;
8645: END IF;
8646:
8647: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8648: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8649: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8650:
8651: END IF;
8652:
8645: END IF;
8646:
8647: p_funcl_currency_code := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).currency_code;
8648: p_funcl_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).minimum_accountable_unit;
8649: p_funcl_precision := ZX_TDS_UTILITIES_PKG.g_currency_rec_tbl(p_ledger_id).precision;
8650:
8651: END IF;
8652:
8653: IF (g_level_procedure >= g_current_runtime_level ) THEN