src-db/database/model/triggers/M_PRODUCTIONPLAN_TRG.xml
author Carlos Aristu <carlos.aristu@openbravo.com>
Wed, 12 Feb 2020 19:30:02 +0100
changeset 37053 13f7aa1af92b
parent 16390 588bdc741142
permissions -rw-r--r--
fixes BUG-43197: set DefaultDesignPath parameter in OBServletContextMock

Set the DefaultDesignPath in the OBServletContextMock so that some
methods that retrieves it can be used in the testing infrastructure. For
example: ReportingUtils.getBaseDesign()
<?xml version="1.0"?>
  <database name="TRIGGER M_PRODUCTIONPLAN_TRG">
    <trigger name="M_PRODUCTIONPLAN_TRG" table="M_PRODUCTIONPLAN" fires="after" insert="true" update="true" 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 SLU
    * Contributions are Copyright (C) 2001-2012 Openbravo, S.L.U.
    *
    * Specifically, this derivative work is based upon the following Compiere
    * file and version.
    *************************************************************************
    * $Id: M_ProductionPlan_Trg.sql,v 1.2 2002/05/23 17:31:12 jjanke Exp $
    ***
    * Title: ReadOnly Check
    * Description:
    ************************************************************************/
    v_ID VARCHAR2(32);
  v_RO NUMBER;
    
BEGIN
    
    IF AD_isTriggerEnabled()='N' THEN RETURN;
    END IF;


  -- Get ID
  IF(UPDATING OR INSERTING) THEN
    v_ID:=:new.M_Production_ID;
  ELSE
    v_ID:=:old.M_Production_ID;
  END IF;
  -- ReadOnly Check
  SELECT COUNT(*)
  INTO v_RO
  FROM M_Production
  WHERE M_Production_ID=v_ID
    AND(Processed='Y'
    OR Posted='Y') ;
  IF (v_RO > 0) THEN
    IF (DELETING OR INSERTING) THEN
      RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
    END IF;
    IF (UPDATING) THEN
      IF (:new.M_PRODUCT_ID <> :old.M_PRODUCT_ID
         OR :new.PRODUCTIONQTY <> :old.PRODUCTIONQTY
         OR :new.M_LOCATOR_ID <> :old.M_LOCATOR_ID
         OR :new.CONVERSIONRATE <> :old.CONVERSIONRATE
         OR :new.MA_COSTCENTERUSE <> :old.MA_COSTCENTERUSE
         OR :new.MA_WRPHASE_ID <> :old.MA_WRPHASE_ID
         OR :new.NEEDEDQUANTITY <> :old.NEEDEDQUANTITY
         OR :new.REJECTEDQUANTITY <> :old.REJECTEDQUANTITY
         OR :new.SECONDARYQTY <> :old.SECONDARYQTY
        OR :new.SECONDARYUNIT <> :old.SECONDARYUNIT
         OR :new.PROCESSED <> :old.PROCESSED
        ) THEN
        RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
      END IF;
    END IF;
  END IF;
END M_PRODUCTIONPLAN_TRG
]]></body>
    </trigger>
  </database>