Alle Updates in MainCreateScripts integriert

This commit is contained in:
2023-07-20 08:54:06 +02:00
parent 7669443af5
commit c11a62c129
223 changed files with 42153 additions and 41336 deletions

View File

@@ -0,0 +1,56 @@
------------------------------------------------------------------------
--Check Windream-Related Connections and parameters in following objects
------------------------------------------------------------------------
/*TRIGGERS
--TBDD_USER_AFT_INS DatabaseLink und Domain-Einschr<EFBFBD>nkung wenn vorhanden
--TBDD_USER_AFT_UPD DatabaseLink und Domain-Einschr<EFBFBD>nkung wenn vorhanden
TABLES
--TBDD_CONNECTION LoginData if existing
--TBDD_DOKUMENTART Change name of objecttype
UPDATE TBDD_DOKUMENTART SET OBJEKTTYP = 'TestObjekttyp' WHERE OBJEKTTYP = 'YY'
--TBPMO_WD_OBJECTTYPE Change Indexnames
--TBDD_INDEX_AUTOM Change name of indices if automatic inices exist for DOKUMENTART
-- DELETE FROM TBDD_INDEX_AUTOM
--TB
FUNCTIONS
Table-Functions
--FNPMO_GET_WINDREAM_PATH_PART DatabaseLink
Scalar-Functions
--FNPMO_GET_WINDREAM_FILE_PATH DatabaseLink
--FNPMO_GET_WINDREAM_VKT_INT DatabaseLink
*/
/*VIEWS
--VWPMO_DOC_SYNC DatabaseLink/Indexnames for Columns/ObjecttypeIds
--VWPMO_WM_ACCESS_RIGHTS_GROUP DatabaseLink
--VWPMO_WM_ACCESS_RIGHTS_USER DatabaseLink
*/
/*PROCEDURES
PRPMO_DOC_CREATE_NEW_DOC DatabaseLink
PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD DatabaseLink
PRPMO_RIGHTS_CHECK_RIGHT DatabaseLink
PRPMO_RIGHTS_SERVICE_CHECK_USER DatabaseLink
PRPMO_RIGHTS_SERVICE_CHECK_USER_ENT DatabaseLink
*/
--TBDD_USER bereinigen
--DocRecordLinks bereinigen
--User f<EFBFBD>r Rechte-Setzen konfigurieren - basiseinstellungen
/*
DECLARE
@DOC_ID INTEGER,
@RECORD_ID INTEGER
DECLARE c_REDO CURSOR FOR
select DOC_ID,RECORD_ID from TBPMO_DOC_RECORD_LINK
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC PRPMO_DELETE_RESULTFILE @DOC_ID, @RECORD_ID,1
FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
*/

View File

@@ -0,0 +1,86 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.6' where NAME = 'Record-Organizer'
GO
CREATE PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] (
@pRECORD_ID INTEGER,
@pDOC_ID INTEGER,
@pREASON_CODE VARCHAR(500),
@pWHO VARCHAR(50)
)
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID)
BEGIN
INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES
(@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO)
END
ELSE
UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID
END
GO
CREATE TABLE TBPMO_CLIENT_CONNECTION_SWITCH
(
GUID INTEGER IDENTITY(1,1),
[DESCRIPTION] VARCHAR(100),
SQL_CONNECTION VARCHAR(MAX) NOT NULL,
SQL_CONNECTION_PROXY VARCHAR(MAX) DEFAULT '',
WM_ALIAS VARCHAR(250) NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 1,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_CLIENT_CONNECTION_SWITCH PRIMARY KEY (GUID)
)
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBPMO_CLIENT_CONNECTION_SWITCH_AFT_UPD ON TBPMO_CLIENT_CONNECTION_SWITCH
FOR UPDATE
AS
UPDATE TBPMO_CLIENT_CONNECTION_SWITCH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONNECTION_SWITCH.GUID = INSERTED.GUID
GO
CREATE TABLE TBPMO_CLIENT_CONN_SWITCH_USER
(
GUID INTEGER NOT NULL IDENTITY(1,1),
CONN_SWITCH_ID INTEGER NOT NULL,
USER_ID INTEGER NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_CLIENT_CONN_SWITCH_USER PRIMARY KEY (GUID),
CONSTRAINT UQ_PK_TBPMO_CLIENT_CONN_SWITCH_USER UNIQUE([USER_ID],CONN_SWITCH_ID),
CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_SWITCH_ID FOREIGN KEY (CONN_SWITCH_ID) REFERENCES TBPMO_CLIENT_CONNECTION_SWITCH (GUID),
CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
)
GO
CREATE TRIGGER TBPMO_CLIENT_CONN_SWITCH_USER_AFT_UPD ON TBPMO_CLIENT_CONN_SWITCH_USER
FOR UPDATE
AS
DECLARE
@GUID INTEGER,
@OLD_ACTIVE BIT,
@NEW_ACTIVE BIT,
--@IS_MAIN BIT,
@USER_ID INTEGER
SELECT
@NEW_ACTIVE = ACTIVE,
@USER_ID = USER_ID,
--@IS_MAIN = IS_MAIN,
@GUID = GUID
FROM INSERTED
IF UPDATE(ACTIVE)
BEGIN
SELECT
@OLD_ACTIVE = DELETED.ACTIVE
FROM DELETED
IF @NEW_ACTIVE = 1 AND @OLD_ACTIVE = 0
UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 0 WHERE USER_ID = @USER_ID AND GUID <> @GUID
END
UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONN_SWITCH_USER.GUID = INSERTED.GUID
GO

View File

