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
|
||
|
||
--<2D>berpr<70>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
|
||
|
||
|
||
|