1050 lines
33 KiB
Transact-SQL
Raw Blame History

UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.5' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBDD_USER_GROUPS
ADD COMMENT VARCHAR(200)
GO
ALTER VIEW [dbo].[VWDD_USER2GROUP] AS
SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT
FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_USER_GROUPS T2
WHERE
T.GUID = T1.USER_ID AND
T1.GROUP_ID = T2.GUID
ORDER BY T.USERNAME
GO
IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM
IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK_USER', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK_USER
IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK
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,
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_TASK_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
CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE
(
GUID INTEGER NOT NULL IDENTITY(1,1),
ENTITY_ID INTEGER NOT NULL,
WF_ID INTEGER NOT NULL,
STATE_ID INTEGER NOT NULL,
FINAL BIT NOT NULL DEFAULT 0,
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_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID),
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),
CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID)
)
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
ALTER 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
('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
('en-US',@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
CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS
SELECT
T.GUID,
T.ENTITY_ID,
T3.GUID as FV_ID,
T3.FORM_TITLE,
T.WF_ID,
T4.TITLE AS WF_TITLE,
T2.GUID AS STATE_ID,
T2.STATE_DESC,
T.FINAL
FROM
TBPMO_WORKFLOW_ENTITY_STATE T,
TBPMO_FORM T1,
TBPMO_WORKFLOW_TASK_STATE T2,
TBPMO_FORM_VIEW T3,
TBPMO_WORKFLOW T4
WHERE
T.ENTITY_ID = T1.GUID AND
T.STATE_ID = T2.GUID AND
T1.GUID = T3.FORM_ID AND
T.WF_ID = T4.GUID AND
T3.SCREEN_ID = 1
GO
CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CLIENT_ID INTEGER,
@ADDED_WHO VARCHAR(50),
@CLIENT_COUNT INTEGER
SELECT
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
IF @CLIENT_COUNT = 1
BEGIN
SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
(@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
END
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE TBPMO_CONSTRUCTOR_USER
(
GUID INTEGER NOT NULL IDENTITY(1,1),
CONSTRUCT_ID INTEGER NOT NULL,
[USER_ID] INTEGER NOT NULL,
HOME_MENUE BIT NOT NULL DEFAULT 1,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID),
CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
)
GO
CREATE TABLE TBPMO_CLIENT_ENTITY
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
ENTITY_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID)
)
GO
CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
CONSTRUCT_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
)
GO
CREATE TABLE TBPMO_CLIENT_DOCTYPE
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
DOCTYPE_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
)
GO
CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE
@RESULT VARCHAR(MAX),
@TEMP_VALUE VARCHAR(MAX)
DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID
BEGIN
OPEN c_RESULT
FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
WHILE @@FETCH_STATUS = 0
BEGIN
IF LEN(@RESULT) > 0
SET @RESULT = @RESULT + ';' + @TEMP_VALUE
ELSE
SET @RESULT = @TEMP_VALUE
FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
END
CLOSE c_RESULT
DEALLOCATE c_RESULT
RETURN(@RESULT)
END
END
GO
ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
SELECT TOP 100 PERCENT
T.GUID AS WF_TASK_ID,
T2.GUID AS WF_ENT_GUID,
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 PROCEDURE PRPMO_CREATE_SQL(@pFORM_ID INT)
AS
DECLARE @COL_NAME VARCHAR(50),
@SQL_BEGIN VARCHAR(1000),
@SQL_END VARCHAR(2000),
@SQL VARCHAR(5000),
@CONTROL_ID INT,
@RESULT VARCHAR(8000),
@TYPEID INT,
@TABINDEX INT,
@SQL_LBL VARCHAR(2000)
DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE
T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION
SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE
T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX
BEGIN
SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN
SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID)
OPEN c_SPALTENNAMEN
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
WHILE @@FETCH_STATUS = 0
BEGIN
SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
IF LEN(ISNULL(@SQL,'')) = 0
BEGIN
IF @TYPEID = 10 OR @TYPEID = 11
SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
ELSE IF @TYPEID = 6
SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
ELSE IF @TYPEID = 1
BEGIN
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME
PRINT 'SQL f<>r Label: ' + @SQL_LBL
END
ELSE IF @TYPEID = 12 OR @TYPEID = 7
SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
ELSE
SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
END
ELSE
BEGIN
IF (@TYPEID = 10) OR (@TYPEID = 11)
SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
ELSE IF @TYPEID = 6
SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
ELSE IF @TYPEID = 1
BEGIN
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME
PRINT 'SQL1 f<>r Label: ' + @SQL_LBL
PRINT @SQL
END
ELSE IF @TYPEID = 12 OR @TYPEID = 7
SET @SQL = @SQL + '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
ELSE
SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
END
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
END
CLOSE c_SPALTENNAMEN
DEALLOCATE c_SPALTENNAMEN
SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID)
UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID
ELSE
INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT)
END
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 DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID
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 AND GUID = (SELECT MIN(GUID) 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,
@STATE_ID)
END
FETCH NEXT FROM c_TASK INTO @WF_ID
END
CLOSE c_TASK
DEALLOCATE c_TASK
END
GO
DELETE FROM TBPMO_WORKFLOW_TASK_USER
GO
DELETE FROM TBPMO_WORKFLOW_TASK
GO
BEGIN
DECLARE
@REC_ID INTEGER,
@ENT_ID INTEGER
DECLARE c_RECTASKS CURSOR FOR
SELECT GUID,FORM_ID FROM TBPMO_RECORD WHERE FORM_ID IN (SELECT DISTINCT ENTITY_ID FROM TBPMO_WORKFLOW_ENTITY_STATE)
OPEN c_RECTASKS
FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @return_value int
EXEC @return_value = [dbo].[PRPMO_CREATE_WF_TASKS]
@FORM_ID = @ENT_ID,
@RECORD_ID = @REC_ID
--SELECT 'Return Value' = @return_value
FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID
END
CLOSE c_RECTASKS
DEALLOCATE c_RECTASKS
END
GO
CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS
SELECT
T.GUID,
T.ENTITY_ID,
T3.GUID as FV_ID,
T3.FORM_TITLE,
T.WF_ID,
T4.TITLE AS WF_TITLE,
T2.GUID AS STATE_ID,
T2.STATE_DESC,
T.FINAL
FROM
TBPMO_WORKFLOW_ENTITY_STATE T,
TBPMO_FORM T1,
TBPMO_WORKFLOW_TASK_STATE T2,
TBPMO_FORM_VIEW T3,
TBPMO_WORKFLOW T4
WHERE
T.ENTITY_ID = T1.GUID AND
T.STATE_ID = T2.GUID AND
T1.GUID = T3.FORM_ID AND
T.WF_ID = T4.GUID AND
T3.SCREEN_ID = 1
GO
CREATE TABLE TBDD_CLIENT
(
GUID INTEGER IDENTITY(0,1),
CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE,
SHORTNAME VARCHAR(30),
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID)
)
GO
INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES
('DEFAULT','DEF')
GO
CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT
FOR UPDATE
AS
BEGIN
UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID
END
GO
CREATE TABLE TBDD_CLIENT_USER
(
GUID INTEGER IDENTITY(0,1),
[USER_ID] INT NOT NULL,
CLIENT_ID INT NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
)
GO
CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CLIENT_ID INTEGER,
@ADDED_WHO VARCHAR(50),
@CLIENT_COUNT INTEGER
SELECT
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
IF @CLIENT_COUNT = 1
BEGIN
SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
(@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
END
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
DROP VIEW VWPMO_WORKFLOW_FORM
GO
IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM
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 DISTINCT GUID FROM TBPMO_WORKFLOW_ENTITY_STATE where ENTITY_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
CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE
@RESULT VARCHAR(MAX),
@TEMP_VALUE VARCHAR(MAX)
DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID
BEGIN
OPEN c_RESULT
FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
WHILE @@FETCH_STATUS = 0
BEGIN
IF LEN(@RESULT) > 0
SET @RESULT = @RESULT + ';' + @TEMP_VALUE
ELSE
SET @RESULT = @TEMP_VALUE
FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
END
CLOSE c_RESULT
DEALLOCATE c_RESULT
RETURN(@RESULT)
END
END
GO
ALTER TABLE TBDD_GROUPS_USER
ADD CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID)
GO
CREATE TABLE TBPMO_CLIENT_ENTITY
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
ENTITY_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID)
)
GO
CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
CONSTRUCT_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
)
GO
ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@FORM_ID INTEGER,
@FORM_TYPE INTEGER,
@ADDED_WHO VARCHAR(50)
--@SQL_RECORD1 VARCHAR(500),
--@SQL_RECORD2 VARCHAR(500)
SELECT
@FORM_ID = GUID,
@FORM_TYPE = FORM_TYPE_ID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
IF @FORM_TYPE = 5
BEGIN
INSERT INTO TBPMO_CONTROL (
FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES (
@FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD')
DECLARE @CTRL_ID INTEGER
SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID
INSERT INTO TBPMO_CONTROL_SCREEN (
CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES (
@CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1)
END
EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
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 TRIGGER 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)
INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID)
SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@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
INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID
GO
INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID)
SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM_CONSTRUCTOR T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID
GO
CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL
(
GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschl<68>ssel,
CONSTR_DET_ID INTEGER NOT NULL,
USER_ID INTEGER NOT NULL,
SQL_COMMAND VARCHAR(4000),
SQL_COMMAND1 VARCHAR(4000),
SQL_COMMAND2 VARCHAR(4000),
ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID),
CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID),
CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID)
)
GO
ALTER PROCEDURE PRPMO_COPY_ENTITY(@pFORM_ID INT, @pADDEDWHO VARCHAR(50))
AS
DECLARE
@NEW_FORM_ID INT,
@PARENT_ID INT,
@NAME VARCHAR(100),
@LEVEL VARCHAR(10),
@SHOW_FORM_CONSTR BIT,
@FORM_TYPE_ID INT,
@CONTROL_GUID INTEGER,
@CONTROL_TYPE_ID INT,
@CONTROL_NAME VARCHAR(100)
,@COL_NAME VARCHAR(100)
,@REQUIRED BIT
,@DEFAULT_VALUE VARCHAR(100)
,@SQL_COMMAND_1 VARCHAR(2000)
,@SQL_COMMAND_2 VARCHAR(2000)
,@CONNECTION_ID_1 SMALLINT
,@CONNECTION_ID_2 SMALLINT
,@READ_ONLY BIT
,@VALIDATION BIT
,@MULTILINE BIT
,@PARENT_CONTROL_ID INT
,@MASTER_DATA_ID INT
,@FORMAT_TYPE VARCHAR(50)
,@SHOW_COLUMN BIT
,@STATIC_LIST VARCHAR(2000)
SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID
INSERT INTO TBPMO_FORM (
PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES (
@PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID)
SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM
INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES
(@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO)
DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID]
,'COPY_' + [NAME]
,[COL_NAME]
,[REQUIRED]
,[DEFAULT_VALUE]
,[SQL_COMMAND_1]
,[SQL_COMMAND_2]
,[CONNECTION_ID_1]
,[CONNECTION_ID_2]
,[READ_ONLY]
,[VALIDATION]
,[MULTILINE]
,[PARENT_CONTROL_ID]
,[MASTER_DATA_ID]
,[FORMAT_TYPE]
,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID
BEGIN
OPEN c_CONTROL
FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
@CONTROL_NAME
,@COL_NAME
,@REQUIRED
,@DEFAULT_VALUE
,@SQL_COMMAND_1
,@SQL_COMMAND_2
,@CONNECTION_ID_1
,@CONNECTION_ID_2
,@READ_ONLY
,@VALIDATION
,@MULTILINE
,@PARENT_CONTROL_ID
,@MASTER_DATA_ID
,@FORMAT_TYPE
,@SHOW_COLUMN
,@STATIC_LIST
WHILE @@FETCH_STATUS = 0
BEGIN
IF @PARENT_CONTROL_ID > 0
BEGIN
DECLARE @CTRLNAME VARCHAR(100)
SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID
PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
PRINT '@CTRLNAME = ' + @CTRLNAME
SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID
PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
END
INSERT INTO TBPMO_CONTROL (
FORM_ID
,[CONTROL_TYPE_ID]
,[NAME]
,[COL_NAME]
,[REQUIRED]
,[DEFAULT_VALUE]
,[SQL_COMMAND_1]
,[SQL_COMMAND_2]
,[CONNECTION_ID_1]
,[CONNECTION_ID_2]
,[READ_ONLY]
,[VALIDATION]
,[MULTILINE]
,[PARENT_CONTROL_ID]
,[MASTER_DATA_ID]
,[FORMAT_TYPE]
,[SHOW_COLUMN]
,[STATIC_LIST]
,ADDED_WHO
) VALUES (
@NEW_FORM_ID
,@CONTROL_TYPE_ID
,@CONTROL_NAME
,@COL_NAME
,@REQUIRED
,@DEFAULT_VALUE
,@SQL_COMMAND_1
,@SQL_COMMAND_2
,@CONNECTION_ID_1
,@CONNECTION_ID_2
,@READ_ONLY
,@VALIDATION
,@MULTILINE
,@PARENT_CONTROL_ID
,@MASTER_DATA_ID
,@FORMAT_TYPE
,@SHOW_COLUMN
,@STATIC_LIST
,@pADDEDWHO
)
DECLARE @NEW_CONTROLID INTEGER
SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
DECLARE
@SCREEN_ID INTEGER
,@CONTROL_TEXT VARCHAR(100)
,@X_LOC FLOAT
,@Y_LOC FLOAT
,@HEIGHT INTEGER
,@WIDTH INTEGER
,@FONT_FAMILY VARCHAR(50)
,@FONT_COLOR INTEGER
,@FONT_SIZE INTEGER
,@FONT_STYLE INTEGER
,@TAB_INDEX INTEGER
,@TAB_STOP BIT
,@BACK_COLOR INTEGER
SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC],
@Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY],
@FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE],
@TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID
INSERT INTO TBPMO_CONTROL_SCREEN (
CONTROL_ID,
SCREEN_ID
,CONTROL_TEXT
,X_LOC
,Y_LOC
,HEIGHT
,WIDTH
,FONT_FAMILY
,FONT_COLOR
,FONT_SIZE
,FONT_STYLE
,TAB_INDEX
,TAB_STOP
,BACK_COLOR
,ADDED_WHO)
VALUES(
@NEW_CONTROLID
,@SCREEN_ID
,@CONTROL_TEXT
,@X_LOC
,@Y_LOC
,@HEIGHT
,@WIDTH
,@FONT_FAMILY
,@FONT_COLOR
,@FONT_SIZE
,@FONT_STYLE
,@TAB_INDEX
,@TAB_STOP
,@BACK_COLOR
,@pADDEDWHO
)
FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
@CONTROL_NAME
,@COL_NAME
,@REQUIRED
,@DEFAULT_VALUE
,@SQL_COMMAND_1
,@SQL_COMMAND_2
,@CONNECTION_ID_1
,@CONNECTION_ID_2
,@READ_ONLY
,@VALIDATION
,@MULTILINE
,@PARENT_CONTROL_ID
,@MASTER_DATA_ID
,@FORMAT_TYPE
,@SHOW_COLUMN
,@STATIC_LIST
END
CLOSE c_CONTROL
DEALLOCATE c_CONTROL
END
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL
FOR UPDATE
AS
BEGIN
UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID
END
GO
GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM]
GO
GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM]
GO
CREATE FUNCTION [dbo].[FN_SPLIT_STRING]
(
@Input NVARCHAR(MAX),
@Character CHAR(1)
)
RETURNS @Output TABLE (
Item NVARCHAR(1000)
)
AS
BEGIN
DECLARE @StartIndex INT, @EndIndex INT
SET @StartIndex = 1
IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
BEGIN
SET @Input = @Input + @Character
END
WHILE CHARINDEX(@Character, @Input) > 0
BEGIN
SET @EndIndex = CHARINDEX(@Character, @Input)
INSERT INTO @Output(Item)
SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
END
RETURN
END
GO
ALTER TABLE [dbo].[TBPMO_CONTROL_VALUE] DROP CONSTRAINT [UQ_CONTROLID_RECORDID]
GO
CREATE TABLE TBPMO_CLIENT_DOCTYPE
(
GUID INTEGER IDENTITY(0,1),
CLIENT_ID INTEGER NOT NULL,
DOCTYPE_ID INTEGER NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
)
GO