589 lines
18 KiB
Transact-SQL
589 lines
18 KiB
Transact-SQL
ALTER TABLE TBDD_MODULES
|
|
ADD PRODUCT_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0'
|
|
GO
|
|
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.4' where NAME = 'Record-Organizer'
|
|
GO
|
|
ALTER VIEW [dbo].[VWPMO_GUI_ENTITY] AS
|
|
SELECT TOP 100 PERCENT
|
|
TBPMO_FORM.GUID AS ID,
|
|
TBPMO_FORM.PARENT_ID,
|
|
TBPMO_FORM.LEVEL,
|
|
TBPMO_FORM.FORM_TYPE_ID,
|
|
TBPMO_FORM.NAME AS Name,
|
|
TBPMO_FORM_VIEW.GUID As FormViewID,
|
|
TBPMO_FORM_VIEW.FORM_TITLE AS Title
|
|
FROM
|
|
TBPMO_FORM INNER JOIN
|
|
TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID
|
|
WHERE
|
|
(TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5))
|
|
ORDER BY
|
|
TBPMO_FORM.PARENT_ID, Title
|
|
GO
|
|
|
|
CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE
|
|
(
|
|
GUID INTEGER NOT NULL IDENTITY(1,1),
|
|
WF_ID INTEGER NOT NULL,
|
|
ENTITY_ID INTEGER NOT NULL,
|
|
STATE_ID INTEGER NOT NULL,
|
|
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
|
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
|
CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID),
|
|
CONSTRAINT UNIQUE_ENTITY_ID_STATE_ID UNIQUE(WF_ID,ENTITY_ID,STATE_ID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
|
|
)
|
|
GO
|
|
CREATE TRIGGER TBPMO_WORKFLOW_TASK_STATE_DELETE
|
|
ON TBPMO_WORKFLOW_TASK_STATE
|
|
FOR DELETE
|
|
AS
|
|
DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = (
|
|
SELECT GUID FROM DELETED)
|
|
GO
|
|
|
|
CREATE TABLE TBPMO_WORKFLOW_TASK
|
|
(
|
|
GUID INTEGER NOT NULL IDENTITY(1,1),
|
|
RECORD_ID INTEGER NOT NULL,
|
|
WF_ID INTEGER NOT NULL,
|
|
COMMENT VARCHAR(500),
|
|
DUE_DATE DATE,
|
|
TASK_DATE DATE,
|
|
STATE_ID INTEGER NOT NULL DEFAULT 1,
|
|
ACTIVE BIT NOT NULL DEFAULT 0,
|
|
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
|
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
|
CHANGED_WHO VARCHAR(50),
|
|
CHANGED_WHEN DATETIME,
|
|
CONSTRAINT PK_TBPMO_WORKFLOW_TASK PRIMARY KEY (GUID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
|
|
CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_ENTITY_STATE (GUID)
|
|
)
|
|
GO
|
|
CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK
|
|
FOR UPDATE
|
|
AS
|
|
UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
|
|
GO
|
|
--###############################################################################
|
|
CREATE TABLE TBPMO_WORKFLOW_TASK_USER
|
|
(
|
|
GUID INTEGER NOT NULL IDENTITY(1,1),
|
|
WF_TASK_ID INTEGER NOT NULL,
|
|
[USER_ID] INTEGER NOT NULL,
|
|
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
|
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
|
CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID),
|
|
CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID),
|
|
CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
|
|
)
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER)
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@WF_ID INTEGER,
|
|
@TITLE VARCHAR(50),
|
|
@SEQUENCE INTEGER,
|
|
@MELDUNG VARCHAR(250)--,
|
|
--@STATE_ID INTEGER
|
|
|
|
DECLARE c_TASK CURSOR FOR
|
|
SELECT T.WF_ID
|
|
FROM TBPMO_WORKFLOW_FORM T, TBPMO_WORKFLOW T1
|
|
WHERE T.WF_ID = T1.GUID AND
|
|
T.FORM_ID = @FORM_ID ORDER BY T.SEQUENCE
|
|
|
|
OPEN c_TASK
|
|
FETCH NEXT FROM c_TASK INTO @WF_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
|
|
DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
|
|
--SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID
|
|
--IF @STATE_ID IS NOT NULL
|
|
BEGIN
|
|
--INSERT DES TASKS
|
|
INSERT INTO TBPMO_WORKFLOW_TASK(
|
|
RECORD_ID,
|
|
WF_ID,
|
|
ACTIVE,
|
|
STATE_ID)
|
|
VALUES (
|
|
@RECORD_ID,
|
|
@WF_ID,
|
|
1,
|
|
1)
|
|
END
|
|
|
|
FETCH NEXT FROM c_TASK INTO @WF_ID
|
|
END
|
|
CLOSE c_TASK
|
|
DEALLOCATE c_TASK
|
|
END
|
|
|
|
|
|
GO
|
|
|
|
|
|
ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
|
|
FOR UPDATE
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@STATE_DESC VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@CHANGED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@STATE_DESC = STATE_DESC,
|
|
@SCREEN_ID = 1,
|
|
@CHANGED_WHO = CHANGED_WHO
|
|
FROM INSERTED
|
|
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
|
|
|
|
SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
|
|
UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.GUID = INSERTED.GUID
|
|
|
|
If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
|
|
UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @STATE_DESC,CHANGED_WHO = @CHANGED_WHO WHERE
|
|
PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
|
|
ELSE
|
|
BEGIN TRY
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@STATE_DESC VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@ADDED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@STATE_DESC = STATE_DESC,
|
|
@SCREEN_ID = 1,
|
|
@ADDED_WHO = ADDED_WHO
|
|
FROM INSERTED
|
|
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
|
|
SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
IF @LANGUAGE is not null
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
DECLARE @GUID INTEGER,
|
|
@SCREEN_ID INT,
|
|
@FORM_VIEW_ID INTEGER,
|
|
@FORM_TITLE VARCHAR(100),
|
|
@LANGUAGE VARCHAR(5),
|
|
@PMO_OBJECT_NAME VARCHAR(100),
|
|
@CAPTION VARCHAR(100)
|
|
|
|
DECLARE c_STATE CURSOR FOR
|
|
SELECT GUID,1,'en-US','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC
|
|
from TBPMO_WORKFLOW_TASK_STATE
|
|
UNION
|
|
SELECT GUID,1,'de-DE','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC
|
|
from TBPMO_WORKFLOW_TASK_STATE ORDER BY GUID
|
|
|
|
|
|
BEGIN
|
|
OPEN c_STATE
|
|
FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE)
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT
|
|
(LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
|
|
|
|
FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
|
|
END
|
|
CLOSE c_STATE
|
|
DEALLOCATE c_STATE
|
|
|
|
END
|
|
GO
|
|
--'#####################################################
|
|
ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW]
|
|
FOR UPDATE
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@CHANGED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@TITLE = TITLE,
|
|
@SCREEN_ID = 1,
|
|
@CHANGED_WHO = CHANGED_WHO
|
|
FROM INSERTED
|
|
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
|
|
|
|
SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
|
|
UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID
|
|
|
|
If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
|
|
UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
|
|
PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
|
|
ELSE
|
|
BEGIN TRY
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@ADDED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@TITLE = TITLE,
|
|
@SCREEN_ID = 1,
|
|
@ADDED_WHO = ADDED_WHO
|
|
FROM INSERTED
|
|
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO
|
|
SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
DECLARE @GUID INTEGER,
|
|
@SCREEN_ID INT,
|
|
@TITLE VARCHAR(100),
|
|
@LANGUAGE VARCHAR(5),
|
|
@PMO_OBJECT_NAME VARCHAR(100),
|
|
@CAPTION VARCHAR(100)
|
|
|
|
DECLARE c_STATE CURSOR FOR
|
|
SELECT GUID,1,'en-US','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE
|
|
from TBPMO_WORKFLOW
|
|
UNION
|
|
SELECT GUID,1,'de-DE','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE
|
|
from TBPMO_WORKFLOW ORDER BY GUID
|
|
|
|
|
|
BEGIN
|
|
OPEN c_STATE
|
|
FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE)
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT
|
|
(LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
|
|
|
|
FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
|
|
END
|
|
CLOSE c_STATE
|
|
DEALLOCATE c_STATE
|
|
|
|
END
|
|
GO
|
|
--##################################
|
|
ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@RECORD_ID INTEGER,
|
|
@MAX_ID INTEGER,
|
|
@FORM_ID INTEGER,
|
|
@WF_ID INTEGER,
|
|
@PARENT_ID INTEGER
|
|
SELECT
|
|
@FORM_ID = FORM_ID,
|
|
@RECORD_ID = GUID
|
|
FROM INSERTED
|
|
|
|
IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID)
|
|
SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1
|
|
FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID
|
|
ELSE
|
|
SET @MAX_ID = 1
|
|
|
|
UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
|
|
|
|
--Überprüfen ob für die Entity_ID Workflows definiert sind?
|
|
IF EXISTS(
|
|
SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_ID = @FORM_ID
|
|
)
|
|
BEGIN
|
|
EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
|
+ ' - FEHLER-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
|
|
SELECT TOP 100 PERCENT
|
|
T.GUID AS WF_TASK_ID,
|
|
T.WF_ID ,
|
|
T1.TITLE,
|
|
T.RECORD_ID,
|
|
T.STATE_ID,
|
|
T2.STATE_DESC,
|
|
T2.COLOR,
|
|
T.COMMENT,
|
|
T.DUE_DATE,
|
|
T.TASK_DATE,
|
|
'' AS USERNAME,
|
|
T.ADDED_WHEN,
|
|
T.CHANGED_WHO,
|
|
T.CHANGED_WHEN
|
|
FROM
|
|
TBPMO_WORKFLOW_TASK AS T,
|
|
TBPMO_WORKFLOW AS T1,
|
|
TBPMO_WORKFLOW_TASK_STATE T2
|
|
WHERE
|
|
T.WF_ID = T1.GUID AND
|
|
T.STATE_ID = T2.GUID
|
|
ORDER BY T.GUID
|
|
GO
|
|
|
|
ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
|
|
FOR UPDATE
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@FORM_TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@CHANGED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@FORM_TITLE = FORM_TITLE,
|
|
@SCREEN_ID = SCREEN_ID,
|
|
@CHANGED_WHO = CHANGED_WHO
|
|
FROM INSERTED
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
|
|
SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
|
|
UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
|
|
|
|
IF @LANGUAGE is not null
|
|
If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
|
|
UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
|
|
PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
|
|
ELSE
|
|
BEGIN TRY
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@FORM_TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@ADDED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@SCREEN_ID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@FORM_TITLE = FORM_TITLE,
|
|
@SCREEN_ID = SCREEN_ID,
|
|
@ADDED_WHO = ADDED_WHO
|
|
FROM INSERTED
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
|
|
SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
|
|
IF @LANGUAGE is not null
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
|
|
(@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@FORM_TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5),
|
|
@ADDED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@FORM_TITLE = FORM_TITLE,
|
|
@ADDED_WHO = ADDED_WHO
|
|
FROM INSERTED
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
|
|
|
|
SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
|
|
IF @LANGUAGE is not null
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
|
|
(@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
|
|
FOR UPDATE
|
|
AS
|
|
BEGIN
|
|
DECLARE @FORM_TITLE VARCHAR(50),
|
|
@LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50),
|
|
@GUID INTEGER,
|
|
@PMO_OBJECT_NAME VARCHAR(100)
|
|
SELECT
|
|
@GUID = GUID,
|
|
@FORM_TITLE = FORM_TITLE,
|
|
@LANGUAGE = [LANGUAGE],
|
|
@CHANGED_WHO = CHANGED_WHO
|
|
FROM INSERTED
|
|
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
|
|
|
|
SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
|
|
IF @LANGUAGE is not null
|
|
UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE()
|
|
FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID
|
|
|
|
If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
|
|
UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
|
|
PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
|
|
LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1
|
|
ELSE
|
|
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
|
|
(@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE)
|
|
END
|
|
GO
|
|
|
|
ALTER TABLE TBPMO_CONSTRUCTOR_USER
|
|
ADD HOME_MENUE BIT NOT NULL DEFAULT 1
|
|
GO
|
|
ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL]
|
|
FOR INSERT
|
|
AS
|
|
DECLARE @CONSTRUCT_ID INTEGER,
|
|
@PARENT_ID INTEGER,
|
|
@EXISTS as INTEGER
|
|
BEGIN
|
|
SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED
|
|
IF @PARENT_ID = 0
|
|
BEGIN
|
|
SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID
|
|
IF @EXISTS > 1
|
|
BEGIN
|
|
ROLLBACK TRANSACTION
|
|
RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10)
|
|
END
|
|
END
|
|
END
|
|
GO
|
|
|
|
|
|
|