@@ -0,0 +1,468 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.7' where NAME = 'Record-Organizer'
GO
--##########################################################################################
CREATE OR ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE](@pENTITY_ID INT)
--CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
AS
DECLARE @SQL_BEGIN NVARCHAR(MAX),
@SQL_END NVARCHAR(MAX),
@SQL NVARCHAR(MAX),
@SQL_DEF_CONSTR NVARCHAR(MAX),
@CONTROL_ID INT,
@RESULT NVARCHAR(MAX),
@TYPEID INT,
@TABINDEX INT,
@ZAEHLER INT = 1,
@DEFAULT VARCHAR(50),
@COL_NAME VARCHAR(50),
@ENTITY_TABLENAME VARCHAR(50)
--select Top 10 * from VWTEMP_PMO_FORM1
DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE 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 = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
--UNION
--SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3
--WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
ORDER BY TAB_INDEX
BEGIN
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'')
drop table @TABLE@ENT' + CHAR(13)
SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
EXEC sp_executesql @SQL
SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) +
'[Record-ID] INT NOT NULL,' + CHAR(13) +
'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13)
SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME)
--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 = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ',ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME' + CHAR(13) + ',RecRefreshedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13)
SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
OPEN c_SPALTENNAMEN
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
WHILE @@FETCH_STATUS = 0
BEGIN
SET @ZAEHLER = @ZAEHLER + 1
BEGIN
IF @TYPEID IN(10,11) --CheckBox,RadioBox
BEGIN
IF @DEFAULT = 'False'
SET @DEFAULT = '0'
ELSE
SET @DEFAULT = '1'
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13)
END
ELSE IF @TYPEID = 6 --Picturebox
BEGIN
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13)
ENd
ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
BEGIN
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
END
ELSE IF @TYPEID = 1 --Label
BEGIN
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
END
ELSE IF @TYPEID = 4 --DatePicker
BEGIN
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13)
END
ELSE
BEGIN
SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
IF LEN(ISNULL(@DEFAULT,'')) > 0
BEGIN
DECLARE @TEMP_COL_NAME VARCHAR(50)
SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','')
SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','')
SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','')
IF LEN(@SQL_DEF_CONSTR) > 0
SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
ELSE
SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
BEGIN
SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT)
SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME)
SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME)
END
END
END
END
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
END
CLOSE c_SPALTENNAMEN
DEALLOCATE c_SPALTENNAMEN
SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END
--PRINT @RESULT
EXEC sp_executesql @RESULT
IF LEN(@SQL_DEF_CONSTR) > 0
BEGIN
--PRINT @SQL_DEF_CONSTR
EXEC sp_executesql @SQL_DEF_CONSTR
END
END
GO
-----------------------------------------------------------------------------------------
--##########################################################################################
CREATE OR ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_IMPORT_RECORDS](@pENTITY_ID INT)
--CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
AS
DECLARE @REC_ID INT,
@SQL_INSERT_REC NVARCHAR(MAX),
@SQL_DELETE NVARCHAR(MAX),
@SQL_UPDATE NVARCHAR(MAX),
@CONTROL_ID INT,
@INSERT_COMAMND NVARCHAR(MAX),
@TYPEID INT,
@TABINDEX INT,
@DEFAULT VARCHAR(50),
@COL_NAME VARCHAR(50),
@ENTITY_TABLENAME VARCHAR(50)
PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0
BEGIN
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
--SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT'
--SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
--SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
--EXEC sp_executesql @SQL_DELETE
OPEN cursor_Records
FETCH NEXT FROM cursor_Records INTO @REC_ID
WHILE @@FETCH_STATUS = 0
BEGIN
--DELETE the Record
SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @REC_ID'
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
EXEC sp_executesql @SQL_DELETE
SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID'
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
--PRINT @SQL_INSERT_REC
EXEC sp_executesql @SQL_INSERT_REC
EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
ORDER BY TAB_INDEX
BEGIN
OPEN cursor_Columns
FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
WHILE @@FETCH_STATUS = 0
BEGIN
--PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
--
IF @TYPEID = 6 --Picturebox
BEGIN
DECLARE @VALUE_VBM VARBINARY(MAX)
IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
BEGIN
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
EXEC sp_executesql @SQL_UPDATE
END
END
ELSE
BEGIN
DECLARE @VALUE VARCHAR(MAX)
IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
BEGIN TRY
IF @TYPEID IN(10,11) --CheckBox,RadioBox
BEGIN
SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
END
ELSE IF @TYPEID IN(7,12,14)
BEGIN
SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
END
ELSE
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
--PRINT @SQL_UPDATE
EXEC sp_executesql @SQL_UPDATE
END TRY
BEGIN CATCH
PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
END CATCH
END
FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
END
CLOSE cursor_Columns
DEALLOCATE cursor_Columns
END
FETCH NEXT FROM cursor_Records INTO @REC_ID
END
CLOSE cursor_Records
DEALLOCATE cursor_Records
END
GO
--##########################################################################################
CREATE OR ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT)
AS
DECLARE @REC_ID INT,
@SQL_INSERT_REC NVARCHAR(MAX),
@SQL_DELETE NVARCHAR(MAX),
@SQL_UPDATE NVARCHAR(MAX),
@CONTROL_ID INT,
@INSERT_COMAMND NVARCHAR(MAX),
@TYPEID INT,
@TABINDEX INT,
@DEFAULT VARCHAR(50),
@COL_NAME VARCHAR(50),
@ENTITY_TABLENAME VARCHAR(50)
PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + ''''
DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
BEGIN
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID'
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID))
SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
PRINT @SQL_DELETE
EXEC sp_executesql @SQL_DELETE
OPEN cursor_Records
FETCH NEXT FROM cursor_Records INTO @REC_ID
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID'
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
PRINT @SQL_INSERT_REC
EXEC sp_executesql @SQL_INSERT_REC
EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
ORDER BY TAB_INDEX
BEGIN
OPEN cursor_Columns
FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
WHILE @@FETCH_STATUS = 0
BEGIN
--PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
--
IF @TYPEID = 6 --Picturebox
BEGIN
DECLARE @VALUE_VBM VARBINARY(MAX)
IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
BEGIN
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
EXEC sp_executesql @SQL_UPDATE
END
END
ELSE
BEGIN
DECLARE @VALUE VARCHAR(MAX)
IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
BEGIN TRY
IF @TYPEID IN(10,11) --CheckBox,RadioBox
BEGIN
SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
END
ELSE IF @TYPEID IN(7,12,14)
BEGIN
SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
END
ELSE
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
--PRINT @SQL_UPDATE
EXEC sp_executesql @SQL_UPDATE
END TRY
BEGIN CATCH
PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
END CATCH
END
FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
END
CLOSE cursor_Columns
DEALLOCATE cursor_Columns
END
FETCH NEXT FROM cursor_Records INTO @REC_ID
END
CLOSE cursor_Records
DEALLOCATE cursor_Records
END
ALTER TABLE TBPMO_STRUCTURE_NODES ADD COLOR VARCHAR(50) NOT NULL DEFAULT ''
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD COLOR VARCHAR(50) NOT NULL
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD CONSTRAINT DF_COLOR DEFAULT '' FOR COLOR;
GO
ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD BACK_COLOR VARCHAR(50) NOT NULL
GO
ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD CONSTRAINT DF_BACK_COLOR DEFAULT N'' FOR BACK_COLOR;
GO
UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET BACK_COLOR = ''
GO
CREATE OR ALTER PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] (
@pRECORD_ID INTEGER,
@pDOC_ID INTEGER,
@pREASON_CODE VARCHAR(500),
@pWHO VARCHAR(50)
)
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID)
BEGIN
INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES
(@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO)
END
ELSE
UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID
END
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD ACTIVE BIT NOT NULL DEFAULT 1
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD SEQUENCE INTEGER NOT NULL DEFAULT '0'
GO
CREATE NONCLUSTERED INDEX [IDX_STRUCTURE_NODES1]
ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID],[ACTIVE])
INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE])
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD COMMENT VARCHAR(500)
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma'
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_COLOR BIGINT NOT NULL DEFAULT 0
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_SIZE SMALLINT NOT NULL DEFAULT 10
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_STYLE SMALLINT NOT NULL DEFAULT 0
GO
ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS
select
T.GUID,
T.RECORD_ID,
T.NODE_CONFIG_ID,
T.NODE_CAPTION,
T.ID1,
T.ID2,
T.ID3,
T.PARENT_GUID,
T.BOOL1,
T.BOOL2,
T.ADDED_WHO,
T.ADDED_WHEN,
T.CHANGED_WHO,
T.CHANGED_WHEN,
T.SEQUENCE,
T1.CONTROL_ID,
T1.CREATE_RECORD,
T1.ENTITY_ID,
T1.NAME,
T1.TYPE_NODE,
CASE
WHEN T.FONT_FAMILY <> T1.FONT_FAMILY THEN T.FONT_FAMILY
ELSE T1.FONT_FAMILY END AS FONT_FAMILY,
CASE
WHEN T.FONT_COLOR <> T1.FONT_COLOR THEN T.FONT_COLOR
ELSE T1.FONT_COLOR END AS FONT_COLOR,
CASE
WHEN T.FONT_SIZE <> T1.FONT_SIZE THEN T.FONT_SIZE
ELSE T1.FONT_SIZE END AS FONT_SIZE,
CASE
WHEN T.FONT_STYLE <> T1.FONT_STYLE THEN T.FONT_STYLE
ELSE T1.FONT_STYLE END AS FONT_STYLE,
T1.EXPAND AS EXPAND_NODE,
CASE
WHEN T.COLOR <> '' THEN T.COLOR
ELSE T1.BACK_COLOR END AS BACK_COLOR
from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
WHERE T.NODE_CONFIG_ID = T1.GUID
GO
CREATE NONCLUSTERED INDEX [IDX_PMO_STRUCTURE_NODES]
ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID])
INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE])
GO
CREATE OR ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30))
AS
DELETE FROM TBPMO_STRUCTURE_NODES WHERE RECORD_ID = @pRECORD_ID
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_HISTORY 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_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_VARIANT WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
EXEC sp_executesql @DELETE_SQL
DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
--UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO)
GO

View File

@@ -0,0 +1,149 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.8' where NAME = 'Record-Organizer'
GO
CREATE PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50))
AS
DECLARE
@SUBNODE_ID INTEGER,
@RECORD_ID INTEGER
SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID
IF @RECORD_ID <> NULL
BEGIN
DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID
EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE'
END
DELETE FROM TBPMO_STRUCTURE_NODES WHERE GUID = @SUBNODE_ID
GO
--ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD TARGET_PATH VARCHAR(500) NOT NULL DEFAULT ''
--GO
ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD DYNAMIC_FOLDER VARCHAR(500) NOT NULL DEFAULT ''
GO
DECLARE
@GUID INTEGER,
@DOCTYPE_ID INTEGER,
@CAPTION VARCHAR(500)
DECLARE c_REDO CURSOR FOR
select GUID, DOCTYPE_ID from TBPMO_WD_FORMVIEW_DOKTYPES
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TBPMO_WD_FORMVIEW_DOKTYPES SET DYNAMIC_FOLDER = (SELECT FOLDER_FOR_INDEX FROM TBDD_DOKUMENTART WHERE GUID = @DOCTYPE_ID) WHERE GUID = @GUID
FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
GO
CREATE PROCEDURE [dbo].[PRPMO_CREATE_NODE](@pRESULT INT OUTPUT,@pRECORD_ID INT,@pNODE_CONFIG_ID INT, @pNODE_CAPTION VARCHAR(250), @pNODE_ID1 VARCHAR(1000) , @pNODE_PARENT_ID INT, @pADDED_WHO VARCHAR(50))
AS
DECLARE @FEHLER VARCHAR(4000),
@LINE VARCHAR(10)
DECLARE @OUTPUTDATA TABLE(NODE_ID INT)
BEGIN TRY
--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
INSERT INTO TBPMO_STRUCTURE_NODES (RECORD_ID,NODE_CONFIG_ID, NODE_CAPTION, ID1, PARENT_GUID, ADDED_WHO)
OUTPUT INSERTED.GUID INTO @OUTPUTDATA
VALUES (@pRECORD_ID,@pNODE_CONFIG_ID,@pNODE_CAPTION,@pNODE_ID1,@pNODE_PARENT_ID,@pADDED_WHO)
SELECT @pRESULT = NODE_ID FROM @OUTPUTDATA
--##### CUSTOMER ROUTINE ######################
--IF @pRESULT > 0
-- EXEC PRPMO_CUST_COMOS_CREATE_CONTROL_VALUES @pRESULT, @pNODE_CONFIG_ID, @pRECORD_ID,@pNODE_ID1,@pNODE_CAPTION,@pADDED_WHO
--##### END - CUSTOMER #########################
RETURN
END TRY
BEGIN CATCH --Fehlerbehandlung
SET @pRESULT = 0
SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
--INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
RAISERROR(@FEHLER,16,1)
RETURN
END CATCH
GO
ALTER TABLE TBPMO_STRUCTURE_NODES ADD DEPTH INTEGER NOT NULL DEFAULT 0
GO
CREATE FUNCTION [dbo].[FNPMO_CUST_NODE_EX_UP]
-- =============================================
-- Author: DIGITAL DATA, MS
-- Create date: 24.07.2018
-- Description: <Description,,>
-- =============================================
(@NODE_CONFIG_ID INTEGER,
@TPLNR VARCHAR(100),
@NODE_CAPTION VARCHAR(250),
@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),
@SEQUENCE TINYINT,@DEPTH INT
)
RETURNS
@Table TABLE
(NODE_GUID INTEGER,CAPTION VARCHAR(250), RESULT VARCHAR(20),COLOR VARCHAR(50),SEQUENCE TINYINT, DEPTH INT, ID INT IDENTITY(1, 1))
AS
BEGIN
INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH)
SELECT GUID,NODE_CAPTION,COLOR,SEQUENCE,DEPTH FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @TPLNR AND PARENT_GUID = @PARENT_GUID
IF (SELECT COUNT(*) FROM @TABLE) = 1
IF (SELECT CAPTION FROM @TABLE WHERE ID = 1) = @NODE_CAPTION
IF (SELECT COLOR FROM @TABLE WHERE ID = 1) <> @NODE_COLOR
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE IF (SELECT SEQUENCE FROM @TABLE WHERE ID = 1) <> @SEQUENCE
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE IF (SELECT DEPTH FROM @TABLE WHERE ID = 1) <> @DEPTH
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE
UPDATE @TABLE SET RESULT = 'OK' WHERE ID = 1
ELSE
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE
INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH,RESULT) VALUES (0,'','',1,@DEPTH,'INSERT')
RETURN
END
GO
/****** Object: StoredProcedure [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE] Script Date: 09.11.2018 08:38:32 ******/
CREATE PROCEDURE [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE](@pNODEGUID INTEGER OUTPUT,
@NODE_CONFIG_ID INTEGER,@NODE_CAPTION VARCHAR(250),@TPLNR VARCHAR(1000),@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),@DEPTH INTEGER,@SEQUENCE TINYINT)
AS
DECLARE @FEHLER VARCHAR(4000),
@LINE VARCHAR(10),
@PRAEFIX VARCHAR(100),
@RESULT_CHECK VARCHAR(250),
@SEQUENCE_IST TINYINT,
@NC_IST VARCHAR(250)
BEGIN TRY
SET @PRAEFIX = REPLICATE(' ', @DEPTH)
SELECT @pNODEGUID = NODE_GUID, @NC_IST = CAPTION, @RESULT_CHECK = RESULT,@SEQUENCE_IST = SEQUENCE FROM
[dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
IF @NODE_COLOR = '0'
SET @NODE_COLOR = ''
IF @RESULT_CHECK = 'UPDATE'
BEGIN
--PRINT @PRAEFIX + '## UPDATE ' + CONVERT(VARCHAR(10),@pNODEGUID) + ' #' + @NC_IST + '#'
UPDATE TBPMO_STRUCTURE_NODES SET NODE_CAPTION = @NODE_CAPTION, ACTIVE = 1,
COLOR = @NODE_COLOR,SEQUENCE = @SEQUENCE,DEPTH = @DEPTH,CHANGED_WHO = 'DD PMO_CHECKNODE UPD' WHERE GUID = @pNODEGUID
END
ELSE IF @RESULT_CHECK = 'INSERT'
BEGIN
--PRINT @PRAEFIX + '## INSERT - NODE (' + @NODE_CAPTION + ') MUSS ANGELEGT WERDEN'
INSERT INTO TBPMO_STRUCTURE_NODES (NODE_CONFIG_ID,NODE_CAPTION,ID1,PARENT_GUID,COLOR,SEQUENCE,DEPTH, ADDED_WHO) VALUES (
@NODE_CONFIG_ID,@NODE_CAPTION,@TPLNR,@PARENT_GUID,@NODE_COLOR,@SEQUENCE, @DEPTH, 'DD PMO_CHECKNODE INS')
SELECT @pNODEGUID = NODE_GUID, @RESULT_CHECK = RESULT FROM [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
END
IF NOT EXISTS(SELECT NODE_GUID FROM TBPMO_CUST_CREATED_NODES_IN_RUN WHERE NODE_GUID = @pNODEGUID)
INSERT INTO TBPMO_CUST_CREATED_NODES_IN_RUN (NODE_GUID, ENTITY) VALUES (@pNODEGUID,'SAP')
RETURN
END TRY
BEGIN CATCH --Fehlerbehandlung
SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
RAISERROR(@FEHLER,16,1)
END CATCH
GO
ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD ROOT_FOLDER VARCHAR(1000) NOT NULL DEFAULT ''
GO

View File

@@ -0,0 +1,270 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.9' where NAME = 'Record-Organizer'
GO
CREATE PROCEDURE [dbo].[PRPMO_DOC_CHANGE_DOCID](@pOLD_DOCID INTEGER, @pNEW_DOCID INTEGER,@pWHO As VARCHAR(50))
AS
BEGIN TRY
UPDATE TBPMO_DOCRESULT_LIST SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
UPDATE TBPMO_DOC_RECORD_LINK SET DOC_ID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DOC_ID = @pOLD_DOCID
UPDATE TBPMO_DOC_INDICES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
UPDATE TBPMO_DOC_VALUES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
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 VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
SELECT TOP 100 PERCENT
T.GUID CONTROL_ID,
T.FORM_ID CONTROL_ENTITY_ID,
T.NAME CONTROL_NAME,
T.REQUIRED CONTROL_REQUIRED,
T.DEFAULT_VALUE CONTROL_DEF_VALUE,
T.READ_ONLY CONTROL_READ_ONLY,
T.SELECT_ONLY CONTROL_SELECT_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,
T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST,
T4.GUID CTRLTYPE_ID,
T4.TYPE_NAME CTRLTYPE_NAME,
T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
T.FORM_ID,
T3.NAME FORM_NAME,
T5.GUID FORM_VIEW_ID,
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,
TBPMO_FORM_VIEW T5
WHERE
T.FORM_ID = T3.GUID AND
T3.GUID = T5.FORM_ID 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 VIEW [dbo].[VWPMO_DOC_SYNC] AS
/*SELECT TOP 100 PERCENT
T.dwDocID as DocID
,T.dwParentID
,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME
,szLongName AS [Filename]
,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype
,ISNULL(T.dwVersionNumber,'1') 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
,T.dwObjectTypeID
FROM
DD_VMP01_APS01_windream60.dbo.BaseAttributes T
,DD_VMP01_APS01_windream60.dbo.ObjectType T1
WHERE
T.dwCatalogID = 1
AND T.dwObjectTypeID = 10005
AND T.dwObjectTypeID = T1.dwObjectTypeID
AND T.szText30 = 'ADDI-RELATION'
*/
SELECT TOP 100 PERCENT
MAX(T.dwDocID) as DocID
,T.dwParentID
,dbo.FNPMO_GET_WINDREAM_FILE_PATH (MAX(T.dwDocID)) AS FULL_FILENAME
,(SELECT szLongName from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Filename]
,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype
,(SELECT MAX(ISNULL(T.dwVersionNumber,'1')) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Version]
,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwCreationDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwCreation_Time))) + convert(VARCHAR(6),MAX(T.dwCreation_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Creation_DateTime]
,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwChangeDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwChange_Time))) + convert(VARCHAR(6),MAX(T.dwChange_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS Change_DateTime
,T1.szDocTypeName AS OBJECTTYPE
,T.dwObjectTypeID
FROM
DD_VMP01_APS01_windream60.dbo.BaseAttributes T
,DD_VMP01_APS01_windream60.dbo.ObjectType T1
WHERE
--T.dwParentID = 1896955 AND
T.dwCatalogID = 1
AND T.dwObjectTypeID = 10005
AND T.dwObjectTypeID = T1.dwObjectTypeID
AND T.szText30 = 'ADDI-RELATION'
GROUP BY
T.dwVersionID
,T.dwParentID
--,T.szLongName
,ISNULL(T.wmVar09,'NO DOCTYPE')
,T1.szDocTypeName
,T.dwObjectTypeID
ORDER BY [Creation_DateTime]
GO
CREATE TABLE TBPMO_FILE_FORMATS_CHANGE
(
GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschl<68>ssel
FILE_EXT VARCHAR(50),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL,
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_FILE_FORMATS_CHANGE PRIMARY KEY (FILE_EXT)
)
GO
INSERT INTO TBPMO_FILE_FORMATS_CHANGE(FILE_EXT)
SELECT '.xlsx' UNION
SELECT '.xls ' UNION
SELECT '.xlsb ' UNION
SELECT '.xla ' UNION
SELECT '.xlsm ' UNION
SELECT '.doc ' UNION
SELECT '.dot ' UNION
SELECT '.wbk ' UNION
SELECT '.docx ' UNION
SELECT '.docm ' UNION
SELECT '.dotm ' UNION
SELECT '.ppt ' UNION
SELECT '.pot ' UNION
SELECT '.pps ' UNION
SELECT '.pptx ' UNION
SELECT '.pptm ' UNION
SELECT '.potx ' UNION
SELECT '.dwg'
GO
DROP TABLE TBPMO_DOC_ID_CHANGED
GO
CREATE TABLE [dbo].[TBPMO_DOC_ID_CHANGED](
[GUID] INTEGER IDENTITY(1,1) NOT NULL,
[USER_ID] INTEGER NOT NULL,
[PROCESS_ID] VARCHAR(50) NOT NULL,
[OLD_DOC_ID] INTEGER NOT NULL,
VERSION_ID INTEGER NOT NULL,
DOC_PATH VARCHAR(500) NOT NULL,
[NEW_DOC_ID] INTEGER NULL,
[CREATED_WHEN] DATETIME NULL DEFAULT GETDATE(),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_DOC_ID_CHANGED PRIMARY KEY ([GUID])
) ON [PRIMARY]
GO
DROP TABLE TBPMO_DOC_USER_REFRESH_VIEW
GO
CREATE TABLE [dbo].[TBPMO_DOC_USER_REFRESH_VIEW](
GUID INTEGER IDENTITY(1,1) NOT NULL,
[USER_ID] INTEGER NOT NULL,
CREATED_WHEN DATETIME NULL DEFAULT GETDATE(),
REFRESHED_WHEN DATETIME,
CONSTRAINT PK_TBPMO_DOC_USER_REFRESH_VIEW PRIMARY KEY ([GUID])
) ON [PRIMARY]
GO
CREATE PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS
DECLARE
@GUID INTEGER,
@OLD_DOC_ID INTEGER,
@VERSION_ID INTEGER,
@DOC_PATH VARCHAR(500),
@USER_ID INTEGER
DECLARE c_REDO CURSOR FOR
SELECT GUID,OLD_DOC_ID,VERSION_ID,DOC_PATH,USER_ID FROM TBPMO_DOC_ID_CHANGED WHERE NEW_DOC_ID IS NULL
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT DocID FROM VWPMO_DOC_SYNC WHERE DocID = @OLD_DOC_ID)
BEGIN
DECLARE @NEW_DOC_ID INTEGER
SELECT @NEW_DOC_ID = MAX(dwDocID) FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwVersionID = @VERSION_ID
IF @NEW_DOC_ID > 0
BEGIN
EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED'
UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL)
INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID)
END
END
FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
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 PRPMO_CREATE_ENTITY_TABLE @FORM_ID
EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @FORM_ID
--EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
--EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
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
BEGIN TRY
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 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO

View File

@@ -0,0 +1,326 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.9.0' where NAME = 'Record-Organizer'
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50))
AS
DECLARE
@SUBNODE_ID INTEGER,
@RECORD_ID INTEGER
SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID
IF @RECORD_ID <> NULL
BEGIN
DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID
EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE'
END
UPDATE TBPMO_STRUCTURE_NODES SET ACTIVE = 0, COMMENT = 'DELETED [PRPMO_DELETE_NODE]', CHANGED_WHO = @WHO WHERE GUID = @pNODE_GUID
DECLARE c_REDO CURSOR LOCAL FOR
select GUID FROM TBPMO_STRUCTURE_NODES WHERE PARENT_GUID = @pNODE_GUID
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @SUBNODE_ID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC [dbo].[PRPMO_DELETE_NODE] @SUBNODE_ID,@WHO
FETCH NEXT FROM c_REDO INTO @SUBNODE_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
GO
ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD]
FOR UPDATE
AS
BEGIN TRY
DECLARE
@CHANGES BIT,
@RECORD_ID INTEGER,
@OLD_ENTITY_ID INTEGER,
@ENTITY_ID INTEGER,
@PARENT_RECORD INTEGER,
@ENTITY_TABLENAME VARCHAR(50),
@SQL NVARCHAR(MAX),
@DELETED_OLD BIT,
@DELETED BIT,
@RECORD_ENTITY_ID BIGINT,
@INWORK_OLD BIT,
@INWORK BIT,
@INWORK_WHO VARCHAR(50),
@CHANGED_WHO VARCHAR(50)
SELECT
@RECORD_ID = GUID,
@ENTITY_ID = FORM_ID,
@DELETED = [deleted],
@RECORD_ENTITY_ID = RECORD_ENTITY_ID,
@INWORK = IN_WORK ,
@INWORK_WHO = ISNULL(IN_WORK_WHO,''),
@CHANGED_WHO = ISNULL(CHANGED_WHO,'')
FROM inserted
--PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
SET @CHANGES = 0
IF UPDATE(IN_WORK)
BEGIN
IF @INWORK_OLD = 0 and @INWORK = 1
BEGIN
DECLARE @COMMENT VARCHAR(100)
SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO
PRINT @COMMENT
INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
END
ELSE IF @INWORK_OLD = 1 and @INWORK = 0
BEGIN
UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD')
END
END
IF UPDATE(VERSION)
BEGIN
SET @CHANGES = 1
END
IF UPDATE(FORM_ID)
BEGIN
--ROLLBACK TRANSACTION
--RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1)
SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
--ERST DEN RECORD IN DER AKTUELLEN ENTIT<EFBFBD>T L<EFBFBD>SCHEN
SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
EXEC sp_executesql @SQL
EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD')
SET @CHANGES = 1
END
IF UPDATE (PARENT_RECORD)
BEGIN
SELECT
@RECORD_ID = GUID,
@PARENT_RECORD = PARENT_RECORD,
@ENTITY_ID = FORM_ID
FROM INSERTED
SET @CHANGES = 1
IF @PARENT_RECORD > 0
BEGIN
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
--RAISERROR(@SQL, 16, 1)
EXEC sp_executesql @SQL
INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
END
END
IF UPDATE([DELETED])
BEGIN
IF @DELETED_OLD = 0 and @DELETED = 1
BEGIN
Print '@DELETED_OLD = 0 and @DELETED = 1'
SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
EXEC sp_executesql @SQL
INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','Mark Record as deleted: ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
END
SET @CHANGES = 1
END
IF @CHANGES = 1
UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
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_STRUCTURE_NODES_AFT_UPD] ON [dbo].[TBPMO_STRUCTURE_NODES]
FOR UPDATE
AS
DECLARE
@ACTIVE_OLD BIT,
@ACTIVE BIT,
@RECORD_ID INTEGER,
@CHANGED_WHO VARCHAR(50)
SELECT
@ACTIVE_OLD = [ACTIVE]
FROM deleted
SELECT
@RECORD_ID = GUID,
@ACTIVE = ACTIVE,
@CHANGED_WHO = CHANGED_WHO
FROM INSERTED
IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0
BEGIN
EXEC PRPMO_DELETE_RECORD @RECORD_ID,@CHANGED_WHO,'TBPMO_STRUCTURE_NODES_AFT_UPD ACTIVE = 0'
END
ELSE IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0
BEGIN
IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID)
UPDATE TBPMO_RECORD SET DELETED = 0, CHANGED_WHO = @CHANGED_WHO WHERE GUID = @RECORD_ID AND DELETED = 1
END
UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '')
AS
DECLARE @ENTITY_ID INT, @COUNT_REQUIRED INT
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
--SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
--SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
--SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
--EXEC sp_executesql @DELETE_SQL
UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
DECLARE @reas As VARCHAR(250)
SET @reas = 'RECORD DELETED BY USER'
IF @COMMENT <> ''
BEGIN
SET @reas = @reas + ' - ' + @COMMENT
END
IF @pRECORD_ID <> NULL
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO)
SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
BEGIN
PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES'
EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES'
END
GO
CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DOC_VALUE](@pDOCID INTEGER, @pRECORDID INTEGER, @pCONFIGID INTEGER)
RETURNS VARCHAR(250)
AS
BEGIN
DECLARE @RESULT VARCHAR(250)
SELECT DISTINCT @RESULT = ISNULL(VALUE,'NO DATA')
FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pRECORDID
RETURN @RESULT
END
GO
ALTER TABLE TBPMO_FORM ADD ENTITY_DOC_SEARCH VARCHAR(MAX) NOT NULL DEFAULT ''
GO
UPDATE TBPMO_FORM SET ENTITY_DOC_SEARCH =
'SELECT DISTINCT T.* FROM VWPMO_DOC_SEARCH T WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID) AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @USER_ECM_ID AND dwObjectID = T.DocID)'
GO
--CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
AS
DECLARE @RECORD_ENTITY_ID BIGINT,
@RECORD_ID INT,
@FEHLER VARCHAR(4000),
@LINE VARCHAR(10)
DECLARE @OUTPUTDATA TABLE(RECORD_ID INT)
BEGIN TRY
--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0
INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO)
OUTPUT INSERTED.GUID INTO @OUTPUTDATA
VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)))
SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA
RETURN
END TRY
BEGIN CATCH --Fehlerbehandlung
SET @pRESULT = 0
SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
RAISERROR(@FEHLER,16,1)
RETURN
END CATCH
GO
ALTER TABLE TBPMO_CLIENT_CONN_SWITCH_USER ADD [CONN_NAME] VARCHAR(100) NOT NULL DEFAULT ''
GO
CREATE TRIGGER [dbo].[TBPMO_CLIENT_CONN_SWITCH_USER_AFT_INS] ON TBPMO_CLIENT_CONN_SWITCH_USER
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@CONN_ID INTEGER,
@GUID INTEGER
SELECT
@GUID = GUID,
@CONN_ID = CONN_SWITCH_ID
FROM INSERTED
UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CONN_NAME = (SELECT DESCRIPTION FROM TBPMO_CLIENT_CONNECTION_SWITCH WHERE GUID = @CONN_ID)
FROM INSERTED
WHERE TBPMO_CLIENT_CONN_SWITCH_USER.GUID = INSERTED.GUID
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_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN TRY
DECLARE
@RECORD_ID INTEGER,
@DOC_ID INTEGER,
@ENTITY_ID INTEGER
SELECT
@RECORD_ID = RECORD_ID,
@DOC_ID = DOC_ID
FROM DELETED
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
IF @RECORD_ID IS NOT NULL
INSERT INTO [dbo].[TBPMO_LOG_ESSENTIALS]
([REFERENCE_KEY]
,[REFERENCE_STRING]
,[COMMENT]
,[ADDED_WHO]
,[ENTITY_ID])
VALUES
(@RECORD_ID,
'RECORD-ID'
,'DocRecord-Link deleted'
,'TBPMO_DOC_RECORD_LINK_AFT_DEL'
,@ENTITY_ID)
DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
END TRY
BEGIN CATCH
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
-- =============================================
-- Author: DD-MS
-- Create date: 25.06.2019
-- Description: releases inwork-records which are in use more than (check code)
-- =============================================
CREATE PROCEDURE PRMO_CUST_RELEASE_IN_WORK_RECORDS
AS
BEGIN
UPDATE TBPMO_RECORD SET IN_WORK = 0, IN_WORK_WHEN = NULL, IN_WORK_WHO = NULL
WHERE GUID IN (select GUID from TBPMO_RECORD where IN_WORK = 1 AND (DATEDIFF(MINUTE,IN_WORK_WHEN, GETDATE()) >= 10 OR IN_WORK_WHEN IS NULL ))
END
GO

View File

@@ -0,0 +1,50 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.0' where NAME = 'Record-Organizer'
GO
CREATE TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[DOCID] [bigint] NOT NULL,
[COMMENT] [varchar](500) NULL,
[IN_WORK_WHO] [varchar](50) NOT NULL,
[IN_WORK_WHEN] [datetime] NOT NULL,
[FREE_WHO] [varchar](50) NULL,
[FREE_WHEN] [datetime] NULL,
CONSTRAINT [PK_TBPMO_DOC_IN_WORK_HISTORY] PRIMARY KEY CLUSTERED
(
[GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT ('DEFAULT') FOR [IN_WORK_WHO]
GO
ALTER TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT (getdate()) FOR [IN_WORK_WHEN]
GO
ALTER TRIGGER [dbo].[TBPMO_DOCRESULT_LIST_AFT_UPD] ON [dbo].[TBPMO_DOCRESULT_LIST]
FOR UPDATE
AS
IF UPDATE (IN_WORK)
BEGIN
DECLARE @IN_WORK BIT,
@IN_WORK_USER VARCHAR(50),
@IN_WORK_COMMENT VARCHAR(500),
@DocID BIGINT
SELECT
@DocID = DocID,
@IN_WORK = IN_WORK,
@IN_WORK_USER = IN_WORK_USER,
@IN_WORK_COMMENT = IN_WORK_COMMENT
FROM INSERTED
IF @IN_WORK = 1
INSERT INTO TBPMO_DOC_IN_WORK_HISTORY (DOCID,COMMENT,IN_WORK_WHO) VALUES (@DocID,@IN_WORK_COMMENT,@IN_WORK_USER)
ELSE
BEGIN
UPDATE TBPMO_DOC_IN_WORK_HISTORY SET FREE_WHO = @IN_WORK_USER, FREE_WHEN = GETDATE() WHERE DOCID = @DocID AND FREE_WHEN IS NULL
UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK_COMMENT = NULL FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
END
END
UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]

View File

@@ -0,0 +1,73 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.3' where NAME = 'Record-Organizer'
GO
ALTER TABLE [dbo].[TBPMO_KONFIGURATION] ADD WMPATH_PREFIX VARCHAR(100) NOT NULL DEFAULT '\\WINDREAM\OBJECTS'
GO
ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE
@RESULT VARCHAR(MAX),
@DOCID BIGINT,
@a BIGINT = 1,
@i BIGINT = 0,
@PARENT_ID BIGINT,
@DATEINAME NVARCHAR(255),
@PARENTNAME NVARCHAR(255),
@FSFLAGS INT--,
--@WM_LAUFWERKBUCHSTABE CHAR(1) ,
--@SHAREPATH VARCHAR(100)
-- SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1
--SELECT @SHAREPATH = WMPATH_PREFIX FROM TBPMO_KONFIGURATION WHERE GUID = 1;
SELECT @FSFLAGS = dwFSFlags FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
IF @FSFLAGS = 16
BEGIN
SET @RESULT = 'THIS IS NOT A FILE!'
END
ELSE
BEGIN
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
WHILE @a > 0
BEGIN
IF @i = 0
BEGIN
IF @PARENT_ID = 1
BEGIN
SET @RESULT = '\'
BREAK
END
ELSE
BEGIN
SET @DOCID = @PARENT_ID
SET @RESULT = '\'
END
END
ELSE
BEGIN
IF @PARENT_ID = 1
BEGIN
SET @RESULT = '\' + @PARENTNAME + @RESULT
BREAK
END
ELSE
BEGIN
SET @DOCID = @PARENT_ID
SET @RESULT = '\' + @PARENTNAME + @RESULT
END
END
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
SET @i = @i + 1
END
END
SET @RESULT = --@SHAREPATH +
@RESULT + @DATEINAME
RETURN @RESULT
END
GO

View File

@@ -0,0 +1,99 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.1.0' where NAME = 'Record-Organizer'
GO
ALTER TABLE TBPMO_FORM_CONSTRUCTOR
ADD NODE_NAVIGATION BIT NOT NULL DEFAULT 0;
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,
T2.ADD_RECORDS,
T.FORM_TYPE_ID,
T2.LOAD_DIRECT,
T2.CONTROL_DOCTYPE_MATCH,
T2.SQL_RIGHT_READ_AND_VIEW_ONLY,
T2.SQL_RIGHT_WINDREAM_VIEW,
T2.DOC_SEARCH_TAB1,
T2.[ACTIVATE_DOC_SEARCH_ON_EDIT],
T1.DOCUMENT_VIEW,
T.DATE_FORMAT,
T.LOCK_CONTROLS_BG_LOAD,
(SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW,
T3.NODE_NAVIGATION
FROM
tbpmo_form T,
TBPMO_FORM_VIEW T1,
TBPMO_FORM_CONSTRUCTOR_DETAIL T2,
TBPMO_FORM_CONSTRUCTOR T3
where
T2.FORM_ID = T.GUID AND
T.GUID = T1.FORM_ID AND
T2.CONSTRUCT_ID = T3.GUID
ORDER BY
T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
GO
CREATE PROCEDURE PRPMO_IN_WORK_RESET_DATEDIFF
AS
DECLARE @DocID BIGINT
DECLARE cursInWork_Reset CURSOR FOR
select A.DocID from TBPMO_DOCRESULT_LIST A LEFT JOIN
TBPMO_DOC_IN_WORK_HISTORY B ON A.DocID = B.DOCID
WHERE A.IN_WORK = 1
AND DATEDIFF(DAY,B.IN_WORK_WHEN,GETDATE()) > 20
OPEN cursInWork_Reset
FETCH NEXT FROM cursInWork_Reset INTO @DocID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK = 0 WHERE DocID = @DocID
FETCH NEXT FROM cursInWork_Reset INTO @DocID
END
CLOSE cursInWork_Reset
DEALLOCATE cursInWork_Reset
GO
ALTER TRIGGER [dbo].[TBPMO_DOCRESULT_LIST_AFT_UPD] ON [dbo].[TBPMO_DOCRESULT_LIST]
FOR UPDATE
AS
IF UPDATE (IN_WORK)
BEGIN
DECLARE @IN_WORK BIT,
@IN_WORK_USER VARCHAR(50),
@IN_WORK_COMMENT VARCHAR(500),
@DocID BIGINT
SELECT
@DocID = DocID,
@IN_WORK = IN_WORK,
@IN_WORK_USER = IN_WORK_USER,
@IN_WORK_COMMENT = IN_WORK_COMMENT
FROM INSERTED
IF @IN_WORK = 1
INSERT INTO TBPMO_DOC_IN_WORK_HISTORY (DOCID,COMMENT,IN_WORK_WHO) VALUES (@DocID,@IN_WORK_COMMENT,@IN_WORK_USER)
ELSE
BEGIN
UPDATE TBPMO_DOC_IN_WORK_HISTORY SET FREE_WHO = @IN_WORK_USER, FREE_WHEN = GETDATE() WHERE DOCID = @DocID AND FREE_WHEN IS NULL
UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK_USER = '', IN_WORK_COMMENT = NULL FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
END
END
UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]

View File

@@ -0,0 +1,200 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.0' where NAME = 'Record-Organizer'
GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ORGFLOW-Supervisor',1)
GO
CREATE PROCEDURE [dbo].[PRCUST_REFRESH_SEQUENCE_NODES] (@pPARENTID BIGINT, @NODE VARCHAR(100), @CHECK_SUB_NODES AS BIT) AS
DECLARE
@ParentNodeGuid BIGINT,
@dwParentID BIGINT,
@NodeCaption VARCHAR(250),
@ChildNodeGuid INTEGER,
@SEQ_ACT INTEGER,
@SEQUENCE INTEGER
PRINT '##### Checking Subnodes for ' + convert(VARCHAR(20),@pPARENTID) + '#' + @NODE + ' ######'
SET @SEQUENCE = 0
DECLARE cursNODES CURSOR LOCAL FOR
select
TC.PARENT_GUID As ParentNode,
TC.NODE_CAPTION,
TC.GUID As ChildGUID,
TC.SEQUENCE
FROM
TBPMO_STRUCTURE_NODES TC
WHERE
TC.PARENT_GUID = @pPARENTID
ORDER BY TC.NODE_CAPTION
OPEN cursNODES
FETCH NEXT FROM cursNODES INTO @ParentNodeGuid,@NodeCaption,@ChildNodeGuid,@SEQ_ACT
WHILE @@FETCH_STATUS = 0
BEGIN
IF @SEQ_ACT <> @SEQUENCE
BEGIN
PRINT 'Seq of Node [' + @NodeCaption + '] is not equal - Should be ' + Convert(Varchar(3),@SEQUENCE)
UPDATE TBPMO_STRUCTURE_NODES SET [SEQUENCE] = @SEQUENCE WHERE GUID = @ChildNodeGuid and [SEQUENCE] <> @SEQUENCE
END
SET @SEQUENCE += 1
IF @CHECK_SUB_NODES = 1
IF EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE PARENT_GUID = @ChildNodeGuid)
EXEC PRCUST_REFRESH_SEQUENCE_NODES @ChildNodeGuid,@NodeCaption,1
FETCH NEXT FROM cursNODES INTO @ParentNodeGuid,@NodeCaption,@ChildNodeGuid,@SEQ_ACT
END
CLOSE cursNODES
DEALLOCATE cursNODES
GO
CREATE PROCEDURE [dbo].[PRCUST_REORDER_CHILD_NODES] (@pPARENTID BIGINT, @CHECK_SUB_NODES AS BIT) AS
DECLARE
@ParentNodeGuid BIGINT,
@dwParentID BIGINT,
@NodeCaption VARCHAR(250),
@ChildNodeGuid INTEGER,
@SEQ_ACT INTEGER,
@SEQUENCE INTEGER
PRINT '##### Checking Subnodes for ' + convert(VARCHAR(20),@pPARENTID) + ' ######'
SET @SEQUENCE = 0
DECLARE cursPRCUST_REORDER_CHILD_NODES CURSOR LOCAL FOR
select
TC.PARENT_GUID As ParentNode,
TC.NODE_CAPTION,
TC.GUID As ChildGUID,
TC.SEQUENCE
FROM
TBPMO_STRUCTURE_NODES TC
WHERE
TC.PARENT_GUID = @pPARENTID
ORDER BY TC.NODE_CAPTION
OPEN cursPRCUST_REORDER_CHILD_NODES
FETCH NEXT FROM cursPRCUST_REORDER_CHILD_NODES INTO @ParentNodeGuid,@NodeCaption,@ChildNodeGuid,@SEQ_ACT
WHILE @@FETCH_STATUS = 0
BEGIN
IF @SEQ_ACT <> @SEQUENCE
BEGIN
PRINT 'Seq of Node [' + @NodeCaption + '] is not equal - Should be ' + Convert(Varchar(3),@SEQUENCE)
UPDATE TBPMO_STRUCTURE_NODES SET [SEQUENCE] = @SEQUENCE WHERE GUID = @ChildNodeGuid and [SEQUENCE] <> @SEQUENCE
END
SET @SEQUENCE += 1
IF @CHECK_SUB_NODES = 1
IF EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE PARENT_GUID = @ChildNodeGuid)
EXEC PRCUST_REFRESH_SEQUENCE_NODES @ChildNodeGuid,@NodeCaption,1
FETCH NEXT FROM cursPRCUST_REORDER_CHILD_NODES INTO @ParentNodeGuid,@NodeCaption,@ChildNodeGuid,@SEQ_ACT
END
CLOSE cursPRCUST_REORDER_CHILD_NODES
DEALLOCATE cursPRCUST_REORDER_CHILD_NODES
GO
ALTER PROCEDURE [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE](@pNODEGUID INTEGER OUTPUT,
@NODE_CONFIG_ID INTEGER,@NODE_CAPTION VARCHAR(250),@ID1 VARCHAR(1000),@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),@DEPTH INTEGER,@SEQUENCE TINYINT,@WHO VARCHAR(100), @METHOD VARCHAR(20))
AS
DECLARE @FEHLER VARCHAR(4000),
@LINE VARCHAR(10),
@PRAEFIX VARCHAR(100),
@RESULT_CHECK VARCHAR(250),
@SEQUENCE_IST TINYINT,
@NC_IST VARCHAR(250)
BEGIN TRY
SET @PRAEFIX = REPLICATE(' ', @DEPTH)
SELECT @pNODEGUID = NODE_GUID, @NC_IST = CAPTION, @RESULT_CHECK = RESULT,@SEQUENCE_IST = SEQUENCE FROM
[dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @ID1,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
IF @NODE_COLOR = '0'
SET @NODE_COLOR = ''
IF @RESULT_CHECK = 'UPDATE'
BEGIN
PRINT @PRAEFIX + '## UPDATE ' + CONVERT(VARCHAR(10),@pNODEGUID) + ' #' + @NC_IST + '#'
UPDATE TBPMO_STRUCTURE_NODES SET NODE_CAPTION = @NODE_CAPTION, ACTIVE = 1,
COLOR = @NODE_COLOR,SEQUENCE = @SEQUENCE,DEPTH = @DEPTH,CHANGED_WHO = @WHO WHERE GUID = @pNODEGUID
END
ELSE IF @RESULT_CHECK = 'INSERT'
BEGIN
PRINT @PRAEFIX + '## INSERT - NODE (' + @NODE_CAPTION + ') MUSS ANGELEGT WERDEN'
INSERT INTO TBPMO_STRUCTURE_NODES (NODE_CONFIG_ID,NODE_CAPTION,ID1,PARENT_GUID,COLOR,SEQUENCE,DEPTH, ADDED_WHO) VALUES (
@NODE_CONFIG_ID,@NODE_CAPTION,@ID1,@PARENT_GUID,@NODE_COLOR,@SEQUENCE, @DEPTH, @WHO)
SELECT @pNODEGUID = NODE_GUID, @RESULT_CHECK = RESULT FROM [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @ID1,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
END
IF NOT EXISTS(SELECT NODE_GUID FROM TBPMO_CUST_CREATED_NODES_IN_RUN WHERE NODE_GUID = @pNODEGUID)
INSERT INTO TBPMO_CUST_CREATED_NODES_IN_RUN (NODE_GUID, ENTITY) VALUES (@pNODEGUID,@METHOD)
RETURN
END TRY
BEGIN CATCH --Fehlerbehandlung
SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
RAISERROR(@FEHLER,16,1)
END CATCH
GO
ALTER FUNCTION [dbo].[FNPMO_CUST_NODE_EX_UP]
-- =============================================
-- Author: DIGITAL DATA, MS
-- Create date: 24.07.2018
-- Description: <Description,,>
-- =============================================
(@NODE_CONFIG_ID INTEGER,
@TPLNR VARCHAR(100),
@NODE_CAPTION VARCHAR(250),
@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),
@SEQUENCE TINYINT
)
RETURNS
@Table TABLE
(NODE_GUID INTEGER,CAPTION VARCHAR(250), RESULT VARCHAR(20),COLOR VARCHAR(50),SEQUENCE TINYINT,NODE_CONFIG_ID INT, ID INT IDENTITY(1, 1))
AS
BEGIN
INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,NODE_CONFIG_ID)
SELECT GUID,NODE_CAPTION,COLOR,SEQUENCE,NODE_CONFIG_ID FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @TPLNR AND PARENT_GUID = @PARENT_GUID
IF (SELECT COUNT(*) FROM @TABLE) = 1
IF (SELECT CAPTION FROM @TABLE WHERE ID = 1) = @NODE_CAPTION
IF (SELECT COLOR FROM @TABLE WHERE ID = 1) <> @NODE_COLOR
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE IF (SELECT SEQUENCE FROM @TABLE WHERE ID = 1) <> @SEQUENCE
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE IF (SELECT NODE_CONFIG_ID FROM @TABLE WHERE ID = 1) <> @NODE_CONFIG_ID
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE
UPDATE @TABLE SET RESULT = 'OK' WHERE ID = 1
ELSE
UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
ELSE
INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,RESULT) VALUES (0,'','',1,'INSERT')
RETURN
END
GO
ALTER PROCEDURE [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE](@pNODEGUID INTEGER OUTPUT,
@NODE_CONFIG_ID INTEGER,@NODE_CAPTION VARCHAR(250),@ID1 VARCHAR(1000),@ID2 VARCHAR(1000),@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),@SEQUENCE TINYINT,@WHO VARCHAR(100), @METHOD VARCHAR(20))
AS
DECLARE @FEHLER VARCHAR(4000),
@LINE VARCHAR(10),
@RESULT_CHECK VARCHAR(250),
@SEQUENCE_IST TINYINT,
@NC_IST VARCHAR(250)
BEGIN TRY
SELECT @pNODEGUID = NODE_GUID, @NC_IST = CAPTION, @RESULT_CHECK = RESULT,@SEQUENCE_IST = SEQUENCE FROM
[dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @ID1,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE)
IF @NODE_COLOR = '0'
SET @NODE_COLOR = ''
IF @RESULT_CHECK = 'UPDATE'
BEGIN
PRINT '## UPDATE ' + CONVERT(VARCHAR(10),@pNODEGUID) + ' #' + @NC_IST + '#'
UPDATE TBPMO_STRUCTURE_NODES SET NODE_CAPTION = @NODE_CAPTION, ACTIVE = 1,
COLOR = @NODE_COLOR,SEQUENCE = @SEQUENCE,CHANGED_WHO = @WHO WHERE GUID = @pNODEGUID
END
ELSE IF @RESULT_CHECK = 'INSERT'
BEGIN
PRINT '## INSERT - NODE (' + @NODE_CAPTION + ') MUSS ANGELEGT WERDEN'
INSERT INTO TBPMO_STRUCTURE_NODES (NODE_CONFIG_ID,NODE_CAPTION,ID1,ID2,PARENT_GUID,COLOR,SEQUENCE,ADDED_WHO) VALUES (
@NODE_CONFIG_ID,@NODE_CAPTION,@ID1,@ID2,@PARENT_GUID,@NODE_COLOR,@SEQUENCE, @WHO)
SELECT @pNODEGUID = NODE_GUID, @RESULT_CHECK = RESULT FROM [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @ID1,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE)
END
RETURN
END TRY
BEGIN CATCH --Fehlerbehandlung
SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
RAISERROR(@FEHLER,16,1)
END CATCH
GO

View File

@@ -0,0 +1,117 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.1' where NAME = 'Record-Organizer'
GO
If not exists(SELECT GUID FROM TBDD_SQL_COMMANDS where TITLE = 'ADDI_DOC_SEARCH_RECORD')
BEGIN
INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES ('ADDI_DOC_SEARCH_RECORD',
'SELECT
T.*,
ISNULL(T1.VALUE,'''') AS OPTION1,
ISNULL(T2.VALUE,'''') AS OPTION2,
ISNULL(T3.VALUE,'''') AS OPTION3,
ISNULL(T4.VALUE,'''') AS OPTION4,
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,@ENTITY_ID,''DOCIDX1'') AS DOCIDX1,
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,@ENTITY_ID,''DOCIDX2'') AS DOCIDX2,
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,@ENTITY_ID,''DOCIDX3'') AS DOCIDX3,
[dbo].[FNPMO_DOC_GET_IDX] (T.DocID,@ENTITY_ID,''DOCIDX4'') AS DOCIDX4,
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,@ENTITY_ID,''DROPDOWN1'',''7'',TRL.RECORD_ID) AS DROPDOWN1,
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,@ENTITY_ID,''DROPDOWN2'',''7'',TRL.RECORD_ID) AS DROPDOWN2,
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,@ENTITY_ID,''DROPDOWN3'',''7'',TRL.RECORD_ID) AS DROPDOWN3,
[dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] (T.DocID,@ENTITY_ID,''DROPDOWN4'',''7'',TRL.RECORD_ID) AS DROPDOWN4,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC.GUID),'''') AS VALUE1,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC1.GUID),'''') AS VALUE2,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC2.GUID),'''') AS VALUE3,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC3.GUID),'''') AS VALUE4,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC4.GUID),'''') AS VALUE5,
COALESCE([dbo].[FNPMO_DOC_GET_DOC_VALUE] (T.DocID,TRL.RECORD_ID,TRC5.GUID),'''') AS VALUE6,
dwAccessRight AS ACCESS_RIGHT FROM VWPMO_DOC_SEARCH T INNER JOIN
TBPMO_DOC_RECORD_LINK TRL ON T.DocID = TRL.DOC_ID INNER JOIN
TBPMO_RECORD TR ON TRL.RECORD_ID = TR.GUID INNER JOIN
VWPMO_WD_OBJECT_RIGHTS TRIGHTS ON T.DocID = TRIGHTS.dwObjectID LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC ON TR.FORM_ID = TRC.ENTITY_ID AND TRC.LANGUAGE = ''@USER_LANGUAGE'' AND TRC.GUID = @VALUE_CONF1 LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC1 ON TR.FORM_ID = TRC1.ENTITY_ID AND TRC1.LANGUAGE = ''@USER_LANGUAGE'' AND TRC1.GUID = @VALUE_CONF2 LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC2 ON TR.FORM_ID = TRC2.ENTITY_ID AND TRC2.LANGUAGE = ''@USER_LANGUAGE'' AND TRC2.GUID = @VALUE_CONF3 LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC3 ON TR.FORM_ID = TRC3.ENTITY_ID AND TRC3.LANGUAGE = ''@USER_LANGUAGE'' AND TRC3.GUID = @VALUE_CONF4 LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC4 ON TR.FORM_ID = TRC4.ENTITY_ID AND TRC4.LANGUAGE = ''@USER_LANGUAGE'' AND TRC4.GUID = @VALUE_CONF5 LEFT JOIN
TBPMO_DOCSEARCH_RESULTLIST_CONFIG TRC5 ON TR.FORM_ID = TRC5.ENTITY_ID AND TRC5.LANGUAGE = ''@USER_LANGUAGE'' AND TRC5.GUID = @VALUE_CONF6 LEFT JOIN
TBPMO_CONTROL_VALUE T1 ON TRL.RECORD_ID = T1.RECORD_ID AND T1.CONTROL_ID = @OPTION1 LEFT JOIN
TBPMO_CONTROL_VALUE T2 ON TRL.RECORD_ID = T2.RECORD_ID AND T2.CONTROL_ID = @OPTION2 LEFT JOIN
TBPMO_CONTROL_VALUE T3 ON TRL.RECORD_ID = T3.RECORD_ID AND T3.CONTROL_ID = @OPTION3 LEFT JOIN
TBPMO_CONTROL_VALUE T4 ON TRL.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = @OPTION4
WHERE TRL.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID AND TRIGHTS.dwUserOrGroupID = @USERID_FK_INT_ECM')
END
GO
CREATE VIEW [dbo].[VWPMO_DOC_INDICES] AS
SELECT
T.DocID,
T1.DOCTYPE_ID,
T.VALUE,
T1.COLUMN_CAPTION,
T1.GUID AS INDEX_ID,
T1.NAME AS INDEX_NAME
FROM
TBPMO_DOC_INDICES T,
TBPMO_INDEX_MAN T1
WHERE
T.INDEX_ID = T1.GUID AND
T1.COL_VISIBLE = 1
GO
CREATE VIEW [dbo].[VWCUST_DOCTYPE_CONFIG] as
SELECT
0 as DOCTYPE_ID,
CONVERT(BIT,0) DELETE_RIGHTS
GO
ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@RECORD_ID INTEGER,
@DOC_ID INTEGER,
@ADDED_WHO VARCHAR(50),
@ENTITY_ID INTEGER
SELECT
@RECORD_ID = RECORD_ID,
@DOC_ID = DOC_ID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
--Den Defaultvalue der DropdownListe eintragen
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
BEGIN
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1
END
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
BEGIN
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1
END
EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
/*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
--DECLARE
-- @ENITTY_ID INTEGER,
-- @DOCTYPE VARCHAR(250),
-- @SUPPLIER VARCHAR(250)
--SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
--IF @ENITTY_ID = 21
-- BEGIN
-- SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
-- SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
-- IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
-- BEGIN
-- INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
-- END
-- END
/*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
END TRY
BEGIN CATCH
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO

View File

@@ -0,0 +1,14 @@
--CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS
ALTER TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS
ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG
FOR INSERT
AS
BEGIN TRY
INSERT INTO TBPMO_DOC_VALUES(DocID,CONFIG_ID,VALUE,ADDED_WHO)
SELECT T.DOC_ID,I.GUID,'',I.ADDED_WHO FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD T1,INSERTED I WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = I.ENTITY_ID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH