src-db/database/model/triggers/C_INVOICE_TRG2.xml
author Juan Pablo Aroztegi <juanpablo.aroztegi@openbravo.com>
Mon, 28 Apr 2008 09:28:08 +0000
changeset 785 8dba91261590
parent 756 ae11e4610537
child 1605 8a0fe0193bef
permissions -rw-r--r--
Fix last update of copyright years in database files
<?xml version="1.0"?>
  <database name="TRIGGER C_INVOICE_TRG2">
    <trigger name="C_INVOICE_TRG2" table="C_INVOICE" fires="after" insert="true" update="false" delete="false" foreach="row">
      <body><![CDATA[




/*************************************************************************
* The contents of this file are subject to the Openbravo  Public  License
* Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
* Version 1.1  with a permitted attribution clause; you may not  use this
* file except in compliance with the License. You  may  obtain  a copy of
* the License at http://www.openbravo.com/legal/license.html
* Software distributed under the License  is  distributed  on  an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific  language  governing  rights  and  limitations
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SL
* All portions are Copyright (C) 2001-2006 Openbravo SL
* All Rights Reserved.
* Contributor(s):  ______________________________________.
************************************************************************/
   TYPE RECORD IS REF CURSOR;
  Cur_Discounts RECORD;
  v_Key NUMBER(10) ;
BEGIN
  FOR Cur_Discounts IN
    (
    SELECT C_DISCOUNT_ID,
      LINE,
      CASCADE
    FROM C_BPARTNER_DISCOUNT
    WHERE C_BPARTNER_ID=:NEW.C_BPARTNER_ID
      AND ISACTIVE='Y'
      AND(ISCUSTOMER=:NEW.ISSOTRX
      OR ISVENDOR <> :NEW.ISSOTRX)
    ORDER BY LINE
    )
  LOOP
    Ad_Sequence_Next('C_Invoice_Discount', :NEW.AD_Client_ID, v_Key) ;
    INSERT
    INTO C_INVOICE_DISCOUNT
      (
        C_INVOICE_DISCOUNT_ID, AD_CLIENT_ID, AD_ORG_ID,
        ISACTIVE, CREATED, CREATEDBY,
        UPDATED, UPDATEDBY, C_INVOICE_ID,
        C_DISCOUNT_ID, LINE, CASCADE
      )
      VALUES
      (
        v_Key, :NEW.AD_Client_ID, :NEW.AD_Org_ID,
         'Y', now(),  :NEW.CREATEDBY,
        now(), :NEW.UPDATEDBY, :NEW.C_INVOICE_ID,
        Cur_Discounts.C_DISCOUNT_ID, Cur_Discounts.LINE, Cur_Discounts.CASCADE
      )
      ;
  END LOOP;
END C_INVOICE_TRG2
]]></body>
    </trigger>
  </database>