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
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
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
------------------------------------------------------------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
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*/
NUMBER;
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.
26-Feb-2004
09-Aug-2004
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
ai_om_tax.plb.
10. 10-Dec-007
Kevin Cheng
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.
-------------------------------------------------------------------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;
-- 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 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*/
---------------------------------------------------
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
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
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
--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
c 10, 2007
ln_bsln_amt_nr :=0;
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
/*
||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
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));
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 */
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
5.
20-Feb-2004
12-Mar-2005
6.
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
:= p_tax_amount;
:=
:=
:=
:=
:=
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
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
v_amt:=1;
ln_bsln_amt_nr :=0;
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
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
, 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
Number := 0;
Number := 0;
gl_sets_of_books.currency_code%TYPE;
varchar2(240);
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
30/05/2005
26/05/2005
pn_start_order;
pn_end_order ;
pn_order_type_id;
pn_ship_from_org_id;
*/
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||
:= rec.org_id1;
:= rec.sold_to_org_id;
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
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
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'
);
,
,
,
,
,
,
);
-- 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;