Anda di halaman 1dari 102

REM +======================================================================+

REM | Copyright (c) 1996, 2014 Oracle Corporation Redwood Shores, California, US
A|
REM |
All rights reserved.
|
REM +======================================================================+
REM NAME
REM +======================================================================+
REM
REM +======================================================================+
REM DESCRIPTION
REM
REM NOTES
REM
REM HISTORY
REM Bug 5243532 Added by Lakshmi Gopalsami
REM
Removed the cursor set_of_books_cur and implemented
REM
caching logic for getting SOB.
REM +======================================================================+
REM dbdrv: sql ~PROD ~PATH ~FILE none none none sqlplus &phase=plb checkfile(120
.14.12010000.36=120.26.12020000.17):~PROD:~PATH:~FILE
SET VERIFY OFF
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
WHENEVER OSERROR EXIT FAILURE ROLLBACK;
CREATE OR REPLACE PACKAGE BODY jai_om_tax_pkg AS
/* $Header: jai_om_tax.plb 120.26.12020000.17 2014/01/29 05:29:03 mmurtuza ship
$ */
/*----------------------------------------------------------------------------------------FILENAME:
1 08-Aug-2005
Ramananda for Bug#4540783. File Version 120.2
In Procedure recalculate_excise_taxes:
Added a new parameter - p_vat_assess_value and value for the same
as ln_vat_assessable_value
while calling procedure jai_om_tax_pkg.recalculate_oe_taxe
s
2.25-Aug-2006 Bug 5490479, Added by aiyer, File version 120.5
Issue:Org_id parameter in all MOAC related Concurrent programs is gett
ing derived from the profile org_id
As this parameter is hidden hence not visible to users and so us
ers cannot choose any other org_id from the security profile.
Fix:1. The Multi_org_category field for all MOAC related concurrent
programs should be set to 'S' (indicating single org reports).
This would enable the SRS Operating Unit field. User would th
en be able to select operating unit values related to the
security profile.
2. Remove the default value for the parameter p_org_id and make
it Required false, Display false. This would ensure that null value gets passed
to the called procedures/ reports.
3. Change the called procedures/reports. Remove the use of p_org
_id and instead derive the org_id using the function mo_global.get_current_org_i
d
This change has been made many procedures and reports.
The procedure recalculate_excise_taxes has been changed for the s

ame.
01/11/2006 SACSETHI for bug 5228046, File version 120.6
Forward porting the change in 11i bug 5365523 (Additional CVD Enhanc
ement).
This bug has datamodel and spec changes.
16/04/2007 KUNKUMAR for bug 5989740 file version 115.11.6107.2 of file ja_in_ca
lc_taxes_ato_p.sql;
forward porting to R12
17/04/2007
bduvarag for the Bug#5989740, file version 120.8
Forward porting the changes done in 11i bug#5907436
20/05/2007 KUNKUMAR for bugno 5604375, file version 120.9
Issue:Interface Trip Stop concurrent was running into a warni
ng when the shipped qty field was updated
to less than the original ordered qty given during crea
tion of sales order.
Fix: The value of an un-initialized variable was being acces
sed.
Made the appropriate assignment.
15/06/2007 bduvarag for the bug#6072461, Forward porting of 11i bug#5183031
6/18/2007 ssawant for bug 6134057
row_count Changed to rec.lno in calculate_ato_taxes procedure.
12/10/2007 Kevin Cheng

Update the logic for inclusive tax calculation

05-Mar-08 Jia Li Added clause logic for bug# 6846048


Issue: When unit selling price is changed because of discounts
,
inclusive taxes are getting added to the tax amount in th
e JAI_OM_OE_SO_LINES table.
So at ship confirm time, comparing the tax amount in the
lines table with the sum of exclusive taxes
in the taxes table was not matching and hence the trigger
was returning an error.
Fix: Ensuring that only exclusive taxes are added to the tax a
mount in the jai_om_oe_so_lines table.
22-Oct-2008

CSahoo - bug#4918667, File Version 120.14.12010000.2


Issue :- In case of retrobilling functionality, there was a div
ide by zero error which is caused.
The parameter p_line_quantity is being used as a denom
inator, and in case it is zero
it was causing a zero divide error.
Resolution :- made the change that in case the p_line_quantity
is zero , the tax amt is also zero.
March 01. 2010 Bug 9382657
Base Tax Amount is not calculated correctly.
Calculated by multiplying the line amount with effective rate of
the precedences
base_tax_amt_tab(I) := ln_exclusive_price*base_tax_amt_tab(I) +
base_tax_amount_nr_tab(I)
31-Mar-2010

Bug 9327049
Issue - Could not create receipt for RMA for some transactions.
Cause - Problematic code in procedure calculate_ato_taxes. The
pl sql array tax_rate_zero_tab is not not populated for

RMA,
but is being used for comparison in tax calculation. Thi
s raises
Fix

a No Data Found error.


- Added logic to populate the tax_rate_zero_tab array in c

ase of
RMA also.
07-May-2010

Bug 9674771
Issue - Interface trip stop errors out for partial shipment.
Cause - Similar to that of bug 9327049. Here, the base_tax_amount
_nr_tab table is not initialized
for zero rate taxes.
Fix - Added code to initialize the pl sql table for zero rate tax
lines also.
20 Feb2012 mmurtuza for bug13473763
Description:
WRONG TAX CALCULATION ON SALES ORDER WHEN T
AXES APPLIED THROUGH ITEM CATEGORY.
Fix: Modified the procedure calculate_ato_taxes to perform calcu
lation of inclusive and exclsuive taxes.
(Ported from ja_in_calc_prec_taxes procedure)
28-Aug-2012 mmurtuza for bug 14031594
Description: TAXES CALCULATION RESULT IS WRONG FOR IL RMA WHEN THERE IS
ADHOC TAX INVOLVED.
Fix: Added code in calculate_ato_taxes procedure to calcualte tax for RM
A when tax type is adhoc.
06-Aug-2013 mmurtuza for bug 17254045
Description: LEGACY RMA SHOWING TAX AMOUNT AS 0, AFTER APPLY TAX GETTING CALCU
LATED PROP
Fix: Added logic to obtain confirm date
-----------------------------------------------------------------------------------------*/
PROCEDURE calculate_ato_taxes
(
transaction_name VARCHAR2,
P_tax_category_id NUMBER,
p_header_id NUMBER,
p_line_id NUMBER,
p_assessable_value NUMBER default 0,
p_tax_amount IN OUT NOCOPY NUMBER,
p_currency_conv_factor NUMBER,
p_inventory_item_id NUMBER,
p_line_quantity NUMBER,
p_quantity NUMBER,
p_uom_code VARCHAR2,
p_vendor_id NUMBER,
p_currency VARCHAR2,
p_creation_date DATE,
p_created_by NUMBER,
p_last_update_date DATE,
p_last_updated_by NUMBER,
p_last_update_login NUMBER,
p_vat_assessable_Value NUMBER DEFAULT 0,
p_vat_reversal_price NUMBER DEFAULT 0 /*Bug#6072461, bduvarag*/
--,pn_gst_assessable_Value NUMBER DEFAULT 0 -- Added by zhiwei for bug10043656

GST enhancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/


, p_warehouse_id NUMBER DEFAULT 0 -- Added by mmurtuza for bug 16804271
) IS
TYPE num_tab IS TABLE OF number
INDEX BY BINARY_INTEGER;
TYPE tax_amt_num_tab IS TABLE OF number
INDEX BY BINARY_INTEGER;
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
---------------------------------------------------TYPE CHAR_TAB IS TABLE OF VARCHAR2(30)
INDEX BY BINARY_INTEGER; -- Changed size to 30 by mmurtuza for bug 16804271
lt_adhoc_tax_tab
CHAR_TAB;
lt_inclu_tax_tab
CHAR_TAB;
lt_tax_rate_tab
NUM_TAB;
lt_tax_rate_per_rupee
NUM_TAB;
lt_cumul_tax_rate_per_rupee NUM_TAB;
lt_tax_target_tab
NUM_TAB;
lt_tax_amt_rate_tax_tab
TAX_AMT_NUM_TAB;
lt_tax_amt_non_rate_tab
TAX_AMT_NUM_TAB;
lt_func_tax_amt_tab
TAX_AMT_NUM_TAB;
lv_uom_code
VARCHAR2(10) := 'EA';
lv_register_code
VARCHAR2(20);
ln_inventory_item_id
NUMBER;
ln_exclusive_price
NUMBER;
ln_total_non_rate_tax
NUMBER := 0;
ln_total_inclusive_factor
NUMBER;
ln_bsln_amt_nr
NUMBER :=0;
ln_tax_amt_nr
NUMBER(38,10) := 0;
ln_func_tax_amt
NUMBER(38,10) := 0;
ln_vamt_nr
NUMBER(38,10) := 0;
ln_excise_jb
NUMBER;
ln_total_tax_per_rupee
NUMBER;
ln_assessable_value
NUMBER;
ln_vat_assessable_value
NUMBER;
ln_vat_reversal_price
NUMBER;
-- ln_gst_assessable_value
NUMBER; -- Added by zhiwei for GST 2010/09/14
/*Commented by mmurtuza for removing GST Changes*/
---------------------------------------------------p1 num_tab;
p2 num_tab;
p3 num_tab;
p4 num_tab;
p5 num_tab;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
p6 num_tab;
p7 num_tab;
p8 num_tab;
p9 num_tab;
p10 num_tab;
-- END BUG 5228046
tax_rate_tab num_tab;
/*
|| Aiyer for bug#4691616. Added tax_rate_zero_tab table

------------------------------------------------------------tax_rate(i)
tax_rate_tab(i) tax_rate_zero_tab(i)
------------------------------------------------------------NULL
0
0
0
0
-9999
n (non-zero and not null) n
n
------------------------------------------------------------*/
tax_rate_zero_tab

num_tab;

tax_type_tab num_tab;
qty_rate_tab
NUM_TAB; /*By mmurtuza for Bug 14358278*/
tax_amt_tab tax_amt_num_tab;
base_tax_amt_tab tax_amt_num_tab;
base_tax_amount_nr_tab tax_amt_num_tab; /*Bug 9382657*/
end_date_tab num_tab;
rounding_factor_tab num_tab;
bsln_amt number; -- := p_tax_amount; --Ramananda for File.Sql.35
v_conversion_rate number := 0;
v_currency_conv_factor number; -- := p_currency_conv_factor;
--Ramananda fo
r File.Sql.35
v_tax_amt number := 0;
vamt number :=0;
v_amt number;
row_count number := 0;
counter number;
max_iter number := 10;
v_rma_ctr Number; -- variable added by sriram - bug # 2740443
ln_amount NUMBER; --mmurtuza for bug 13473763
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*CURSOR tax_cur(p_header_id NUMBER, p_line_id NUMBER) IS
SELECT c.tax_line_no lno, c.tax_id, c.tax_rate, c.qty_rate, c.uom uom_co
de, c.func_tax_amount, c.base_tax_amount,
c.precedence_1 p_1, c.precedence_2 p_2, c.precedence_3 p_3,c.precedence_
4 p_4, c.precedence_5 p_5,
c.precedence_6 p_6, c.precedence_7 p_7, c.precedence_8 p_8,c.precedence_9 p_9,
c.precedence_10 p_10, -- Date 01/11/2006 Bug 5228046 added by SACSETHI ( adde
d column from Precedence 6 to 10 )
c.tax_amount, d.tax_type, d.end_date valid_date, d.rounding_factor,
DECODE(rgm_tax_types.regime_Code,jai_constants.vat_regime, 4, \* added
by ssumaith - bug# 4245053*\
decode(upper(d.tax_type),
'EXCISE',
1,
'ADDL. EXCISE',
1,
'OTHER EXCISE',
1,
'CVD',
1,
'TDS',
2,
'EXCISE_EDUCATION_CESS',
1,
'CVD_EDUCATION_CESS',
1,
'SH_EXCISE_EDUCATION_CESS' ,1,--Added by kundan kumar for
bug#5907436
'SH_CVD_EDUCATION_CESS' , 1, --Added by kundan kumar f
or bug#5907436
'VAT REVERSAL',
5,\*Bug#6072461, bduvarag*\
0
)
)

tax_type_val,
d.adhoc_flag
FROM
JAI_OM_OE_SO_TAXES
c ,
JAI_CMN_TAXES_ALL
d ,
jai_regime_tax_types_v rgm_tax_types \* added by ssumaith bug# 4245053*\
WHERE
c.line_id = p_line_id
AND
c.header_id = p_header_id
AND
c.tax_id = d.tax_id
AND
rgm_tax_types.tax_type (+) = d.tax_type \* added by ssumaith
- bug# 4245053*\
ORDER
BY c.tax_line_no;*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
CURSOR tax_cur( p_header_id NUMBER
, p_line_id NUMBER
)
IS
SELECT
c.tax_line_no lno
, c.tax_category_id
, c.tax_id
, c.tax_rate
, c.qty_rate
, c.uom uom_code
, c.func_tax_amount
, c.base_tax_amount
, c.precedence_1 p_1
, c.precedence_2 p_2
, c.precedence_3 p_3
, c.precedence_4 p_4
, c.precedence_5 p_5
, c.precedence_6 p_6
, c.precedence_7 p_7
, c.precedence_8 p_8
, c.precedence_9 p_9
, c.precedence_10 p_10 -- Date 01/11/2006 Bug 5228046 added by SACSETHI (
added column from Precedence 6 to 10 )
, c.tax_amount
, d.tax_type
, d.end_date valid_date
, nvl(d.rounding_factor,0) rounding_factor
, DECODE( rgm_tax_types.regime_Code
, jai_constants.vat_regime
,4 /* added by
ssumaith - bug# 4245053*/
--, jai_constants.cgst_regime
,7 --Added by
zhiwei for bug10043656 GST enhancement 2010/09/14 /*Commented by mmurtuza for r
emoving GST Changes*/
--, jai_constants.sgst_regime
,7 --Added by
zhiwei for bug10043656 GST enhancement 2010/09/14 /*Commented by mmurtuza for r
emoving GST Changes*/
, decode( upper(d.tax_type)
, 'EXCISE'
,1
, 'ADDL. EXCISE'
,1
, 'OTHER EXCISE'
,1
, jai_constants.tax_type_cvd
,1
, jai_constants.tax_type_tds
,2
, jai_constants.tax_type_exc_edu_cess
,6
, jai_constants.tax_type_cvd_edu_cess
,6
, jai_constants.tax_type_sh_exc_edu_cess
,6

, jai_constants.tax_type_sh_cvd_edu_cess
, 'VAT REVERSAL'

,6
,5/*Bug#6072461,

bduvarag*/
, 0
)
) tax_type_val
, d.adhoc_flag
, d.vendor_id
, d.mod_cr_percentage
, d.inclusive_tax_flag
FROM
Jai_Om_Oe_So_Taxes
, Jai_Cmn_Taxes_All
, Jai_Regime_Tax_Types_V

c
d
rgm_tax_types

/* added by ssumaith - bug# 42450

53*/
WHERE c.line_id = p_line_id
AND c.header_id = p_header_id
AND c.tax_id = d.tax_id
AND rgm_tax_types.tax_type(+) = d.tax_type /* added by ssumaith - bug# 424
5053*/
ORDER BY
c.tax_line_no;
-- following cursor added by sriram - bug # 2740443
CURSOR c_rma_info (v_header_id Number , v_line_id Number) is
Select 1
from JAI_OM_OE_RMA_LINES
where rma_header_id = v_header_id
and rma_line_id = v_line_id;
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*CURSOR c_rma_tax_cur(p_line_id NUMBER) IS
SELECT c.tax_line_no lno, c.tax_id, c.tax_rate, c.qty_rate, c.uom uom_code,
c.func_tax_amount, c.base_tax_amount,
c.precedence_1 p_1, c.precedence_2 p_2, c.precedence_3 p_3,c.preceden
ce_4 p_4, c.precedence_5 p_5,
c.precedence_6 p_6, c.precedence_7 p_7, c.precedence_8 p_8,c.precedence_9 p
_9, c.precedence_10 p_10, -- Date 01/11/2006 Bug 5228046 added by SACSETHI ( a
dded column from Precedence 6 to 10 )
c.tax_amount, d.tax_type, d.end_date valid_date, d.rounding_factor,
DECODE(rgm_tax_types.regime_Code,jai_constants.vat_regime, 4, \* add
ed by ssumaith - bug# 4245053*\
decode(upper(d.tax_type),'EXCISE', 1, 'ADDL. EXCISE', 1, 'OTH
ER EXCISE', 1, 'CVD',1, 'TDS', 2, 0
)
)
tax_type_val,
d.adhoc_flag
FROM JAI_OM_OE_RMA_TAXES
c,
JAI_CMN_TAXES_ALL
d ,
jai_regime_tax_types_v rgm_tax_types \* added by ssumaith - bug# 4245
053*\
WHERE
c.rma_line_id = p_line_id
AND
c.tax_id = d.tax_id
AND
rgm_tax_types.tax_type(+) = d.tax_type \* added by ssumaith - bug#
4245053*\
ORDER BY
c.tax_line_no;*/
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
CURSOR c_rma_tax_cur( p_line_id NUMBER

)
IS
SELECT
c.tax_line_no lno
, c.tax_id
, c.tax_rate
, c.qty_rate
, c.uom uom_code
, c.func_tax_amount
, c.base_tax_amount
, c.precedence_1 p_1
, c.precedence_2 p_2
, c.precedence_3 p_3
, c.precedence_4 p_4
, c.precedence_5 p_5
, c.precedence_6 p_6
, c.precedence_7 p_7
, c.precedence_8 p_8
, c.precedence_9 p_9
, c.precedence_10 p_10 -- Date 01/11/2006 Bug 5228046 added by SACSETHI ( add
ed column from Precedence 6 to 10 )
, c.tax_amount
, d.tax_type
, d.end_date valid_date
, nvl(d.rounding_factor,0) rounding_factor
, DECODE( rgm_tax_types.regime_Code
, jai_constants.vat_regime, 4 /* added by ssumaith - bug# 4245053*/
--, jai_constants.cgst_regime
,7 --Added by zh
iwei for bug10043656 GST enhancement 2010/09/14 /*Commented by mmurtuza for rem
oving GST Changes*/
--, jai_constants.sgst_regime
,7 --Added by zh
iwei for bug10043656 GST enhancement 2010/09/14 /*Commented by mmurtuza for rem
oving GST Changes*/
, decode( upper(d.tax_type)
, 'EXCISE'
,1
, 'ADDL. EXCISE'
,1
, 'OTHER EXCISE'
,1
, jai_constants.tax_type_cvd
,1
, jai_constants.tax_type_tds
,2
, jai_constants.tax_type_exc_edu_cess
,6
, jai_constants.tax_type_cvd_edu_cess
,6
, jai_constants.tax_type_sh_exc_edu_cess
,6
, jai_constants.tax_type_sh_cvd_edu_cess
,6
, 'VAT REVERSAL'
,5/*Bug#6072461, bduvarag*/
, 0
)
) tax_type_val
, d.adhoc_flag
, d.vendor_id
, d.mod_cr_percentage
, d.inclusive_tax_flag
FROM
Jai_Om_Oe_Rma_Taxes
c
, Jai_Cmn_Taxes_All
d
, Jai_Regime_Tax_Types_V rgm_tax_types /* added by ssumaith - bug# 4245053*/
WHERE c.rma_line_id = p_line_id
AND c.tax_id = d.tax_id
AND rgm_tax_types.tax_type(+) = d.tax_type /* added by ssumaith - bug# 42450
53*/
ORDER BY

c.tax_line_no;
-- Start of bug 3590208
/*****************
Code modified by aiyer for the bug 3590208
Check whether the excise exemptions exist at the order line level.
*****************/
CURSOR c_excise_exemption
IS
SELECT
'1'
FROM
JAI_OM_OE_SO_LINES
jsl
WHERE
jsl.excise_exempt_type IS NOT NULL AND
jsl.line_id
= p_line_id ;
lv_excise_exemption_exists VARCHAR2(1);
-- End of bug 3590208
lv_object_name CONSTANT VARCHAR2 (61) := 'jai_om_tax_pkg.calculate_ato_taxes'
;
/* Start Additions by mmurtuza for bug 14031594*/
CURSOR get_adhoc_flag(pn_tax_id NUMBER) IS
SELECT adhoc_flag
FROM jai_cmn_taxes_all
WHERE tax_id = pn_tax_id;
lv_adhoc_flag VARCHAR2(1);
/* End Additions by mmurtuza for bug 14031594*/
/*Start additions by mmurtuza for bug 14559561*/
CURSOR c_get_vat_exempt_flag(cp_line_id number) IS
select vat_exemption_flag from jai_om_oe_so_lines
where line_id = cp_line_id;
lv_vat_exemption_flag char(1) := 'N';
cursor c_get_base_line_id(cp_line_id oe_order_lines_all.line_id%type)
is
/*select wdd.source_line_id from wsh_delivery_details wdd, jai_om_oe_rma_lin
es joorl
where wdd.delivery_detail_id = joorl.delivery_detail_id
and joorl.rma_line_id = cp_line_id;*/
/*Changed cursor definition by mmurtuza for bug 17015322*/
select jowla.order_line_id, jowla.organization_id, jowla.location_id, jo
wla.order_header_id from jai_om_wsh_lines_all jowla, jai_om_oe_rma_lines joorl
where jowla.delivery_detail_id = joorl.delivery_detail_id
and joorl.rma_line_id = cp_line_id;
lv_reference_Line_id oe_order_lines_all.Reference_Line_id%type;
cursor c_excise_exemption_rma(cp_line_id number) IS
select excise_exempt_type from jai_om_oe_so_lines
where excise_exempt_type IS NOT NULL AND
line_id = cp_line_id;
/*End additions by mmurtuza for bug 14559561*/

/*By mmurtuza for bug 16804271 - Start*/


cursor c_check_Vat_type_Tax_exists (cp_tax_type VARCHAR2) IS
SELECT 1
FROM jai_regime_tax_types_v
WHERE regime_code = jai_constants.vat_regime
AND
tax_type
= cp_tax_type;
/* Additions by nkodakan for bug 17831734 starts */
CURSOR get_tax_uom_code(p_header_id NUMBER, p_line_id NUMBER, p_tax_line_no numb
er) IS
SELECT jcta.uom_code, joost.tax_line_no
FROM jai_cmn_taxes_all jcta,
jai_om_oe_so_taxes joost
WHERE jcta.tax_id = joost.tax_id
AND joost.header_id = p_header_id
AND joost.line_id = p_line_id
AND joost.tax_line_no = p_tax_line_no;
/* Additions by nkodakan for bug 17831734 ends */
v_excise_return_days JAI_CMN_INVENTORY_ORGS.excise_return_days % TYPE;
v_sales_return_days JAI_CMN_INVENTORY_ORGS.sales_return_days % TYPE;
v_vat_return_days JAI_CMN_INVENTORY_ORGS.vat_return_days % TYPE;
v_excise_flag
VARCHAR2(1);
v_sales_flag
VARCHAR2(1);
v_vat_flag
VARCHAR2(1);
v_date_ordered
DATE;
v_date_confirmed
DATE;
pv_allow_sales_flag VARCHAR2(1);
pv_allow_excise_flag VARCHAR2(1);
lv_check_vat_type_exists VARCHAR2(1);
tax_type_name
CHAR_TAB;
/*By mmurtuza for bug 16804271 - End*/
v_tax_uom_code
VARCHAR2(3); /* by nkodakan for bug 17831734 */
v_tax_line_no

