1050 lines
33 KiB
Transact-SQL
1050 lines
33 KiB
Transact-SQL
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
|
||
|
||
|
||
|
||
|
||
|