📄 ad_window_trg.sql
字号:
CREATE OR REPLACE TRIGGER AD_Window_Trg
AFTER INSERT OR UPDATE OF Name, Description, Help, IsActive
ON AD_Window
FOR EACH ROW
DECLARE
/*************************************************************************
* The contents of this file are subject to the Compiere License. You may
* obtain a copy of the License at http://www.compiere.org/license.html
* Software is on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the License for details. Code: Compiere ERP+CRM
* Copyright (C) 1999-2002 Jorg Janke, ComPiere, Inc. All Rights Reserved.
*************************************************************************
* $Id: AD_Window_Trg.sql,v 1.2 2002/08/26 05:23:32 jjanke Exp $
***
* Title: Window Changes
* Description:
* - Transaltion
* - Sync Name (Workflow, Menu)
* - Active State (Menu)
************************************************************************/
BEGIN
-- Insert AD_Window Trigger
-- for Translation
-- Access
IF INSERTING THEN
-- Create Translation Row
INSERT INTO AD_Window_Trl
(AD_Window_ID, AD_Language, AD_Client_ID, AD_Org_ID,
IsActive, Created, CreatedBy, Updated, UpdatedBy,
Name, Description, Help, IsTranslated)
SELECT :new.AD_Window_ID, AD_Language, :new.AD_Client_ID, :new.AD_Org_ID,
:new.IsActive, :new.Created, :new.CreatedBy, :new.Updated, :new.UpdatedBy,
:new.Name, :new.Description, :new.Help, 'N'
FROM AD_Language
WHERE IsActive = 'Y' AND IsSystemLanguage = 'Y';
-- Access for all
INSERT INTO AD_Window_Access
(AD_Window_ID, AD_Role_ID,
AD_Client_ID, AD_Org_ID, IsActive, Created, CreatedBy, Updated, UpdatedBy, IsReadWrite)
SELECT DISTINCT :new.AD_Window_ID, r.AD_Role_ID,
r.AD_CLIENT_ID, r.AD_ORG_ID, 'Y', SysDate, 0, SysDate, 0, 'Y'
FROM AD_Role r;
END IF; -- Inserting
-- AD_Window update trigger
-- synchronize name,...
IF UPDATING THEN
-- Update Menu
UPDATE AD_Menu
SET IsActive = :new.IsActive,
Name = :new.Name,
Description = :new.Description
WHERE AD_Window_ID = :new.AD_Window_ID;
-- Update Workflow
UPDATE AD_WF_Node
SET IsActive = :new.IsActive
WHERE AD_Window_ID = :new.AD_Window_ID;
UPDATE AD_WF_Node
SET Name = :new.Name,
Description = :new.Description,
Help = :new.Help
WHERE AD_Window_ID = :new.AD_Window_ID
AND IsCentrallyMaintained='Y';
-- Translation
UPDATE AD_Window_Trl
SET IsTranslated = 'N',
Updated=SysDate
WHERE AD_Window_ID = :new.AD_Window_ID;
END IF; -- Updating
END AD_Window_Trg;
/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -