details: http://code.openbravo.com/erp/devel/pi/rev/b10bedd14f64 changeset: 4492:b10bedd14f64 user: Balamurugan Ramadoss <balamurugan.ramadoss <at> openbravo.com> date: Fri Aug 14 06:30:41 2009 +0530 summary: Fixed Issue 0010262: 'TAD_PI.C_ORDERLINE_TRG' is invalid and failed re-validation
diffstat: src-db/database/model/triggers/C_ORDERLINE_TRG.xml | 89 +++++++++++----------- 1 files changed, 44 insertions(+), 45 deletions(-) diffs (164 lines): diff -r 0711d379842e -r b10bedd14f64 src-db/database/model/triggers/C_ORDERLINE_TRG.xml --- a/src-db/database/model/triggers/C_ORDERLINE_TRG.xml Thu Aug 13 22:22:50 2009 +0530 +++ b/src-db/database/model/triggers/C_ORDERLINE_TRG.xml Fri Aug 14 06:30:41 2009 +0530 @@ -23,7 +23,7 @@ * file and version. *************************************************************************/ - + TYPE RECORD IS REF CURSOR; v_newTaxBaseAmt NUMBER; v_oldTaxBaseAmt NUMBER; @@ -37,11 +37,12 @@ v_UOM_ID VARCHAR2(32); v_IsSOTrx CHAR(1); v_Count NUMBER; - v_taxBaseAmt NUMERIC; - v_rate NUMERIC; - v_isSummary BOOLEAN; + v_taxBaseAmt NUMBER; + v_rate NUMBER; + v_isSummary CHAR(1); Cur_MultiTax RECORD; - xTaxAmt NUMERIC:=0; + xTaxAmt NUMBER:=0; + BEGIN @@ -152,45 +153,45 @@ SELECT TaxBaseAmt INTO v_taxBaseAmt FROM C_OrderTax - WHERE C_Order_ID=old.C_Order_ID - AND C_Tax_ID=old.C_Tax_ID; + WHERE C_Order_ID=:old.C_Order_ID + AND C_Tax_ID=:old.C_Tax_ID; SELECT Rate INTO v_rate FROM C_Tax - WHERE C_Tax_ID=old.C_Tax_ID; + WHERE C_Tax_ID=:old.C_Tax_ID; SELECT IsSummary INTO v_isSummary FROM C_TAX t WHERE C_Tax_ID=(SELECT C_Tax_ID - FROM C_OrderTax - WHERE C_Order_ID=old.C_Order_ID - AND C_Tax_ID=old.C_Tax_ID); - + FROM C_OrderTax + WHERE C_Order_ID=:old.C_Order_ID + AND C_Tax_ID=:old.C_Tax_ID); + IF(v_isSummary='N') THEN UPDATE C_OrderTax - SET TaxAmt = (SELECT ROUND(v_taxBaseAmt * v_rate / 100, v_Prec)), - Updated = TO_DATE(NOW()), - UpdatedBy = '0' - WHERE C_Order_ID=old.C_Order_ID - AND C_Tax_ID=old.C_Tax_ID; + SET TaxAmt = ROUND(v_taxBaseAmt * v_rate / 100, v_Prec), + Updated = now(), + UpdatedBy = '0' + WHERE C_Order_ID=:old.C_Order_ID + AND C_Tax_ID=:old.C_Tax_ID; ELSE FOR Cur_MultiTax IN (SELECT C_Tax_ID, Rate, CASCADE - FROM C_TAX - WHERE Parent_Tax_ID=old.C_Tax_ID - ORDER BY Line) + FROM C_TAX + WHERE Parent_Tax_ID=:old.C_Tax_ID + ORDER BY Line) LOOP xTaxAmt:=xTaxAmt + ROUND(v_taxBaseAmt * Cur_MultiTax.Rate / 100, v_Prec); END LOOP; UPDATE C_OrderTax SET TaxAmt = xTaxAmt, - Updated = TO_DATE(NOW()), - UpdatedBy = '0' - WHERE C_Order_ID=old.C_Order_ID - AND C_Tax_ID=old.C_Tax_ID; + Updated = now(), + UpdatedBy = '0' + WHERE C_Order_ID=:old.C_Order_ID + AND C_Tax_ID=:old.C_Tax_ID; END IF; END IF; @@ -224,50 +225,48 @@ SELECT TaxBaseAmt INTO v_taxBaseAmt FROM C_OrderTax - WHERE C_Order_ID=new.C_Order_ID - AND C_Tax_ID=new.C_Tax_ID; + WHERE C_Order_ID=:new.C_Order_ID + AND C_Tax_ID=:new.C_Tax_ID; SELECT Rate INTO v_rate FROM C_Tax - WHERE C_Tax_ID=new.C_Tax_ID; + WHERE C_Tax_ID=:new.C_Tax_ID; SELECT IsSummary INTO v_isSummary FROM C_TAX t WHERE C_Tax_ID=(SELECT C_Tax_ID - FROM C_OrderTax - WHERE C_Order_ID=new.C_Order_ID - AND C_Tax_ID=new.C_Tax_ID); - + FROM C_OrderTax + WHERE C_Order_ID=:new.C_Order_ID + AND C_Tax_ID=:new.C_Tax_ID); + IF(v_isSummary='N') THEN UPDATE C_OrderTax - SET TaxAmt = (SELECT ROUND(v_taxBaseAmt * v_rate / 100, v_Prec)), - Updated = TO_DATE(NOW()), - UpdatedBy = '0' - WHERE C_Order_ID=new.C_Order_ID - AND C_Tax_ID=new.C_Tax_ID; + SET TaxAmt = ROUND(v_taxBaseAmt * v_rate / 100, v_Prec), + Updated = now(), + UpdatedBy = '0' + WHERE C_Order_ID=:new.C_Order_ID + AND C_Tax_ID=:new.C_Tax_ID; ELSE FOR Cur_MultiTax IN (SELECT C_Tax_ID, Rate, CASCADE - FROM C_TAX - WHERE Parent_Tax_ID=new.C_Tax_ID - ORDER BY Line) + FROM C_TAX + WHERE Parent_Tax_ID=:new.C_Tax_ID + ORDER BY Line) LOOP xTaxAmt:=xTaxAmt + ROUND(v_taxBaseAmt * Cur_MultiTax.Rate / 100, v_Prec); END LOOP; UPDATE C_OrderTax SET TaxAmt = xTaxAmt, - Updated = TO_DATE(NOW()), - UpdatedBy = '0' - WHERE C_Order_ID=new.C_Order_ID - AND C_Tax_ID=new.C_Tax_ID; + Updated = now(), + UpdatedBy = '0' + WHERE C_Order_ID=:new.C_Order_ID + AND C_Tax_ID=:new.C_Tax_ID; END IF; END IF; - - -- Get Total Tax Amt IF (INSERTING OR UPDATING) THEN SELECT SUM(TaxAmt) ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits