[Home] [Help]
668: /*========================================================================
669: | PRIVATE PROCEDURE copy_tax_trx_data
670: |
671: | DESCRIPTION
672: | This procedure copies the quote objects tax data into OKL_TAX_TRX_DETAILS
673: | table
674: |
675: | CALLED FROM
676: | process_quote_tax()
792:
793: -- Populate the tax data into eBtax global session table
794: IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
795: FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_PROCESS_SALES_TAX_PVT.copy_tax_trx_data.',
796: 'INSERT INTO OKL_TAX_TRX_DETAILS');
797: END IF;
798:
799: l_tax_lines_tbl.DELETE;
800: FOR l_get_tax_data_rec IN l_get_tax_data_csr(cp_trx_id => p_trx_id,
905: FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_PROCESS_SALES_TAX_PVT.calculate_tax.',
906: 'l_tax_lines_tbl.COUNT '||l_tax_lines_tbl.COUNT);
907: END IF;
908:
909: ---- Insert into okl_tax_trx_details begin -----
910: BEGIN
911: IF l_tax_lines_tbl.COUNT > 0 THEN
912: FORALL indx in l_tax_lines_tbl.FIRST..l_tax_lines_tbl.LAST
913: -- SAVE EXCEPTIONS
910: BEGIN
911: IF l_tax_lines_tbl.COUNT > 0 THEN
912: FORALL indx in l_tax_lines_tbl.FIRST..l_tax_lines_tbl.LAST
913: -- SAVE EXCEPTIONS
914: INSERT INTO okl_tax_trx_details VALUES l_tax_lines_tbl(indx);
915: END IF;
916: EXCEPTION
917: WHEN OTHERS THEN
918: IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
920: OKL_API.set_message(
921: p_app_name => 'OKL',
922: p_msg_name => 'OKL_TX_TRX_INS_ERR',
923: p_token1 => 'TABLE_NAME',
924: p_token1_value => 'okl_tax_trx_details',
925: p_token2 => 'ERROR_CODE',
926: p_token2_value => SQLERRM(SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
927: p_token3 => 'ITERATION',
928: p_token3_value => SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
929: END LOOP;
930: RAISE OKL_API.G_EXCEPTION_ERROR;
931: END IF;
932: END;
933: ---- Insert into okl_tax_trx_details end -----
934:
935: IF (G_DEBUG_LEVEL_PROCEDURE >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
936: FND_LOG.STRING(G_DEBUG_LEVEL_PROCEDURE,'OKL_PROCESS_SALES_TAX_PVT.copy_tax_trx_data ','End(-)');
937: END IF;
2371: precision,
2372: currency_conversion_type,
2373: currency_conversion_rate,
2374: currency_conversion_date
2375: FROM okl_tax_trx_details
2376: WHERE trx_id = p_trx_id
2377: AND trx_line_id = p_trx_line_id
2378: AND application_id = p_application_id
2379: AND trx_level_type = p_trx_level_type
8156: | 08-APR-05 SECHAWLA Created
8157: | 22-APR-08 SECHAWLA 6975983 Do not error out if there is no tax in eBTax for
8158: | the Billed stream elements. Create taxable line
8159: | in okl_tax_sources. There won't be aby tax lines
8160: | in okl_tax_trx_details.
8161: |
8162: *=======================================================================*/
8163: PROCEDURE process_tax_schedule_tax(
8164: p_api_version IN NUMBER,
8354:
8355: -- get the tax lines corresponding to billing tax source ID
8356: CURSOR l_taxtrxdetails_csr(cp_txs_id IN NUMBER) IS
8357: SELECT *
8358: FROM okl_tax_trx_details
8359: WHERE txs_id = cp_txs_id;
8360:
8361: -- Get the vendor for asset/service/fee line
8362: CURSOR l_partyroles_csr(cp_line_id IN NUMBER) IS
9017: ---- Insert into okl_tax_sources end -----
9018:
9019: IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
9020: FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_PROCESS_SALES_TAX_PVT.process_tax_schedule_tax.',
9021: 'before Insert into okl_tax_trx_details ');
9022: END IF;
9023:
9024: ---- Insert into okl_tax_trx_details begin -----
9025: BEGIN
9020: FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_PROCESS_SALES_TAX_PVT.process_tax_schedule_tax.',
9021: 'before Insert into okl_tax_trx_details ');
9022: END IF;
9023:
9024: ---- Insert into okl_tax_trx_details begin -----
9025: BEGIN
9026: IF l_tax_trx_details_tbl.COUNT > 0 THEN
9027: FORALL indx IN l_tax_trx_details_tbl.FIRST..l_tax_trx_details_tbl.LAST
9028: -- SAVE EXCEPTIONS
9025: BEGIN
9026: IF l_tax_trx_details_tbl.COUNT > 0 THEN
9027: FORALL indx IN l_tax_trx_details_tbl.FIRST..l_tax_trx_details_tbl.LAST
9028: -- SAVE EXCEPTIONS
9029: INSERT INTO okl_tax_trx_details VALUES l_tax_trx_details_tbl(indx);
9030: END IF;
9031: EXCEPTION
9032: WHEN OTHERS THEN
9033: IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
9034: FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
9035: OKL_API.set_message(p_app_name => 'OKL',
9036: p_msg_name => 'OKL_TX_TRX_INS_ERR',
9037: p_token1 => 'TABLE_NAME',
9038: p_token1_value => 'OKL_TAX_TRX_DETAILS',
9039: p_token2 => 'ERROR_CODE',
9040: p_token2_value => SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
9041: p_token3 => 'ITERATION',
9042: p_token3_value => SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
9044: RAISE OKL_API.G_EXCEPTION_ERROR;
9045: END IF;
9046: END;
9047:
9048: ---- Insert into okl_tax_trx_details end -----
9049:
9050: -- At this point tax sources and tax trx details have been created for the already billed
9051: -- and taxed stream elements under transaction type 'Tax Schedule'
9052:
9993:
9994: -- get the previous tax trx details
9995: CURSOR l_prevtaxtrxdet_csr(cp_txs_id IN NUMBER) IS
9996: SELECT ID
9997: FROM okl_tax_trx_details
9998: WHERE txs_id = cp_txs_id;
9999:
10000: -- get the tax eligible quote lines
10001: CURSOR l_txlquotelines_csr(cp_qte_id IN NUMBER) IS
10187: -- delete from both the tables.
10188: BEGIN
10189: IF l_prevtaxtrxdet_tbl.COUNT > 0 THEN
10190: FORALL i IN l_prevtaxtrxdet_tbl.FIRST..l_prevtaxtrxdet_tbl.LAST
10191: DELETE FROM OKL_TAX_TRX_DETAILS WHERE id = l_prevtaxtrxdet_tbl(i);
10192: END IF;
10193: EXCEPTION
10194: WHEN OTHERS THEN
10195: IF SQL%BULK_EXCEPTIONS.COUNT > 0 THEN
10197: OKL_API.set_message(
10198: p_app_name => 'OKL',
10199: p_msg_name => 'OKL_TX_TRX_DEL_ERR',
10200: p_token1 => 'TABLE_NAME',
10201: p_token1_value => 'OKL_TAX_TRX_DETAILS',
10202: p_token2 => 'ERROR_CODE',
10203: p_token2_value => SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
10204: p_token3 => 'ITERATION',
10205: p_token3_value => SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
10209: END;
10210:
10211: IF (G_DEBUG_LEVEL_STATEMENT >= G_DEBUG_CURRENT_RUNTIME_LEVEL) THEN
10212: FND_LOG.STRING(G_DEBUG_LEVEL_STATEMENT,'OKL_PROCESS_SALES_TAX_PVT.process_quote_tax.',
10213: 'Deleted from okl_tax_trx_details... ');
10214: END IF;
10215:
10216: BEGIN
10217: FORALL i IN l_prevtaxsrc_tbl.FIRST..l_prevtaxsrc_tbl.LAST
12236:
12237: -- get the tax lines corresponding to previous upfront tax source ID
12238: CURSOR l_taxtrxdetails_csr(cp_txs_id IN NUMBER) IS
12239: SELECT *
12240: FROM okl_tax_trx_details
12241: WHERE txs_id = cp_txs_id;
12242:
12243: -- get the contract id
12244: CURSOR l_okcklines_csr(cp_kle_id IN NUMBER) IS
15790:
15791: -- Get the previous tax trx details
15792: CURSOR l_prevtaxtrxdet_csr(cp_txs_id IN NUMBER) IS
15793: SELECT ID
15794: FROM okl_tax_trx_details
15795: WHERE txs_id = cp_txs_id;
15796:
15797: -- Get all the assets of the sales quote
15798: CURSOR l_quoteassets_csr(cp_quote_id IN NUMBER) IS
16089: -- Delete from both the tables.
16090: BEGIN
16091: IF l_prevtaxtrxdet_tbl.COUNT > 0 THEN
16092: FORALL i IN l_prevtaxtrxdet_tbl.FIRST..l_prevtaxtrxdet_tbl.LAST
16093: DELETE FROM OKL_TAX_TRX_DETAILS WHERE id = l_prevtaxtrxdet_tbl(i);
16094:
16095: END IF;
16096: EXCEPTION
16097: WHEN OTHERS THEN
16099: FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT LOOP
16100: OKL_API.set_message( p_app_name => 'OKL',
16101: p_msg_name => 'OKL_TX_TRX_DEL_ERR',
16102: p_token1 => 'TABLE_NAME',
16103: p_token1_value => 'OKL_TAX_TRX_DETAILS',
16104: p_token2 => 'ERROR_CODE',
16105: p_token2_value => SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE),
16106: p_token3 => 'ITERATION',
16107: p_token3_value => SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);