NUMBER;

/*Added below cursor and variables by mmurtuza for bug 17015322*/


cursor cur_get_order_type(p_src_header_id NUMBER) IS
SELECT order_type_id from oe_order_headers_all
where header_id = p_src_header_id;
v_order_type_id
NUMBER;
v_asst_register_id NUMBER;
v_register_code VARCHAR2(30);
v_organization_id NUMBER;
V_location_id NUMBER;
v_source_header_id NUMBER;
BEGIN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','481
begin of CALCULATE_ATO_TAXES procedure ');
/*----------------------------------------------------------------------------------------FILENAME: calculate_ato_taxes_P.sql
CHANGE HISTORY:

S.No
Date
Author and Details
1. 2001/11/09
Anuradha Parthasarathy
Parameter p_quantity added To handle Adhoc Types of Taxes.
2. 2002/01/03
Anuradha Parthasarathy
parameter p_quantity used in place of p_line_quantity for correct calcul
ation
of taxes for which the tax_rate is null.
3.
2003/01/18
Sriram Bug # 2740443 File Version 615.1
When RMA was done without reference and mofifier
s attached
to them, taxes were not getting recalculated.
Hence wrote code to get the same done by adding
2 cursors and checking
if the current header id and line id combination
refers to a sales order
or rma order . if it corresponds to an rma order
, update the
JAI_OM_OE_RMA_TAXES table .
4.

Aiyer For the Bug #3590208 File Version 619.1


Issue:Excise Duty Recalculation happens for excise exempted ta
x lines if the order line quantity
is changed.
Fix:Code has been added to set the tax_rate, tax_amount and base_tax_a
mount to 0 when the Order Line has Excise
exemptions and tax is of "Excise" type. The cursor c_excise_exemptio
n has been added for the purpose.
Dependency Due to this code :None
5.

26-Feb-2004

09-Aug-2004

Aiyer - Bug #3802074 File Version 115.2


Issue:Uom based taxes do not get calculated correctly if the qty o

r price is changed.
Reason:-------Previous to this fix the uom currency uom conversion would h
appen only when the transaction uom code and the tax level uom code where
in the same uom class. This was not required.
This was happening because the UOM calculation was previously happenin
g only for cases of exact match
between transaction uom and setup UOM.
Fix:---Removed the uom_class_cur for loop which used to check for t
he same uom class match condition. Now the uom conversion happens at all time.
Now if an exact match is not found then the conversion rate between th
e two uom's is determined and tax amounts are calculated for defaultation.
Dependency Due to This Bug:---------------------------The refresh in the India Localization sales order form was n
ot happening properly leading to taxes getting set incorrectly
when the tax apply button is clicked (in JAINEORD) post updation of qt
y in Base apps form. To resolve this the locator logic
was removed from the triggers ja_in_oe_order_lines_aiu_trg and ja_in_o

e_order_lines_au_trg and a new trigger was created


(ja_in_om_locator_aiu_trg). Some fix was also done in JAINEORD.fmb for
the same.
Hence all these objects should be displatched along with this object,
due to functional dependency
As this fix is also being taken in the current Due to this the tax was
not getting bug
6. 2005/03/10

ssumaith - bug# 4245053 - File version 115.3

Taxes under the vat regime needs to be calculated based on t


he vat assessable value setup done.
In the vendor additional information screen and supplier add
itional information screen, a place
has been given to capture the vat assessable value.
This needs to be used for the calculation of the taxes regis
tered under vat regime.
This change has been done by using the view jai_regime_tax_
types_v - and outer joining it with the
JAI_CMN_TAXES_ALL table based on the tax type column.
A parameter p_vat_assessable_Value NUMBER DEFAULT 0 has be
en added to the procedure.
Dependency due to this bug - Huge
This patch should always be accompanied by the VAT consolida
ted patch - 4245089
7. 08-Jun-2005 Version 116.3 jai_om_tax -Object is Modified to refer to New DB
Entity names in place of Old DB Entity Names
as required for CASE COMPLAINCE.
8. 13-Jun-2005
9. 01-Jun-2006

File Version: 116.4


Ramananda for bug#4428980. Removal of SQL LITERALs is done
Aiyer for bug# 4691616. File Version 120.3
Issue:UOM based taxes do not get calculated correctly.
Solution:Fwd ported the fix for the bug 4729742.
Changed the files JAINTAX1.pld, jai_cmn_tax_dflt.plb and j

ai_om_tax.plb.
10. 10-Dec-007

Kevin Cheng

Update the logic for inclusive tax calculation

11. 05-Mar-08

Jia Li
Added clause logic for bug# 6846048
Issue: When unit selling price is changed because of discounts

,
inclusive taxes are getting added to the tax amount in th
e JAI_OM_OE_SO_LINES table.
So at ship confirm time, comparing the tax amount in the
lines table with the sum of exclusive taxes
in the taxes table was not matching and hence the trigger
was returning an error.
Fix: Ensuring that only exclusive taxes are added to the tax a
mount in the jai_om_oe_so_lines table.

12 22-sep-2010 vkaranam for bug#10114559


Issue:
TAXES ARE NOT CALCULATED AUTOMATICALLY ON A SPLIT ORDER
Reason:
Cess and shecess taxe are caluclated as 0.
This is due to the base_tax_amt before the tax claculation was
0 due to the rounding function.
Fix: -- removed round function for base_tax_amount calculation i
n calculate_ato_taxes procedure.
13. 12-Jun-2012 mmurtuza for bug 14140327
Issue: EXCISE DUTY IS WRONGLY CALCULATING FOR IS
O ORDERS when line is splitted
Description: Added condition while calcualting l
n_vamt_nr. If ln_bsln_amt_nr = 0, only then p_tax_amount is added
14. 31-Jul-2012 mmurtuza for bug 14358278
Issue: RATE PER QUANTITY TAX AMT POPULATED AS ZERO IN SALES ORDER LOCALI
ZED SCREEN.
Fix: Added a block in calculate_ato_taxes to check if tax_amount for tha
t particular tax is defined or not and assigned the value of
tax_amount * qunatity to tax_amt_tab(i)
15. 27-Sep-2012 mmurtuza for bug 14559561
Issue: RMA COPIED ORDER IS INCORRECTLY CALCULATING TAXES
Fix: Added cursors c_get_vat_exempt_flag, c_get_base_line_id, c_
excise_exemption_rma to check if the base ordre of RMA is excise / vat
exempted. Also added code to ensure that vat taxes remai
n zero for vat exempted sales order even if sales order is updated
16. 28-feb-2013 mmurtuza for bug 16389308
Issue: TAXES ARE NOT GETTING APPLIED PROPERLY WHEN THE SALE ORDER LINE IS
SPLITTED
Fix: Moved the code to calcualte adhoc taxes in the bgining of proced
ure arther than calcaulting at the end.
17. 24-May-2013 mmurtuza for bug 16804271
issue: TAX GETTING CALCULATED AFTER 180 DAYS ALSO IN RMA ORDERS
Fix: Added parameter p_warehouse_id in PROCEDURE calculate_ato_taxes. C
hecked for excise / vat return days logic and made teh tax amount as zero.
18. 2-Dec-2013 nkodakan for bug 17831734
Issue : TAXES ARE CALCULATED BASED ON SO UOM INSTEAD OF PRIMARY UOM CONVERS
ION CLASS DEF
Fix : Added a cursor get_tax_uom_code to fetch the uom_code from jai_cmn_t
axes_all and if tax uom is not equal to transaction uom then multiply with
the proper conversion rate.
19. 29-Jan-2014 mmurtuza for bug 17015322
Issue: BOND REGISTER SHOULD NOT BE UPDATED ON RMA OF EXPORT INVOICE.
Fix: Added code to make the excise taxes zero in RMA incase the referenc
e order is attached to bond register
Future Dependencies For the release Of this Object:(Please add a row in the section below only if your bug introduces a dependency
due to spec change/ A new call to a object/
A datamodel change )
--------------------------------------------------------------------------------

-------------------------------------------------------------------Current Version
Current Bug
Dependent
Files
Version Author Date
Remarks
Of File
On Bug/Patchset
Dependent On
calculate_ato_taxes_p.sql
--------------------------------------------------------------------------------------------------------------------------------------------------115.2
3802074
IN60105D2
ja_in_om_locator_aiu_tr
g.sql
115.1 Aiyer
26-oct-2004 Functional Dependency
jai_cmn_utils_pkg.ja_in
_set_locator 115.0
ja_in_oe_order_lines_ai
u_trg
115.5
ja_in_oe_order_lines_ai
u_trg
115.5
JAINEORD.fmb
115.3
calculate_ato_taxes_p.s
ql
115.2 Aiyer
115.3

4245053
ssumaith

IN60106 +
Service Tax and VAT Infrastructure are created
4146708 +
based on the bugs - 4146708 and 4545089 respecti

vely.
4245089
********************************************************************************
*****************************************************************************/
bsln_amt
:= p_tax_amount; --Ramananda for File.Sql.35
v_currency_conv_factor := p_currency_conv_factor;
--Ramananda for File.Sql.
35
Open c_rma_info(p_header_id,p_line_id);
Fetch c_rma_info into v_rma_ctr;
close c_rma_info;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','635 p_
header_id '||p_header_id||', p_line_id '||p_line_id||', v_rma_ctr '||v_rma_ctr);
-- Start of bug 3590208
/*****************
Code modified by aiyer for the bug 3590208
*****************/
OPEN c_excise_exemption;
FETCH c_excise_exemption INTO lv_excise_exemption_exists;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','643 lv
_excise_exemption_exists '||lv_excise_exemption_exists||', v_rma_ctr '||v_rma_ct
r);
-- End of bug 3590208
IF NVL(v_rma_ctr,0) = 0 then -- added by sriram - bug # 2740443
FOR rec in tax_cur(p_header_id, p_line_id)
LOOP
p1(rec.lno) := nvl(rec.p_1,-1);
p2(rec.lno) := nvl(rec.p_2,-1);
p3(rec.lno) := nvl(rec.p_3,-1);

abc

p4(rec.lno) := nvl(rec.p_4,-1);
p5(rec.lno) := nvl(rec.p_5,-1);
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
p6(rec.lno) := nvl(rec.p_6,-1);
p7(rec.lno) := nvl(rec.p_7,-1);
p8(rec.lno) := nvl(rec.p_8,-1);/*Added by kunkumar,for bugno5604375,deleted se
cond assignment of p7 */
p9(rec.lno) := nvl(rec.p_9,-1);
p10(rec.lno) := nvl(rec.p_10,-1);
-- END BUG 5228046
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','666 re
c.adhoc_flag '||rec.adhoc_flag||', rec.tax_rate '||rec.tax_rate);
lt_adhoc_tax_tab(rec.lno) := nvl(rec.adhoc_flag, 'N'); -- by mmurtuza for bug 16
389308
tax_rate_tab(rec.lno) := nvl(rec.tax_rate,0);
/*
|| The following code added by aiyer for the bug 4691616
|| Purpose:
|| rec.tax_rate = 0 means that tax_rate for such a tax line is actually zero (
i.e it is not a replacement of null value)
|| So, when rec.tax_rate = 0, tax_rate_zero_tab is populated with -9999 to ide
ntify that this tax_line actually has tax_rate = 0
|| To calculate the BASE_TAX_AMOUNT of the taxes whose tax_rate is zero
*/
IF rec.tax_rate is null THEN
/*
||Indicates qty based taxes
*/
tax_rate_zero_tab(rec.lno) := 0; /*row_count Changed to rec.lno by ssawant
for bug 6134057*/
ELSIF rec.tax_rate = 0 THEN
/*
||Indicates 0% tax rate becasue a tax can have a rate as 0%.
*/
tax_rate_zero_tab(rec.lno) := -9999; /*row_count Changed to rec.lno by ssaw
ant for bug 6134057*/
ELSE
tax_rate_zero_tab(rec.lno) := rec.tax_rate; /*row_count Changed to rec.lno b
y ssawant for bug 6134057*/
END IF;
tax_type_tab(rec.lno) := rec.tax_type_val; /*row_count Changed to rec.lno by
ssawant for bug 6134057*/
/*End of bug 4691616 */
tax_type_name(rec.lno) :=rec.tax_type; -- by mmurtuza for bug 16804271
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','699
rec.tax_type '||rec.tax_type);
tax_type_tab(rec.lno) := rec.tax_type_val;

qty_rate_tab(rec.lno) := rec.qty_rate; /*By mmurtuza for Bug 14358278*/


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','704
rec.tax_type_val '||rec.tax_type_val||', rec.qty_rate '||rec.qty_rate);
tax_amt_tab(rec.lno) := 0;
base_tax_amt_tab(rec.lno) := 0;
rounding_factor_tab(rec.lno) := NVL(rec.rounding_factor, 0);
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
---------------------------------------------------lt_tax_rate_per_rupee(rec.lno) := NVL(rec.tax_rate,0)/100;
ln_total_tax_per_rupee
:= 0;
lt_inclu_tax_tab(rec.lno)
:= NVL(rec.inclusive_tax_flag,'N');
lt_tax_amt_rate_tax_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) := 0; -- tax inclusive
---------------------------------------------------IF tax_rate_tab(rec.lno) = 0 THEN
-- Start of bug 3802074
/*
Code added by aiyer for the bug 3802074.
Removed the uom_class_cur for loop, as it used to check that the uom conver
sion should happen only when the transaction uom code and the tax uom code
are in the same uom class. This was not required.
Now the code check whether an exact match exists between the transaction
uom and the setup uom.
IF an exact match is found then the conversion rate is equal to 1 else th
e conversion rate between the two uom's would be
determined and tax amounts, base_tax_amounts are calculated for defaultat
ion.
*/
inv_convert.inv_um_conversion( p_uom_code, rec.uom_code, p_inventory_item_
id, v_conversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
inv_convert.inv_um_conversion( p_uom_code, rec.uom_code, 0, v_conversion_r
ate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
v_conversion_rate := 0;
END IF;
END IF;
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*tax_amt_tab(rec.lno) := ROUND(nvl(rec.qty_rate * v_conversion_rate, 0) *
p_quantity, NVL(rec.rounding_factor, 0));*/
-- End of bug 3802074
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------lt_tax_amt_non_rate_tab(rec.lno) := nvl(rec.qty_rate * v_conversion_rate, 0)
* p_quantity; -- tax inclusive
base_tax_amt_tab(rec.lno)
:= lt_tax_amt_non_rate_tab(rec.lno); -- tax
inclusive
--------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.JA_IN_RG23I_BALANCE','74
5 rec.adhoc_flag '||rec.adhoc_flag);
IF rec.adhoc_flag = 'Y' THEN
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_quan
tity), NVL(rec.rounding_factor, 0));*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007

-- csahoo - bug#4918667 added the if and the else so that we dont encount
er a zero-divide error
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','751 p_line_quantity '||p_line_quantity||
', rec.tax_amount '||rec.tax_amoun
t||
', p_quantity '||p_quantity||
', p_line_quantity '||p_line_quantity||
', rec.rounding_factor '||rec.rounding_factor);
IF NVL(p_line_quantity,0) <> 0 THEN
lt_tax_amt_non_rate_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p
_line_quantity), NVL(rec.rounding_factor, 0));
ELSE
lt_tax_amt_non_rate_tab(rec.lno) := 0;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','761 lt_tax_amt_non_rate_tab(rec.lno) '||lt_tax_amt_non_rate_tab(rec.lno));
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','765
rec.valid_date '||rec.valid_date);
IF rec.valid_date is NULL or rec.valid_date >= sysdate
THEN
end_date_tab(rec.lno) := 1;
ELSE
tax_amt_tab(rec.lno) := 0;
end_date_tab(rec.lno) := 0;
END IF;
-- Start of bug 3590208
/*****************
Code modified by aiyer for the bug 3590208
IF the line is excise exempted and the tax is of type Excise then set the tax_
rate, tax_amount and base_tax_amount
to zero.
*****************/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','780
rec.tax_type_val '||rec.tax_type_val);
IF c_excise_exemption%FOUND AND
rec.tax_type_val = 1
THEN
/* Set tax_rate_tab = 0, tax_amt_tab = 0 and base_tax_amt_tab = 0 */
tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0; -- Add by Kevin Cheng for inclusive
tax Dec 10, 2007
/*Start additions by mmurtuza for bug 14559561*/
ELSIF rec.tax_type_val = 4 then
open c_get_vat_exempt_flag(p_line_id);
fetch c_get_vat_exempt_flag into lv_vat_exemption_flag;
close c_get_vat_exempt_flag;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','795 p_line_id '||p_line_id||', lv_vat_exemption_flag '||lv_vat_exempti
on_flag);

IF nvl(lv_vat_exemption_flag, 'N') = 'Y' then


tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0;
end if;
/*End additions by mmurtuza for bug 14559561*/
END IF;
-- End of bug 3590208
row_count := row_count + 1;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'808 row_count '||row_count);
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','810 Af
ter the loop ');
ELSIF v_rma_ctr = 1 then
-- else part of abc
-- v_rma_ctr value will be 1 if the current header id line id combination c
orresponds to a return order.
-- added by sriram the section from the following elsif to end if- bug # 27
40443
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','814
ELSIF v_rma_ctr = 1 then ');
FOR rec in c_rma_tax_cur(p_line_id) LOOP
p1(rec.lno) := nvl(rec.p_1,-1);
p2(rec.lno) := nvl(rec.p_2,-1);
p3(rec.lno) := nvl(rec.p_3,-1);
p4(rec.lno) := nvl(rec.p_4,-1);
p5(rec.lno) := nvl(rec.p_5,-1);
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
p6(rec.lno) := nvl(rec.p_6,-1);
p7(rec.lno) := nvl(rec.p_7,-1);
p8(rec.lno) := nvl(rec.p_8,-1);
p9(rec.lno) := nvl(rec.p_9,-1);
p10(rec.lno) := nvl(rec.p_10,-1);
-- END BUG 5228046
lt_adhoc_tax_tab(rec.lno) := nvl(rec.adhoc_flag, 'N'); -- by mmurtuza for bug 16
389308
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','834
lt_adhoc_tax_tab(rec.lno) '||lt_adhoc_tax_tab(rec.lno));
tax_rate_tab(rec.lno) := nvl(rec.tax_rate,0);
tax_type_tab(rec.lno) := rec.tax_type_val;
tax_amt_tab(rec.lno) := 0;
base_tax_amt_tab(rec.lno) := 0;
rounding_factor_tab(rec.lno) := NVL(rec.rounding_factor, 0);
qty_rate_tab(rec.lno) := rec.qty_rate; /*By mmurtuza for bug 14031594*/
tax_type_name(rec.lno) :=rec.tax_type; -- By mmurtuza for bug 16804271
/*bug 9327049*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','846
rec.tax_rate '||rec.tax_rate);

IF rec.tax_rate is null THEN


/*
||Indicates qty based taxes
*/
tax_rate_zero_tab(rec.lno) := 0; /*row_count Changed to rec.lno by ssawant
for bug 6134057*/
ELSIF rec.tax_rate = 0 THEN
/*
||Indicates 0% tax rate becasue a tax can have a rate as 0%.
*/
tax_rate_zero_tab(rec.lno) := -9999; /*row_count Changed to rec.lno by ssaw
ant for bug 6134057*/
ELSE
tax_rate_zero_tab(rec.lno) := rec.tax_rate; /*row_count Changed to rec.lno b
y ssawant for bug 6134057*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'861 tax_rate_zero_tab(rec.lno) '||tax_rate_zero_tab(rec.lno));
END IF;
/*end bug 9327049*/
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
---------------------------------------------------lt_tax_rate_per_rupee(rec.lno) := NVL(rec.tax_rate,0)/100;
ln_total_tax_per_rupee
:= 0;
lt_inclu_tax_tab(rec.lno)
:= NVL(rec.inclusive_tax_flag,'N');
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','872
rec.tax_rate '||rec.tax_rate);
IF rec.tax_rate IS NULL
THEN
tax_rate_zero_tab(rec.lno) := 0;
ELSIF rec.tax_rate = 0
THEN --IF rec.tax_rate IS NULL
tax_rate_zero_tab(rec.lno) := -9999;
ELSE --IF rec.tax_rate IS NULL
tax_rate_zero_tab(rec.lno) := rec.tax_rate;
END IF; --IF rec.tax_rate IS NULL
lt_tax_amt_rate_tax_tab(rec.lno) :=0;
lt_tax_amt_non_rate_tab(rec.lno) :=0; -- tax inclusive
---------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','886
tax_rate_tab(rec.lno) '||tax_rate_tab(rec.lno));
IF tax_rate_tab(rec.lno) = 0 THEN
-- Start of bug 3802074
/*
Code added by aiyer for the bug 3802074
Check whether an exact match exists between the transaction uom and the s
etup uom (obtained through the tax_category list).
IF an exact match is found then the conversion rate is equal to 1 else th
e conversion rate between the two uom's would be
determined and tax amounts,base_tax_amounts are calculated for defaultati
on.
*/
inv_convert.inv_um_conversion( p_uom_code, rec.uom_code, p_inventory_item_
id, v_conversion_rate);

IF nvl(v_conversion_rate, 0) <= 0 THEN


INV_CONVERT.inv_um_conversion( p_uom_code, rec.uom_code, 0, v_conversion_r
ate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
v_conversion_rate := 0;
END IF;
END IF;
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*tax_amt_tab(rec.lno) := ROUND(nvl(rec.qty_rate * v_conversion_rate, 0) * p
_quantity, NVL(rec.rounding_factor, 0));*/
-- End of bug 3802074
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
---------------------------------------------------lt_tax_amt_non_rate_tab(rec.lno) := nvl(rec.qty_rate * v_conversion_rate, 0)
* p_quantity; -- tax inclusive
base_tax_amt_tab(rec.lno)
:= lt_tax_amt_non_rate_tab(rec.lno); -- tax
inclusive
---------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','91
3 rec.adhoc_flag '||rec.adhoc_flag||', p_line_quantity '||p_line_quantity);
IF rec.adhoc_flag = 'Y' THEN
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_quanti
ty), NVL(rec.rounding_factor, 0));*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
-- csahoo - bug#4918667 added the if and the else so that we dont encount
er a zero-divide error
IF NVL(p_line_quantity,0) <> 0 THEN
lt_tax_amt_non_rate_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p
_line_quantity), NVL(rec.rounding_factor, 0));
ELSE
lt_tax_amt_non_rate_tab(rec.lno) := 0;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','924 rec.tax_amount '||rec.tax_amount||', p_quantity '||p_quantity||', rec.ro
unding_factor '||rec.rounding_factor||
', lt_tax_amt_non_rate_tab(rec.lno
) '||lt_tax_amt_non_rate_tab(rec.lno));
END IF;
END IF;
IF rec.valid_date is NULL or rec.valid_date >= sysdate THEN
end_date_tab(rec.lno) := 1;
ELSE
tax_amt_tab(rec.lno) := 0;
end_date_tab(rec.lno) := 0;
END IF;
-- Start of bug 3590208
/*****************
Code modified by aiyer for the bug 3590208
IF the line is excise exempted and the tax is of type Excise then set the tax_
rate, tax_amount and base_tax_amount
to zero.
*****************/
/*Start commenting by mmurtuza for bug 14559561

IF c_excise_exemption%FOUND AND
rec.tax_type_val = 1
THEN
/* Set tax_rate_tab = 0, tax_amt_tab = 0 and base_tax_amt_tab = 0 *
tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0; -- Add by Kevin Cheng for inclusive
tax Dec 10, 2007
END IF;
-- End of bug 3590208
/*End commenting by mmurtuza for bug 14559561*/
/*Start additions by mmurtuza for bug 14559561*/
open c_get_base_line_id(p_line_id);
fetch c_get_base_line_id into lv_reference_Line_id, v_organization_id,
V_location_id, v_source_header_id;
close c_get_base_line_id;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','962 p_line_id '||p_line_id||', lv_reference_Line_id '||lv_reference_Line_id||
', rec.tax_type_val '||rec.tax_type_val);
/*Added below cursor and call by mmurtuza for bug 17015322*/
OPEN cur_get_order_type(v_source_header_id);
fetch cur_get_order_type into v_order_type_id;
close cur_get_order_type;
jai_cmn_bond_register_pkg.get_register_id (v_organization_id
,
v_location_id
v_order_type_id
'Y'
v_asst_register_id
v_register_code

,
,
,
,

);
IF rec.tax_type_val = 1 then
open c_excise_exemption_rma(lv_reference_Line_id);
IF c_excise_exemption_rma%FOUND then
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','967 in IF c_excise_exemption_rma%FOUND then ');
tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0;
END IF;
close c_excise_exemption_rma;
ELSIF rec.tax_type_val = 4 then
open c_get_vat_exempt_flag(lv_reference_Line_id);
fetch c_get_vat_exempt_flag into lv_vat_exemption_flag;
close c_get_vat_exempt_flag;
IF nvl(lv_vat_exemption_flag, 'N') = 'Y' then
tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0;
end if;

END IF;
/*End additions by mmurtuza for bug 14559561*/
row_count := row_count + 1;
END LOOP;
/* By mmurtuza for bug 16804271 - Start*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','991
p_warehouse_id '||p_warehouse_id);
FOR hr_rec IN (SELECT excise_return_days,
sales_return_days,
vat_return_days
FROM JAI_CMN_INVENTORY_ORGS
WHERE organization_id = p_warehouse_id -- ship_from_org_id
AND location_id = 0)
LOOP
v_excise_return_days := hr_rec.excise_return_days;
v_sales_return_days := hr_rec.sales_return_days;
v_vat_return_days := hr_rec.vat_return_days ;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','1003 v_excise_return_days '||v_excise_return_days||', v_sales_return_days
'||v_sales_return_days||
', v_vat_return_days '||v_vat_ret
urn_days);
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','1007 p_header_id '||p_header_id);
FOR date_rec IN (SELECT ordered_date
FROM oe_order_headers_all
WHERE header_id = p_header_id)
LOOP
v_date_ordered := date_rec.ordered_date;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','1013 v_date_ordered '||v_date_ordered);
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','1016 lv_reference_Line_id '||lv_reference_Line_id);
/*Start additions by mmurtuza for bug 17254045 */
FOR pick_lrec IN (SELECT wnd.confirm_date
FROM wsh_delivery_details wdd,
wsh_delivery_assignments wda,
wsh_new_deliveries wnd
WHERE wdd.source_line_id = lv_reference_Line_id
AND wda.delivery_detail_id = wdd.delivery_detail_id
AND wnd.delivery_id = wda.delivery_id)
LOOP
v_date_confirmed := pick_lrec.confirm_date;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TA
XES','1027 v_date_confirmed '||v_date_confirmed);
END LOOP;
v_date_confirmed := nvl(v_date_confirmed, v_date_ordered);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','1031 v_date_confirmed '||v_date_confirmed||', v_date_ordered '||v_date_ordere
d||', v_excise_return_days '||v_excise_return_days);
/*End additions by mmurtuza for bug 17254045 */

IF v_excise_return_days IS NULL
OR
(v_date_ordered - v_date_confirmed) <= v_excise_return_days
THEN
v_excise_flag := 'Y';
ELSE
v_excise_flag := 'N';
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','1043 v_sales_return_days '||v_sales_return_days);
IF v_sales_return_days IS NULL
OR
(v_date_ordered - v_date_confirmed) <= v_sales_return_days
THEN
v_sales_flag := 'Y';
ELSE
v_sales_flag := 'N';
END IF;
IF (v_vat_return_days IS NULL
OR
(v_date_ordered - v_date_confirmed) <= v_vat_return_days)
THEN
v_vat_flag := 'Y';
ELSE
v_vat_flag := 'N';
END IF;
/* By mmurtuza for bug 16804271 - End*/
END IF; -- added by sriram - bug # 2740443. End if of abc
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1064 A
fter END IF;');
-- Start of bug 3590208
CLOSE c_excise_exemption ;
-- End of bug 3590208
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1071 p
_vat_assessable_value '||p_vat_assessable_value||', p_tax_amount '||p_tax_amount
);
IF p_vat_assessable_value<>p_tax_amount
THEN
ln_vat_assessable_value:=p_vat_assessable_value;
ELSE
ln_vat_assessable_value:=1;
END IF;
--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*IF pn_gst_assessable_value<>p_tax_amount
THEN
ln_gst_assessable_value:=pn_gst_assessable_value;
ELSE
ln_gst_assessable_value:=1;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
---------------------------------------------------

--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end


