src-db/database/model/triggers/AD_PROCESS_TRL_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 1929 ad0353d93b0f
permissions -rw-r--r--
Merge r2.5x intro trunk
<?xml version="1.0"?>
  <database name="TRIGGER AD_PROCESS_TRL_TRG">
    <trigger name="AD_PROCESS_TRL_TRG" table="AD_PROCESS_TRL" fires="after" insert="false" 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.
*************************************************************************
* AD_Process_Trl update trigger
*  synchronize name,... with  Field if centrally maintained
*/
BEGIN
  IF UPDATING
  THEN
    IF (   COALESCE (:OLD.NAME, '.') <> COALESCE (:NEW.NAME, '.')
        OR COALESCE (:OLD.Description, '.') <>
                                              COALESCE (:NEW.Description, '.')
        OR COALESCE (:OLD.HELP, '.') <> COALESCE (:NEW.HELP, '.')
        OR COALESCE (:OLD.IsTranslated, '.') <>
                                             COALESCE (:NEW.IsTranslated, '.')
       )
    THEN
      UPDATE AD_Field_Trl
         SET NAME = :NEW.NAME,
             Description = :NEW.Description,
             HELP = :NEW.HELP,
             IsTranslated = :NEW.IsTranslated,
             Updated = now()
       WHERE AD_Language = :NEW.AD_Language
         AND AD_Field_ID IN (
               SELECT F.AD_Field_ID
                 FROM AD_Field F, AD_Column C
                WHERE F.AD_Column_ID = C.AD_Column_ID
                  AND C.AD_Process_ID = :NEW.AD_Process_ID
                  AND F.IsCentrallyMaintained = 'Y');
    END IF;
  END IF;
END AD_PROCESS_TRL_TRG
]]></body>
    </trigger>
  </database>