92: l_offset_tax ZX_TAXES_B.TAX%TYPE;
93: l_offset_tax_regime_code ZX_REGIMES_B.TAX_REGIME_CODE%TYPE;
94: l_offset_tax_status_code ZX_STATUS_B.TAX_STATUS_CODE%TYPE;
95: l_offset_tax_rate_code ZX_RATES_B.OFFSET_TAX_RATE_CODE%TYPE;
96: l_tax_rate_rec ZX_TDS_UTILITIES_PKG.zx_rate_info_rec_type;
97: l_tax_class ZX_RATES_B.TAX_CLASS%TYPE;
98:
99: BEGIN
100: g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
118: l_tax_rate_id := p_offset_tax_line_rec.tax_rate_id;
119: l_offset_tax_regime_code := p_offset_tax_line_rec.tax_regime_code;
120:
121:
122: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(l_tax_rate_id) THEN
123: l_offset_tax_rate_code :=
124: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax_rate_code;
125: l_offset_tax_status_code :=
126: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_status_code;
120:
121:
122: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(l_tax_rate_id) THEN
123: l_offset_tax_rate_code :=
124: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax_rate_code;
125: l_offset_tax_status_code :=
126: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_status_code;
127: l_offset_tax :=
128: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax;
122: IF ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl.EXISTS(l_tax_rate_id) THEN
123: l_offset_tax_rate_code :=
124: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax_rate_code;
125: l_offset_tax_status_code :=
126: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_status_code;
127: l_offset_tax :=
128: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax;
129:
130: l_initial_tax_rate :=
124: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax_rate_code;
125: l_offset_tax_status_code :=
126: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_status_code;
127: l_offset_tax :=
128: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax;
129:
130: l_initial_tax_rate :=
131: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).percentage_rate;
132: ELSE
127: l_offset_tax :=
128: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).offset_tax;
129:
130: l_initial_tax_rate :=
131: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).percentage_rate;
132: ELSE
133:
134: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
135: p_tax_rate_id => l_tax_rate_id,
130: l_initial_tax_rate :=
131: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id).percentage_rate;
132: ELSE
133:
134: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
135: p_tax_rate_id => l_tax_rate_id,
136: p_tax_rate_rec => l_tax_rate_rec,
137: p_return_status => p_return_status,
138: p_error_buffer => p_error_buffer
140: IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
141: IF (g_level_error >= g_current_runtime_level ) THEN
142: FND_LOG.STRING(g_level_error,
143: 'ZX.PLSQL.ZX_TDS_OFFSET_TAX_DETM_PKG.process_offset_tax',
144: 'Incorrect status returned from ZX_TDS_UTILITIES_PKG.get_tax_rate_info'||
145: 'p_return_status = ' || p_return_status);
146: FND_LOG.STRING(g_level_error,
147: 'ZX.PLSQL.ZX_TDS_OFFSET_TAX_DETM_PKG.process_offset_tax',
148: 'p_error_buffer = ' || p_error_buffer);
149: END IF;
150: RETURN;
151: END IF;
152:
153: ZX_TDS_UTILITIES_PKG.g_tax_rate_info_tbl(l_tax_rate_id) := l_tax_rate_rec;
154:
155: l_offset_tax_rate_code := l_tax_rate_rec.offset_tax_rate_code;
156: l_offset_tax_status_code := l_tax_rate_rec.offset_status_code;
157: l_offset_tax := l_tax_rate_rec.offset_tax;
257: IS
258: --l_Rate_Type_Code ZX_RATES_B.Rate_Type_Code%TYPE;
259: --l_percentage_rate ZX_RATES_B.PERCENTAGE_RATE%TYPE;
260: --l_quantity_rate ZX_RATES_B.QUANTITY_RATE%TYPE;
261: l_tax_rate_rec ZX_TDS_UTILITIES_PKG.zx_rate_info_rec_type;
262:
263: /* Bug#5417753- use cache structure
264: CURSOR get_offset_info_csr
265: (c_tax_rate_code ZX_RATES_B.TAX_RATE_CODE%TYPE,
318: END IF;
319: CLOSE get_offset_info_csr;
320: */
321:
322: ZX_TDS_UTILITIES_PKG.get_tax_rate_info(
323: p_tax_regime_code,
324: p_tax,
325: p_tax_jurisdiction_code,
326: p_tax_status_code,
592: -- now round the tax amount tax currency
593: --
594:
595: l_tax_id := p_offset_tax_line_rec.tax_id;
596: l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
597: l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
598:
599: p_offset_tax_line_rec.tax_amt_tax_curr :=
600: ZX_TDS_TAX_ROUNDING_PKG.round_tax(
593: --
594:
595: l_tax_id := p_offset_tax_line_rec.tax_id;
596: l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
597: l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
598:
599: p_offset_tax_line_rec.tax_amt_tax_curr :=
600: ZX_TDS_TAX_ROUNDING_PKG.round_tax(
601: p_offset_tax_line_rec.tax_amt_tax_curr,
670: p_return_status OUT NOCOPY VARCHAR2,
671: p_error_buffer OUT NOCOPY VARCHAR2)
672:
673: IS
674: l_status_rec ZX_TDS_UTILITIES_PKG.ZX_STATUS_INFO_REC;
675:
676: BEGIN
677: IF (g_level_statement >= g_current_runtime_level ) THEN
678: FND_LOG.STRING(g_level_statement,
680: 'ZX_TDS_OFFSET_TAX_DETM_PKG: get_tax_status_id(+)');
681: END IF;
682: p_return_status := FND_API.G_RET_STS_SUCCESS;
683:
684: ZX_TDS_UTILITIES_PKG.get_tax_status_cache_info(
685: p_tax,
686: p_tax_regime_code,
687: p_tax_status_code,
688: p_tax_determine_date,
729: p_return_status OUT NOCOPY VARCHAR2,
730: p_error_buffer OUT NOCOPY VARCHAR2)
731:
732: IS
733: l_tax_rec ZX_TDS_UTILITIES_PKG.ZX_TAX_INFO_CACHE_REC;
734: BEGIN
735: IF (g_level_statement >= g_current_runtime_level ) THEN
736: FND_LOG.STRING(g_level_statement,
737: 'ZX.PLSQL.ZX_TDS_OFFSET_TAX_DETM_PKG.get_tax_id.BEGIN',
739: END IF;
740:
741: p_return_status := FND_API.G_RET_STS_SUCCESS;
742:
743: ZX_TDS_UTILITIES_PKG.get_tax_cache_info(
744: p_tax_regime_code,
745: p_tax,
746: p_tax_determine_date,
747: l_tax_rec,
965: RETURN;
966: END IF;
967:
968: p_offset_tax_line_rec.tax_type_code :=
969: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(p_offset_tax_line_rec.tax_id).tax_type_code;
970:
971: --
972: -- populate amount columns
973: --
983:
984: -- bug 5580990: populate legal_reporting_status
985: IF p_event_class_rec.tax_reporting_flag = 'Y' THEN
986: p_offset_tax_line_rec.legal_reporting_status :=
987: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(
988: p_offset_tax_line_rec.tax_id).legal_reporting_status_def_val;
989: END IF;
990:
991: --