1837 lines
66 KiB
Transact-SQL
Raw Blame History

SELECT PRODUCT_VERSION FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')
GO
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.7' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBPMO_FORM
ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY'
GO
USE [DD_ECM]
GO
/****** Object: StoredProcedure [dbo].[PRPMO_DOCRESULT_CHANGE] Script Date: 10.08.2016 11:12:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
AS
BEGIN TRY
DECLARE @DocID INTEGER,
@DISPLAY_NAME VARCHAR(250),
@FULL_FILENAME VARCHAR(5000),
@Filename VARCHAR(500),
@Doctype VARCHAR(250),
@Version SMALLINT,
@Objecttype VARCHAR(250),
@Creation_DateTime DATETIME,
@Change_DateTime DATETIME
DECLARE c_Values CURSOR LOCAL FOR
select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
[Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE
CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
OPEN c_Values
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,
@Creation_DateTime,@Change_DateTime
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
BEGIN
PRINT 'INSERT NECESSARY'
INSERT INTO TBPMO_DOCRESULT_LIST (
[DocID],
[DISPLAY_NAME],
[FULL_FILENAME],
[Filename],
[Doctype],
[Version],
[Objecttype],
Creation_DateTime,
Change_DateTime)
VALUES (
@DocID,
@Filename,
@FULL_FILENAME,
@Filename,
@Doctype,
@Version,
@Objecttype,
@Creation_DateTime,
@Change_DateTime
)
END
ELSE
UPDATE TBPMO_DOCRESULT_LIST SET
[FULL_FILENAME] = @FULL_FILENAME,
[Filename] = @Filename,
[Doctype] = @Doctype,
[Version] = @Version,
[Objecttype] = @Objecttype,
Change_DateTime = @Change_DateTime
WHERE DocID = @DocID
--#####
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
END
CLOSE c_Values
DEALLOCATE c_Values
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER TABLE TBPMO_FORM_SQL
ALTER COLUMN SQL_COMMAND VARCHAR(8000)
GO
ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
ADD CTRL_USER_DIRECT INTEGER
GO
ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
SELECT TOP 100 PERCENT
T.GUID CONTROL_ID,
T.NAME CONTROL_NAME,
T.REQUIRED CONTROL_REQUIRED,
T.DEFAULT_VALUE CONTROL_DEF_VALUE,
T.READ_ONLY CONTROL_READ_ONLY,
T.MULTILINE CONTROL_MULTILINE,
T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
T.COL_NAME CONTROL_COL_NAME,
T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
T.CONNECTION_ID_1 CONTROL_CONNID_1,
T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
T.VISIBLE CONTROL_VISIBLE,
T.TREE_VIEW CONTROL_TREE_VIEW,
T.STATIC_LIST CONTROL_STATIC_LIST,
T4.GUID CTRLTYPE_ID,
T4.TYPE_NAME CTRLTYPE_NAME,
T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
T.FORM_ID,
T3.NAME FORM_NAME,
T3.LEVEL FORM_LEVEL,
T1.SCREEN_ID SCREEN_ID,
T2.NAME SCREEN_NAME,
T1.GUID CTRLSCR_ID,
T1.CONTROL_TEXT CTRLSCR_CAPTION,
T1.X_LOC CTRLSCR_X_LOC,
T1.Y_LOC CTRLSCR_Y_LOC,
T1.HEIGHT CTRLSCR_HEIGHT,
T1.WIDTH CTRLSCR_WIDTH,
T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
T1.FONT_COLOR CTRLSCR_FONT_COLOR,
T1.FONT_SIZE CTRLSCR_FONT_SIZE,
T1.FONT_STYLE CTRLSCR_FONT_STYLE,
T1.TAB_INDEX CTRLSCR_TAB_INDEX,
T1.TAB_STOP CTRLSCR_TAB_STOP,
T1.BACK_COLOR CTRLSCR_BACK_COLOR,
T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
FROM
TBPMO_CONTROL T,
TBPMO_CONTROL_SCREEN T1,
TBPMO_SCREEN T2,
TBPMO_FORM T3,
TBPMO_CONTROL_TYPE T4
WHERE
T.FORM_ID = T3.GUID AND
T.GUID = T1.CONTROL_ID AND
T1.SCREEN_ID = T2.GUID AND
T.CONTROL_TYPE_ID = T4.GUID
ORDER BY
T1.SCREEN_ID,
T.FORM_ID,
T1.TAB_STOP
GO
ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
FOR UPDATE
AS
BEGIN TRY
DECLARE
@CONTROL_ID INTEGER,
@RECORD_ID INTEGER,
@VALUE_NEW VARCHAR(MAX),
@VALUE_OLD VARCHAR(MAX),
@CHANGED_WHO VARCHAR(50),
@CHANGE_STEP INTEGER,
@REDO BIT,
@CHANGE_ID INTEGER
IF UPDATE (VALUE)
BEGIN
SELECT
@CONTROL_ID = DELETED.CONTROL_ID,
@RECORD_ID = DELETED.RECORD_ID,
@VALUE_OLD = DELETED.VALUE
FROM DELETED
--RAISERROR (@VALUE , 16, 1)
SELECT
@CHANGE_STEP = CHANGE_STEP,
@CHANGED_WHO = CHANGED_WHO,
@VALUE_NEW = VALUE,
@REDO = REDO
FROM INSERTED
IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
(@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
ELSE
UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
--IF @REDO = 0
-- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
-- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
-- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
--Update des Logs f<>r loggen von Datensatz<74>nderungen
IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
BEGIN
If @VALUE_OLD <> @VALUE_NEW
BEGIN
DECLARE @LOG VARCHAR(1000)
SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
(@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
END
END
END
--Generelle Updates (Datum und Recor-<2D>nderungen)
UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
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_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),
@ENTITY_ID INTEGER,
@DOC_VIEW BIT
SELECT
@GUID = GUID,
@FORM_TITLE = FORM_TITLE,
@SCREEN_ID = SCREEN_ID,
@ADDED_WHO = ADDED_WHO,
@ENTITY_ID = FORM_ID,
@DOC_VIEW = DOCUMENT_VIEW
FROM INSERTED
SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
SET @PMO_OBJECT_NAME = 'FORMVIEW_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,@FORM_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,@FORM_TITLE,@ADDED_WHO)
IF @DOC_VIEW = 1
BEGIN
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'Filename','Dateiname')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'Doctype','Dokumentart')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'IN_WORK','in work?',50,2)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'Creation_DateTime','Erstellt',100,3)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'Change_DateTime','Ge<EFBFBD>ndert',100,3)
--####
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'en-US','Filename','Filename')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'en-US','Doctype','Doctype')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3)
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
(@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3)
END
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_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),
@ENTITY_ID INTEGER,
@DOC_VIEW BIT
SELECT
@GUID = GUID,
@FORM_TITLE = FORM_TITLE,
@SCREEN_ID = SCREEN_ID,
@CHANGED_WHO = CHANGED_WHO,
@ENTITY_ID = FORM_ID,
@DOC_VIEW = DOCUMENT_VIEW
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 UPDATE (FORM_TITLE)
BEGIN
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
IF UPDATE(DOCUMENT_VIEW)
IF @DOC_VIEW = 1
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'Filename','Dateiname')
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'Doctype','Dokumentart')
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'IN_WORK','in work?',50)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'Creation_DateTime','Erstellt',100)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Ge<EFBFBD>ndert')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'Change_DateTime','Ge<EFBFBD>ndert',100)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'en-US','Filename','Filename')
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
(@ENTITY_ID,'en-US','Doctype','Doctype')
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'en-US','IN_WORK','in work?',50)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
(@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'en-US','Creation_DateTime','Created',100)
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed')
INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
(@ENTITY_ID,'en-US','Change_DateTime','Changed',100)
END
ELSE
DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID
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
--##################### NOT
ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE
ADD COMMENT VARCHAR(1000) NOT NULL DEFAULT ''
GO
ALTER TABLE TBPMO_WORKFLOW_TASK
ADD STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT ''
GO
ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE
ADD INACTIVE BIT NOT NULL DEFAULT 0
GO
ALTER TABLE TBPMO_WORKFLOW_TASK
ADD USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
GO
ALTER TABLE TBPMO_WORKFLOW_TASK
ADD FINISHED BIT NOT NULL DEFAULT 0
GO
UPDATE TBPMO_WORKFLOW_TASK SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
GO
ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
SELECT TOP 100 PERCENT
W_T.GUID AS WF_TASK_ID
,R.GUID AS WF_ID
,W_T.RECORD_ID
,T.STATE_ID
,T4.GUID FORM_VIEW_ID
,R.DESCRIPTION
,W_T.COMMENT
,W_T.DUE_DATE
,W_T.ADDED_WHEN
,W_T.CHANGED_WHO
,W_T.CHANGED_WHEN
,W_T.TASK_DATE
,T.FINAL
,T.ENTITY_ID
,T5.COLOR
,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
,FINISHED
FROM
TBPMO_WORKFLOW_ENTITY_STATE T,
TBPMO_WORKFLOW_TASK W_T
,TBPMO_WORKFLOW R
,TBPMO_FORM T3
,TBPMO_FORM_VIEW T4
,TBPMO_WORKFLOW_TASK_STATE T5
,TBPMO_RECORD REC
WHERE
--W_T.RECORD_ID = 95 AND
--TBPMO_WORKFLOW_ENTITY_STATE
T.WF_ID = R.GUID AND
T.ENTITY_ID = T3.GUID AND
T.STATE_ID = T5.GUID AND
W_T.RECORD_ID = REC.GUID AND
T.ENTITY_ID = REC.FORM_ID AND
W_T.WF_ID = R.GUID AND
R.GUID = R.GUID AND
T3.GUID = T4.FORM_ID AND
W_T.STATE_ID = T5.GUID AND
T4.SCREEN_ID = 1 AND
((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
W_T.ACTIVE = 1
ORDER BY W_T.RECORD_ID,W_T.GUID
GO
CREATE TABLE TBPMO_WORKFLOW_REMINDER
(
GUID INTEGER NOT NULL IDENTITY(1,1),
REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1',
RECORD_ID INTEGER NOT NULL,
ENTITY_ID INTEGER,
WF_ID INTEGER NOT NULL,
EMAIL_ADRESS VARCHAR(100) NOT NULL,
EMAIL_SUBJ VARCHAR(500) NOT NULL,
EMAIL_BODY VARCHAR(500) NOT NULL,
EMAIL_SENT DATETIME,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_WORKFLOW_REMINDER PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)
)
GO
CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER
FOR UPDATE
AS
UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID
GO
CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY(
GUID INTEGER IDENTITY(1,1) NOT NULL,
WF_TASK_ID INTEGER NOT NULL,
STATE_ID INTEGER,
STATE_DESC VARCHAR(500) NOT NULL,
COMMENT VARCHAR(1000) NOT NULL,
ADDED_WHO VARCHAR(100) NOT NULL,
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID)
)
GO
ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK]
FOR UPDATE
AS
BEGIN
DECLARE
@GUID INTEGER,
@STATE_ID INTEGER,
@WF_ID INTEGER,
@STATE VARCHAR(200),
@COMMENT VARCHAR(500),
@CHANGED_WHO VARCHAR(50),
@BUDGET_RESP VARCHAR(50),
@RECORD_ID INTEGER,
@ENTITY_ID INTEGER,
@EMAIL VARCHAR(250),
@SUBJECT VARCHAR(250),
@BODY VARCHAR(500),
@USER_ID INTEGER
SELECT
@GUID = GUID,
@WF_ID = WF_ID,
@STATE_ID = STATE_ID,
@COMMENT = COMMENT,
@CHANGED_WHO = CHANGED_WHO,
@RECORD_ID = RECORD_ID
FROM INSERTED
UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
/*######## KUNDEN INDIVIDUELL ########*/
SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID
IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND
STATE_DESC = @STATE AND COMMENT = COMMENT)
INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES
(@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO)
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
/*WORKFLOW PURCHASE CONTRACTS*/
IF @WF_ID = 1 AND @STATE_ID = 10
BEGIN
UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11
END
IF @WF_ID = 1 AND @STATE_ID = 11
BEGIN
UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10
END
IF @STATE_ID IN (14,15)
BEGIN
DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID
SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID
SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP
SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER')
END
IF @WF_ID = 1 AND @STATE_ID = 14
BEGIN
UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15
SET @SUBJECT = 'Workflow - Renewal of Contract'
SET @BODY = 'A purchase contract needs approval for renewing! <br>'
INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
(@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
END
IF @WF_ID = 1 AND @STATE_ID = 15
BEGIN
UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14
SET @SUBJECT = 'Workflow - Purchase Contract cancelled'
SET @BODY = 'A purchase contract was cancelled - Please add some more information! <br>'
INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
(@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
END
IF @WF_ID = 1 AND @STATE_ID = 16
BEGIN
UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
END
/*######## ENDE KUNDEN_INDIVIDUELL ########*/
END
GO
ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@RECORD_ID INTEGER,
@STATE_ID INTEGER,
@ENTITY_ID INTEGER,
@EMAIL VARCHAR(100),
@MSG VARCHAR(100),
@ADDED_WHO VARCHAR(50),
@WF_TASK_ID INTEGER,
@USER_ID INTEGER,
@SUBJECT VARCHAR(300),
@BODY VARCHAR(100)
SELECT
@WF_TASK_ID = GUID,
@USER_ID = USER_ID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
/*######## KUNDEN INDIVIDUELL ########*/
IF @ADDED_WHO <> 'WORKFOW_ROUTER'
BEGIN
SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID)
IF @ENTITY_ID = 13 AND @STATE_ID = 10
BEGIN
SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS'
SET @BODY = 'Workflow <b>Purchasing Contracts</b><br>Please check wether contract needs to be renewed!'
END
IF @ENTITY_ID = 13 AND @STATE_ID = 11
BEGIN
SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED'
SET @BODY = 'Workflow <b>Purchasing Contracts</b><br>Please advice system with information about project setup!'
END
IF @ENTITY_ID = 13 AND @STATE_ID in (10,11)
BEGIN
INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
(@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO)
--RAISERROR ('IF', 16, 1)
END
--ELSE
--RAISERROR (@MSG, 16, 1)
END
/*######## ENDE ########*/
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_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 @CHANGED_WHO IS NOT NULL
BEGIN
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
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER TABLE TBPMO_WORKFLOW
ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0
GO
ALTER TABLE TBPMO_WORKFLOW
ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0
GO
ALTER TABLE TBPMO_WORKFLOW
ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
GO
UPDATE TBPMO_WORKFLOW SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
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 T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID
AND T1.CREATE_ON_REC_CREATE = 1
)
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 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,
@SELECT_USER VARCHAR(3000)
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)
SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID
--IF @STATE_ID IS NOT NULL
BEGIN
--INSERT DES TASKS
INSERT INTO TBPMO_WORKFLOW_TASK(
RECORD_ID,
WF_ID,
ACTIVE,
STATE_ID,
USER_SELECT)
VALUES (
@RECORD_ID,
@WF_ID,
1,
@STATE_ID,
@SELECT_USER)
END
FETCH NEXT FROM c_TASK INTO @WF_ID
END
CLOSE c_TASK
DEALLOCATE c_TASK
END
GO
--#####
DELETE FROM TBPMO_CONTROL_VALUE Where VALUE is null
GO
ALTER TABLE TBDD_USER
ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.yyyy'
GO
UPDATE TBDD_USER SET DATE_FORMAT = 'dd-MM-yyyy' where guid in(
Select GUID from TBDD_USER where USERNAME like 'NL%')
GO
--######
DECLARE @ID INTEGER,
@VALUE VARCHAR(30),
@VALUE_CONV VARCHAR(30)
DECLARE c_Values CURSOR FOR
SELECT T.[GUID]
,T.[VALUE]
--,CONVERT(VARCHAR(30),CONVERT(DATE,T.[VALUE]))
FROM TBPMO_CONTROL_VALUE T, TBPMO_CONTROL T1 WHERE T.CONTROL_ID = T1.GUID AND T1.CONTROL_TYPE_ID = 4
OPEN c_Values
FETCH NEXT FROM c_Values INTO @ID,@VALUE
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @VALUE
SET @VALUE_CONV = CONVERT(VARCHAR(10),CONVERT(DATE,@VALUE))
UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE_CONV,CHANGED_WHO = 'Digital Data Converter' WHERE GUID = @ID
--PRINT 'UPDATED'
--#####
FETCH NEXT FROM c_Values INTO @ID,@VALUE
END
CLOSE c_Values
DEALLOCATE c_Values
--######
ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
FOR UPDATE
AS
BEGIN TRY
DECLARE
@CONTROL_ID INTEGER,
@RECORD_ID INTEGER,
@VALUE_NEW VARCHAR(MAX),
@VALUE_OLD VARCHAR(MAX),
@CHANGED_WHO VARCHAR(50),
@CHANGE_STEP INTEGER,
@REDO BIT
IF UPDATE (VALUE)
BEGIN
SELECT
@CONTROL_ID = DELETED.CONTROL_ID,
@RECORD_ID = DELETED.RECORD_ID,
@VALUE_OLD = DELETED.VALUE
FROM DELETED
--RAISERROR (@VALUE , 16, 1)
SELECT
@CHANGE_STEP = CHANGE_STEP,
@CHANGED_WHO = CHANGED_WHO,
@VALUE_NEW = VALUE,
@REDO = REDO
FROM INSERTED
IF @CHANGED_WHO <> 'Digital Data Converter'
BEGIN
IF @REDO = 0 AND @CHANGED_WHO Is Not null
IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
(@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
--Update des Logs f<>r loggen von Datensatz<74>nderungen
IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
BEGIN
If @VALUE_OLD <> @VALUE_NEW AND @CHANGED_WHO Is Not null
BEGIN
DECLARE @LOG VARCHAR(1000)
SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
(@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
END
END
END
END
--Generelle Updates (Datum und Recor-<2D>nderungen)
UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
DROP TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION
GO
CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION
(
GUID INTEGER NOT NULL IDENTITY(1,1),
PARENT_NODE INTEGER NOT NULL DEFAULT 0,
CONTROL_ID INTEGER NOT NULL,
NAME VARCHAR(50) NOT NULL,
[ENTITY_ID] INTEGER NOT NULL,
[TYPE_NODE] SMALLINT NOT NULL DEFAULT 1,
NODE_IMAGE VARBINARY(MAX),
CREATE_RECORD BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(300),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
)
GO
CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION
FOR UPDATE
AS
UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.GUID = INSERTED.GUID
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT)
AS
BEGIN TRY
DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID
DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID)
DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID
DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID
DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID
DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID
DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
DROP TABLE TBPMO_STRUCTURE_NODES
GO
CREATE TABLE TBPMO_STRUCTURE_NODES
(
GUID INTEGER NOT NULL IDENTITY(1,1),
RECORD_ID INTEGER,
NODE_CONFIG_ID INTEGER NOT NULL,
NODE_CAPTION VARCHAR(250) NOT NULL,
ID1 VARCHAR(100),
ID2 VARCHAR(100),
ID3 VARCHAR(100),
PARENT_GUID INTEGER NOT NULL DEFAULT 0,
BOOL1 BIT NOT NULL DEFAULT 0,
BOOL2 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_STRUCTURE_NODES PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_STRUCTURE_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (GUID),
)
GO
CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES
FOR UPDATE
AS
UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID
GO
CREATE VIEW VWPMO_STRUCTURE_NODES AS
select
T.*,
T1.CONTROL_ID,
T1.CREATE_RECORD,
T1.ENTITY_ID,
T1.NAME,
T1.TYPE_NODE
from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
WHERE T.NODE_CONFIG_ID = T1.GUID
ALTER TABLE TBPMO_FOLDERWATCH_USER
ADD SUBDIRECTORIES BIT NOT NULL DEFAULT 0
GO
DROP TABLE TBPMO_ENTITY_SUPERVISOR
GO
CREATE TABLE TBPMO_ENTITY_SUPERVISOR
(
GUID INTEGER NOT NULL IDENTITY(1,1),
ENTITY_ID INTEGER NOT NULL,
USER_ID INTEGER NOT NULL,
RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7',
RIGHT2 VARCHAR(100),
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_ENTITY_SUPERVISOR PRIMARY KEY (GUID),
CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
)
GO
CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR
FOR UPDATE
AS
UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID
GO
DROP TABLE TBPMO_DOC_RECORD_LINK
GO
CREATE TABLE TBPMO_DOC_RECORD_LINK
(
GUID INTEGER NOT NULL IDENTITY(1,1),
RECORD_ID INTEGER NOT NULL,
DOC_ID INTEGER NOT NULL,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_DOC_RECORD_LINK PRIMARY KEY (GUID),
CONSTRAINT UQ_RECORD_ID_DOC_ID UNIQUE(RECORD_ID,DOC_ID),
--CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_DOC_ID FOREIGN KEY (DOC_ID) REFERENCES TBPMO_DOCRESULT_LIST (DocID)
)
GO
CREATE TRIGGER TBPMO_DOC_RECORD_LINK_AFT_UPD ON TBPMO_DOC_RECORD_LINK
FOR UPDATE
AS
UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_RECORD_LINK.GUID = INSERTED.GUID
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT)
AS
BEGIN TRY
DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID
DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID
DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID
DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID
DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID
DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID
DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID
IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL
DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID
DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
AS
DECLARE @COL_NAME VARCHAR(50),
@SQL_BEGIN VARCHAR(1000),
@SQL_END VARCHAR(2000),
@SQL VARCHAR(8000),
@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
SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],'
SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID'
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
END
ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
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
END
ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
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
--PRint '1'
SET @SQL = @SQL + ',(SELECT CASE COUNT(DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [files?]'
--PRint '2'
SET @SQL = @SQL + ',(SELECT COUNT(DocID) AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [file count]'
--PRint '3'
SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
--PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT))
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
DELETE FROM TBPMO_DOC_RECORD_LINK
DELETE FROM TBPMO_DOCRESULT_LIST
ALTER TABLE TBPMO_DOCRESULT_LIST
DROP COLUMN ENTITY_ID
GO
ALTER TABLE TBPMO_DOCRESULT_LIST
DROP COLUMN RECORD_ID
GO
ALTER TABLE TBPMO_DOCRESULT_LIST
DROP COLUMN PARENT_ID
GO
ALTER VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS
SELECT TOP 100 PERCENT
T.dwDocID as DocID
,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME
,szLongName as [Filename],
T.szText33 AS Doctype
,T.dwVersionNumber AS [Version]
,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
,T1.szDocTypeName AS OBJECTTYPE
FROM
windream60.dbo.BaseAttributes T
,windream60.dbo.ObjectType T1
WHERE
T1.szDocTypeName = 'DEMO - Gesch<63>ftsprozesse'
--T.dwObjectTypeID > 23
--T.dwObjectTypeID > 23 AND
AND
T.dwObjectTypeID = T1.dwObjectTypeID
ORDER BY [Creation_DateTime]
GO
ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
AS
BEGIN TRY
DECLARE @DocID INTEGER,
@DISPLAY_NAME VARCHAR(250),
@FULL_FILENAME VARCHAR(5000),
@Filename VARCHAR(500),
@Doctype VARCHAR(250),
@Version SMALLINT,
@Objecttype VARCHAR(250),
@Creation_DateTime DATETIME,
@Change_DateTime DATETIME
DECLARE c_Values CURSOR LOCAL FOR
select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
[Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE
CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
OPEN c_Values
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,
@Creation_DateTime,@Change_DateTime
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
BEGIN
PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID)
INSERT INTO TBPMO_DOCRESULT_LIST (
[DocID],
[DISPLAY_NAME],
[FULL_FILENAME],
[Filename],
[Doctype],
[Version],
[Objecttype],
Creation_DateTime,
Change_DateTime)
VALUES (
@DocID,
@Filename,
@FULL_FILENAME,
@Filename,
@Doctype,
@Version,
@Objecttype,
@Creation_DateTime,
@Change_DateTime)
END
ELSE
UPDATE TBPMO_DOCRESULT_LIST SET
[FULL_FILENAME] = @FULL_FILENAME,
[Filename] = @Filename,
[Doctype] = @Doctype,
[Version] = @Version,
[Objecttype] = @Objecttype,
Change_DateTime = @Change_DateTime
WHERE DocID = @DocID
--#####
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
END
CLOSE c_Values
DEALLOCATE c_Values
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/* RENOLIT */
ALTER FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE)
RETURNS INTEGER
AS
BEGIN
DECLARE @RESULT AS INTEGER
If @pTIMESPAN = 'Day'
SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE)
ELSE IF @pTIMESPAN = 'Month'
SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE)
ELSE IF @pTIMESPAN = 'Week'
SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE)
--PRINT 'RESULT: W:\' + @RESULT + '\'
RETURN @RESULT
END
GO
ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS
SELECT
T1.GUID FOLLOW_UP_ID,
T1.NAME,
T1.FOLLOW_UP_SEQUENCE,
T1.FOLLOW_UP_DAYS,
T1.FOLLOW_UP_TIME_SPAN,
CONVERT(CHAR(5),GETDATE(),108) NOW_TIME,
T.RECORD_ID,
CONVERT(DATE,T.VALUE) VALUE,
T1.EMAIL_SUBJECT,
T1.EMAIL_BODY,
T1.PROCESS_SELECT1,
T1.PROCESS_SELECT2,
T1.PROCESS_SELECT3,
T1.PROCESS_SELECT4,
T1.PROCESS_SELECT5,
T1.PROCESS_SELECT6,
T1.PROCESS_SELECT7,
T1.PROCESS_SELECT8,
T1.PROCESS_SELECT9,
T1.PROCESS_SELECT10,
T1.TIME_UNITY,
T1.TIME_DIST,
CONVERT(INT,T1.TIME_SPAN) TIME_SPAN
,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN
,T.VALUE DATE_VALUE,
T1.DEPENDENT_DATE_CTRL_ID,
T1.DEPENDENT_DONE_CTRL_ID,
(SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE,
T2.GUID AS CONSTRUCTOR_ID,
T2.FORM_TITLE AS CONSTRUCTOR_TITLE,
T1.CTRL_USER_DIRECT,
T1.CTRL_GROUP_DIRECT
FROM
VWPMO_VALUES T,
TBPMO_FOLLOW_UP_EMAIL T1,
TBPMO_FORM_CONSTRUCTOR T2
WHERE
T1.ACTIVE = 1 AND
(SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And
T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND
T1.CONSTRUCTOR_ID = T2.GUID
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
AS
BEGIN TRY
IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE TBPMO_FILE_IMPORTER
(
GUID INTEGER NOT NULL IDENTITY(1,1),
NAME VARCHAR(100) NOT NULL,
RUN_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_DAILY',
RUN_DAYS VARCHAR(50) NOT NULL DEFAULT '1111100',
RUN_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00',
HOT_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
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_FILE_IMPORTER PRIMARY KEY (GUID)
)
GO
CREATE TRIGGER TBPMO_FILE_IMPORTER_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL
FOR UPDATE
AS
UPDATE TBPMO_FILE_IMPORTER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FILE_IMPORTER.GUID = INSERTED.GUID
GO
ALTER TABLE TBPMO_FILE_IMPORTER
ADD ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT ''
GO
ALTER TABLE TBDD_USER
ADD USERID_FK_INT_ECM INTEGER NOT NULL DEFAULT 0
GO
ALTER TABLE TBDD_USER
ADD USERID_FK_VARCHAR_ECM VARCHAR(30) NOT NULL DEFAULT ''
GO
DECLARE @DocID INTEGER,
@DISPLAY_NAME VARCHAR(250),
@FULL_FILENAME VARCHAR(5000),
@Filename VARCHAR(500),
@Doctype VARCHAR(250),
@Version SMALLINT,
@Objecttype VARCHAR(250),
@Creation_DateTime DATETIME,
@Change_DateTime DATETIME
DECLARE c_Values CURSOR LOCAL FOR
select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
[Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC --WHERE
--CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
--CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
OPEN c_Values
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,
@Creation_DateTime,@Change_DateTime
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
BEGIN
PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID)
INSERT INTO TBPMO_DOCRESULT_LIST (
[DocID],
[DISPLAY_NAME],
[FULL_FILENAME],
[Filename],
[Doctype],
[Version],
[Objecttype],
Creation_DateTime,
Change_DateTime)
VALUES (
@DocID,
@Filename,
@FULL_FILENAME,
@Filename,
@Doctype,
@Version,
@Objecttype,
@Creation_DateTime,
@Change_DateTime)
END
ELSE
UPDATE TBPMO_DOCRESULT_LIST SET
[FULL_FILENAME] = @FULL_FILENAME,
[Filename] = @Filename,
[Doctype] = @Doctype,
[Version] = @Version,
[Objecttype] = @Objecttype,
Change_DateTime = @Change_DateTime
WHERE DocID = @DocID
--#####
FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
@Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
END
CLOSE c_Values
DEALLOCATE c_Values
GO
DECLARE
@DOC_ID INTEGER,
@RECORD_ID INTEGER
DECLARE c_INSERT CURSOR FOR
SELECT
T.dwDocID as DocID
,T2.[dwValue]
FROM
windream60.[dbo].BaseAttributes T
,windream60.[dbo].ObjectType T1
,windream60.[dbo].[Vector] T2
WHERE
T.dwObjectTypeID = 6 AND
T.dwObjectTypeID = T1.dwObjectTypeID
AND T.dwDocID = T2.dwDocID
AND T2.dwAttrID = 340
AND T2.[dwValue] IS NOT NULL
ORDER BY T.dwDocID
OPEN c_INSERT
FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT GUID FROm TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECORD_ID)
INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES
(@DOC_ID,@RECORD_ID,'SYNC DD')
FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID
END
CLOSE c_INSERT
DEALLOCATE c_INSERT
GO
CREATE VIEW VWPMO_WD_OBJECT_RIGHTS AS
SELECT
[dwObjectID],
dwUserOrGroupID,
dwAccessRight,
dwObjectDBID
FROM
windream60.[dbo].[AccessRight]
GO
DECLARE
@ENTITY_ID INTEGER,
@CONTROL_ID INTEGER,
@GUID INTEGER,
@VALUE VARCHAR(MAX)
DECLARE c_REDO CURSOR FOR
SELECT GUID FROM TBPMO_FORM
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
GO
EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS]
GO
ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
SELECT TOP 100 PERCENT
T2.GUID,
T1.GUID FORM_VIEW_ID,
T1.SCREEN_ID,
T2.CONSTRUCT_ID,
T.PARENT_ID,
T2.SEQUENCE,
T2.LEVEL1_SELECT,
T.GUID AS FORM_ID,
T1.FORM_TITLE,
T2.SQL_SELECT_EBENE1,
T2.SQL_SELECT_EBENE2,
T2.SQL_QUICK_VIEW,
T2.COLUMN_NAME1,
T2.COLUMN_NAME2,
T.FORM_TYPE_ID,
T2.LOAD_DIRECT,
T2.CONTROL_DOCTYPE_MATCH,
T2.SQL_RIGHT_READ_AND_VIEW_ONLY,
T2.SQL_RIGHT_WINDREAM_VIEW,
T1.DOCUMENT_VIEW,
(SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW
FROM
tbpmo_form T,
TBPMO_FORM_VIEW T1,
TBPMO_FORM_CONSTRUCTOR_DETAIL T2
where
T2.FORM_ID = T.GUID AND
T.GUID = T1.FORM_ID
ORDER BY
T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
GO
CREATE TABLE TBPMO_USER_RIGHTS_JOBS
(
GUID INTEGER NOT NULL IDENTITY(1,1),
USER_ID INTEGER NOT NULL,
ENTITY_ID INTEGER NOT NULL DEFAULT 0,
[COMMENT] VARCHAR(250) NOT NULL,
WORKED 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_USER_RIGHTS_JOBS PRIMARY KEY (GUID)
)
GO
CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS
FOR UPDATE
AS
UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID
GO
ALTER 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,
@ECM_USR_ID INTEGER,
@USRNAME VARCHAR(50)
SELECT
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO,
@USRNAME = USERNAME
FROM INSERTED
SELECT @ECM_USR_ID = [dwUserID]
FROM [windream60].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
IF @ECM_USR_ID IS NOT NULL
UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
FROM INSERTED
WHERE TBDD_USER.GUID = INSERTED.GUID
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
DECLARE
@USERNAME_DD VARCHAR(50),
@USER_ID_WD INTEGER
DECLARE c_INSERT CURSOR FOR
SELECT
UPPER(USERNAME)
FROM
TBDD_USER
WHERE
MODULE_RECORD_ORG = 1
OPEN c_INSERT
FETCH NEXT FROM c_INSERT INTO @USERNAME_DD
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @USER_ID_WD = [dwUserID] FROM windream60.dbo.UserInfo WHERE UPPER(szUserName) = @USERNAME_DD AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE'
IF @USER_ID_WD IS NOT NULL
UPDATE TBDD_USER SET USERID_FK_INT_ECM = @USER_ID_WD
WHERE UPPER(USERNAME) = @USERNAME_DD
FETCH NEXT FROM c_INSERT INTO @USERNAME_DD
END
CLOSE c_INSERT
DEALLOCATE c_INSERT
GO
CREATE TABLE TBPMO_LOG_ESSENTIALS
(
GUID INTEGER NOT NULL IDENTITY(1,1),
REFERENCE_KEY INTEGER NOT NULL DEFAULT '0',
REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '',
COMMENT VARCHAR(500) NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID)
)
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
AS
BEGIN TRY
DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER]
FOR DELETE
AS
BEGIN TRY
DECLARE @USER_ID INTEGER
SELECT @USER_ID = deleted.USER_ID FROM deleted
If @USER_ID IS NOT NULL
BEGIN
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
(@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL')
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
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 TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CONSTRUCT_ID INTEGER,
@ADDED_WHO VARCHAR(50)
SELECT
@CONSTRUCT_ID = CONSTRUCT_ID,
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
DECLARE @ENTITY_ID INTEGER
DECLARE c_USER CURSOR FOR
SELECT
FORM_ID FROM
VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1
OPEN c_USER
FETCH NEXT FROM c_USER INTO @ENTITY_ID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES
(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS')
FETCH NEXT FROM c_USER INTO @ENTITY_ID
END
CLOSE c_USER
DEALLOCATE c_USER
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_SUPERVISOR_CONTROLS
(
GUID INTEGER NOT NULL IDENTITY(1,1),
CONTROL_ID INTEGER NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID)
)
GO
CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@CONTROL_ID INTEGER,
@ENTITY_ID INTEGER,
@USERSTRING VARCHAR(50),
@USER_ID INTEGER,
@ECM_USER_ID INTEGER,
@COUNT_FILES INTEGER
SELECT
@CONTROL_ID = CONTROL_ID
FROM INSERTED
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
DECLARE c_USER CURSOR FOR
SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
OPEN c_USER
FETCH NEXT FROM c_USER INTO @USERSTRING
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
IF @USER_ID <> 0
SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
IF @ECM_USER_ID > 0
BEGIN
SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
IF @COUNT_FILES > 0
IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
(@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS')
END
FETCH NEXT FROM c_USER INTO @USERSTRING
END
CLOSE c_USER
DEALLOCATE c_USER
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_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
FOR DELETE
AS
BEGIN TRY
DECLARE
@CONTROL_ID INTEGER,
@ENTITY_ID INTEGER,
@USERSTRING VARCHAR(50),
@USER_ID INTEGER,
@ECM_USER_ID INTEGER,
@COUNT_FILES INTEGER
SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
DECLARE c_USER CURSOR FOR
SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
OPEN c_USER
FETCH NEXT FROM c_USER INTO @USERSTRING
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
IF @USER_ID <> 0
SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
IF @ECM_USER_ID > 0
BEGIN
SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
IF @COUNT_FILES > 0
IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
(@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL')
END
FETCH NEXT FROM c_USER INTO @USERSTRING
END
CLOSE c_USER
DEALLOCATE c_USER
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50))
RETURNS INTEGER
AS
BEGIN
DECLARE @USER_ID AS INTEGER
SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING)
IF @USER_ID IS NULL
SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','')
IF @USER_ID IS NULL
SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','')
RETURN(ISNULL(@USER_ID,0))
END
GO
CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS
select
T1.RECORD_ID,
T.CONTROL_ID,
T2.[FORM_ID],
dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID]
FROM
TBPMO_SUPERVISOR_CONTROLS T,
TBPMO_CONTROL_VALUE T1,
TBPMO_CONTROL T2
WHERE
T.CONTROL_ID = T1.CONTROL_ID
AND T.CONTROL_ID = T2.GUID
GO
DROP TRIGGER [dbo].[TBPM_USER_AFT_DEL]
GO
CREATE TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER]
FOR DELETE
AS
DECLARE @USER_ID INTEGER
BEGIN
SELECT @USER_ID = GUID FROM DELETED
IF @USER_ID IN (0,1)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('THIS USER CAN NOT BE DELETED!',16,10)
END
ELSE
BEGIN
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
(@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL')
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES
(@USER_ID,'USER-ID','USER DELETED',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
END
END
GO