src-db/database/model/triggers/A_ASSET_TRG.xml
author Juan Pablo Aroztegi <juanpablo.aroztegi@openbravo.com>
Mon, 28 Apr 2008 09:28:08 +0000
changeset 785 8dba91261590
parent 781 d68cf344696f
child 799 fef2c5e2feb7
permissions -rw-r--r--
Fix last update of copyright years in database files
<?xml version="1.0"?>
  <database name="TRIGGER A_ASSET_TRG">
    <trigger name="A_ASSET_TRG" table="A_ASSET" fires="after" insert="true" update="false" delete="true" foreach="row">
      <body><![CDATA[
    /*************************************************************************
    * The contents of this file are subject to the Compiere Public
    * License 1.1 ("License"); You may not use this file except in
    * compliance with the License. You may obtain a copy of the License in
    * the legal folder of your Openbravo installation.
    * 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  Compiere  ERP &  Business Solution
    * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
    * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke,
    * parts created by ComPiere are Copyright (C) ComPiere, Inc.;
    * All Rights Reserved.
    * Contributor(s): Openbravo SL
    * Contributions are Copyright (C) 2001-2008 Openbravo, S.L.
    *
    * Specifically, this derivative work is based upon the following Compiere
    * file and version.
    *************************************************************************
    * $Id: A_ASSET_Trg.sql,v 1.4 2002/10/23 03:16:57 jjanke Exp $
    ***
    * Title: Asset new necord
    * Description:
    *    - create default Account records
    ************************************************************************/

  Cur_Defaults A_Asset_Group_Acct%ROWTYPE;
  v_Acct_ID NUMBER;
BEGIN
  --  Default Accounts for all AcctSchema
  IF(INSERTING) THEN
      SELECT *
      into cur_Defaults
      FROM A_Asset_Group_Acct d1
      WHERE d1.A_Asset_Group_ID=:new.A_Asset_Group_ID;

      --  Customer
      Ad_Sequence_Next('A_Asset_Acct', Cur_Defaults.AD_Client_ID, v_Acct_ID) ;
      INSERT
      INTO A_ASSET_ACCT
        (
          A_ASSET_ID, C_ACCTSCHEMA_ID, AD_CLIENT_ID,
          AD_ORG_ID, ISACTIVE, CREATED,
          CREATEDBY, UPDATED, UPDATEDBY,
          A_DEPRECIATION_ACCT, A_ACCUMDEPRECIATION_ACCT, A_DISPOSAL_LOSS,
          A_DISPOSAL_GAIN
        )
        VALUES
        (
          :new.A_Asset_ID, Cur_Defaults.C_AcctSchema_ID, :new.AD_Client_ID,
          :new.AD_Org_ID,  'Y', now(),
          :new.CreatedBy, now(), :new.UpdatedBy,
          Cur_Defaults.A_DEPRECIATION_ACCT, Cur_Defaults.A_ACCUMDEPRECIATION_ACCT, Cur_Defaults.A_DISPOSAL_LOSS,
          Cur_Defaults.A_DISPOSAL_LOSS
        )
        ;
      --  Vendor
  END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
  RAISE_APPLICATION_ERROR(-20008, 'The asset group for this asset has no accounts') ;
END A_ASSET_TRG
]]></body>
    </trigger>
  </database>