IF p_assessable_value<>p_tax_amount
THEN
ln_assessable_value:=p_assessable_value;
ELSE
ln_assessable_value:=1;
END IF;
IF p_vat_reversal_price<>p_tax_amount
THEN
ln_vat_reversal_price:=p_vat_reversal_price;
ELSE
ln_vat_reversal_price:=1;
END IF;
----------------------------------------------------Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*FOR I in 1..row_count LOOP
IF tax_type_tab(I) = 1
THEN
bsln_amt := p_assessable_value;
ELSIF tax_type_tab(I) = 4 THEN
bsln_amt := p_vat_assessable_value;
ELSIF tax_type_tab(I) = 7 THEN
--Added by zhiwei for bug10043656 GST enhanc
ement 2010/09/14
bsln_amt := pn_gst_assessable_value; --Added by zhiwei for bug10043656 GS
T enhancement 2010/09/14
ELSIF tax_type_tab(I) = 5 THEN
\*bug#6072461, bduvarag*\
bsln_amt := p_vat_reversal_price;
ELSE
bsln_amt := p_tax_amount;
END IF;
IF tax_rate_tab(I) <> 0
THEN
IF p1(I) < I and p1(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
ELSIF p1(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p2(I) < I and p2(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p2(I)),0);
ELSIF p2(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p3(I) < I and p3(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
ELSIF p3(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p4(I) < I and p4(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
ELSIF p4(I) = 0 THEN
vamt := vamt + bsln_amt;

END IF;
IF p5(I) < I and p5(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
ELSIF p5(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
IF p6(I) < I and p6(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
ELSIF p6(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p7(I) < I and p7(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
ELSIF p7(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p8(I) < I and p8(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
ELSIF p8(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p9(I) < I and p9(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
ELSIF p9(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
IF p10(I) < I and p10(I) not in (-1,0)
THEN
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
ELSIF p10(I) = 0 THEN
vamt := vamt + bsln_amt;
END IF;
-- END BUG 5228046

v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));


base_tax_amt_tab(I) := vamt;
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
vamt := 0;
v_tax_amt := 0;
END IF;
END LOOP;*/

--Add by Kevin Cheng for inclusive tax Dec 10, 2007


---------------------------------------------------FOR I in 1..row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1210
value of I is '||I||', end_date_tab(I) '||end_date_tab(I)||', tax_type_tab(I) '
||tax_type_tab(I));
IF end_date_tab(I) <> 0 THEN
IF tax_type_tab(I) = 1
THEN
IF ln_assessable_value = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_assessable_value;
END IF;
ELSIF tax_type_tab(I) = 4 --IF tax_type_tab(I) = 1 THEN
THEN
IF ln_vat_assessable_value = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_vat_assessable_value;
END IF;
--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*ELSIF tax_type_tab( I ) = 7 THEN
IF ln_gst_assessable_value =1 THEN
bsln_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
bsln_amt :=0;
ln_bsln_amt_nr :=ln_gst_assessable_value;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
----------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
ELSIF tax_type_tab(I) = 5 --IF tax_type_tab(I) = 1
THEN
/*bug#6072461, bduvarag*/
IF ln_vat_reversal_price = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_vat_reversal_price;
END IF;
ELSIF tax_type_tab(I) = 6
THEN --IF tax_type_tab(I) = 1 THEN
bsln_amt := 0;
ln_bsln_amt_nr := 0;
ELSE --IF tax_type_tab(I) = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
END IF;

THEN

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','
1265 tax_rate_tab(I) '||tax_rate_tab(I));
IF tax_rate_tab(I) <> 0
THEN
lt_tax_amt_non_rate_tab(I):=0; --mmurtuza for bug 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TA
XES','1269 p1(I) '||p1(I));
IF p1(I) < I and p1(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1272 lt_inclu_tax_tab(P1(I)) '||lt_inclu_tax_tab(P1(I))||
', lt_tax_amt_rate_tax_tab(P
1(I)) '||lt_tax_amt_rate_tax_tab(P1(I)));
IF lt_inclu_tax_tab(P1(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P1(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P1(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1278 vamt '||vamt||', tax_amt_tab(p1(I)) '||tax_amt_tab(p1(I))||', l
n_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_rate_tab(P1(I))
'||lt_tax_amt_non_rate_tab(P1(I)));
end if; --mmurtuza for bug 13473763
ELSIF p1(I) = 0 THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1282 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1286 vamt '||vamt||', bsln_amt '||bsln_amt||', ln_vamt_nr '||ln_vamt
_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
else
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1288 ln_bsln_amt_nr '||ln_bsln_amt_nr);
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1291 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||', p_tax
_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1294 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1299 p2(I) '||p2(I)||', I ='||I);
IF p2(I) < I and p2(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1302 lt_inclu_tax_tab(P2(I)) '||lt_inclu_tax_tab(P2(I))||
', lt_tax_amt_rate_tax_tab(P
2(I)) '||lt_tax_amt_rate_tax_tab(P2(I)));
IF lt_inclu_tax_tab(P2(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P2(I)) IS N
OT NULL then --mmurtuza for bug 13473763

vamt := vamt + nvl(tax_amt_tab(p2(I)),0);


ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P2(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1307 vamt '||vamt||', tax_amt_tab(p2(I)) '||tax_amt_tab(p2(I)));
end if; --mmurtuza for bug 13473763
ELSIF p2(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1313 vamt '||vamt||', bsln_amt '||bsln_amt||', ln_vamt_nr '||ln_vamt
_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
else
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','1315 ln_bsln_amt_nr '||ln_bsln_amt_nr);
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1318 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||
', p_tax_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1322 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1327 p3(I) '||p3(I)||', I= '||I);
IF p3(I) < I and p3(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1330 lt_inclu_tax_tab(P3(I)) '||lt_inclu_tax_tab(P3(I))||', lt_tax_amt
_rate_tax_tab(P3(I)) '||lt_tax_amt_rate_tax_tab(P3(I)));
IF lt_inclu_tax_tab(P3(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P3(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P3(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1334 vamt '||vamt||
', tax_amt_tab(p3(I)) '||t
ax_amt_tab(p3(I))||
', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_rate_tab(P3(I)) '||lt_tax_amt_non_rate_tab(P3(I)));
end if; --mmurtuza for bug 13473763
ELSIF p3(I) = 0 THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1340 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1344 vamt '||vamt||', bsln_amt '||bsln_amt||', ln_vamt_nr '||ln_vamt
_nr||
', ln_bsln_amt_nr '||ln_bs
ln_amt_nr);
else

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1347 ln_bsln_amt_nr '||ln_bsln_amt_nr);
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1350 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||
', p_tax_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1354 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'1359 p4(I) '||p4(I)||', I ='||I);
IF p4(I) < I and p4(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1362 lt_inclu_tax_tab(P4(I)) '||lt_inclu_tax_tab(P4(I)));
IF lt_inclu_tax_tab(P4(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P4(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P4(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1366 vamt '||vamt||', tax_amt_tab(p4(I) '||tax_amt_tab(p4(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P4(I)) '||lt_tax_amt_non_rate_tab(P4(I)));
end if; --mmurtuza for bug 13473763
ELSIF p4(I) = 0 THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1371 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1375 vamt '||vamt||', bsln_amt '||bsln_amt||', ln_vamt_nr '||ln_vamt
_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
else
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1377 ln_bsln_amt_nr '||ln_bsln_amt_nr||', p_tax_amount '||p_tax_amount);
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1380 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1383 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1388 p5(I) '||p5(I)||', I '||I);
IF p5(I) < I and p5(I) not in (-1,0)
THEN

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1391 lt_inclu_tax_tab(P5(I)) '||lt_inclu_tax_tab(P5(I))||', lt_tax_amt
_rate_tax_tab(P5(I)) '||lt_tax_amt_rate_tax_tab(P5(I)));
IF lt_inclu_tax_tab(P5(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P5(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P5(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1395 vamt '||vamt||', tax_amt_tab(p5(I) '||tax_amt_tab(p5(I))||', ln
_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_rate_tab(P5(I)) '||lt_tax_amt_non_rate
_tab(P5(I)));
end if; --mmurtuza for bug 13473763
ELSIF p5(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1401 vamt '||vamt||', bsln_amt '||bsln_amt||', ln_bsln_amt_nr '||ln_
bsln_amt_nr);
else
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','1404 ln_bsln_amt_nr '||ln_bsln_amt_nr);
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1407 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||', p_tax
_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1410 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Preced
ence 6 to 10 )
-- START BUG 5228046
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1418 p6(I) '||p6(I)||', I ='||I);
IF p6(I) < I and p6(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','1421 lt_inclu_tax_tab(P6(I)) '||lt_inclu_tax_tab(P6(I))||', lt_tax_amt_rate_t
ax_tab(P6(I)) ='||lt_tax_amt_rate_tax_tab(P6(I)));
IF lt_inclu_tax_tab(P6(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P6(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P6(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1425 ln_vamt_nr '||ln_vamt_nr||', vamt '||vamt||', tax_amt_tab(p6(I)
) '||tax_amt_tab(p6(I))||
', lt_tax_amt_non_rate_ta
b(P6(I)) '||lt_tax_amt_non_rate_tab(P6(I)));
end if; --mmurtuza for bug 13473763
ELSIF p6(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;

ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1432 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||
', vamt '||vamt);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1436 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr||', p_tax
_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1439 ln_vamt_nr '||ln_vamt_nr||', ln_bsln_amt_nr '||ln_bsln_amt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1444 p7(I) '||p7(I)||', I ='||I);
IF p7(I) < I and p7(I) not in (-1,0)
THEN
IF lt_inclu_tax_tab(P7(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P7(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P7(I)),0);
end if; --mmurtuza for bug 13473763
ELSIF p7(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1455 vamt '||vamt||', ln_vamt_nr ='||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1459 ln_bsln_amt_nr '||ln_bsln_amt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1462 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1467 p8(I) '||p8(I));
IF p8(I) < I and p8(I) not in (-1,0)
THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1470 lt_inclu_tax_tab(P8(I)) '||lt_inclu_tax_tab(P8(I))||',lt_tax_amt_
rate_tax_tab(P8(I)) '||lt_tax_amt_rate_tax_tab(P8(I)));
IF lt_inclu_tax_tab(P8(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P8(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P8(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1474 vamt '||vamt||', ln_vamt_nr ='||ln_vamt_nr);
end if; --mmurtuza for bug 13473763

ELSIF p8(I) = 0 THEN


IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1480 vamt '||vamt||', ln_vamt_nr ='||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1484 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr ='||ln_vamt_nr||', p_ta
x_amount '||p_tax_amount);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'1491 p9(I) '||p9(I));
IF p9(I) < I and p9(I) not in (-1,0)
THEN
IF lt_inclu_tax_tab(P9(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P9(I)) IS N
OT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P9(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1497 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
end if; --mmurtuza for bug 13473763
ELSIF p9(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1503 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1513 p10(I) '||p10(I));
IF p10(I) < I and p10(I) not in (-1,0)
THEN
IF lt_inclu_tax_tab(P10(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P10(I)) IS
NOT NULL then --mmurtuza for bug 13473763
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P10(I)),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1519 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
end if; --mmurtuza for bug 13473763
ELSIF p10(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- 13473763
vamt := vamt + bsln_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_

ATO_TAXES','1525 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);


else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
-- END BUG 5228046
v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));
ln_tax_amt_nr := ln_tax_amt_nr + (ln_vamt_nr * (tax_rate_tab(I)/100));
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I):=ln_vamt_nr; /*Bug 9382657*/
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
lt_tax_amt_non_rate_tab(I) := NVL(lt_tax_amt_non_rate_tab(I),0) + ln_tax
_amt_nr; -- tax inclusive
-- lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I); --mmurtuza for bug 134
73763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','1544 v_tax_amt '||v_tax_amt||
', vamt '||vamt||
', tax_rate_tab(I) '||tax_rate_tab(I)||
', ln_tax_amt_nr '||ln_tax_amt_nr||
', ln_vamt_nr '||ln_vamt_nr||
', base_tax_amount_nr_tab(I) '||base_tax_amount_nr_tab(I)||
', tax_amt_tab(I) '||tax_amt_tab(I));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','15
52 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));
IF lt_inclu_tax_tab(I) = 'Y' then
lt_tax_amt_rate_tax_tab(I) := tax_amt_tab(I); --mmurtuza for
bug 13473763
END IF;
vamt := 0;
v_tax_amt := 0;
ln_tax_amt_nr := 0;
ln_vamt_nr := 0;
ELSE /*bug 9674771 - populate base_tax_amount_nr_tab for zero rate taxes a
lso*/
base_tax_amount_nr_tab(I) := 0;
END IF; --IF tax_rate_tab(I) <> 0
ELSE --IF end_date_tab(I) <> 0 THEN
tax_amt_tab(I) := 0;
base_tax_amt_tab(I) := 0;
base_tax_amount_nr_tab(I):=0; /*Bug 9382657*/
END IF; --IF end_date_tab(I) <> 0 THEN
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1570
after the loop');
----------------------------------------------------

--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*FOR I in 1..row_count LOOP
IF tax_rate_tab(I) <> 0 THEN
IF p1(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
END IF;
IF p2(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p2(I)),0);
END IF;
IF p3(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
END IF;
IF p4(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
END IF;
IF p5(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
IF p6(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
END IF;
IF p7(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
END IF;
IF p8(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
END IF;
IF p9(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
END IF;
IF p10(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
END IF;
-- END BUG 5228046
v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));
IF vamt <> 0 THEN
base_tax_amt_tab(I) := base_tax_amt_tab(I) + vamt;
END IF;
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
vamt := 0;
v_tax_amt := 0;
END IF;
END LOOP;*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------FOR I in 1..row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1626
in FOR I in 1..row_count LOOP val of i is '||i);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1627
end_date_tab( I ) '||end_date_tab( I ));
IF end_date_tab( I ) <> 0

THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1630 tax_rate_tab(I) '||tax_rate_tab(I));
IF tax_rate_tab(I) <> 0 THEN
IF p1(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p1(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1635 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p1(I)) '||lt_tax_amt_non_rate_tab(p1(I)));
END IF;
IF p2(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p2(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p2(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1640 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p2(I)) '||lt_tax_amt_non_rate_tab(p2(I)));
END IF;
IF p3(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p3(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1645 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p3(I)) '||lt_tax_amt_non_rate_tab(p3(I)));
END IF;
IF p4(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p4(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1650 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p4(I)) '||lt_tax_amt_non_rate_tab(p4(I)));
END IF;
IF p5(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p5(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1655 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p5(I)) '||lt_tax_amt_non_rate_tab(p5(I)));
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Preced
ence 6 to 10 )
-- START BUG 5228046
IF p6(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p6(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1663 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p6(I)) '||lt_tax_amt_non_rate_tab(p6(I)));
END IF;
IF p7(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p7(I)),0); -- t
ax inclusive

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1668 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p7(I)) '||lt_tax_amt_non_rate_tab(p7(I)));
END IF;
IF p8(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p8(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1673 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', 1673 lt_tax_amt_n
on_rate_tab(p8(I)) '||lt_tax_amt_non_rate_tab(p8(I)));
END IF;
IF p9(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p9(I)),0); -- t
ax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1678 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p9(I)) '||lt_tax_amt_non_rate_tab(p9(I)));
END IF;
IF p10(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p10(I)),0); -tax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','1683 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_ra
te_tab(p10(I)) '||lt_tax_amt_non_rate_tab(p10(I)));
END IF;
-- END BUG 5228046
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I):=ln_vamt_nr; /*9382657*/
v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));
ln_tax_amt_nr := ln_tax_amt_nr + (ln_vamt_nr * (tax_rate_tab(I)/100)); - tax inclusive
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1691 base_tax_amt_tab(I) '||base_tax_amt_tab(I)||
', base_tax_amount_nr_tab(I)
'||base_tax_amount_nr_tab(I)||
', v_tax_amt '||v_tax_amt||
', ln_tax_amt_nr '||ln_tax_amt_nr||
', ln_vamt_nr '||ln_vamt_nr||
', tax_rate_tab(I) '||tax_rate_tab(I));
IF vamt <> 0 THEN
base_tax_amt_tab(I) := base_tax_amt_tab(I) + vamt;
END IF;
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
lt_tax_amt_non_rate_tab(I) := NVL(lt_tax_amt_non_rate_tab(I),0) + ln_tax
_amt_nr ; -- tax inclusive
lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1705 tax_amt_tab(I) '||tax_amt_tab(I)||
', lt_tax_amt_non_rate_tab(I

) '||lt_tax_amt_non_rate_tab(I)||
', ln_tax_amt_nr '||ln_tax_amt_nr||
', lt_tax_amt_rate_tax_tab(i) '||lt_tax_amt_rate_tax_tab(i));
vamt := 0;
v_tax_amt := 0;
ln_vamt_nr := 0 ;
ln_tax_amt_nr := 0 ;
END IF;
ELSE --IF end_date_tab( I ) <> 0 THEN
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I):=ln_vamt_nr; /*9382657*/
tax_amt_tab(I) := 0;
END IF; --IF end_date_tab( I ) <> 0 THEN
END LOOP;
--------------------------------------------------FOR counter IN 1 .. max_iter LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','1724
in FOR counter IN 1 .. max_iter LOOP val of counter is '||counter);
vamt := 0;
v_tax_amt := 0;
ln_vamt_nr := 0; -- Add by Kevin Cheng for inclusive tax Dec 10, 2007
ln_tax_amt_nr:=0; -- Add by Kevin Cheng for inclusive tax Dec 10, 2007
FOR i IN 1 .. row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'1731 in inside FOR i IN 1 .. row_count LOOP val of I is '||i);
/*Commented by aiyer for the bug 4691616
IF tax_rate_tab( i ) <> 0 THEN
*/
/*
|| start of bug bug#4691616
|| IF statement modified by Aiyer for bug#4691616
*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','
1741 tax_rate_tab( i ) '||tax_rate_tab( i )||', tax_rate_zero_tab(I) '
||tax_rate_zero_tab(I)||', end_date_tab( I ) '||end_date_tab( I )||', tax_type_t
ab( I ) '||tax_type_tab( I ));
IF ( tax_rate_tab( i ) <> 0 OR tax_rate_zero_tab(I) = -9999 ) AND
end_date_tab( I ) <> 0
THEN
/*
|| End of bug 4691616
*/
IF tax_type_tab( I ) = 1 THEN
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*v_amt := p_assessable_value;*/
--Added by Kevin Cheng for inclusive tax Dec 10, 2007
-----------------------------------------------IF ln_assessable_value =1
THEN
v_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
v_amt :=0;

ln_bsln_amt_nr :=ln_assessable_value;
END IF;
-----------------------------------------------ELSIF tax_type_tab( I ) = 4 THEN
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*v_amt := p_vat_assessable_value;*/
--Added by Kevin Cheng for inclusive tax Dec 10, 2007
-----------------------------------------------IF ln_vat_assessable_value =1
THEN
v_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
v_amt :=0;
ln_bsln_amt_nr :=ln_vat_assessable_value;
END IF;
--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*ELSIF tax_type_tab( I ) = 7 THEN
IF ln_gst_assessable_value =1
THEN
v_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
v_amt :=0;
ln_bsln_amt_nr :=ln_gst_assessable_value;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
----------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end

-----------------------------------------------ELSIF tax_type_tab( I ) = 5 THEN


/*Bug#6072461, bduvarag*/
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*v_amt := p_vat_reversal_price;*/
--Added by Kevin Cheng for inclusive tax Dec 10, 2007
------------------------------------IF ln_vat_reversal_price =1
THEN
v_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
v_amt :=0;
ln_bsln_amt_nr :=ln_vat_reversal_price;
END IF;
ELSIF tax_type_tab(I) = 6 THEN
v_amt:=0;
ln_bsln_amt_nr :=0;
------------------------------------ELSE
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','1813 p_assessable_value '||p_assessable_value);
IF p_assessable_value IN ( 0, -1 ) OR tax_type_tab( I ) <> 1 THEN
/*v_amt := p_tax_amount;*/--Comment out by Kevin Cheng for inclusive
tax Dec 10, 2007
v_amt:=1;
--Added by Kevin Cheng for inclusive tax De

c 10, 2007
ln_bsln_amt_nr :=0;

--Added by Kevin Cheng for inclusive tax De

c 10, 2007
ELSIF p_vat_assessable_value IN ( 0, -1 ) OR tax_type_tab( I ) <> 4 TH
EN
/*v_amt := p_tax_amount;*/--Comment out by Kevin Cheng for inclusive
tax Dec 10, 2007
v_amt:=1;
--Added by Kevin Cheng for inclusive tax De
c 10, 2007
ln_bsln_amt_nr :=0;
--Added by Kevin Cheng for inclusive tax De
c 10, 2007
ELSIF p_vat_reversal_price IN ( 0, -1 ) OR tax_type_tab( I ) <> 5 TH
EN /*Bug#6072461, bduvarag*/
/*v_amt := p_tax_amount; */--Comment out by Kevin Cheng for inclu
sive tax Dec 10, 2007
v_amt:=1;
--Added by Kevin Cheng for inclusive tax
Dec 10, 2007
ln_bsln_amt_nr :=0;
--Added by Kevin Cheng for inclusive tax
Dec 10, 2007
--Added by zhiwei for bug10043656 GST enhancement 2010/0
9/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza f
or removing GST Changes*/
/*ELSIF pn_gst_assessable_value
IN ( 0, -1 ) OR tax_type_tab( I ) <> 7 THEN
v_amt:=1;
--Added by Kevin Cheng for inclusive tax De
c 10, 2007
ln_bsln_amt_nr :=0; */
--Added by Kevin Cheng for inclusive tax
Dec 10, 2007
/*End Commenting by mmurtuza for removing GST Changes*/
---------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
END IF;
END IF;
IF p1( i ) <> -1 THEN
IF p1( i ) <> 0 THEN
IF lt_inclu_tax_tab(P1(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P1(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p1( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P1(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1840 p1( i ) '||p1( i )||', lt_inclu_tax_tab(P1(I)) '||lt_incl
u_tax_tab(P1(I))||', lt_tax_amt_rate_tax_tab(P1(I)) '||lt_tax_amt_rate_tax_tab(P
1(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1846 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P1(I)) '||lt_tax_amt_non_rate_tab(P1(I)));
end if; --bug 13473763
ELSIF p1(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1852 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1856 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1859 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
IF p2( i ) <> -1 THEN
IF p2( i ) <> 0 THEN
IF lt_inclu_tax_tab(P2(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P2(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p2( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P2(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1865 p2( i ) '||p2( i )||', lt_inclu_tax_tab(P2(I)) '||lt_incl
u_tax_tab(P2(I))||', lt_tax_amt_rate_tax_tab(P2(I)) '||lt_tax_amt_rate_tax_tab(P
2(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1871 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P2(I)) '||lt_tax_amt_non_rate_tab(P2(I)));
end if; --bug 13473763
ELSIF p2(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1877 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1881 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1884 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
IF p3( i ) <> -1 THEN
IF p3( i ) <> 0 THEN
IF lt_inclu_tax_tab(P3(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P3(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p3( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P3(I)),0); --adde

d by Kevin Cheng for inclusive tax Dec 10, 2007


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1890 p3( i ) '||p3( i )||', t_inclu_tax_tab(P3(I)) '||lt_inclu
_tax_tab(P3(I))||', lt_tax_amt_rate_tax_tab(P3(I)) '||lt_tax_amt_rate_tax_tab(P3
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1896 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P3(I)) '||lt_tax_amt_non_rate_tab(P3(I)));
end if; --bug 13473763
ELSIF p3(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1902 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
END IF;
IF p4( i ) <> -1 THEN
IF p4( i ) <> 0 THEN
IF lt_inclu_tax_tab(P4(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P4(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p4( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P4(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1919 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P4(I)) '||lt_tax_amt_non_rate_tab(P4(I)));
end if; --bug 13473763
ELSIF p4(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1913 p4( i ) '||p4( i )||', t_inclu_tax_tab(P4(I)) '||lt_inclu
_tax_tab(P4(I))||', lt_tax_amt_rate_tax_tab(P4(I)) '||lt_tax_amt_rate_tax_tab(P4
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1925 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
END IF;
IF p5( i ) <> -1 THEN

IF p5( i ) <> 0 THEN


IF lt_inclu_tax_tab(P5(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P5(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p5( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P5(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1935 p5( i ) '||p5( i )||', t_inclu_tax_tab(P5(I)) '||lt_inclu
_tax_tab(P5(I))||', lt_tax_amt_rate_tax_tab(P5(I)) '||lt_tax_amt_rate_tax_tab(P5
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TA
XES','1925 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_non_rate_tab
(P5(I)) '||lt_tax_amt_non_rate_tab(P5(I)));
end if; --bug 13473763
ELSIF p5(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for inc
lusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','1946 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
end if;
END IF;
END IF;
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
IF p6( i ) <> -1 THEN
IF p6( i ) <> 0 THEN
IF lt_inclu_tax_tab(P6(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P6(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p6( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P6(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1960 p6( i ) '||p6( i )||', t_inclu_tax_tab(P6(I)) '||lt_inclu
_tax_tab(P6(I))||', lt_tax_amt_rate_tax_tab(P6(I)) '||lt_tax_amt_rate_tax_tab(P6
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1966 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P6(I)) '||lt_tax_amt_non_rate_tab(P6(I)));
end if; --bug 13473763
ELSIF p6(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1972 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/

ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763


else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','1978 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
IF p7( i ) <> -1 THEN
IF p7( i ) <> 0 THEN
IF lt_inclu_tax_tab(P7(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P7(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p7( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P7(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1984 p7( i ) '||p7( i )||', t_inclu_tax_tab(P7(I)) '||lt_inclu
_tax_tab(P7(I))||', lt_tax_amt_rate_tax_tab(P7(I)) '||lt_tax_amt_rate_tax_tab(P7
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1990 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P7(I)) '||lt_tax_amt_non_rate_tab(P7(I)));
end if; --bug 13473763
ELSIF p7(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','1996 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2000 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2003 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
IF p8( i ) <> -1 THEN
IF p8( i ) <> 0 THEN
IF lt_inclu_tax_tab(P8(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P8(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p8( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P8(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2009 p8( i ) '||p8( i )||', t_inclu_tax_tab(P8(I)) '||lt_incl
u_tax_tab(P8(I))||', lt_tax_amt_rate_tax_tab(P8(I)) '||lt_tax_amt_rate_tax_tab(P
8(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC

ULATE_ATO_TAXES','2015 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_


non_rate_tab(P8(I)) '||lt_tax_amt_non_rate_tab(P8(I)));
end if; --bug 13473763
ELSIF p8(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2021 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2025 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2028 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
IF p9( i ) <> -1 THEN
IF p9( i ) <> 0 THEN
IF lt_inclu_tax_tab(P9(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P9(I)) IS
NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p9( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P9(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2034 p9( i ) '||p9( i )||', t_inclu_tax_tab(P9(I)) '||lt_inclu
_tax_tab(P9(I))||', lt_tax_amt_rate_tax_tab(P9(I)) '||lt_tax_amt_rate_tax_tab(P9
(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2040 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P9(I)) '||lt_tax_amt_non_rate_tab(P9(I)));
end if; --bug 13473763
ELSIF p9(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2046 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2050 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2053 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;

IF p10( i ) <> -1 THEN


IF p10( i ) <> 0 THEN
IF lt_inclu_tax_tab(P10(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P10(I))
IS NOT NULL then -- bug 13473763
vamt := vamt + tax_amt_tab( p10( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P10(I)),0); --add
ed by Kevin Cheng for inclusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2059 p10( i ) '||p10( i )||', t_inclu_tax_tab(P10(I)) '||lt_in
clu_tax_tab(P10(I))||', lt_tax_amt_rate_tax_tab(P10(I)) '||lt_tax_amt_rate_tax_t
ab(P10(I)));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2065 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||', lt_tax_amt_
non_rate_tab(P10(I)) '||lt_tax_amt_non_rate_tab(P10(I)));
end if; --bug 13473763
ELSIF p10(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13473763
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for inc
lusive tax Dec 10, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2071 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
else
if (ln_bsln_amt_nr = 0) then /*14140327*/
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- 13473763
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2075 ln_vamt_nr '||ln_vamt_nr);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; /*14140327*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2078 ln_vamt_nr '||ln_vamt_nr);
end if;
END IF;
END IF;
END IF;
-- END BUG 5228046

/*
||Added by aiyer for the bug 4691616
||added calculation for base_tax_amt and also changed the else to elsif
*/
/*removed the round function for bug#10114559
base_tax_amt_tab(I) := ROUND(vamt, rounding_factor_tab(I) );
base_tax_amount_nr_tab(I):=ROUND(ln_vamt_nr, rounding_factor_tab(I) ); /*
9382657*
*/
base_tax_amt_tab(I) :=vamt; -- 10114559
base_tax_amount_nr_tab(I):=ln_vamt_nr;--10114559
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
----------------------------------------------------

lt_tax_target_tab(I) := vamt;
ln_tax_amt_nr:=ln_tax_amt_nr+(ln_vamt_nr*(tax_rate_tab(i)/100));
ln_func_tax_amt := v_tax_amt + ( vamt * ( tax_rate_tab( i )/100));
---------------------------------------------------v_tax_amt := v_tax_amt + ( vamt * ( tax_rate_tab( i )/100));
ELSIF tax_rate_tab(I) = 0 THEN
/*
|| tax_rate_tab(i) will be zero when tax_rate of such a line is null.
|| i.e It is UOM based calculation. base_Tax_amount will be same as tax_
amount
*/
base_tax_amt_tab(I) := tax_amt_tab(i);
v_tax_amt
:= tax_amt_tab( i );
ln_tax_amt_nr:=lt_tax_amt_non_rate_tab(i); --Add by Kevin Cheng for inc
lusive tax Jan 08, 2008
lt_tax_target_tab(I):= v_tax_amt; --Add by Kevin Cheng for inclusive tax
Dec 10, 2007
/*
||End of bug 4691616
*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------ELSIF end_date_tab( I ) = 0 THEN
tax_amt_tab(I) := 0;
base_tax_amt_tab(I) := 0;
base_tax_amount_nr_tab(I):=0; /*9382657*/
lt_tax_target_tab(I) := 0;
--------------------------------------------------END IF;
--Comment out by Kevin Cheng for inclusive tax Dec 10, 2007
/*tax_amt_tab( I ) := NVL( v_tax_amt, 0 );
IF counter = max_iter THEN
tax_amt_tab( I ) := ROUND( tax_amt_tab( I ), rounding_factor_tab(I) );
END IF;
IF end_date_tab(I) = 0 THEN
tax_amt_tab( i ) := 0;
base_tax_amt_tab(i) := 0;
END IF;*/
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------tax_amt_tab( I ) := NVL( v_tax_amt, 0 );
lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I);
lt_tax_amt_non_rate_tab(I):=ln_tax_amt_nr;
lt_func_tax_amt_tab(I) := NVL(ln_func_tax_amt,0);
IF counter = max_iter THEN
IF end_date_tab(I) = 0 THEN
tax_amt_tab( i ) := 0;
lt_func_tax_amt_tab(i) := 0;
END IF;
END IF;
--------------------------------------------------vamt := 0;
v_amt := 0;
v_tax_amt := 0;

ln_func_tax_amt := 0; -- Add by Kevin Cheng for inclusive tax Dec 10, 2007
ln_vamt_nr :=0; -- Add by Kevin Cheng for inclusive tax Dec 10, 2007
ln_tax_amt_nr:=0;-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'2168 After the end loop');
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2170 A
fter the end loop');
--Added by Kevin Cheng for inclusive tax Dec 10, 2007
-------------------------------------------------------------------------------------FOR I IN 1 .. ROW_COUNT
LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','21
75 in FOR I IN 1 .. ROW_COUNT val of i is '||i);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'2176 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));
IF lt_inclu_tax_tab(I) = 'Y' THEN
ln_total_tax_per_rupee := ln_total_tax_per_rupee + nvl(lt_tax_amt_rate_tax
_tab(I),0) ;
ln_total_non_rate_tax := ln_total_non_rate_tax + nvl(lt_tax_amt_non_rate_t
ab(I),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2180 ln_total_tax_per_rupee '||ln_total_tax_per_rupee||', ln_total_non_rate_
tax '||ln_total_non_rate_tax);
END IF;
END LOOP;
ln_total_tax_per_rupee := ln_total_tax_per_rupee + 1;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2218
6 ln_total_tax_per_rupee '||ln_total_tax_per_rupee);
IF ln_total_tax_per_rupee <> 0 THEN
ln_exclusive_price := (NVL(p_tax_amount,0) - ln_total_non_rate_tax ) / ln
_total_tax_per_rupee;
END If;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2192
v_rma_ctr '||v_rma_ctr);
/* Start Additions by mmurtuza for bug 16389308*/
if NVL(v_rma_ctr,0) = 0 then
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','219
6 p_header_id '||p_header_id||', p_line_id '||p_line_id);
FOR rec in tax_cur(p_header_id, p_line_id) LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','2199 rec.tax_id '||rec.tax_id);
OPEN get_adhoc_flag(rec.tax_id);
FETCH get_adhoc_flag INTO lv_adhoc_flag;
CLOSE get_adhoc_flag;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2204 lv_adhoc_flag '||lv_adhoc_flag);
IF lv_adhoc_flag = 'Y' THEN
IF nvl(p_line_quantity, 0) <> 0 THEN
tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_qua

ntity), NVL(rec.rounding_factor, 0));


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2209 tax_amt_tab(rec.lno) '||tax_amt_tab(rec.lno));
END IF;
END IF;

END LOOP;
elsif v_rma_ctr = 1 then
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2218
p_line_id '||p_line_id);
FOR rec in c_rma_tax_cur(p_line_id) LOOP
OPEN get_adhoc_flag(rec.tax_id);
FETCH get_adhoc_flag INTO lv_adhoc_flag;
CLOSE get_adhoc_flag;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_
ATO_TAXES','2224 lv_adhoc_flag '||lv_adhoc_flag);
IF lv_adhoc_flag = 'Y' THEN
IF nvl(p_line_quantity, 0) <> 0 THEN
tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_
quantity), NVL(rec.rounding_factor, 0));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CA
LCULATE_ATO_TAXES','2229 tax_amt_tab(rec.lno) '||tax_amt_tab(rec.lno));
END IF;
END IF;
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','223
4 After the loop ');
end if;
/* End Additions by mmurtuza for bug 16389308*/
FOR i in 1 .. row_count
LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2241
in loop FOR i in 1 .. row_count val of i is '||i);
-- tax_amt_tab(i) := (lt_tax_amt_rate_tax_tab(I) * ln_exclusive_price ) + lt
_tax_amt_non_rate_tab(I); --mmurtuza for bug 13473763
-- tax_amt_tab(I) := round(tax_amt_tab(I) ,rounding_factor_tab(I)); --mmur
tuza for bug 13473763
/*Bug 9382657 - Multiply Line Amount with the Rate of the precedences*/
-- base_tax_amt_tab(I):= ln_exclusive_price * base_tax_amt_tab(I) + base_tax
_amount_nr_tab(I); --mmurtuza for bug 13473763
/*Start Additions by mmurtuza for bug 13473763 */
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2248
lt_adhoc_tax_tab(i) '||lt_adhoc_tax_tab(i));
if (lt_adhoc_tax_tab(i) = 'N') then --Added if condition by mmurtuza for bug 16
389308
tax_amt_tab (i):=0;
end if;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','2254 lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I));

IF lt_inclu_tax_tab(I) = 'Y' THEN


IF (tax_type_tab(I) = 1 and ln_assessable_value>1) OR
(tax_type_tab(I) = 4 and ln_vat_assessable_value> 1) THEN
IF tax_type_tab(I) = 1 and ln_assessable_value >1 Then
ln_amount:= ln_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.CALCULATE_ATO_TAXES','2261 ln_amount '||ln_amount);
ELSIF tax_type_tab(I) = 4 and ln_vat_assessable_value >1 Then
ln_amount:= ln_vat_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.CALCULATE_ATO_TAXES','2264 ln_amount '||ln_amount);
END IF;
IF P1(I) < I AND p1(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P1(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.CALCULATE_ATO_TAXES','2269 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P1(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)
/100;
END IF;
IF P2(I) < I AND p2(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P2(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2276 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P2(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2279 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P3(I) < I AND p3(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P3(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2284 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P3(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2287 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P4(I) < I AND p4(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P4(i))* tax_rate_t
ab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CA
LCULATE_ATO_TAXES','2292 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P4(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2295 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;

IF P5(I) < I AND p5(I) NOT IN (-1, 0) then


tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P5(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2300 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P5(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','5555 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P6(I) < I AND p6(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P6(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.CALCULATE_ATO_TAXES','2308 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P6(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2311 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P7(I) < I AND p7(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P7(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2316 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P7(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/
100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2319 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P8(I) < I AND p8(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P8(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2324 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P8(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2327 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P9(I) < I AND p9(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P9(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2332 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P9(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2335 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;

IF P10(I) < I AND p10(I) NOT IN (-1, 0) then


tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P10(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2340 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P10(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2343 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
ELSE
tax_amt_tab (i) := (lt_tax_amt_rate_tax_tab(I) * ln_exclusive_price
) + lt_tax_amt_non_rate_tab(I);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2347 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
ELSE
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2408 v_register_code '||v_register_code);
IF (tax_type_tab(I) = 1 and ln_assessable_value >1) OR
(tax_type_tab(I) = 4 and ln_vat_assessable_value > 1) THEN
IF tax_type_tab(I) = 1 and ln_assessable_value >1 Then
ln_amount:= ln_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.CALCULATE_ATO_TAXES','2355 ln_amount '||ln_amount);
ELSIF tax_type_tab(I) = 4 and ln_vat_assessable_value >1 Then
ln_amount:= ln_vat_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.CALCULATE_ATO_TAXES','2358 ln_amount '||ln_amount);
END IF;
ELSE ln_amount:= p_tax_amount;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2361 ln_amount '||ln_amount);
END IF;
/*Added below if clause by mmurtuza for bug 17015322*/
IF (tax_type_tab(I) = 1 and v_register_code = 'BOND_REG') THE
N
ln_amount := 0;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CA
LCULATE_ATO_TAXES','2426 ln_amount '||ln_amount);
END IF;
IF P1(I) < I AND p1(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P1(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2365 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P1(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2368 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P2(I) < I AND p2(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P2(i))* tax_rate_ta
b(i)/100;

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2373 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P2(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2376 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P3(I) < I AND p3(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P3(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2381 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P3(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2384 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P4(I) < I AND p4(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P4(i))* tax_rate_t
ab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CA
LCULATE_ATO_TAXES','2389 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P4(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2392 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P5(I) < I AND p5(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P5(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2397 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P5(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2400 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P6(I) < I AND p6(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P6(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2405 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P6(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','5555 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P7(I) < I AND p7(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P7(i))* tax_rate_tab(
i)/100;

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2413 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P7(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2416 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P8(I) < I AND p8(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P8(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2421 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P8(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2424 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P9(I) < I AND p9(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P9(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2429 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P9(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2432 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
IF P10(I) < I AND p10(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P10(i))* tax_rate_tab
(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE
_ATO_TAXES','2437 tax_amt_tab(i) '||tax_amt_tab(i));
ELSIF P10(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.C
ALCULATE_ATO_TAXES','2440 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
END IF;
/*Bug 14358278 -- Start Additions by mmurtuza*/
-jai_cmn_utils_pkg.write_fnd_log_msg(JAI_OM_RG_PKG.CALCULATE_AT
O_TAXES,'2445 qty_rate_tab(i) '||qty_rate_tab(i)||', p_quantity '||p_quantity);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO
_TAXES','2442 v_tax_uom_code '||v_tax_uom_code||', p_uom_code '||p_uom_code);
if (nvl(qty_rate_tab(i),0) <> 0) then
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.CALCULATE_ATO_TAXES','2443 inside condtion if (nvl(qty_rate_tab(i),0) <> 0)
then p_header_id '||p_header_id||
', p_line_id '||p_line_id||'
, i '||i);
/* additions by nkodakan for bug 17831734 star
ts */

open get_tax_uom_code(p_header_id, p_line_id,


i);
fetch get_tax_uom_code into v_tax_uom_code, v_
tax_line_no;
close get_tax_uom_code;
IF NVL(v_tax_uom_code,'$$$') <> p_uom_code TH
EN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM
_TAX_PKG.CALCULATE_ATO_TAXES','2444 inside IF NVL(v_tax_uom_code,$$$) <> p_uom_c
ode THEN v_tax_line_no '||v_tax_line_no||
', v_tax_uom_code '||v
_tax_uom_code||
', p_inventory_item_id
'||p_inventory_item_id||
', p_uom_code '||p_uom
_code);
inv_convert.inv_um_conversion(p_uom_code, v_tax_uom_code, p
_inventory_item_id, v_conversion_rate);
jai_cmn_utils_pkg.write_fnd_log_msg('JA
I_OM_TAX_PKG.CALCULATE_ATO_TAXES','2445 v_conversion_rate '||v_conversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
INV_CONVERT.inv_um_conversion( p_uom_code, v_tax_uom_code
, 0, v_conversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
v_conversion_rate := 0;
jai_cmn_utils_pkg.write
_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2446 v_conversion_rate '||v_c
onversion_rate);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JA
I_OM_TAX_PKG.CALCULATE_ATO_TAXES','2447 v_conversion_rate '||v_conversion_rate);
tax_amt_tab(I) := qty_rate_tab(i) * p_quant
ity * v_conversion_rate;
jai_cmn_utils_pkg.write_fnd_log_msg('JA
I_OM_TAX_PKG.CALCULATE_ATO_TAXES','2447.1 qty_rate_tab(i) '||qty_rate_tab(i)||
', p_quantity '||p_quan
tity||
', v_conversion_rate '
||v_conversion_rate||
', tax_amt_tab(I) '||tax_amt_tab(I));
ELSE
/* additions by nkodakan for bug 17831734 end
s */
tax_amt_tab(I) := qty_rate_tab(i) * p_quantity;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCUL
ATE_ATO_TAXES','2448 tax_amt_tab(i) '||tax_amt_tab(i));
END IF;
end if;
/*Bug 14358278 -- End Additions by mmurtuza*/
------------------------------------------------------------------- Added by Shyan for bug 10358786 on 28-Jan-2011 , End
lt_func_tax_amt_tab(i):=tax_amt_tab (i); --Added by walton for bug#928801
6

tax_amt_tab(I) := round(tax_amt_tab(I) ,rounding_factor_tab(I));


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','2456 tax_amt_tab(i) '||tax_amt_tab(i));
base_tax_amt_tab(I):= ln_exclusive_price * base_tax_amt_tab(I)
+ base_tax_amount_nr_tab(I); --added by Xiao Lv for
bug#8789761 on 30-Oct-09
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAX
ES','2459 base_tax_amt_tab(I) '||base_tax_amt_tab(I)||', ln_exclusive_price '||l
n_exclusive_price||', base_tax_amt_tab(I) '||base_tax_amt_tab(I));
/*End Additions by mmurtuza for bug 13473763*/
/*Bug 14358278 -- Start Additions by mmurtuza*/
if (nvl(qty_rate_tab(i),0) <> 0) then
base_tax_amt_tab(I):= tax_amt_tab(I);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2466 base_tax_amt_tab(I) '||base_tax_amt_tab(I));
end if;
/*Bug 14358278 -- End Additions by mmurtuza*/
/*By mmurtuza for bug 16804271 - Start*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES'
,'2471 v_rma_ctr '||v_rma_ctr);
IF v_rma_ctr = 1 THEN
lv_check_vat_type_exists := NULL;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','2476 tax_type_name(I) '||tax_type_name(I));
OPEN c_check_Vat_type_Tax_exists (tax_type_name(I));
FETCH c_check_Vat_type_Tax_exists INTO lv_check_vat_type_exists;
CLOSE c_check_Vat_type_Tax_exists;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','2480 tax_type_name(I) '||tax_type_name(I)||
', lv_check_vat_type_exists '||lv_c
heck_vat_type_exists||
', v_excise_flag '||v_excise_flag||
', v_sales_flag '||v_sales_flag||
', lv_check_vat_type_exists '||lv_check_vat_type_exists||
', v_vat_flag '||v_vat_flag);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','2488 tax_type_name(I) '||tax_type_name(I));
IF (tax_type_name(I) IN ('Excise', 'Addl. Excise', 'Other Excise', JAI_
CONSTANTS.TAX_TYPE_EXC_EDU_CESS, JAI_CONSTANTS.TAX_TYPE_SH_EXC_EDU_CESS) AND v_e
xcise_flag = 'N') OR
(tax_type_name(I) IN ('Sales Tax', 'CST') AND v_sales_flag = 'N') O
R
( lv_check_vat_type_exists = 1 AND v_vat_flag = 'N')
THEN
tax_amt_tab(I) := 0;
base_tax_amt_tab(I) := 0;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALC
ULATE_ATO_TAXES','2495 tax_amt_tab(I) '||tax_amt_tab(I)||', base_tax_amt_tab(I)
'||base_tax_amt_tab(I));

END IF;
END IF;
/*By mmurtuza for bug 16804271 - End*/
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2503
After end loop ');
------------------------------------------------------------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2506
v_rma_ctr '||v_rma_ctr);
if NVL(v_rma_ctr,0) = 0 then -- added by sriram - bug # 2740443
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','250
9 p_header_id '||p_header_id||', p_line_id '||p_line_id);
FOR rec in tax_cur(p_header_id, p_line_id) LOOP
IF tax_type_tab(rec.lno) <> 2
THEN
IF NVL(rec.inclusive_tax_flag,'N') = 'N' THEN -- Added by Jia for bug# 68
46048
v_tax_amt := v_tax_amt + nvl(tax_amt_tab(rec.lno),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_A
TO_TAXES','2515 v_tax_amt '||v_tax_amt);
END IF; -- Added by Jia for bug# 6846048
END IF;
/* Start Additions by mmurtuza for bug 14031594*/
/*Start commenting by mmurtuza for bug 16389308. Moved in the intial pl
ace of this procedure*/
/*OPEN get_adhoc_flag(rec.tax_id);
FETCH get_adhoc_flag INTO lv_adhoc_flag;
CLOSE get_adhoc_flag;
IF lv_adhoc_flag = 'Y' THEN
IF nvl(p_line_quantity, 0) <> 0 THEN
tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_qua
ntity), NVL(rec.rounding_factor, 0));
END IF;
END IF;*/
/*End commenting by mmurtuza for bug 16389308*/
/* End Additions by mmurtuza for bug 14031594*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES
','2538 transaction_name '||transaction_name);
IF transaction_name = 'OE_LINES_UPDATE'
THEN
UPDATE JAI_OM_OE_SO_TAXES
SET tax_amount = nvl(tax_amt_tab(rec.lno),0),
base_tax_amount = decode(nvl(base_tax_amt_tab(rec.lno), 0), 0,
nvl(tax_amt_tab(rec.lno),0), nvl(base_tax_amt_tab(rec.lno), 0)),
func_tax_amount = ROUND(nvl(tax_amt_tab(rec.lno),0) * v_curre
ncy_conv_factor, rounding_factor_tab(rec.lno) ),

last_update_date = p_last_update_date,
last_updated_by = p_last_updated_by,
last_update_login = p_last_update_login
WHERE line_id = P_line_id
AND header_id = p_header_id
AND tax_line_no = rec.lno;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CAL
CULATE_ATO_TAXES','2551 UPDATE JAI_OM_OE_SO_TAXES tax_amt_tab(rec.lno) '||tax_a
mt_tab(rec.lno)||
', base_tax_amt_tab
(rec.lno) '||base_tax_amt_tab(rec.lno)||
', tax_amt_tab(rec.lno '||tax_amt_tab(rec.lno)||
', v_currency_conv_factor '||v_currency_conv_factor||
', rounding_factor_tab(rec.lno) '||rounding_factor_tab(rec.lno)
||
', p_header_id '||p_header_id||
', rec.lno '||rec.lno);
END IF;
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2561
After end loop ');
elsif v_rma_ctr = 1 then
-- added by sriram -following from elsif to end if bug # 2740443
FOR rec in c_rma_tax_cur(p_line_id) LOOP
IF tax_type_tab(rec.lno) <> 2
THEN
v_tax_amt := v_tax_amt + nvl(tax_amt_tab(rec.lno),0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','2568 v_tax_amt '||v_tax_amt);
END IF;
/* Start Additions by mmurtuza for bug 14031594*/
/*Start commenting by mmurtuza for bug 16389308. Moved in the intial p
lace of this procedure*/
/*OPEN get_adhoc_flag(rec.tax_id);
FETCH get_adhoc_flag INTO lv_adhoc_flag;
CLOSE get_adhoc_flag;
IF lv_adhoc_flag = 'Y' THEN
IF nvl(p_line_quantity, 0) <> 0 THEN
tax_amt_tab(rec.lno) := ROUND((rec.tax_amount * p_quantity/p_line_
quantity), NVL(rec.rounding_factor, 0));
END IF;
END IF;*/
/*End commenting by mmurtuza for bug 16389308*/
/* End Additions by mmurtuza for bug 14031594*/
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXE
S','2589 transaction_name '||transaction_name);

IF transaction_name = 'OE_LINES_UPDATE'
THEN
UPDATE JAI_OM_OE_RMA_TAXES
SET
tax_amount = nvl(tax_amt_tab(rec.lno),0),
base_tax_amount = decode(nvl(base_tax_amt_tab(rec.lno), 0
), 0, nvl(tax_amt_tab(rec.lno),0), nvl(base_tax_amt_tab(rec.lno), 0)),
func_tax_amount = ROUND(nvl(tax_amt_tab(rec.lno),0) * v_
currency_conv_factor, rounding_factor_tab(rec.lno) ),
last_update_date = p_last_update_date,
last_updated_by = p_last_updated_by,
last_update_login = p_last_update_login
WHERE rma_line_id = P_line_id
AND tax_line_no = rec.lno;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_AT
O_TAXES','2603 UPDATE JAI_OM_OE_RMA_TAXES tax_amt_tab(rec.lno) '||tax_amt_tab(
rec.lno)||
', base_tax_amt_tab(rec.lno)
'||base_tax_amt_tab(rec.lno)||
', tax_amt_tab(rec.lno) '||tax_amt_tab(rec.lno)||
', v_currency_conv_factor '||v_currency_conv_factor||
', rounding_factor_tab(rec.lno) '||rounding_factor_tab(rec.lno)||
', P_line_id '||P_line_id||
', rec.lno '||rec.lno);
END IF;
END LOOP;
end if; -- ends here additions by sriram - bug # 2740443
P_TAX_AMOUNT := nvl(v_tax_amt,0);
EXCEPTION
WHEN OTHERS THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.CALCULATE_ATO_TAXES','2618
Exception occured in CALCULATE_ATO_TAXES procedure sqlcode '||sqlcode||', sqler
rm '||sqlerrm);
p_tax_amount := null;
FND_MESSAGE.SET_NAME ('JA','JAI_EXCEPTION_OCCURED');
FND_MESSAGE.SET_TOKEN ('JAI_PROCESS_MSG',lv_object_name ||'.Err:'||sqlerrm);
app_exception.raise_exception;
END calculate_ato_taxes;
procedure recalculate_oe_taxes(
p_header_id
IN NUMBER,
p_line_id
IN NUMBER,
p_assessable_value IN NUMBER DEFAULT 0,
p_vat_assess_value
IN NUMBER,
p_tax_amount
IN OUT NOCOPY NUMBER,
p_inventory_item_id IN NUMBER,
p_line_quantity IN NUMBER,
p_uom_code
IN VARCHAR2,
p_currency_conv_factor IN NUMBER,
p_last_updated_date IN DATE,
p_last_updated_by IN NUMBER,

p_last_update_login IN NUMBER
--,pn_gst_assess_value
IN NUMBER --Added by zhiwei for bug10043656 GST en
hancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/
) IS
-- P_TAX_AMOUNT input parameter will contain the line_tax_amount after successfu
l completion of the procedure which
-- can be used to update the line amount in JAI_OM_OE_SO_LINES
TYPE num_tab IS TABLE OF NUMBER(20,3) INDEX BY BINARY_INTEGER;
TYPE tax_amt_num_tab IS TABLE OF NUMBER(20,3) INDEX BY BINARY_INTEGER;
--Add by Kevin Cheng for inclusive tax Dec 10, 2007
--------------------------------------------------TYPE CHAR_TAB IS TABLE OF VARCHAR2(10)
INDEX BY BINARY_INTEGER;
lt_adhoc_tax_tab
CHAR_TAB;
lt_inclu_tax_tab
CHAR_TAB;
lt_tax_rate_per_rupee
NUM_TAB;
lt_cumul_tax_rate_per_rupee NUM_TAB;
lt_tax_rate_zero_tab
NUM_TAB;
lt_round_factor_tab
NUM_TAB;
lt_tax_amt_rate_tax_tab
TAX_AMT_NUM_TAB;
lt_tax_amt_non_rate_tab
TAX_AMT_NUM_TAB;
lv_register_code
VARCHAR2(20);
ln_exclusive_price
NUMBER;
ln_total_non_rate_tax
NUMBER := 0;
ln_total_inclusive_factor
NUMBER;
ln_bsln_amt_nr
NUMBER := 0;
ln_currency_conv_factor
NUMBER;
ln_tax_amt_nr
NUMBER(38,10) := 0;
ln_vamt_nr
NUMBER(38,10) := 0;
ln_excise_jb
NUMBER;
ln_total_tax_per_rupee
NUMBER;
ln_assessable_value
NUMBER;
ln_vat_assessable_value
NUMBER;
--ln_gst_assessable_value
NUMBER; -- Added by zhiwei for bug10043656 GST
enhancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/
--------------------------------------------------p1
p2
p3
p4
p5

NUM_TAB;
NUM_TAB;
NUM_TAB;
NUM_TAB;
NUM_TAB;

-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
p6 NUM_TAB;
p7 NUM_TAB;
p8 NUM_TAB;
p9 NUM_TAB;
p10 NUM_TAB;
-- END BUG 5228046

tax_rate_tab
NUM_TAB;
tax_type_tab
NUM_TAB;
tax_target_tab
NUM_TAB;
tax_amt_tab
TAX_AMT_NUM_TAB;
base_tax_amt_tab TAX_AMT_NUM_TAB;
base_tax_amount_nr_tab tax_amt_num_tab; /*Bug 9382657*/
func_tax_amt_tab TAX_AMT_NUM_TAB;
end_date_tab
NUM_TAB;
bsln_amt
NUMBER; -- := p_tax_amount; --Ramananda for File.Sql.35
v_conversion_rate NUMBER := 0;
v_tax_amt
NUMBER(20,3) := 0;
v_func_tax_amt
NUMBER(20,3) := 0;
v_rounded_tax NUMBER(20,3) := 0;
vamt
NUMBER(20,3) :=0;
v_amt
NUMBER;
row_count
NUMBER := 1;
counter
NUMBER;
max_iter
NUMBER := 10;
ln_amount NUMBER; --mmurtuza for bug 13819477
/* Added by LGOPALSa. Bug 4210102.
* Added Excise education cess in cursor */
/*Added VAT regime in cursor by Ravi for bug#4245365*/
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*CURSOR c_tax_lines(p_header_id IN NUMBER, p_line_id IN NUMBER) IS
SELECT a.tax_id, a.tax_line_no lno,
a.precedence_1 p_1, a.precedence_2 p_2, a.precedence_3 p_3,a.precedence_4
p_4, a.precedence_5 p_5,
a.precedence_6 p_6, a.precedence_7 p_7, a.precedence_8 p_8,a.precedence_9
p_9, a.precedence_10 p_10, -- Date 01/11/2006 Bug 5228046 added by SACSETHI ( a
dded column from Precedence 6 to 10 )
b.tax_amount, b.tax_rate, b.uom_code, b.end_date valid_date,
a.tax_amount tax_line_amt,
DECODE(aa.regime_code,'VAT',4, decode(upper(b.tax_type),
'EXCISE', 1,
'ADDL. EXCISE', 1,
'OTHER EXCISE', 1,
JAI_CONSTANTS.TAX_TYPE_SH_EXC_EDU_CESS,1,jai_constants
.tax_type_exc_edu_Cess,1, \*Bug 5989740 bduvarag*\
'TDS', 2, 0)) tax_type_v
al,
b.tax_type,nvl(b.rounding_factor,0) rounding_factor
FROM JAI_OM_OE_SO_TAXES a, JAI_CMN_TAXES_ALL b,jai_regime_tax_types_v aa
WHERE a.header_id = p_header_id
AND a.line_id = p_line_id
AND a.tax_id = b.tax_id
AND aa.tax_type(+) = b.tax_type
ORDER BY a.tax_line_no;*/
-- Add by Kevin Cheng for inclusive tax Dec 10, 2007
CURSOR c_tax_lines( p_header_id IN NUMBER
, p_line_id IN NUMBER
)
IS
SELECT
a.tax_id
, a.tax_category_id

,
,
,
,
,
,
,
,
,
,
,

a.tax_line_no lno
a.precedence_1 p_1
a.precedence_2 p_2
a.precedence_3 p_3
a.precedence_4 p_4
a.precedence_5 p_5
a.precedence_6 p_6
a.precedence_7 p_7
a.precedence_8 p_8
a.precedence_9 p_9
a.precedence_10 p_10 -- Date 01/11/2006 Bug 5228046 added by SACSETHI ( add
ed column from Precedence 6 to 10 )
, b.tax_amount
, b.tax_rate
, b.uom_code
, b.end_date valid_date
, a.tax_amount tax_line_amt
, DECODE( aa.regime_code
, JAI_CONSTANTS.VAT_REGIME
, 4
--, JAI_CONSTANTS.cgst_regime --Added by zhiwei for bug10043656 GST en
hancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/
--, 7
--, JAI_CONSTANTS.sgst_regime --Added by zhiwei for bug10043656 GST en
hancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/
--, 7
, decode( upper(b.tax_type)
, 'EXCISE'
,1
, 'ADDL. EXCISE'
,1
, 'OTHER EXCISE'
,1
, jai_constants.tax_type_tds
,2
, jai_constants.tax_type_exc_edu_cess
,6
, jai_constants.tax_type_cvd_edu_cess
,6
, jai_constants.tax_type_sh_exc_edu_cess
,6
, jai_constants.tax_type_sh_cvd_edu_cess
,6
, 0
)
) tax_type_val
, b.inclusive_tax_flag
, b.mod_cr_percentage
, b.vendor_id
, b.tax_type
, nvl(b.rounding_factor,0) rounding_factor
FROM
Jai_Om_Oe_So_Taxes
a
, Jai_Cmn_Taxes_All
b
, Jai_Regime_Tax_Types_V aa
WHERE a.header_id = p_header_id
AND a.line_id = p_line_id
AND a.tax_id = b.tax_id
AND aa.tax_type(+) = b.tax_type
ORDER BY
a.tax_line_no;
CURSOR c_uom_class(p_line_uom_code IN VARCHAR2, p_tax_line_uom_code IN VARCHAR
2) IS
SELECT A.uom_class
FROM mtl_units_of_measure A, mtl_units_of_measure B
WHERE A.uom_code = p_line_uom_code
AND B.uom_code = p_tax_line_uom_code

AND A.uom_class = B.uom_class;


-- Start of bug 3565499
/*****************
Code modified by aiyer for the bug 3565499
Check whether the excise exemptions exist at the order line level.
*****************/
CURSOR c_excise_exemption
IS
SELECT
'1'
FROM
JAI_OM_OE_SO_LINES
jsl
WHERE
jsl.excise_exempt_type IS NOT NULL AND
jsl.line_id
= p_line_id ;
lv_excise_exemption_exists VARCHAR2(1);
-- End of bug 3565499
lv_object_name CONSTANT VARCHAR2 (61) := 'jai_om_tax_pkg.recalculate_oe_taxes'
;
BEGIN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','2828
begin of RECALCULATE_OE_TAXES procedure ');
/*-----------------------------------------------------------------------------------------------------------------------S.No Date(DD/MM/YY) Author and Details of Changes
---- -------------- ----------------------------1 31/07/02
Created by Vijay Shankar for Bug# 2485077, 2496481, File Versi
on 615.1
This procedure recalculates the taxes by picking tax lines attached
to the sales order line.
If the assessable value of an item is changed, then the excise duty
attached to the sales orders
have to be recalculated if they have order lines having assessable v
alue changed. Sales order which
are not ship confirmed( also partially shipped if user specified inp
ut says 'Partially Shipped' as 'Y'
3.

Aiyer For the Bug #3565499 File Version 619.1


Issue:India Excise Duty Recalculation Concurrent program recal
culates the excise duty even for excise exempted Order Lines.
Fix:Code has been added to set the tax_rate, tax_amount and base_tax_a
mount to 0 when Order Like has Excise exemptions and tax is of "Excise" type.
The cursor c_excise_exemption has been added for the purpose.
4.

5.

20-Feb-2004

12-Mar-2005

Bug 4210102. Added by LGOPALSA version 115.1


(1) Added check file syntax
(2) Added NOCOPY for OUT Parameters
(3) Added <> instead of !=
(4) Added Excise education cess type

17/mar-2005 Rchandan for bug#4245365 Version 115.2


Changes made to calculate VAT taxes taking the VAT assessable
value as base
New parameter is added for having vat assesable value.

6.

11-Dec-2007 Kevin Cheng

Update the logic for inclusive tax calculation

7.

03-Mar-2011
Abezgam Bug: 11779012
Description: 'India Excise Duty Recalculation' is not updating th
e pending sales order
transactions with the latest Excise Assessable value as per the p
rice list.
Fix: Initialized the parameter base_tax_amount_nr_tab in the proc
edure recalculate_oe_taxes
8. 09-Mar-2012

mmurtuza for bug 13819477


Description: IL12.1.1 INDIA MASS TAX RECALCULATION CONCURRENT CA
LCULATES INCORRECT TAXES.
Fix: Modified the procedure recalculate_oe_taxes to perform calc
ulation of taxes correctly.
(Ported from ja_in_calc_prec_taxes procedure)
===============================================================================
Dependencies
Version
Dependencies
Comments
115.1
IN60106 + 4146708 Service and eduation cess functionality
115.2
4245089
VAT implementation
-------------------------------------------------------------------------------------------------------------------------*/
bsln_amt

:= p_tax_amount;

--Ramananda for File.Sql.35

-- Start of bug 3565499


/*****************
Code modified by aiyer for the bug 3565499
*****************/
OPEN c_excise_exemption;
FETCH c_excise_exemption INTO lv_excise_exemption_exists;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','288
2 lv_excise_exemption_exists '||lv_excise_exemption_exists||
', p_header_id '||p_header_id||
', p_line_id '||p_line_id);
-- End of bug 3565499
FOR rec in c_tax_lines(p_header_id, p_line_id) LOOP
p1(rec.lno)
p2(rec.lno)
p3(rec.lno)
p4(rec.lno)
p5(rec.lno)

:=
:=
:=
:=
:=

nvl(rec.p_1,-1);
nvl(rec.p_2,-1);
nvl(rec.p_3,-1);
nvl(rec.p_4,-1);
nvl(rec.p_5,-1);

-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
p6(rec.lno) := nvl(rec.p_6,-1);
p7(rec.lno) := nvl(rec.p_7,-1);
p8(rec.lno) := nvl(rec.p_8,-1);
p9(rec.lno) := nvl(rec.p_9,-1);
p10(rec.lno) := nvl(rec.p_10,-1);
-- END BUG 5228046
tax_rate_tab(rec.lno) := nvl(rec.tax_rate,0);

tax_type_tab(rec.lno) := rec.tax_type_val;
tax_amt_tab(rec.lno) := 0;
base_tax_amt_tab(rec.lno) := 0;
base_tax_amount_nr_tab(rec.lno) := 0; /*added by abezgam for bug 11779012*/
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
--------------------------------------------------lt_tax_rate_per_rupee(rec.lno) := NVL(rec.tax_rate,0)/100;
ln_total_tax_per_rupee
:= 0;
lt_inclu_tax_tab(rec.lno)
:= NVL(rec.inclusive_tax_flag,'N');
lt_round_factor_tab(rec.lno)
:= NVL(rec.rounding_factor,0);
IF rec.tax_rate is null THEN
lt_tax_rate_zero_tab(rec.lno) := 0;
ELSIF rec.tax_rate = 0 THEN
lt_tax_rate_zero_tab(rec.lno) := -9999;
ELSE
lt_tax_rate_zero_tab(rec.lno) := rec.tax_rate;
END IF;
lt_tax_amt_rate_tax_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) := 0; -- tax inclusive
--------------------------------------------------jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES
','2930 tax_rate_tab(rec.lno) '||tax_rate_tab(rec.lno));
IF tax_rate_tab(rec.lno) = 0 THEN
FOR uom_cls IN c_uom_class(p_uom_code, rec.uom_code) LOOP
INV_CONVERT.inv_um_conversion( p_uom_code, rec.uom_code, p_inventory_ite
m_id, v_conversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
INV_CONVERT.inv_um_conversion( p_uom_code, rec.uom_code, 0, v_conversi
on_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
v_conversion_rate := 0;
END IF;
END IF;
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*tax_amt_tab(rec.lno) := (nvl(rec.tax_amount * v_conversion_rate, 0) *
p_line_quantity);*/
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
lt_tax_amt_non_rate_tab(rec.lno) := (nvl(rec.tax_amount * v_conversion_r
ate, 0) * p_line_quantity);
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*base_tax_amt_tab(rec.lno) := tax_amt_tab(rec.lno);*/
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
base_tax_amt_tab(rec.lno) := lt_tax_amt_non_rate_tab(rec.lno);
END LOOP;
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*IF tax_amt_tab(rec.lno) = 0 THEN -- this means user has given some adhoc
amount
tax_amt_tab(rec.lno) := nvl(rec.tax_line_amt,0);
END IF;*/
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
IF lt_tax_amt_non_rate_tab(rec.lno) = 0 THEN -- this means user has given
some adhoc amount
lt_tax_amt_non_rate_tab(rec.lno) := nvl(rec.tax_line_amt,0);

END IF;
END IF;
IF rec.valid_date is NULL or rec.valid_date >= sysdate THEN
end_date_tab(rec.lno) := 1;
ELSE
tax_amt_tab(rec.lno):= 0;
end_date_tab(rec.lno) := 0;
END IF;
-- Start of bug 3565499
/*****************
Code modified by aiyer for the bug 3565499
IF the line is excise exempted and the tax is of type Excise then set the ta
x_rate, tax_amount and base_tax_amount
to zero.
*****************/
IF c_excise_exemption%FOUND AND
rec.tax_type_val = 1
THEN
/* Set tax_rate_tab = 0, tax_amt_tab = 0 and base_tax_amt_tab = 0 */
tax_rate_tab(rec.lno) := 0;
tax_amt_tab(rec.lno)
:= 0;
base_tax_amt_tab(rec.lno) := 0;
lt_tax_amt_non_rate_tab(rec.lno) :=0; -- Add by Kevin Cheng for inclus
ive tax Dec 11, 2007
END IF;
-- End of bug 3565499
row_count := row_count + 1;
END LOOP;
-- Start of bug 3565499
CLOSE c_excise_exemption ;
-- End of bug 3565499
row_count := row_count - 1;
--added by Kevin Cheng for inclusive tax Dec 11, 2007
------------------------------------------------IF p_vat_assess_value <> p_tax_amount
THEN
ln_vat_assessable_value := p_vat_assess_value;
ELSE
ln_vat_assessable_value := 1;
END IF;
IF p_assessable_value <> p_tax_amount
THEN
ln_assessable_value := p_assessable_value;
ELSE
ln_assessable_value := 1;
END IF;
----------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*IF pn_gst_assess_value <> p_tax_amount
THEN
ln_gst_assessable_value := pn_gst_assess_value;
ELSE

ln_gst_assessable_value := 1;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
--------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
FOR I in 1..row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','302
5 val of i is '||i||', end_date_tab(I) '||end_date_tab(I)||
', tax_type_tab(I) '||tax_type_tab(I));
IF end_date_tab(I) <> 0 THEN
IF tax_type_tab(I) = 1 THEN
/*bsln_amt := p_assessable_value;*/--Comment out by Kevin Cheng for inc
lusive tax Dec 11, 2007
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
--------------------------------------------------IF ln_assessable_value = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_assessable_value;
END IF;
--------------------------------------------------ELSIF tax_type_tab(I) = 4 THEN --4245365
/*bsln_amt := p_vat_assess_value;*/--Comment out by Kevin Cheng for inc
lusive tax Dec 11, 2007
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
--------------------------------------------------IF ln_vat_assessable_value = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_vat_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3050 ln_bsln_amt_nr '||ln_bsln_amt_nr);
END IF;
--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*ELSIF tax_type_tab(I) = 7 THEN
IF ln_gst_assessable_value = 1 THEN
bsln_amt := 1;
ln_bsln_amt_nr := 0;
ELSE
bsln_amt := 0;
ln_bsln_amt_nr := ln_gst_assessable_value;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
----------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
ELSIF tax_type_tab(I) = 6 THEN --IF tax_type_tab(I) = 1
bsln_amt := 0;
ln_bsln_amt_nr := 0;
ELSE --IF tax_type_tab(I) = 1 THEN
bsln_amt := 1;

THEN

ln_bsln_amt_nr := 0;
----------------------------------------------------Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*ELSE
bsln_amt := p_tax_amount;*/
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3080 tax_rate_tab(I) '||tax_rate_tab(I));
IF tax_rate_tab(I) <> 0 THEN
lt_tax_amt_non_rate_tab(I):=0; --mmurtuza for bug 13819477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','308
4 p1(I) '||p1(I)||', I '||i);
IF p1(I) < I and p1(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P1(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P1(I)) IS NOT N
ULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P1(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3089 vamt '||vamt||', tax_amt_tab(p1(I) '||tax_amt_tab(p1(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P1(I)) '||lt_tax_amt_non_rate_tab(P1(I)));
end if; --mmurtuza for bug 13819477
ELSIF p1(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then --bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3099 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3104 p2(I) '||p2(I));
IF p2(I) < I and p2(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P2(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P2(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p2(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P2(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3109 vamt '||vamt||', tax_amt_tab(p2(I) '||tax_amt_tab(p2(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P2(I)) '||lt_tax_amt_non_rate_tab(P2(I)));
end if; --mmurtuza for bug 13819477
ELSIF p2(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477

vamt := vamt + bsln_amt;


ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3117 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3121 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES',' p3(I) '||p3(I));
IF p3(I) < I and p3(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P3(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P3(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P3(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3131 vamt '||vamt||', tax_amt_tab(p3(I) '||tax_amt_tab(p3(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P3(I)) '||lt_tax_amt_non_rate_tab(P3(I)));
end if; --mmurtuza for bug 13819477
ELSIF p3(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3139 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3143 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3148 p4(I) '||p4(I));
IF p4(I) < I and p4(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P4(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P4(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P4(I)),0); --A

dd by Kevin Cheng for inclusive tax Dec 11, 2007


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3153 vamt '||vamt||', tax_amt_tab(p4(I) '||tax_amt_tab(p4(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P4(I)) '||lt_tax_amt_non_rate_tab(P4(I)));
end if; --mmurtuza for bug 13819477
ELSIF p4(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3161 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3165 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3170 p5(I) '||p5(I));
IF p5(I) < I and p5(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P5(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P5(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P5(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3175 vamt '||vamt||', tax_amt_tab(p5(I) '||tax_amt_tab(p5(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P5(I)) '||lt_tax_amt_non_rate_tab(P5(I)));
end if; --mmurtuza for bug 13819477
ELSIF p5(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3183 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3187 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||

', lp_tax_amount '||p_tax_amount);


END IF;
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','319
5 p6(I) '||p6(I));
IF p6(I) < I and p6(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P6(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P6(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P6(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3200 vamt '||vamt||', tax_amt_tab(p6(I) '||tax_amt_tab(p6(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P6(I)) '||lt_tax_amt_non_rate_tab(P6(I)));
end if; --mmurtuza for bug 13819477
ELSIF p6(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3208 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3212 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','321
8 p7(I) '||p7(I));
IF p7(I) < I and p7(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P7(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P7(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P7(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3223 vamt '||vamt||', tax_amt_tab(p7(I) '||tax_amt_tab(p7(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P7(I)) '||lt_tax_amt_non_rate_tab(P7(I)));
end if; --mmurtuza for bug 13819477
ELSIF p7(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477

vamt := vamt + bsln_amt;


ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3231 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3235 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','324
2 p8(I) '||p8(I));
IF p8(I) < I and p8(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P8(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P8(I)) IS NO
T NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P8(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3247 vamt '||vamt||', tax_amt_tab(p8(I) '||tax_amt_tab(p8(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P8(I)) '||lt_tax_amt_non_rate_tab(P8(I)));
end if; --mmurtuza for bug 13819477
ELSIF p8(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3255 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3259 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','326
5 p9(I) '||p9(I));
IF p9(I) < I and p9(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P9(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P9(I)) IS NO

T NULL then --mmurtuza for bug 13819477


vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P9(I)),0); --A
dd by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3270 vamt '||vamt||', tax_amt_tab(p9(I) '||tax_amt_tab(p9(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P9(I)) '||lt_tax_amt_non_rate_tab(P9(I)));
end if; --mmurtuza for bug 13819477
ELSIF p9(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3278 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3282 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','328
8 p10(I) '||p10(I));
IF p10(I) < I and p10(I) not in (-1,0) THEN
IF lt_inclu_tax_tab(P10(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P10(I)) IS
NOT NULL then --mmurtuza for bug 13819477
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(P10(I)),0); -Add by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3293 vamt '||vamt||', tax_amt_tab(p10(I) '||tax_amt_tab(p10(I))||
', ln_vamt_nr '||ln_vamt_n
r||
', lt_tax_amt_non_rate_tab(P10(I)) '||lt_tax_amt_non_rate_tab(P10(I)))
;
end if; --mmurtuza for bug 13819477
ELSIF p10(I) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + bsln_amt;
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr; --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3301 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r);
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; -- bug 13819
477

jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3305 ln_bsln_amt_nr '||ln_bsln_amt_nr||
', ln_vamt_nr '||ln_vamt_n
r||
', lp_tax_amount '||p_tax_amount);
END IF;
END IF;
-- END BUG 5228046
v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I) := ln_vamt_nr; /*9382657*/
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
--------------------------------------------------ln_tax_amt_nr := ln_tax_amt_nr + (ln_vamt_nr * (tax_rate_tab(I)/100));
lt_tax_amt_non_rate_tab(I) := NVL(lt_tax_amt_non_rate_tab(I),0) + ln_tax
_amt_nr; -- tax inclusive
--lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I);
IF lt_inclu_tax_tab(I) = 'Y' then
lt_tax_amt_rate_tax_tab(I) := tax_amt_tab(I); --mmurtuza for
bug 13473763
END IF;
ln_tax_amt_nr := 0;
ln_vamt_nr := 0;
--------------------------------------------------vamt := 0;
v_tax_amt := 0;
END IF;
ELSE
tax_amt_tab(I) := 0;
base_tax_amt_tab(I) := 0;
base_tax_amount_nr_tab(I) := 0; /*9382657*/
END IF;
--dbms_output.put_line( '2 tax_amt_tab('||i||') = '||tax_amt_tab(i)
-- ||', base_tax_amt_tab = '||base_tax_amt_tab(i) );
END LOOP;
FOR I in 1..row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES',' 33
43 in FOR I in 1..row_count LOOP val of i is '||i);
IF end_date_tab( I ) <> 0 THEN
IF tax_rate_tab(I) <> 0 THEN
IF p1(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p1(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p1(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3350 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p2(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p2(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p2(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT

E_OE_TAXES','3355 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);


END IF;
IF p3(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p3(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p3(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3360 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p4(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p4(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p4(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3365 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p5(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p5(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p5(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3370 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
IF p6(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p6(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p6(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3380 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p7(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p7(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p7(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3385 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p8(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p8(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p8(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3390 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p9(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p9(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p9(I)),0); --Ad
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3395 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
IF p10(I) > I THEN
vamt := vamt + nvl(tax_amt_tab(p10(I)),0);
ln_vamt_nr := ln_vamt_nr + NVL(lt_tax_amt_non_rate_tab(p10(I)),0); --A

dd by Kevin Cheng for inclusive tax Dec 11, 2007


jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULAT
E_OE_TAXES','3400 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
-- END BUG 5228046
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I) := ln_vamt_nr; /*9382657*/
v_tax_amt := v_tax_amt + (vamt * (tax_rate_tab(I)/100));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3409 vamt '||vamt||', v_tax_amt '||v_tax_amt||', ln_vamt_nr '||ln_vam
t_nr);
IF vamt <> 0 THEN
base_tax_amt_tab(I) := base_tax_amt_tab(I) + vamt;
END IF;
tax_amt_tab(I) := nvl(tax_amt_tab(I),0) + v_tax_amt;
--Add by Kevin Cheng for inclusive tax Dec 11, 2007
--------------------------------------------------ln_tax_amt_nr := ln_tax_amt_nr + (ln_vamt_nr * (tax_rate_tab(I)/100)); - tax inclusive
lt_tax_amt_non_rate_tab(I) := NVL(lt_tax_amt_non_rate_tab(I),0) + ln_tax
_amt_nr ; -- tax inclusive
lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I);
ln_vamt_nr := 0;
ln_tax_amt_nr := 0;
--------------------------------------------------vamt := 0;
v_tax_amt := 0;
END IF;
ELSE
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I) := ln_vamt_nr; /*9382657*/
tax_amt_tab(I) := 0;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAX
ES','3429 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr);
END IF;
--dbms_output.put_line( '3 tax_amt_tab('||i||') = '||tax_amt_tab(i)
-- ||', base_tax_amt_tab = '||base_tax_amt_tab(i) );
END LOOP;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','3434
Afterr the end loop');
FOR counter IN 1 .. max_iter LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','343
6 in FOR counter IN 1 .. max_iter LOOP val of counter is '||counter);
vamt := 0;
v_tax_amt := 0;
ln_vamt_nr:= 0; --added by Kevin Cheng for inclusive tax Dec 11, 2007
ln_tax_amt_nr:=0; --added by Kevin Cheng for inclusive tax Dec 11, 2007
FOR i IN 1 .. row_count LOOP
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES
','3443 in FOR i IN 1 .. row_count LOOP val of i is '||i);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES
','3444 tax_rate_tab( i ) '||tax_rate_tab( i )||
' end_date_tab( I ) '||end_date_tab(
I )||
', tax_type_tab( I ) '||tax_type_tab( I ));

IF tax_rate_tab( i ) <> 0 AND end_date_tab( I ) <> 0 THEN -- modified on 1


1-10-2k by anuradha.
IF tax_type_tab( I ) = 1 THEN
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*v_amt := p_assessable_value;*/
--Added by Kevin Cheng for inclusive tax Dec 11, 2007
-----------------------------------------------IF ln_assessable_value =1
THEN
v_amt:=1;
ln_bsln_amt_nr :=0;
ELSE
v_amt :=0;
ln_bsln_amt_nr :=ln_assessable_value;
END IF;
-----------------------------------------------ELSIF tax_type_tab(I) = 4 THEN
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*v_amt := p_vat_assess_value;*/
--Added by Kevin Cheng for inclusive tax Dec 11, 2007
-----------------------------------------------IF ln_vat_assessable_value =1
THEN
v_amt:= 1;
ln_bsln_amt_nr := 0;
ELSE
v_amt := 0;
ln_bsln_amt_nr := ln_vat_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3475 ln_vat_assessable_value '||ln_vat_assessable_value);
END IF;
--Added by zhiwei for bug10043656 GST enhancement 2010/09/14 begin
------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*ELSIF tax_type_tab(I) = 7 THEN
IF ln_gst_assessable_value =1
THEN
v_amt:= 1;
ln_bsln_amt_nr := 0;
ELSE
v_amt := 0;
ln_bsln_amt_nr := ln_gst_assessable_value;
END IF;*/
/*End Commenting by mmurtuza for removing GST Changes*/
--------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
ELSIF tax_type_tab(I) = 6 THEN
v_amt := 0;
ln_bsln_amt_nr := 0;
-----------------------------------------------ELSE
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3499 p_assessable_value '||p_assessable_value||', tax_type_tab( I ) '
||tax_type_tab( I ));
IF p_assessable_value IN ( 0, -1 ) OR tax_type_tab( I ) <> 1 THEN
--Comment out by Kevin Cheng for inclusive tax Dec 11, 2007
/*v_amt := p_tax_amount;*/

v_amt:=1;

--Added by Kevin Cheng for inclusive tax De

ln_bsln_amt_nr :=0;

--Added by Kevin Cheng for inclusive tax De

c 11, 2007
c 11, 2007
END IF;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3507 p1( i ) '||p1( i ));
IF p1( i ) <> -1 THEN
IF p1( i ) <> 0 THEN
IF lt_inclu_tax_tab(P1(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P1(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p1( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P1(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3513 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P1(I)) '||lt_tax_amt_non_rate_tab(P1(I)));
end if; --bug 13819477
ELSIF p1(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3522 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p2( i ) <> -1 THEN
IF p2( i ) <> 0 THEN
IF lt_inclu_tax_tab(P2(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P2(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p2( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P2(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3532 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P2(I)) '||lt_tax_amt_non_rate_tab(P2(I)));
end if; --bug 13819477
ELSIF p2(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3541 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;

END IF;
END IF;
IF p3( i ) <> -1 THEN
IF p3( i ) <> 0 THEN
IF lt_inclu_tax_tab(P3(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P3(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p3( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P3(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3551 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P3(I)) '||lt_tax_amt_non_rate_tab(P3(I)));
end if; --bug 13819477
ELSIF p3(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3560 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p4( i ) <> -1 THEN
IF p4( i ) <> 0 THEN
IF lt_inclu_tax_tab(P4(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P4(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p4( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P4(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3570 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P4(I)) '||lt_tax_amt_non_rate_tab(P4(I)));
end if; --bug 13819477
ELSIF p4(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES',' ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p5( i ) <> -1 THEN
IF p5( i ) <> 0 THEN
IF lt_inclu_tax_tab(P5(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P5(I)) IS
NOT NULL then -- bug 13819477

vamt := vamt + tax_amt_tab( p5( i ) );


ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P5(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3589 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P5(I)) '||lt_tax_amt_non_rate_tab(P5(I)));
end if; --bug 13819477
ELSIF p5(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3598 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
-- Date 01/11/2006 Bug 5228046 added by SACSETHI ( added column from Precedence
6 to 10 )
-- START BUG 5228046
IF p6( i ) <> -1 THEN
IF p6( i ) <> 0 THEN
IF lt_inclu_tax_tab(P6(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P6(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p6( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P6(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3613 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P6(I)) '||lt_tax_amt_non_rate_tab(P6(I)));
end if; --bug 13819477
ELSIF p6(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3622 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p7( i ) <> -1 THEN
IF p7( i ) <> 0 THEN
IF lt_inclu_tax_tab(P7(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P7(I)) IS
NOT NULL then -- bug 13819477

vamt := vamt + tax_amt_tab( p7( I ) );


ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P7(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3632 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P7(I)) '||lt_tax_amt_non_rate_tab(P7(I)));
end if; --bug 13819477
ELSIF p7(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3641 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p8( i ) <> -1 THEN
IF p8( i ) <> 0 THEN
IF lt_inclu_tax_tab(P8(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P8(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p8( I ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P8(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3651 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P8(I)) '||lt_tax_amt_non_rate_tab(P8(I)));
end if; --bug 13819477
ELSIF p8(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3660 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p9( i ) <> -1 THEN
IF p9( i ) <> 0 THEN
IF lt_inclu_tax_tab(P9(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P9(I)) IS
NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p9( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P9(I)),0); --adde
d by Kevin Cheng for inclusive tax Dec 11, 2007
end if; --bug 13819477
ELSIF p9(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477

vamt := vamt + v_amt;


ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES','3675 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P9(I)) '||lt_tax_amt_non_rate_tab(P9(I)));
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES',' ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
IF p10( i ) <> -1 THEN
IF p10( i ) <> 0 THEN
IF lt_inclu_tax_tab(P10(I)) = 'Y' OR lt_tax_amt_rate_tax_tab(P10(I)) I
S NOT NULL then -- bug 13819477
vamt := vamt + tax_amt_tab( p10( i ) );
ln_vamt_nr:=ln_vamt_nr+NVL(lt_tax_amt_non_rate_tab(P10(I)),0); --add
ed by Kevin Cheng for inclusive tax Dec 11, 2007
end if; --bug 13819477
ELSIF p10(i) = 0 THEN
IF lt_inclu_tax_tab(I) = 'Y' then -- bug 13819477
vamt := vamt + v_amt;
ln_vamt_nr:=ln_vamt_nr+ln_bsln_amt_nr; --added by Kevin Cheng for in
clusive tax Dec 11, 2007
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECA
LCULATE_OE_TAXES',' 3694 vamt '||vamt||', ln_vamt_nr '||ln_vamt_nr||
', lt_tax_amt_non_r
ate_tab(P10(I)) '||lt_tax_amt_non_rate_tab(P10(I)));
else
ln_vamt_nr := ln_vamt_nr + ln_bsln_amt_nr + p_tax_amount; --bug 138
19477
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3698 ln_bsln_amt_nr '||ln_bsln_amt_nr||', ln_vamt_nr '||ln_vamt_nr||
', p_tax_amount '||
p_tax_amount);
END IF;
END IF;
END IF;
-- END BUG 5228046
base_tax_amt_tab(I) := vamt;
base_tax_amount_nr_tab(I) := ln_vamt_nr; /*9382657*/
tax_target_tab(I) := vamt;
v_func_tax_amt := v_tax_amt +( vamt * ( tax_rate_tab( i )/100));
v_tax_amt := v_tax_amt + ( vamt * ( tax_rate_tab( i )/100));
ln_tax_amt_nr:=ln_tax_amt_nr+(ln_vamt_nr*(tax_rate_tab(i)/100));--Add by
Kevin Cheng for inclusive tax Jan 08, 2008
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES','3714 v_func_tax_amt '||v_func_tax_amt||', v_tax_amt '||v_tax_amt||
', ln_tax_amt_nr '|
|ln_tax_amt_nr);

ELSIF tax_rate_tab(I) = 0 THEN


base_tax_amt_tab(I) := tax_amt_tab(i);
v_tax_amt := tax_amt_tab( i );
ln_tax_amt_nr:=lt_tax_amt_non_rate_tab(i); --Add by Kevin Cheng for incl
usive tax Jan 08, 2008
tax_target_tab(I) := v_tax_amt;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
OE_TAXES',' v_tax_amt '||v_tax_amt||
', ln_tax_amt_nr '|
|ln_tax_amt_nr);
ELSIF end_date_tab( I ) = 0 THEN
tax_amt_tab(I) := 0;
base_tax_amt_tab(I) := 0;
base_tax_amount_nr_tab(I) := 0; /*9382657*/
tax_target_tab(I) := 0;
END IF;
tax_amt_tab( I ) := NVL( v_tax_amt, 0 );
lt_tax_amt_non_rate_tab(I):=ln_tax_amt_nr; --Add by Kevin Cheng for inclus
ive tax Jan 08, 2008
func_tax_amt_tab(I) := NVL(v_func_tax_amt,0);
IF counter = max_iter THEN
IF end_date_tab(I) = 0 THEN
tax_amt_tab( i ) := 0;
func_tax_amt_tab(i) := 0;
END IF;
END IF;
--dbms_output.put_line( '4 tax_amt_tab('||i||') = '||tax_amt_tab(i)
--||', func_tax_amt_tab = '||func_tax_amt_tab(i)
--||', base_tax_amt_tab = '||base_tax_amt_tab(i) );
lt_tax_amt_rate_tax_tab(i) := tax_amt_tab(I); --Add by Kevin Cheng for in
clusive tax Dec 11, 2007
vamt := 0;
v_amt := 0;
v_tax_amt := 0;
v_func_tax_amt := 0;
ln_vamt_nr :=0;
--added by Kevin Cheng for inclusive tax Dec 11, 2007
ln_tax_amt_nr:=0; --added by Kevin Cheng for inclusive tax Dec 11, 2007
END LOOP;
END LOOP;
--Added by Kevin Cheng for inclusive tax Dec 11, 2007
-------------------------------------------------------------------------------------FOR I IN 1 .. ROW_COUNT
LOOP
IF lt_inclu_tax_tab(I) = 'Y'
THEN
ln_total_tax_per_rupee := ln_total_tax_per_rupee + nvl(lt_tax_amt_rate_tax
_tab(I),0) ;
ln_total_non_rate_tax := ln_total_non_rate_tax + nvl(lt_tax_amt_non_rate_t
ab(I),0);
END IF;
END LOOP; --FOR I IN 1 .. ROW_COUNT
ln_total_tax_per_rupee := ln_total_tax_per_rupee + 1;

IF ln_total_tax_per_rupee <> 0
THEN
ln_exclusive_price := (NVL(p_tax_amount,0) - ln_total_non_rate_tax ) / ln_
total_tax_per_rupee;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES
','3771 ln_exclusive_price '||ln_exclusive_price||
', p_tax_amount '||
p_tax_amount||
', ln_total_non_rate_tax '||ln_total_non_rate_tax||
', ln_total_tax_per_rupee '||ln_total_tax_per_rupee);
END IF;
FOR i in 1 .. row_count
LOOP
--tax_amt_tab (i) := (lt_tax_amt_rate_tax_tab(I) * ln_exclusive_price ) + l
t_tax_amt_non_rate_tab(I); --mmurtuza for bug 13819477
--tax_amt_tab(I) := round(tax_amt_tab(I) ,lt_round_factor_tab(I));
--m
murtuza for bug 13819477
/*Bug 9382657 - Multiply Line Amount with the Rate of the precedences*/
--base_tax_amt_tab(I):= ln_exclusive_price * base_tax_amt_tab(I) + base_tax
_amount_nr_tab(I); /*Bug 9382657*/ --mmurtuza for bug 13819477
/*Start Additions by mmurtuza for bug 13819477 */
tax_amt_tab (i):=0;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','3786
lt_inclu_tax_tab(I) '||lt_inclu_tax_tab(I)||
', tax_type_tab(I)
'||tax_type_tab(I)||
', ln_assessable_value '||ln_assessable_value||
', ln_vat_assessable_value '||ln_vat_assessable_value);
IF lt_inclu_tax_tab(I) = 'Y' THEN
IF (tax_type_tab(I) = 1 and ln_assessable_value>1) OR
(tax_type_tab(I) = 4 and ln_vat_assessable_value> 1) THEN
IF tax_type_tab(I) = 1 and ln_assessable_value >1 Then
ln_amount:= ln_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.RECALCULATE_OE_TAXES','3796 ln_amount '||ln_amount);
ELSIF tax_type_tab(I) = 4 and ln_vat_assessable_value >1 Then
ln_amount:= ln_vat_assessable_value;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TA
X_PKG.RECALCULATE_OE_TAXES','3799 ln_amount '||ln_amount);
END IF;
IF P1(I) < I AND p1(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P1(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.RECALCULATE_OE_TAXES','3804 tax_amt_tab(i) '||tax_amt_tab(i));
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.RECALCULATE_OE_TAXES','3805 tax_amt_tab(P1(i)) '||tax_amt_tab(P1(i))||' tax
_amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P1(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)

/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.RECALCULATE_OE_TAXES','3809 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax
_amt_tab(i));
END IF;
IF P2(I) < I AND p2(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P2(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3814 tax_amt_tab(P2(i)) '||tax_amt_tab(P2(i))||' tax_
amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P2(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3818 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
IF P3(I) < I AND p3(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P3(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3823 tax_amt_tab(P3(i)) '||tax_amt_tab(P3(i))||' tax_
amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P3(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES',' ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_tab(i
));
END IF;
IF P4(I) < I AND p4(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P4(i))* tax_rate_t
ab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RE
CALCULATE_OE_TAXES','3832 tax_amt_tab(P4(i)) '||tax_amt_tab(P4(i))||' tax_amt_ta
b(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P4(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3836 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
IF P5(I) < I AND p5(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P5(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.REC
ALCULATE_OE_TAXES','3841 tax_amt_tab(P5(i)) '||tax_amt_tab(P5(i))||' tax_amt_tab
(i) '||tax_amt_tab(i)||

', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P5(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3845 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
IF P6(I) < I AND p6(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P6(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX
_PKG.RECALCULATE_OE_TAXES','3850 tax_amt_tab(P6(i)) '||tax_amt_tab(P6(i))||' tax
_amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P6(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3854 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
IF P7(I) < I AND p7(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P7(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3859 tax_amt_tab(P7(i)) '||tax_amt_tab(P7(i))||' tax_
amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P7(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/
100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3863 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_
amt_tab(i));
END IF;
IF P8(I) < I AND p8(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P8(i))* tax_rate
_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3868 tax_amt_tab(P8(i)) '||tax_amt_tab(P8(i))||' tax_
amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P8(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES',' 3872 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_
tab(i));
END IF;
IF P9(I) < I AND p9(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P9(i))* tax_rate

_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3877 tax_amt_tab(P9(i)) '||tax_amt_tab(P9(i))||' tax
_amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P9(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3881 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
IF P10(I) < I AND p10(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P10(i))* tax_rat
e_tab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_
PKG.RECALCULATE_OE_TAXES','3886 tax_amt_tab(P10(i)) '||tax_amt_tab(P10(i))||' ta
x_amt_tab(i) '||tax_amt_tab(i)||
', tax_rate_
tab(i) '||tax_rate_tab(i));
ELSIF P10(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3890 ln_amount '||ln_amount||' tax_amt_tab(i) '||tax_amt_t
ab(i));
END IF;
ELSE
tax_amt_tab (i) := (lt_tax_amt_rate_tax_tab(I) * ln_exclusive_price
) + lt_tax_amt_non_rate_tab(I);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.REC
ALCULATE_OE_TAXES','3894 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
ELSE
IF (tax_type_tab(I) = 1 and ln_assessable_value >1) OR
(tax_type_tab(I) = 4 and ln_vat_assessable_value > 1) THEN
IF tax_type_tab(I) = 1 and ln_assessable_value >1 Then
ln_amount:= ln_assessable_value;
ELSIF tax_type_tab(I) = 4 and ln_vat_assessable_value >1 Then
ln_amount:= ln_vat_assessable_value;
END IF;
ELSE ln_amount:= p_tax_amount;
END IF;
IF P1(I) < I AND p1(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P1(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES','3910 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P1(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3913 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P2(I) < I AND p2(I) NOT IN (-1, 0) then

tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P2(i))* tax_rate_ta


b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.REC
ALCULATE_OE_TAXES','3918 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P2(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3921 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P3(I) < I AND p3(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P3(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.REC
ALCULATE_OE_TAXES','3926 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P3(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3929 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P4(I) < I AND p4(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P4(i))* tax_rate_t
ab(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RE
CALCULATE_OE_TAXES','3934 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P4(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3837 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P5(I) < I AND p5(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P5(i))* tax_rate_ta
b(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.REC
ALCULATE_OE_TAXES','3942 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P5(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3945 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P6(I) < I AND p6(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P6(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES',' 3950tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P6(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3963 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P7(I) < I AND p7(I) NOT IN (-1, 0) then

tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P7(i))* tax_rate_tab(


i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES','3958 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P7(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3961 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P8(I) < I AND p8(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P8(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES','3966 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P8(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3969 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P9(I) < I AND p9(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P9(i))* tax_rate_tab(
i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES','3974 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P9(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3977 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
IF P10(I) < I AND p10(I) NOT IN (-1, 0) then
tax_amt_tab(i) := tax_amt_tab(i) + tax_amt_tab(P10(i))* tax_rate_tab
(i)/100;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULA
TE_OE_TAXES','3982 tax_amt_tab (i) '||tax_amt_tab (i));
ELSIF P10(I)=0 Then
tax_amt_tab(i) := tax_amt_tab(i) + ln_amount * tax_rate_tab(i)/1
00;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.R
ECALCULATE_OE_TAXES','3985 tax_amt_tab (i) '||tax_amt_tab (i));
END IF;
END IF;
------------------------------------------------------------------- Added by Shyan for bug 10358786 on 28-Jan-2011 , End
func_tax_amt_tab(i):=tax_amt_tab (i); --Added by walton for bug#9288016
tax_amt_tab(I) := round(tax_amt_tab(I) ,lt_round_factor_tab(I));
base_tax_amt_tab(I):= ln_exclusive_price * base_tax_amt_tab(I)
+ base_tax_amount_nr_tab(I); --added by Xiao Lv for
bug#8789761 on 30-Oct-09
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES'
,'3994 tax_amt_tab (i) '||tax_amt_tab (i)||', base_tax_amt_tab(I)) '||base_tax_
amt_tab(I));
/*End Additions by mmurtuza for bug 13819477*/

END LOOP; --FOR i in 1 .. row_count


------------------------------------------------------------------------------------------------------FOR rec in c_tax_lines(p_header_id, p_line_id) LOOP
v_rounded_tax := ROUND(nvl(tax_amt_tab(rec.lno),0), rec.rounding_factor);
IF tax_type_tab(rec.lno) <> 2 THEN
v_tax_amt := v_tax_amt + v_rounded_tax;
END IF;
--dbms_output.put_line( '5 tax_amt_tab('||rec.lno||') = '||tax_amt_tab(rec.lno)
-- ||', func_tax_amt_tab = '||func_tax_amt_tab(rec.lno)
-- ||', base_tax_amt_tab = '||base_tax_amt_tab(rec.lno) );
UPDATE JAI_OM_OE_SO_TAXES
SET tax_amount = v_rounded_tax,
base_tax_amount = decode(nvl(base_tax_amt_tab(rec.lno), 0), 0, nvl(ta
x_amt_tab(rec.lno),0), nvl(base_tax_amt_tab(rec.lno), 0)),
func_tax_amount = nvl(func_tax_amt_tab(rec.lno),0) * p_currency_conv_
factor,
last_update_date= p_last_updated_date,
last_updated_by = p_last_updated_by,
last_update_login = p_last_update_login
WHERE line_id = p_line_id
AND header_id = p_header_id
AND tax_line_no = rec.lno;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE
_TAXES',' 4020 UPDATE JAI_OM_OE_SO_TAXES v_rounded_tax '||v_rounded_tax||
' base_tax_amt_tab(rec.lno
) '||base_tax_amt_tab(rec.lno)||
', tax_amt_tab(rec.lno '||tax_amt_tab(rec.lno)||
', func_tax_amt_tab(rec.lno) '||func_tax_amt_tab(rec.lno)||
', p_currency_conv_factor '||p_currency_conv_factor||
', p_line_id '||p_line_id||
', p_header_id '||p_header_id||
', rec.lno '||rec.lno);
END LOOP;
p_tax_amount := nvl(v_tax_amt,0);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','403
2 p_tax_amount '||p_tax_amount);
EXCEPTION
WHEN OTHERS THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','403
6 Exception occured in RECALCULATE_OE_TAXES procedure sqlcode '||sqlcode||', sql
errm '||sqlerrm);
p_tax_amount := null;
FND_MESSAGE.SET_NAME ('JA','JAI_EXCEPTION_OCCURED');
FND_MESSAGE.SET_TOKEN ('JAI_PROCESS_MSG',lv_object_name ||'.Err:'||sqlerrm);
app_exception.raise_exception;
END recalculate_oe_taxes;
PROCEDURE recalculate_excise_taxes ( errbuf

OUT NOCOPY VARCHAR2

, retcode
OUT NOCOPY VARCHAR2
, pn_org_id
NUMBER /* This param
eter would no more be used after application of the bug 5490479- Aiyer, */
, pn_start_order
NUMBER
, pn_end_order
NUMBER
, pn_order_type_id
NUMBER
, pn_ship_from_org_id NUMBER
)
AS
/*****************************************************************
* Enhancement Bug#2152709, 06/06/2002 Vijay Shankar
* FILENAME: ja_in_assessable_price_change.sql
*
* DESCRIPTION:
* This SQL script is used to Recalculate the Excise Duty if there
* is any change in the asssessable price given in the price list
* attached to the customer
*
* PARAMETERS:
*
1 p_org_id
*
2 p_start_order
*
3 p_end_order
*
4 p_order_type_id
*
5 p_ship_from_org_id
*******************************************************************/
v_header_id
oe_order_lines_all.header_id%TYPE;
v_line_id
oe_order_lines_all.line_id%TYPE;
v_line_number
oe_order_lines_all.line_number%TYPE;
v_shipment_number oe_order_lines_all.shipment_number%TYPE;
v_ship_to_site_use_id oe_order_lines_all.ship_to_ORG_id%TYPE;
v_inventory_item_id oe_order_lines_all.inventory_item_id%TYPE;
v_line_quantity oe_order_lines_all.ordered_quantity%TYPE;
v_uom_code
oe_order_lines_all.order_quantity_uom%TYPE;
v_warehouse_id
oe_order_lines_all.SHIP_FROM_ORG_ID%TYPE;
v_last_update_date oe_order_lines_all.last_update_date%TYPE;
v_last_updated_by oe_order_lines_all.last_updated_by%TYPE;
v_last_update_login oe_order_lines_all.last_update_login%TYPE;
/* commented by cbabu for Bug#2496481
v_created_by
oe_order_lines_all.created_by%TYPE;
v_creation_date oe_order_lines_all.creation_date%TYPE;
v_transaction_name
varchar2(30) := 'SO_LINES_UPDATE';
v_original_system_line_ref oe_order_lines_all.ORIG_SYS_LINE_REF%TYPE;
v_original_line_reference oe_order_lines_all.ORIG_SYS_LINE_REF%TYPE;
v_split_from_line_id oe_order_lines_all.split_from_line_id%TYPE;
v_source_document_id oe_order_lines_all.source_document_id%TYPE;
v_source_document_line_id oe_order_lines_all.source_document_line_id%TYPE;
v_source_order_category varchar2(30);
v_source_header_id
Number;
v_source_id
Number;
*/
v_source_document_type_id oe_order_lines_all.source_document_type_id%TYPE;
v_Line_Category_Code oe_order_lines_all.line_category_code%TYPE;
v_reference_line_id oe_order_lines_all.reference_line_id%TYPE; -- used for r
eturn lines
v_item_type_code
oe_order_lines_all.item_type_code%TYPE;
v_unit_selling_price oe_order_lines_all.unit_selling_price%TYPE;
v_operating_id
oe_order_lines_all.org_id%TYPE;

v_old_assessable_value JAI_OM_OE_SO_LINES.assessable_value%TYPE;
v_line_amount
NUMBER := 0;
v_original_system_reference VARCHAR2(50);
v_customer_id
Number;
v_address_id
Number;
v_price_list_id
Number;
v_org_id
Number;
v_order_number
Number;
v_conv_type_code
varchar2(30);
v_conv_rate
Number;
v_conv_date
Date;
v_conv_factor
Number;
v_set_of_books_id
Number;
v_tax_category_id
Number;
v_order_category
varchar2(30);
v_assessable_value
Number;
v_assessable_amount
Number;
v_price_list_uom_code Varchar2(3);
v_converted_rate
Number;
v_date_ordered
Date;
v_ordered_date
Date;
v_assessable_value_date
babu for Bug#2496494
v_line_tax_amount
v_conversion_rate
v_currency_code
v_order_source_type

DATE; --Commented for File.sql.35 := SYSDATE; -- c

Number := 0;
Number := 0;
gl_sets_of_books.currency_code%TYPE;
varchar2(240);

CURSOR address_cur(p_ship_to_site_use_id IN Number) IS


SELECT nvl(cust_acct_site_id , 0) address_id
FROM hz_cust_site_uses_all A -- Removed ra_site_uses_all for Bug# 4434287
WHERE A.site_use_id = p_ship_to_site_use_id; /* Modified by Ramananda for
removal of SQL LITERALs :bug#4428980*/
--WHERE A.site_use_id = NVL(p_ship_to_site_use_id,0);
/* Bug 5243532. Added by Lakshmi Gopalsami
* Removed the cursor set_of_books_cur and implemented using caching logic.
*/
/* commented by cbabu for Bug#2496481
CURSOR order_tax_amount_Cur (p_header_id Number, p_line_id Number) IS
Select sum(a.tax_amount)
From
JAI_OM_OE_SO_TAXES a, JAI_CMN_TAXES_ALL b
Where a.Header_ID = p_header_id
and
a.line_id = p_line_id
and
b.tax_id = a.tax_id
and
b.tax_type != 'TDS';
*/
CURSOR Get_Assessable_Value_Cur(p_customer_id Number,p_address_id Number, p_in
ventory_item_id Number,
p_uom_code Varchar2, p_ordered_date date ) IS -- p_ordered_date variable na
me is misleading but the actual value it get is the SYSDATE
SELECT b.operand list_price,
c.product_uom_code list_price_uom_code
FROM JAI_CMN_CUS_ADDRESSES a, QP_LIST_LINES b, qp_pricing_attributes c
WHERE a.customer_id = p_customer_id

AND a.address_id = p_address_id


AND a.price_list_id = b.LIST_header_ID
AND c.list_line_id = b.list_line_id
AND c.product_attr_value = p_inventory_item_id /* Modified by Ramananda f
or removal of SQL LITERALs :bug#4428980*/
AND trunc(p_ordered_date) BETWEEN trunc(nvl( start_date_active, p_ordered_da
te)) -- cbabu for Bug#2496494
AND trunc(nvl( end_date_active, SYSDATE));
/*
AND c.product_attr_value = TO_CHAR(p_inventory_item_id) --2001/02/14 Mano
har Mishra
AND c.product_uom_code = p_uom_code
--2001/10/09 Anuradha Parthasar
athy
AND TRUNC(NVL(b.end_date_active,SYSDATE)) >= TRUNC(p_ordered_date);
*/
CURSOR get_source_id IS
Select order_source_id
From oe_order_headers_all
Where header_id = v_header_id;
CURSOR Get_Order_Source_Type(P_Source_Document_Type_Id Number) is
Select Name
from OE_ORDER_SOURCES
where Order_Source_Id=P_Source_Document_Type_Id;
--------------------------------------------------------------------------------CURSOR line_details1(p_order_number1 IN NUMBER, p_order_number2 IN NUMBER, p_s
hip_from_org_id IN NUMBER,
p_org_id IN NUMBER, p_order_type_id IN NUMBER) IS
SELECT base.header_id, base.line_id, base.line_number, base.SHIPMENT_NUMBER
,
base.ship_to_ORG_id, base.inventory_item_id, base.ordered_quantity, base.o
rder_quantity_uom,
base.SHIP_FROM_ORG_ID, base.creation_date, base.created_by, base.last_upda
te_date,
base.last_updated_by, base.last_update_login, base.ORIG_SYS_LINE_REF,
base.Line_Category_Code, base.reference_line_id, base.item_type_code, base
.split_from_line_id,
base.unit_selling_price, base.ORG_ID, base.SOURCE_DOCUMENT_ID, base.SOURCE
_DOCUMENT_LINE_ID,
base.SOURCE_DOCUMENT_TYPE_ID, ja.assessable_value,
NVL(head.org_id,0) org_id1, head.SOLD_TO_ORG_ID, head.SOURCE_DOCUMENT_ID
hsdi, head.order_number,
head.price_list_id, head.ORDER_CATEGORY_CODE, head.ORIG_SYS_DOCUMENT_REF
, head.TRANSACTIONAL_CURR_CODE,
head.conversion_type_code, head.conversion_rate, head.CONVERSION_RATE_DA
TE, nvl(head.ORDERED_DATE, head.creation_date) ordered_date
FROM oe_order_headers_all head, oe_order_lines_all base, JAI_OM_OE_SO_LINES
ja
WHERE head.header_id = base.header_id
and base.line_id = ja.line_id
and base.OPEN_FLAG = 'Y'
and base.line_category_code = 'ORDER'
and base.ship_from_org_id = p_ship_from_org_id
and base.org_id = p_org_id
and head.order_type_id = p_order_type_id
and head.order_number between p_order_number1 and p_order_number2;

--and base.flow_status_code IN ( 'ENTERED', 'BOOKED' )


--vijay shankar some important flags
-- OPEN_FLAG, BOOKED_FLAG, CALCELLED_FLAG, FULFILLED_FLAG, SHIPPABLE_FLAG, SHI
P_MODEL_COMPLETE_FLAG,
-- AUTHORIZED_TO_SHIP_FLAG, SHIPPING_INTERFACED_FLAG, CALCULATE_PRICE_FLAG, OR
DER_CATEGORY(return,order etc)
-- head.FLOW_STATUS_CODE, line.FLOW_STATUS_CODE, ORDER_CATEGORY_CODE, LINE_CAT
EGORY
CURSOR get_shipped_line(p_line_id IN NUMBER, p_header_id IN NUMBER ) IS
SELECT order_line_id
FROM JAI_OM_WSH_LINES_ALL
WHERE order_line_id = p_line_id
AND order_header_id = p_header_id;
ii NUMBER; -- := 1; Commented for File.Sql.35
p_start_order NUMBER;
p_end_order NUMBER;
p_org_id NUMBER;
p_order_type_id NUMBER;
p_ship_from_org_id NUMBER;
v_check_line NUMBER;
ln_vat_assessable_value NUMBER;
--ln_gst_assessable_value NUMBER; --Added by zhiwei for bug10043656 GST enhanc
ement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/
lv_object_name CONSTANT VARCHAR2 (61) := 'jai_om_tax_pkg.recalculate_excise_ta
xes';
/* Bug 5243532. Added by Lakshmi Gopalsami
* Defined variable for implementing caching logic.
*/
l_func_curr_det jai_plsql_cache_pkg.func_curr_details;

BEGIN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_OE_TAXES','4238
begin of RECALCULATE_EXCISE_TAXES procedure ');
/*-----------------------------------------------------------------------------------------------------------------S.No Date(DD/MM/YYYY) Author and Details of Changes
---- -------------- ----------------------------1
05/08/2002
Vijay Shankar for Bug# 2496481
When new taxes are added to order after tax defaultation, t
hen change the assessable price attached
to the item and run the excise duty recalculation Concurren
t, the added taxes are not getting calculated
properly. Base bug 2152709 is made obsolete with this patch
and this patch becomes a prerequisite
patch for future patches related to this object.
2

05/08/2002

Vijay Shankar for Bug# 2496494


When price list contains more than one price list lines for
the same item, which has end date greater than the ordered_date
or end_date is null then more than one price list lines are

picked up by the cursor.


3

30/05/2005

Brathod, For Bug# 4400993


Issue:ja_in_assessible_price_change.sql was a pl-sql executable
script, which needs to be
a procedure inside a package
Fix:Script is migrated into a jai_om_tax_pkg as recalculate_e
xcise_tax procedure
with following input parameters.
errbuf, retcode, pn_org_id, pn_start_order
, pn_end_order, pn_order_type_id, pn_ship_from_org_id
In JAINREPC Concurrent Definition execution mentod modifi
ed from
SQL*Plus to PL-SQL Stored Procedure
4

26/05/2005

Ramananda for Bug#4540783. File Version 120.2


While running the concurrent - INDIA - EXCISE DUTY RECALCUL
ATION, system is giving error "wrong number or types of arguments in call to 'jai_om_tax
_pkg.recalculate_oe_taxes'"
Added a new parameter - p_vat_assess_value and value for t
he same as NULL,
while calling procedure jai_om_tax_pkg.recalculate_oe_taxes
-------------------------------------------------------------------------------------------------------------------*/
v_assessable_value_date := sysdate;
ii := 1;
FND_FILE.PUT_LINE(FND_FILE.LOG,'STARTED the procedure ' );
/* Added by Brathod for Bug# 4400993*/
/*
|| Start of bug 5490479
|| Added by aiyer for the bug 5490479
|| Get the operating unit (org_id)
*/
p_org_id
:= mo_global.get_current_org_id;
fnd_file.put_line(fnd_file.log, 'Operating unit p_org_id is -> '||p_org_id);
/*End of bug 5490479 */
p_start_order :=
p_end_order :=
p_order_type_id :=
p_ship_from_org_id :=
/* End of Bug# 4400993

pn_start_order;
pn_end_order ;
pn_order_type_id;
pn_ship_from_org_id;
*/

-- added by cbabu for Bug#2496481, start


v_last_update_date := SYSDATE;
v_last_updated_by := FND_GLOBAL.USER_ID;
v_last_update_login := FND_GLOBAL.LOGIN_ID;
-- added by cbabu for Bug#2496481, end
FND_FILE.PUT_LINE(FND_FILE.LOG,' Sl. No., Order Number, Header_id , line_id, lin
e_number'
||', ship_to_site_use_id, inventory_item_id, line
_quantity, uom_code'
||',warehouse_id, Line_Category_Code, reference_l

ine_id, item_type_code'
||',original_line_reference, unit_selling_price,
operating_id, org_id'
||',SOLD_TO_ORG_ID, hsdi, price_list_id, ORDER_CA
TEGORY_CODE, ORIG_SYS_DOCUMENT_REF'
||',TRANSACTIONAL_CURR_CODE, conversion_type_code
, conversion_rate'
||',CONVERSION_RATE_DATE, ORDERED_DATE');
FOR rec IN line_details1( p_start_order, p_end_order,p_ship_from_org_id, p_org_i
d, p_order_type_id) LOOP
-----------------------------------------------------------------------FND_FILE.PUT_LINE(FND_FILE.LOG,ii||', ' || rec.order_number||', '||rec.heade
r_id|| ', '||rec.line_id|| ', '||rec.line_number||', '||rec.SHIP_FROM_ORG_ID
||', '||rec.inventory_item_id|| ', '||rec.ordered_quantity||', '||rec.order_
quantity_uom|| ', '||rec.SHIP_FROM_ORG_ID
||', '||rec.Line_Category_Code||', '||rec.reference_line_id|| ', '||rec.item
_type_code
||', '||rec.ORIG_SYS_LINE_REF||', '||rec.unit_selling_price||', '||rec.org_i
d
||', '||rec.org_id1|| ', '||rec.SOLD_TO_ORG_ID||', '||rec.hsdi
||', '||rec.price_list_id||', '||rec.ORDER_CATEGORY_CODE|| ', '||rec.ORIG_SY
S_DOCUMENT_REF||', '||rec.TRANSACTIONAL_CURR_CODE
||', '||rec.conversion_type_code||', '||rec.conversion_rate||', '||rec.CONVE
RSION_RATE_DATE||', '||rec.ORDERED_DATE);
-----------------------------------------------------------------------OPEN get_shipped_line(rec.line_id,rec.header_id);
FETCH get_shipped_line INTO v_check_line;
CLOSE get_shipped_line;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_TAXES',
'4321 rec.line_id '||rec.line_id||', rec.header_id' ||rec.header_id||', v_check_
line '||v_check_line);
IF v_check_line IS NULL THEN --- zzz
v_header_id
:= rec.header_id;
v_line_id
:= rec.line_id;
v_line_number
:= rec.line_number;
v_shipment_number
:= rec.shipment_number;
v_ship_to_site_use_id
:= rec.SHIP_TO_ORG_ID;
v_inventory_item_id
:= rec.inventory_item_id;
v_line_quantity
:= rec.ordered_quantity;
v_uom_code
:= rec.order_quantity_uom;
v_warehouse_id
:= rec.SHIP_FROM_ORG_ID;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_T
AXES','4335 v_header_id '||rec.header_id||', v_line_id '||rec.line_id||
', v_line_number '||rec.line_number|
|
', v_shipment_number '||rec.shipment_number||
', v_ship_to_site_use_id '||rec.SHIP_TO_ORG_ID||
', v_inventory_item_id '||rec.inventory_item_id||
', v_line_quantity '||rec.ordered_quantity||
', v_line_quantity '||rec.ordered_quantity||

', v_uom_code '||rec.order_quantity_uom||


', v_warehouse_id '||rec.SHIP_FROM_ORG_ID);
/* commented for cbabu for Bug#2496481
v_creation_date
:= rec.creation_date;
v_created_by
:= rec.created_by;
v_last_update_date
:= rec.last_update_date;
v_last_updated_by
:= rec.last_updated_by;
v_last_update_login
:= rec.last_update_login;
v_original_system_line_ref := rec.ORIG_SYS_LINE_REF;
v_original_line_reference := rec.ORIG_SYS_LINE_REF;
v_split_from_line_id
:= null;
v_source_document_id
:= null;
v_source_document_line_id := null;
*/
v_source_document_type_id := rec.source_document_type_id;
v_Line_Category_Code
:= rec.Line_Category_Code;
v_reference_line_id
:= rec.reference_line_id;
v_item_type_code
:= rec.item_type_code;
v_unit_selling_price
:= rec.unit_selling_price;
v_operating_id
:= rec.org_id;
v_old_assessable_value
:= rec.assessable_value;
v_line_amount
:= nvl(v_line_quantity,0) * nvl(v_unit_selling_price,0
);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_T
AXES','4367 v_line_amount '||v_line_amount);
FND_FILE.PUT_LINE(FND_FILE.LOG,ii|| ', 1 v_line_amount = ' ||v_line_amount)
;
v_org_id
v_customer_id

:= rec.org_id1;
:= rec.sold_to_org_id;

/* commented for cbabu for Bug#2496481


v_source_header_id
:= rec.hsdi;
*/
v_order_number
:= rec.order_number;
v_price_list_id
:= rec.price_list_id;
v_order_category
:= rec.order_category_code;
v_original_system_reference := rec.orig_sys_document_ref;
v_currency_code
:= rec.transactional_curr_code;
v_conv_type_code
:= rec.conversion_type_code;
v_conv_rate
:= rec.conversion_rate;
v_conv_date
:= rec.conversion_rate_date;
v_date_ordered
:= rec.ordered_date;
IF v_conv_date IS NULL THEN
v_conv_date := v_date_ordered;
END IF;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_T
AXES','4392 v_date_ordered '||v_date_ordered);
Open Get_Order_Source_Type(v_source_document_type_id);
Fetch Get_Order_Source_Type Into v_order_source_type;

Close Get_Order_Source_Type;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_T
AXES','4397 v_source_document_type_id '||v_source_document_type_id||
', v_order_source_type '||v_order_so
urce_type);
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_TAXES
','4400 v_item_type_code '||v_item_type_code||
', v_reference_line_id '||v_referenc
e_line_id||
', v_order_category '||v_order_category||
', v_order_source_type '||v_order_source_type||
', v_line_category_code '||v_line_category_code);
IF v_item_type_code = 'STANDARD'
AND (v_reference_line_id IS NOT NULL or v_order_category = 'RETURN')
-- AND nvl(v_source_document_type_id,0) != 2
AND UPPER(v_order_source_type) <> 'COPY'
THEN --- aaa -- if execution enters here, it means it is a return order whic
h need not be considered for recalculation
--return;
null;
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||', 2 , returning v_item_type_code = '||
v_item_type_code||', v_order_category = '||v_order_category||', v_reference_li
ne_id = '||v_reference_line_id);
ELSIF v_line_category_code in ('ORDER') THEN --- aaa, compute assessable va
lue
/* Bug 5243532. Added by Lakshmi Gopalsami
* Removed the cursor set_of_books_cur and implemented using caching logic.
*/
l_func_curr_det := jai_plsql_cache_pkg.return_sob_curr
(p_org_id => v_warehouse_id );
v_set_of_books_id := l_func_curr_det.ledger_id;
v_converted_rate := jai_cmn_utils_pkg.currency_conversion (v_set_of_books_
id ,
v_currency_code, v_conv_date , v_conv_type_code, v_conv_rate);
OPEN address_cur(v_ship_to_site_use_id);
FETCH address_cur INTO v_address_id;
CLOSE address_cur;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_TAX
ES','4428 v_ship_to_site_use_id '||v_ship_to_site_use_id||', v_address_id '||v_a
ddress_id);
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 3 v_address_id = '||v_address_id||',
121 v_customer_id = '||v_customer_id);
-- Fetch Assessable Price List Value for the
-- given Customer and Location Combination
-- OPEN Get_Assessable_Value_Cur(v_customer_id, v_address_id, v_inventory_
item_id, v_uom_code, v_date_ordered);
/* Modified by Ramananda for removal of SQL LITERALs :bug#4428980 --added
to_char*/
OPEN Get_Assessable_Value_Cur(v_customer_id, v_address_id, to_char(v_inven
tory_item_id), v_uom_code, v_assessable_value_date); -- cbabu for Bug#2496494
FETCH Get_Assessable_Value_Cur INTO v_assessable_value, v_price_list_uom_c

ode;
CLOSE Get_Assessable_Value_Cur;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE
_TAXES','4438 v_customer_id '||v_customer_id||', v_address_id '||v_address_id||
', v_inventory_item_id '||v_invent
ory_item_id||', v_uom_code '||v_uom_code||
', v_assessable_value_date '||v_assessable_value_date||
', v_assessable_value '||v_assessable_value||
', v_price_list_uom_code '||v_price_list_uom_code);
IF v_assessable_value IS NULL THEN
--5
-- Fetch Assessable Price List Value for the
-- given Customer and NULL LOCATION Combination
-- OPEN Get_Assessable_Value_Cur(v_customer_id, 0, v_inventory_item_id,
v_uom_code, v_date_ordered);
/* Modified by Ramananda for removal of SQL LITERA
Ls :bug#4428980 --added to_char*/
OPEN Get_Assessable_Value_Cur(v_customer_id, 0, to_char(v_inventory_item
_id), v_uom_code, v_assessable_value_date); -- cbabu for Bug#2496494
FETCH Get_Assessable_Value_Cur INTO v_assessable_value, v_price_list_uom
_code;
CLOSE Get_Assessable_Value_Cur;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
EXCISE_TAXES','4452 v_assessable_value '||v_assessable_value||', v_price_list_uo
m_code '||v_price_list_uom_code);
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 4 v_assessable_value = '||v_assessa
ble_value);
END IF;
--5
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 5 , v_assessable_value = '||v_assessa
ble_value||', v_price_list_uom_code = '||v_price_list_uom_code);
IF NVL(v_assessable_value,0) > 0 THEN --6
-- If still the Assessable Value is available
IF v_price_list_uom_code IS NOT NULL THEN --7
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 6 , v_uom_code = '||v_uom_code||'
, v_inventory_item_id = '||v_inventory_item_id||', v_conversion_rate = '||v_conv
ersion_rate);
INV_CONVERT.inv_um_conversion(v_uom_code, v_price_list_uom_code, v_inv
entory_item_id, v_conversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN
--8
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 7 , v_conversion_rate = '||v_co
nversion_rate);
INV_CONVERT.inv_um_conversion(v_uom_code, v_price_list_uom_code, 0,
v_conversion_rate);
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 8 , v_conversion_rate = '||v_co
nversion_rate);
IF nvl(v_conversion_rate, 0) <= 0 THEN --9
v_conversion_rate := 0;
END IF; --9
END IF; --8
END IF; --7
v_assessable_value := NVL(1/v_converted_rate,0) * nvl(v_assessable_value
,0) * v_conversion_rate;
v_assessable_amount := nvl(v_assessable_value,0) * v_line_quantity;
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 9 v_assessable_amount = '||v_assess

able_amount||', v_assessable_value = '||v_assessable_value);


ELSE
--6
-- If the assessable value is not available
-- then pick up the Line price for Tax Calculation
v_assessable_value := NVL(v_unit_selling_price,0);
v_assessable_amount := v_line_amount;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
EXCISE_TAXES','4481 v_assessable_value '||v_assessable_value||
' v_assessable_amount '||v_a
ssessable_amount);
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 10 v_assessable_amount = '||v_asses
sable_amount);
END IF; --6
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE
_TAXES','4486 v_old_assessable_value '||v_old_assessable_value||', v_assessable_
value '||v_assessable_value);
IF v_old_assessable_value <> v_assessable_value THEN ---bbb
/* commented by cbabu for Bug#2496481
Open get_source_id;
Fetch get_source_id into v_source_id;
Close get_source_id;
IF v_line_category_code in ('ORDER') THEN
_Type = 'Internal'

--11 , and V_Order_Source

FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 11');
ja_in_tax_pkg.ja_in_cust_default_taxes(
v_warehouse_id, v_customer_id,v_ship_to_site_use_id, v_inventory_ite
m_id,
v_header_id,v_line_id,v_tax_category_id);
IF v_tax_category_id IS NULL THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 12');
ja_in_tax_pkg.ja_in_org_default_taxes(v_warehouse_id, v_inventory_it
em_id, v_tax_category_id);
ELSE
--13
v_line_tax_amount := v_line_amount;
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 13 = '||v_line_tax_amount);
END IF;
--13
ja_in_tax_pkg.ja_in_calc_prec_taxes(
v_transaction_name, v_tax_category_id, v_header_id, v_line_id,
v_assessable_amount, v_line_tax_amount, v_inventory_item_id, v_line_
quantity,
v_uom_code, '', '', v_converted_rate,
v_creation_date, v_created_by, v_last_update_date, v_last_updated_by
, v_last_update_login);
END IF;

--11

OPEN order_tax_amount_Cur(v_header_id, v_LINE_ID);


FETCH order_tax_amount_Cur INTO v_line_tax_amount;
CLOSE order_tax_amount_Cur;
*/
-- added by cbabu for Bug#2496481, start
-- v_line_tax_amount is the OUT variable for ja_in_tax_recalc procedure
which contains total tax amount for that line
v_line_tax_amount := v_line_amount;

FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 13 = '||v_line_tax_amount);
/* Added by Brathod for Bug# 4400993 */
ln_vat_assessable_value := jai_general_pkg.ja_in_vat_assessable_value
(
p_party_id
=> v_customer_id
p_party_site_id
=> v_ship_to_site_use_id
p_inventory_item_id => v_inventory_item_id
p_uom_code
=> v_uom_code
p_default_price
=> v_unit_selling_price
p_ass_value_date
=> v_date_ordered
p_party_type
=> 'C'
);

,
,
,
,
,
,

ln_vat_assessable_value := nvl(ln_vat_assessable_value,0) * v_line_quant


ity;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
EXCISE_TAXES','4538 ln_vat_assessable_value '||ln_vat_assessable_value||', v_lin
e_quantity '||v_line_quantity);
/* End OF Bug# 4400993 */
--Added by zhiwei for bug10043656 GST enhancemen
t 2010/09/14 begin
--------------------------------------------------/*Start Commenting by mmurtuza for removing GST Changes*/
/*ln_gst_assessable_value := JAI_GST_GENERAL_PKG.GET_GST_ASSESS
ABLE_VALUE
(
p_party_id
=> v_customer_id
,
p_party_site_id
=> v_ship_to_site_use_id ,
p_inventory_item_id => v_inventory_item_id
,
p_uom_code
=> v_uom_code
,
p_default_price
=> v_unit_selling_price ,
p_ass_value_date
=> v_date_ordered
,
p_party_type
=> 'C'
);
ln_gst_assessable_value := nvl(ln_gst_assessable_value,0) * v_line_quant
ity;*/
/*End Commenting by mmurtuza for removing GST Changes*/
----------------------------------------------------Added by zhiwei for bug10043656 GST enhancement 2010/09/14 end
jai_om_tax_pkg.recalculate_oe_taxes
(
v_header_id,
v_line_id,
v_assessable_amount,
ln_vat_assessable_value ,
/* Added by Brathod for
Bug# 4400993, Ramananda for Bug#4540783 */
v_line_tax_amount,
v_inventory_item_id,
v_line_quantity,
v_uom_code,
v_converted_rate,
v_last_update_date,
v_last_updated_by,
v_last_update_login
--,ln_gst_assessable_value
--Added by zhiwei for bug10043656 GST en
hancement 2010/09/14 /*Commented by mmurtuza for removing GST Changes*/

);
-- added by cbabu for Bug#2496481, end
UPDATE JAI_OM_OE_SO_LINES
SET assessable_value = v_assessable_value,
tax_amount
= nvl(v_line_tax_amount,0),
line_amount
= v_line_amount,
line_tot_amount = v_line_amount + nvl(v_line_tax_amount,0),
last_update_date = v_last_update_date,
last_updated_by = v_last_updated_by,
last_update_login = v_last_update_login
WHERE line_id = v_line_id and header_id = v_header_id;
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_
EXCISE_TAXES','4588 UPDATE JAI_OM_OE_SO_LINES v_assessable_value '||v_assessable
_value||', v_line_tax_amount '||v_line_tax_amount||
', v_line_id '||v_line_id||', v_head
er_id '||v_header_id);
END IF; ---bbb
END IF; ---aaa
FND_FILE.PUT_LINE(FND_FILE.LOG,ii||' 14');
-----------------------------------------------------------------------v_original_system_reference := null;
v_customer_id
:= null;
v_address_id
:= null;
v_price_list_id
:= null;
v_org_id
:= null;
v_order_number
:= null;
v_conv_type_code
:= null;
v_conv_rate
:= null;
v_conv_date
:= null;
v_conv_factor
:= null;
v_set_of_books_id
:= null;
v_tax_category_id
:= null;
v_order_category
:= null;
v_line_amount
:= 0;
/* commented by cbabu for Bug#2496481
v_source_header_id
:= null;
v_source_order_category := null;
v_source_id
:= null;
*/
v_assessable_value
:= null;
v_assessable_amount
:= null;
v_price_list_uom_code := null;
v_converted_rate
:= null;
v_date_ordered
:= null;
v_ordered_date
:= null;
v_line_tax_amount
:= 0;
v_conversion_rate
:= 0;
v_currency_code
:= null;
v_order_source_type
:= null;
v_source_document_type_id := null;
v_org_id
:= null;
v_customer_id
:= null;
v_order_number
:= null;
v_price_list_id
:= null;
v_order_category
:= null;
v_original_system_reference := null;

v_currency_code
:= null;
v_conv_type_code
:= null;
v_conv_rate
:= null;
v_conv_date
:= null;
v_date_ordered
:= null;
-----------------------------------------------------------------------END IF; --- zzz
v_check_line := null;
ii := ii + 1;
END LOOP;
COMMIT;
FND_FILE.PUT_LINE(FND_FILE.LOG,'END of the procedure JA_IN_ASSESSABLE_PRICE_CHAN
GE');
EXCEPTION
WHEN OTHERS THEN
jai_cmn_utils_pkg.write_fnd_log_msg('JAI_OM_TAX_PKG.RECALCULATE_EXCISE_TAXES',
'4650 Exception occured in RECALCULATE_EXCISE_TAXES procedure sqlcode '||sqlcode
||', sqlerrm '||sqlerrm);
FND_MESSAGE.SET_NAME ('JA','JAI_EXCEPTION_OCCURED');
FND_MESSAGE.SET_TOKEN ('JAI_PROCESS_MSG',lv_object_name ||'.Err:'||sqlerrm);
app_exception.raise_exception;
END recalculate_excise_taxes;
END jai_om_tax_pkg;
/
COMMIT;
EXIT;

Anda mungkin juga menyukai