src-db/database/model/triggers/AD_TREE_TRG.xml
author Juan Pablo Aroztegi <juanpablo.aroztegi@openbravo.com>
Wed, 03 Sep 2008 17:55:37 +0000
changeset 1605 8a0fe0193bef
parent 785 8dba91261590
child 2078 cf88ca44cdd2
permissions -rw-r--r--
Merge r2.5x intro trunk
<?xml version="1.0"?>
  <database name="TRIGGER AD_TREE_TRG">
    <trigger name="AD_TREE_TRG" table="AD_TREE" fires="after" insert="true" update="false" delete="false" 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.
    *************************************************************************
    * Insert AD_Tree Trigger
    *  add Parent TreeNode
    */
  v_NextNo VARCHAR2(32);
  v_Tree_ID VARCHAR2(32);
BEGIN
  --  Insert into TreeNode
  INSERT
  INTO AD_TreeNode
    (
      AD_TreeNode_ID, AD_Client_ID, AD_Org_ID, IsActive,
      Created, CreatedBy, Updated,
      UpdatedBy, AD_Tree_ID, Node_ID,
      Parent_ID, SeqNo
    )
    VALUES
    (
      get_uuid(), :new.AD_Client_ID, :new.AD_Org_ID, :new.IsActive,
      :new.Created, :new.CreatedBy, :new.Updated,
      :new.UpdatedBy, :new.AD_Tree_ID, '0',
      NULL, 0
    )
    ;
  --  Insert into TreeNodeMM
  IF(:new.TREETYPE='MM') THEN
    INSERT
    INTO AD_TreeNodeMM
      (
        AD_TreeNodeMM_ID, AD_Client_ID, AD_Org_ID, IsActive,
        Created, CreatedBy, Updated,
        UpdatedBy, AD_Tree_ID, Node_ID,
        Parent_ID, SeqNo
      )
      VALUES
      (
        get_uuid(), :new.AD_Client_ID, :new.AD_Org_ID, :new.IsActive,
        :new.Created, :new.CreatedBy, :new.Updated,
        :new.UpdatedBy, :new.AD_Tree_ID, '0',
        NULL, 0
      )
      ;
  END IF;
  --  Insert into TreeNodeBP
  IF(:new.TREETYPE='BP') THEN
    INSERT
    INTO AD_TreeNodeBP
      (
        AD_TreeNodeBP_ID, AD_Client_ID, AD_Org_ID, IsActive,
        Created, CreatedBy, Updated,
        UpdatedBy, AD_Tree_ID, Node_ID,
        Parent_ID, SeqNo
      )
      VALUES
      (
        get_uuid(), :new.AD_Client_ID, :new.AD_Org_ID, :new.IsActive,
        :new.Created, :new.CreatedBy, :new.Updated,
        :new.UpdatedBy, :new.AD_Tree_ID, '0',
        NULL, 0
      )
      ;
  END IF;
  --  Insert into TreeNodePR
  IF(:new.TREETYPE='PR') THEN
    INSERT
    INTO AD_TreeNodePR
      (
        AD_TreeNodePR_ID, AD_Client_ID, AD_Org_ID, IsActive,
        Created, CreatedBy, Updated,
        UpdatedBy, AD_Tree_ID, Node_ID,
        Parent_ID, SeqNo
      )
      VALUES
      (
        get_uuid(), :new.AD_Client_ID, :new.AD_Org_ID, :new.IsActive,
        :new.Created, :new.CreatedBy, :new.Updated,
        :new.UpdatedBy, :new.AD_Tree_ID, '0',
        NULL, 0
      )
      ;
  END IF;
END AD_TREE_TRG
]]></body>
    </trigger>
  </database>