src-db/database/model/triggers/C_DOCTYPE_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 C_DOCTYPE_TRG">
    <trigger name="C_DOCTYPE_TRG" table="C_DOCTYPE" fires="after" insert="true" update="true" 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.
    *************************************************************************
    */
    BEGIN
    -- Insert C_DocType Trigger
    --  for Translation
    IF INSERTING
    THEN
    --  Create Translation Row
  INSERT
  INTO C_DocType_Trl
    (
      C_DocType_Trl_ID, C_DocType_ID, AD_Language, AD_Client_ID,
      AD_Org_ID, IsActive, Created,
      CreatedBy, Updated, UpdatedBy,
      Name, PrintName, DocumentNote,
      IsTranslated
    )
  SELECT get_uuid(), :new.C_DocType_ID,
    AD_Language, :new.AD_Client_ID, :new.AD_Org_ID,
    :new.IsActive, :new.Created, :new.CreatedBy,
    :new.Updated, :new.UpdatedBy, :new.Name,
    :new.PrintName, :new.DocumentNote, 'N'
  FROM AD_Language
  WHERE IsActive='Y'
    AND IsSystemLanguage='Y';
 END IF;
 -- Inserting
 -- C_DocType update trigger
 --  synchronize name,...
 IF UPDATING THEN
  IF(COALESCE(:old.PrintName, '.') <> COALESCE(:NEW.PrintName, '.')
  OR COALESCE(:old.Name, '.') <> COALESCE(:NEW.Name, '.')
  OR COALESCE(:old.DocumentNote, '.') <> COALESCE(:NEW.DocumentNote, '.'))
 THEN
    UPDATE C_DocType_Trl
      SET IsTranslated='N',
      Name=:new.Name,
      PrintName=:new.PrintName,
      DocumentNote=:new.DocumentNote,
      Updated=now()
    WHERE C_DocType_ID=:new.C_DocType_ID;
  END IF;
 END IF;
-- Updating
END C_DOCTYPE_TRG
]]></body>
    </trigger>
  </database>