225: --------------------------------------------------------------------------
226: PROCEDURE get_regime_cache_info (
227: p_tax_regime_code IN zx_regimes_b.tax_regime_code%TYPE,
228: p_tax_determine_date IN DATE,
229: p_tax_regime_rec OUT NOCOPY zx_global_structures_pkg.tax_regime_rec_type,
230: p_return_status OUT NOCOPY VARCHAR2,
231: p_error_buffer OUT NOCOPY VARCHAR2) IS
232:
233: CURSOR get_regime_info_csr IS
263: p_return_status := FND_API.G_RET_STS_SUCCESS;
264:
265: -- check if this tax regime exists in the cache structure
266: --
267: l_index := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST;
268: WHILE l_index IS NOT NULL LOOP
269:
270: IF(p_tax_regime_code =
271: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).tax_regime_code AND
267: l_index := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST;
268: WHILE l_index IS NOT NULL LOOP
269:
270: IF(p_tax_regime_code =
271: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).tax_regime_code AND
272: (p_tax_determine_date >=
273: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_from AND
274: (p_tax_determine_date <=
275: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to OR
269:
270: IF(p_tax_regime_code =
271: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).tax_regime_code AND
272: (p_tax_determine_date >=
273: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_from AND
274: (p_tax_determine_date <=
275: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to OR
276: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to IS NULL)))
277: THEN
271: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).tax_regime_code AND
272: (p_tax_determine_date >=
273: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_from AND
274: (p_tax_determine_date <=
275: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to OR
276: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to IS NULL)))
277: THEN
278:
279: p_tax_regime_rec := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index);
272: (p_tax_determine_date >=
273: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_from AND
274: (p_tax_determine_date <=
275: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to OR
276: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to IS NULL)))
277: THEN
278:
279: p_tax_regime_rec := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index);
280:
275: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to OR
276: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index).effective_to IS NULL)))
277: THEN
278:
279: p_tax_regime_rec := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_index);
280:
281: l_in_cache_flg := TRUE;
282:
283: EXIT;
281: l_in_cache_flg := TRUE;
282:
283: EXIT;
284: END IF;
285: l_index := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.NEXT(l_index);
286: END LOOP;
287:
288: IF NOT l_in_cache_flg THEN
289:
315:
316: ELSE
317: -- populate the global cache structure for regime
318: --
319: ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(
320: p_tax_regime_rec.tax_regime_id) := p_tax_regime_rec;
321:
322: END IF;
323: