MS
This commit is contained in:
@@ -0,0 +1,588 @@
|
||||
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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user