diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql
index 8a505cd..007ad30 100644
--- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql
+++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql
@@ -1,5 +1,469 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.5';
GO
+/****** Object: StoredProcedure [dbo].[PRDD_SEND_REJECTION_MAIL] Script Date: 15.05.2025 09:29:08 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+-- PRDD_SEND_REJECTION_MAIL
+-- =================================================================
+-- Die Procedure verschickt die Ablehnungsmails für
+-- - ZUGFeRD-Service
+-- - E-Mail Profiler
+--
+-- Dabei werden die codierten Ablehnungsgründe mit dem
+-- E-Mail-Template verknüpft.
+-- =================================================================
+-- Copyright (c) 2024 by Digital Data GmbH
+--
+-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
+-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
+-- =================================================================
+-- Creation Date / Author: 13.03.2024 / MP
+-- =================================================================
+-- History:
+-- 13.03.2024 / MP - Prozedur erstellt
+-- 10.04.2024 / MP - RECEIPT_EMAIL_PHRASE ergänzt
+-- 17.04.2024 / MP - ZUGFeRD Integration fertiggestellt
+-- 18.04.2024 / MP - DEPLOYMENT_ENVIRONMENT (PROD/TEST) auswerten, um 2. Mail zu verhindern.
+-- 22.04.2024 / MP - Verwende FNCUST_SPLIT_STRING_WITH_GUID, um Ablehnungsgründe zu splitten
+-- 24.04.2024 / MP - REMINDER_TYPE_ID muss ungleich 1 sein
+
+CREATE PROCEDURE [dbo].[PRDD_SEND_REJECTION_MAIL]
+ @REF_MSGID VARCHAR(250) -- E-Mail MessageID
+ , @IDB_OBJ_ID BIGINT = 0 -- IDB_OBJ_ID
+ , @SENDING_PROFILE INTEGER = 0 -- Absenderprofil
+ , @REJ_SOURCE VARCHAR(50) -- Welcher Prozess lehnt ab?
+ , @MAIL_TEMPLATE INTEGER -- Welches Template soll verwendet werden?
+ , @REJ_REASONS VARCHAR(250) -- Liste mit IDs von Ablehnungsgründen, getrennt durch '|'
+ , @REPLACE_PARAM1 VARCHAR(MAX) -- Zusätzlicher Text-Parameter, ersetzt Platzhalter @REPLACE_PARAM1
+ , @REPLACE_PARAM2 VARCHAR(MAX) -- Zusätzlicher Text-Parameter, ersetzt Platzhalter @REPLACE_PARAM2
+ , @WF_ID INTEGER = 0 -- WorkflowID
+AS
+BEGIN
+ SET NOCOUNT ON;
+
+ DECLARE @EMAIL_ADRESS VARCHAR(250), @EMAIL_SUBJECT VARCHAR(250), @EMAIL_BODY VARCHAR(MAX), @COMMENT VARCHAR(500), @EMAIL_PATH VARCHAR(512),
+ @EMAIL_BODY1 VARCHAR(MAX), @EMAIL_BODY2 VARCHAR(MAX), @LANGUAGE VARCHAR(5), @CONNECTED_TEMPLATE_ID INTEGER,
+ @EMAIL_BODY1_CON VARCHAR(MAX), @EMAIL_BODY2_CON VARCHAR(MAX), @LANGUAGE_CON VARCHAR(5),
+ @REASON_ID VARCHAR(100), @REJ_REASON VARCHAR(900), @ORG_EMAIL_SUBJECT VARCHAR(250), @ORG_EMAIL_DATE VARCHAR(25),
+ @FILENAME VARCHAR(512), @REL_PATH VARCHAR(250), @PROCEDURE_NAME VARCHAR(30), @ALREADY_SENT_TODAY BIT,
+ @EMAIL_ADRESS_2 VARCHAR(250), @DEPLOYMENT_ENVIRONMENT VARCHAR(10);
+
+ DECLARE @REJ_REASON_TEMP_TABLE TABLE (REJ_ID VARCHAR(100), REJ_REASON VARCHAR(900), LANGUAGE VARCHAR(5));
+
+ SET @PROCEDURE_NAME = 'PRDD_SEND_REJECTION_MAIL'
+
+-- ====================================================================================================================================
+-- Prüfe Parameter
+-- ====================================================================================================================================
+
+ IF @REF_MSGID IS NULL OR LEN(@REF_MSGID) <= 0
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### Parameter @REF_MSGID is NULL or Empty! ###'
+ RETURN;
+ END
+
+ IF @REJ_SOURCE IS NULL OR LEN(@REJ_SOURCE) <= 0
+ BEGIN
+ SET @REJ_SOURCE = 'Unkown Source (PRDD_SEND_REJECTION_MAIL)'
+ END
+
+ IF @MAIL_TEMPLATE <= 0
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### Parameter @MAIL_TEMPLATE is invalid! ###'
+ RETURN;
+ END
+
+-- ====================================================================================================================================
+-- Lade Daten des E-Mail-Eingangs
+-- ====================================================================================================================================
+ DECLARE @TEMP_DATE DATETIME
+
+ SELECT
+ @EMAIL_ADRESS = EMAIL_FROM,
+ @ORG_EMAIL_SUBJECT = EMAIL_SUBJECT,
+ @TEMP_DATE = EMAIL_DATE
+ FROM [DD_ECM].[dbo].[TBEMLP_HISTORY]
+ WHERE EMAIL_MSGID = @REF_MSGID;
+
+ IF @EMAIL_ADRESS IS NULL OR LEN(@EMAIL_ADRESS) <= 0
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### EMAIL_ADRESS IS NULL or Empty! ###'
+ SET @EMAIL_ADRESS = 'm.schreiber@digitaldata.works'
+ SET @ORG_EMAIL_SUBJECT = 'Default Subject!'
+ SET @TEMP_DATE = '2024-01-01'
+ END
+
+ SET @ALREADY_SENT_TODAY = 0
+ IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
+ BEGIN
+ IF EXISTS(SELECT 1
+ FROM TBEMLP_EMAIL_OUT
+ WHERE REFERENCE_ID = @IDB_OBJ_ID AND EMAIL_ADRESS = @EMAIL_ADRESS AND ADDED_WHO = @REJ_SOURCE AND CONVERT(DATE,ADDED_WHEN) = CONVERT(DATE,GETDATE()))
+ BEGIN
+ SET @ALREADY_SENT_TODAY = 1
+ END
+ END
+ ELSE
+ BEGIN
+ IF EXISTS(SELECT 1
+ FROM TBEMLP_EMAIL_OUT
+ WHERE REFERENCE_STRING = @REF_MSGID AND EMAIL_ADRESS = @EMAIL_ADRESS AND ADDED_WHO = @REJ_SOURCE AND CONVERT(DATE,ADDED_WHEN) = CONVERT(DATE,GETDATE()))
+ BEGIN
+ SET @ALREADY_SENT_TODAY = 1
+ END
+ END
+
+ IF @ALREADY_SENT_TODAY = 1
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### EMAIL with same reference already send today! ###'
+ --RETURN;
+ END
+
+ SET @ORG_EMAIL_DATE = CONVERT(VARCHAR(25), @TEMP_DATE, 120) -- yyyy-mm-dd hh:mm:ss
+
+ SELECT
+ @EMAIL_ADRESS_2 = ITEM_VALUE
+ FROM DD_ECM.dbo.TBEDMI_ITEM_VALUE
+ WHERE REFERENCE_GUID = @REF_MSGID
+ AND SPEC_NAME = 'INVOICE_SELLER_EMAIL';
+
+-- ====================================================================================================================================
+-- E-Mail-Absender
+-- ====================================================================================================================================
+
+ IF @SENDING_PROFILE <= 0
+ BEGIN
+ SELECT @SENDING_PROFILE = CONVERT(INTEGER, CAT_STRING)
+ FROM IDB.dbo.TBIDB_CATALOG
+ WHERE CAT_TITLE = 'REJECTION_EMAIL_PROFILE'
+ END
+
+ IF @SENDING_PROFILE <= 0
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### No SENDING PROFILE found! ###'
+ RETURN;
+ END
+
+-- ====================================================================================================================================
+-- Lade Konfiguration aus TBIDB_CATALOG
+-- ====================================================================================================================================
+
+ SELECT @DEPLOYMENT_ENVIRONMENT = CAT_STRING
+ FROM IDB.dbo.TBIDB_CATALOG
+ WHERE CAT_TITLE = 'DEPLOYMENT_ENVIRONMENT';
+
+-- ====================================================================================================================================
+-- Lade E-Mail-Template(s)
+-- ====================================================================================================================================
+
+ IF NOT EXISTS (SELECT 1 FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE] WHERE GUID = @MAIL_TEMPLATE)
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### No EMAIL TEMPLATE found! ###'
+ RETURN;
+ END
+
+ SELECT
+ @EMAIL_SUBJECT = EMAIL_SUBJECT,
+ @EMAIL_BODY1 = EMAIL_BODY1,
+ @EMAIL_BODY2 = EMAIL_BODY2,
+ @LANGUAGE = [LANGUAGE],
+ @CONNECTED_TEMPLATE_ID = CONNECTED_TEMPLATE
+ FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE]
+ WHERE GUID = @MAIL_TEMPLATE;
+
+ IF @CONNECTED_TEMPLATE_ID > 0
+ BEGIN
+ SELECT
+ @EMAIL_BODY1_CON = EMAIL_BODY1,
+ @EMAIL_BODY2_CON = EMAIL_BODY2,
+ @LANGUAGE_CON = [LANGUAGE]
+ FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE]
+ WHERE GUID = @CONNECTED_TEMPLATE_ID;
+ END
+ ELSE
+ BEGIN
+ SET @LANGUAGE_CON = @LANGUAGE
+ END
+
+-- ====================================================================================================================================
+-- Lade Ablehnungsgründe in temporäre Tabelle
+-- ====================================================================================================================================
+
+ IF @REJ_REASONS IS NULL OR LEN(@REJ_REASONS) <= 0
+ BEGIN
+ PRINT @PROCEDURE_NAME + ' - ### NO Rejection Reasons! ###'
+ RETURN;
+ END
+
+ IF @REJ_REASONS LIKE '%|%'
+ BEGIN
+ -- Es gibt mehrere Gründe
+ DECLARE cursorGetRejReasons CURSOR LOCAL FAST_FORWARD FOR
+
+ SELECT Item FROM DD_ECM.[dbo].[FNCUST_SPLIT_STRING_WITH_GUID] (@REJ_REASONS, '|')
+
+ OPEN cursorGetRejReasons
+ FETCH NEXT FROM cursorGetRejReasons INTO @REASON_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ INSERT INTO @REJ_REASON_TEMP_TABLE (REJ_ID, REJ_REASON, [LANGUAGE])
+ SELECT TITLE AS REJ_ID, STRING1 AS REJ_REASON, [LANGUAGE]
+ FROM [DD_ECM].[dbo].[TBDD_GUI_LANGUAGE_PHRASE]
+ WHERE [TITLE] = 'RejectReason' + @REASON_ID AND [LANGUAGE] IN (@LANGUAGE, @LANGUAGE_CON);
+
+ FETCH NEXT FROM cursorGetRejReasons INTO @REASON_ID
+ END
+ CLOSE cursorGetRejReasons
+ DEALLOCATE cursorGetRejReasons
+ END
+ ELSE
+ BEGIN
+ INSERT INTO @REJ_REASON_TEMP_TABLE (REJ_ID, REJ_REASON, [LANGUAGE])
+ SELECT TITLE AS REJ_ID, STRING1 AS REJ_REASON, [LANGUAGE]
+ FROM [DD_ECM].[dbo].[TBDD_GUI_LANGUAGE_PHRASE]
+ WHERE [TITLE] = @REJ_REASONS AND [LANGUAGE] IN (@LANGUAGE, @LANGUAGE_CON);
+ END
+
+-- ====================================================================================================================================
+-- Stelle E-Mail Body zusammen
+-- ====================================================================================================================================
+ DECLARE @REASON_COUNTER INTEGER
+
+ SET @REASON_COUNTER = 1
+
+ SET @EMAIL_BODY = '
'
+ SET @EMAIL_BODY += @EMAIL_BODY1
+
+ DECLARE cursorSelectRejReasons CURSOR LOCAL FAST_FORWARD FOR
+
+ SELECT REJ_ID, REJ_REASON
+ FROM @REJ_REASON_TEMP_TABLE
+ WHERE [LANGUAGE] = @LANGUAGE;
+
+ OPEN cursorSelectRejReasons
+ FETCH NEXT FROM cursorSelectRejReasons INTO @REASON_ID, @REJ_REASON
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ IF @REASON_COUNTER > 1
+ BEGIN
+ SET @EMAIL_BODY += '
' + @REJ_REASON;
+ END
+ ELSE
+ BEGIN
+ -- 1. Zeile
+ SET @EMAIL_BODY += @REJ_REASON
+ END
+
+ SET @REASON_COUNTER += 1;
+ FETCH NEXT FROM cursorSelectRejReasons INTO @REASON_ID, @REJ_REASON
+ END
+ CLOSE cursorSelectRejReasons
+ DEALLOCATE cursorSelectRejReasons
+
+ SET @EMAIL_BODY += @EMAIL_BODY2
+
+ IF @CONNECTED_TEMPLATE_ID > 0
+ BEGIN
+ SET @REASON_COUNTER = 1
+ SET @EMAIL_BODY += '====================================================================================================================================
'
+ SET @EMAIL_BODY += @EMAIL_BODY1_CON
+
+ DECLARE cursorSelectRejReasonsCon CURSOR LOCAL FAST_FORWARD FOR
+
+ SELECT REJ_ID, REJ_REASON
+ FROM @REJ_REASON_TEMP_TABLE
+ WHERE [LANGUAGE] = @LANGUAGE_CON;
+
+ OPEN cursorSelectRejReasonsCon
+ FETCH NEXT FROM cursorSelectRejReasonsCon INTO @REASON_ID, @REJ_REASON
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ IF @REASON_COUNTER > 1
+ BEGIN
+ SET @EMAIL_BODY += '
' + @REJ_REASON;
+ END
+ ELSE
+ BEGIN
+ -- 1. Zeile
+ SET @EMAIL_BODY += @REJ_REASON
+ END
+
+ SET @REASON_COUNTER += 1;
+ FETCH NEXT FROM cursorSelectRejReasonsCon INTO @REASON_ID, @REJ_REASON
+ END
+ CLOSE cursorSelectRejReasonsCon
+ DEALLOCATE cursorSelectRejReasonsCon
+
+ SET @EMAIL_BODY += @EMAIL_BODY2_CON
+ END
+
+ SET @EMAIL_BODY += '(' + @REJ_REASONS + ')
'
+ SET @EMAIL_BODY += ''
+
+-- ====================================================================================================================================
+-- Ersetze Platzhalter in SUBJECT und BODY
+-- ====================================================================================================================================
+ DECLARE @LAST_USER VARCHAR(100), @LAST_USER_EMAIL VARCHAR(100), @ORG_INVOICE_NR VARCHAR(50), @INVOICE_NR_VALUE VARCHAR(50)
+
+ SET @ORG_INVOICE_NR = '[KEINE BELEGNR GEFUNDEN/GELIEFERT]'
+ SET @INVOICE_NR_VALUE = ''
+ SET @LAST_USER = 'No User so far'
+ SET @LAST_USER_EMAIL = ''
+ SET @ORG_EMAIL_SUBJECT = REPLACE(@ORG_EMAIL_SUBJECT,'[EXTERNAL] ', '')
+
+ IF EXISTS(SELECT ITEM_VALUE FROM [DD_ECM].[dbo].TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @REF_MSGID and SPEC_NAME = 'INVOICE_NUMBER')
+ BEGIN
+ SELECT @INVOICE_NR_VALUE = ITEM_VALUE
+ FROM [DD_ECM].[dbo].TBEDMI_ITEM_VALUE
+ WHERE REFERENCE_GUID = @REF_MSGID and SPEC_NAME = 'INVOICE_NUMBER';
+
+ SET @ORG_INVOICE_NR = @INVOICE_NR_VALUE;
+ END
+
+ IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
+ BEGIN
+ SELECT
+ @LAST_USER = PRENAME + ' ' + COALESCE([NAME],''),
+ @LAST_USER_EMAIL = EMAIL
+ FROM [DD_ECM].[dbo].TBDD_USER
+ --WHERE USERNAME = [DD_ECM].[dbo].[FNPM_LAST_WORKUSER_DOC] (@IDB_OBJ_ID)
+ END
+ --PRINT '@REPLACE_PARAM1:' + @REPLACE_PARAM1
+ SET @EMAIL_SUBJECT = REPLACE(@EMAIL_SUBJECT, '@ORG_INVOICE_NR', @ORG_INVOICE_NR)
+
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_MSGID', @REF_MSGID)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_INVOICE_NR', @ORG_INVOICE_NR)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_SUBJECT', @ORG_EMAIL_SUBJECT)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_DATE', @ORG_EMAIL_DATE)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@LAST_USER', @LAST_USER)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@LAST_USER_EMAIL', @LAST_USER_EMAIL)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@REPLACE_PARAM1', @REPLACE_PARAM1)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@REPLACE_PARAM2', @REPLACE_PARAM2)
+ --Print @EMAIL_BODY
+-- ====================================================================================================================================
+-- Ersetze Platzhalter @RECEIPT_EMAIL_PHRASE / @RECEIPT_EMAIL_PHRASE_EN im BODY
+-- ====================================================================================================================================
+ DECLARE @RECEIPT_EMAIL_DE_PHRASE VARCHAR(100), @RECEIPT_EMAIL_EN_PHRASE VARCHAR(100)
+
+ SET @RECEIPT_EMAIL_DE_PHRASE = 'Email'
+ SET @RECEIPT_EMAIL_EN_PHRASE = 'Email'
+
+ -- Wenn Belegnummer vorliegt, dann konkreter Text
+ IF LEN(@INVOICE_NR_VALUE) > 1
+ BEGIN
+ SET @RECEIPT_EMAIL_DE_PHRASE = 'Rechnung ' + @INVOICE_NR_VALUE
+ SET @RECEIPT_EMAIL_EN_PHRASE = 'Invoice ' + @INVOICE_NR_VALUE
+ END
+
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@RECEIPT_EMAIL_DE_PHRASE', @RECEIPT_EMAIL_DE_PHRASE)
+ SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@RECEIPT_EMAIL_EN_PHRASE', @RECEIPT_EMAIL_EN_PHRASE)
+
+-- ====================================================================================================================================
+-- Evtl. vorhandener Dateianhang
+-- ====================================================================================================================================
+
+ SET @EMAIL_PATH = ''
+ IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
+ BEGIN
+ SELECT @REL_PATH = [CAT_STRING] FROM [IDB].[dbo].[TBIDB_CATALOG] WHERE [CAT_TITLE] = 'FILESTORE_PRAEFIX';
+ SELECT @FILENAME = RELATIVE_PATH FROM [IDB].[dbo].[TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID;
+ IF LEN(@FILENAME) > 0
+ BEGIN
+ BEGIN
+ IF @FILENAME NOT LIKE @REL_PATH + '%'
+ BEGIN
+ SET @FILENAME = @REL_PATH + @FILENAME
+ END
+ END
+ SET @EMAIL_PATH = @FILENAME
+ END
+ ELSE
+ SET @EMAIL_PATH = 'F:\DocumentProcessing\Output\File\DocumentKindAssigned\ZUGFeRD\Success\archive\'
+ END
+
+-- ====================================================================================================================================
+-- Füge E-Mail-Daten in Tabelle ein
+-- ====================================================================================================================================
+
+ INSERT INTO [DD_ECM].[dbo].[TBEMLP_EMAIL_OUT]
+ (
+ [SENDING_PROFILE] -- REQUIRED
+ , [REFERENCE_ID] -- REQUIRED
+ , [REFERENCE_STRING]
+ , [WF_ID] -- REQUIRED
+ , [EMAIL_ADRESS] -- REQUIRED
+ , [EMAIL_SUBJ] -- REQUIRED
+ , [EMAIL_BODY] -- REQUIRED
+ , [COMMENT]
+ , [ADDED_WHO] -- REQUIRED
+ , [EMAIL_ATTMT1]
+ , [REMINDER_TYPE_ID]
+ ) VALUES (
+ @SENDING_PROFILE
+ , @IDB_OBJ_ID
+ , @REF_MSGID
+ , @WF_ID
+ , @EMAIL_ADRESS
+ , @EMAIL_SUBJECT
+ , @EMAIL_BODY
+ , @COMMENT
+ , @REJ_SOURCE
+ , @EMAIL_PATH
+ , 77
+ );
+
+-- ====================================================================================================================================
+-- Füge E-Mail-Daten in Tabelle ein, falls 2. E-Mail-Adresse vorliegt, und
+-- diese sich von der 1. E-Mail-Adresse unterscheidet!
+-- ====================================================================================================================================
+
+ IF @DEPLOYMENT_ENVIRONMENT = 'PROD' AND
+ LEN(@EMAIL_ADRESS_2) > 0 AND @EMAIL_ADRESS <> @EMAIL_ADRESS_2
+ BEGIN
+ INSERT INTO [DD_ECM].[dbo].[TBEMLP_EMAIL_OUT]
+ (
+ [SENDING_PROFILE] -- REQUIRED
+ , [REFERENCE_ID] -- REQUIRED
+ , [REFERENCE_STRING]
+ , [WF_ID] -- REQUIRED
+ , [EMAIL_ADRESS] -- REQUIRED
+ , [EMAIL_SUBJ] -- REQUIRED
+ , [EMAIL_BODY] -- REQUIRED
+ , [COMMENT]
+ , [ADDED_WHO] -- REQUIRED
+ , [EMAIL_ATTMT1]
+ , [REMINDER_TYPE_ID]
+ ) VALUES (
+ @SENDING_PROFILE
+ , @IDB_OBJ_ID
+ , @REF_MSGID
+ , @WF_ID
+ , @EMAIL_ADRESS_2 -- EMAIL_ADRESS_2
+ , @EMAIL_SUBJECT
+ , @EMAIL_BODY
+ , @COMMENT
+ , @REJ_SOURCE
+ , @EMAIL_PATH
+ , 77
+ );
+ END
+END
+GO
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
DELETE FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE;
Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
new file mode 100644
index 0000000..740db0f
--- /dev/null
+++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
@@ -0,0 +1,109 @@
+UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.6';
+GO
+
+
+DELETE FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE;
+Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
+(SPECNAME, Row_Caption, Area, xPosition, SequenceItem, Y_eq_lastrow, Display) values
+('INVOICE_TYPE', '', 'TYPE', 10, 1, 0, 0),
+('INVOICE_CURRENCY', '', 'TYPE', 10, 2, 0, 0),
+('INVOICE_NUMBER', 'Rechnungsnummer/Invoice-No:', 'HEAD', 10, 3, 0, 1),
+('INVOICE_DATE', 'Datum/Date:', 'HEAD', 10, 4, 0, 1),
+('INVOICE_SERVICE_DATE','Leistungsdatum/Service date:', 'HEAD', 10, 5, 0, 1),
+('INVOICE_SELLER_NAME', '', 'SELLER', 10, 6, 0, 1),
+('INVOICE_SELLER_ADDRESS', '', 'SELLER', 10, 7, 0, 1),
+('INVOICE_SELLER_POSTALCODE', '', 'SELLER', 10, 8, 0, 1),
+('INVOICE_SELLER_CITY', '', 'SELLER', 35, 9, 1, 1),
+('INVOICE_SELLER_TAX_ID', 'USt-ID/Seller tax ID:', 'SELLER', 10, 10, 0, 1),
+('INVOICE_SELLER_ID', 'Lieferant-Nr/Seller ID:', 'SELLER', 10, 11, 0, 1),
+('INVOICE_BUYER_NAME', '', 'BUYER', 10, 12, 0, 1),
+('INVOICE_BUYER_ADRESS2', '', 'BUYER', 10, 13, 0, 1),
+('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 14, 0, 1),
+('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 15, 0, 1),
+('INVOICE_BUYER_CITY', '', 'BUYER', 35, 16, 1, 1),
+--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
+('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 17, 0, 0),
+('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 18, 0, 0),
+('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 19, 0, 0),
+('INVOICE_POSITION_ARTICLE_DESC', '', 'POSITION', 10, 20, 0, 0),
+('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 21, 0, 0),
+('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 22, 0, 0),
+('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 23, 0, 1),
+('INVOICE_TOTAL_NET', 'Nettobetrag/Net amount:', 'AMOUNT', 10, 400, 0, 1),
+('INVOICE_TOTAL_TAX', 'Steuerbetrag/Tax amount:', 'AMOUNT', 10, 401, 0, 1),
+('INVOICE_TOTAL_GROSS', 'Bruttobetrag/Gross amount:', 'AMOUNT', 10, 402, 0, 1),
+('INVOICE_TAXPOS_RATE', '', 'TAXPOS', 10, 403, 1, 0),
+('INVOICE_TAXPOS_AMOUNT', '', 'TAXPOS', 10, 404, 0, 0),
+('INVOICE_TAXPOS_TYPE', '', 'TAXPOS', 10, 405, 1, 1),
+('INVOICE_TAXPOS_EXEMPTION_REASON', '', 'EXEMPTION', 10, 406, 0, 1),
+('INVOICE_TAXPOS_EXEMPTION_REASON_CODE', '', 'EXEMPTION', 10, 407, 0, 1),
+('INVOICE_PAYMENT_TERMS','', 'PAYMENT', 10, 500, 0, 1),
+('INVOICE_PAYMENT_IBAN','IBAN:', 'PAYMENT', 10, 501, 0, 1),
+('INVOICE_PAYMENT_BIC','BIC:', 'PAYMENT', 10, 502, 0, 1);
+GO
+--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
+--CHANGED 06.03.2025 INV_POS_NOTE integriert
+ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100))
+RETURNS TABLE
+AS RETURN
+ (
+ SELECt A.SPEC_NAME,A.ITEM_VALUE,A.Area,A.Row_Caption,A.xPosition,A.Y_eq_lastrow,A.SequenceItem ORDER_SEQ,A.Display FROM VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS A
+ WHERE REFERENCE_GUID = @pMSGID
+ AND A.SPEC_NAME NOT IN ('INVOICE_POSITION_AMOUNT','INVOICE_POSITION_UNIT_TYPE','INVOICE_POSITION_NOTE',
+ 'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_ARTICLE_DESC','INVOICE_TAXPOS_AMOUNT',
+ 'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE','INVOICE_POSITION_TAX_AMOUNT')
+ UNION
+ SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID)
+ UNION
+ SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID)
+ UNION
+ SELECT SPECNAME SPEC_NAME,Row_Caption,Area,Row_Caption Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'INTERNAL'
+ )
+GO
+
+
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+--CHANGED 02.06.2025 Nur Items mit INhalt
+--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
+--CHANGED 06.03.2025 INV_POS_NOTE integriert
+ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID VARCHAR(100))
+RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT)
+AS
+BEGIN
+ DECLARE @GROUP_COUNTER INT,@INDEX INT = 15
+ DECLARE cursGroupCounter CURSOR FOR
+ select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_POSITION_AMOUNT' ORDER BY GROUP_COUNTER
+ OPEN cursGroupCounter
+ FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT
+ DECLARE cursPosItems CURSOR FOR
+ select A.SPEC_NAME,ITEM_VALUE,Display from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME WHERE REFERENCE_GUID = @pMSGID And A.SPEC_NAME IN ('INVOICE_POSITION_AMOUNT','INVOICE_POSITION_UNIT_TYPE',
+ 'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_NOTE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_ARTICLE_DESCRIPTION','INVOICE_POSITION_TAX_AMOUNT') AND GROUP_COUNTER = @GROUP_COUNTER
+ AND LEN(ITEM_VALUE) > 0
+ ORDER BY B.SequenceItem
+ OPEN cursPosItems
+ FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @INDEX += 1
+ INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display) VALUES
+ (@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX,@Display)
+ FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display
+ END
+ CLOSE cursPosItems
+ DEALLOCATE cursPosItems
+ FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
+ END
+ CLOSE cursGroupCounter
+ DEALLOCATE cursGroupCounter
+RETURN
+END
+GO
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/CREATE_DB_OBJECTS_RO.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/CREATE_DB_OBJECTS_RO.sql
index c584c95..b455b6a 100644
--- a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/CREATE_DB_OBJECTS_RO.sql
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/CREATE_DB_OBJECTS_RO.sql
@@ -11,8 +11,15 @@
####################################*/
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.4' where NAME = 'Record-Organizer'
GO
-
-INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN)
+IF EXISTS(select GUID from TBDD_USER_MODULES where USER_ID = (SELECT GUID AS USRID FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER')
+ AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'))
+ BEGIN
+ PRINT 'USER-MODULE ZO GIBT ES SCHON!'
+ UPDATE TBDD_USER_MODULES SET IS_ADMIN = 1 WHERE GUID = (select GUID from TBDD_USER_MODULES where USER_ID = (SELECT GUID AS USRID FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER')
+ AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'))
+ END
+ELSE
+ INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN)
SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'),1 FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER';
GO
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/0_Copy_and _Create_Config.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/0_Copy_and _Create_Config.sql
new file mode 100644
index 0000000..b698c25
--- /dev/null
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/0_Copy_and _Create_Config.sql
@@ -0,0 +1,93 @@
+ DECLARE @REMOTE_CONF_ID INT,@LOCAL_ENT_ID INT = 15,@PARID INT
+ DECLARE cursControls CURSOR FOR
+ SELECT GUID,PARENT_NODE
+ FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE ENTITY_ID = 15 ORDER BY PARENT_NODE
+ OPEN cursControls
+ FETCH NEXT FROM cursControls INTO @REMOTE_CONF_ID,@PARID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @LOCAL_CTRL_ID INT, @LOCAL_CTRL_SCR_ID INT
+ INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES_CONFIGURATION]
+ ([PARENT_NODE]
+ ,[CONTROL_ID]
+ ,[NAME]
+ ,[ENTITY_ID]
+ ,[TYPE_NODE]
+ ,[NODE_IMAGE]
+ ,[CREATE_RECORD]
+ ,[COMMENT]
+ ,[EXPAND]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+)
+
+ SELECT
+ [PARENT_NODE]
+ ,[CONTROL_ID]
+ ,[NAME]
+ ,15
+ ,[TYPE_NODE]
+ ,[NODE_IMAGE]
+ ,[CREATE_RECORD]
+ ,[COMMENT]
+ ,[EXPAND]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_STRUCTURE_NODES_CONFIGURATION] WHERE GUID = 1
+ SELECT @LOCAL_CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL;
+ --CONTROL-SCREEN INSERTEN
+ INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN]
+ ([CONTROL_ID]
+ ,[SCREEN_ID]
+ ,[CONTROL_TEXT]
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP] )
+ SELECT
+ @LOCAL_CTRL_ID
+ ,[SCREEN_ID]
+ ,[CONTROL_TEXT]
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP]
+ FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CONF_ID;
+ SELECT @LOCAL_CTRL_SCR_ID = MAX(GUID) FROM [TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @LOCAL_CTRL_ID;
+ INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE]
+ ([LANGUAGE_TYPE]
+ ,[CONTROL_SCREEN_ID]
+ ,[CAPTION]
+ ,[HINT])
+ SELECT [LANGUAGE_TYPE]
+ ,@LOCAL_CTRL_SCR_ID
+ ,[CAPTION]
+ ,[HINT] FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_LANGUAGE] WHERE CONTROL_SCREEN_ID = (
+ SELECT GUID FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CONF_ID)
+ FETCH NEXT FROM cursControls INTO @REMOTE_CONF_ID,@PARID
+ END
+ CLOSE cursControls
+ DEALLOCATE cursControls
+
+
+
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Demo_Personal.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Demo_Personal.sql
new file mode 100644
index 0000000..01a39c3
--- /dev/null
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Demo_Personal.sql
@@ -0,0 +1,78 @@
+DECLARE @NC_PERSONAL INT,@NC_SF INT,@SN_MAIN_GUID INTEGER,@NODE_PERSONAL INTEGER,@ID1 VARCHAR(100)
+SELECT @NC_PERSONAL = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Hauptknoten Personal'
+SELECT @NC_SF = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Dateiablage'
+SELECT @SN_MAIN_GUID = [CAT_STRING] FROM TBDD_CATALOG where CAT_TITLE = 'PA_NODE_GUID_STAMM';
+
+
+DECLARE cursMA CURSOR FOR
+SELECT A.Personal FROM
+ (select 'Fuchs, Nadine' as Personal union
+ select 'König, Klaus' as Personal union
+ select 'Müller, Gabriele' as Personal union
+ select 'Schröder, Anke' as Personal union
+ select 'Li, Kim' as Personal union
+ select 'Zimmer, Klaus' as Personal union
+ select 'Faber, Sandra' as Personal union
+ select 'Hofamnn, Thomas' as Personal) A -- WHERE NOT EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE ID1 = A.Personal)
+ OPEN cursMA
+ FETCH NEXT FROM cursMA INTO @ID1
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM [TBPMO_STRUCTURE_NODES] WHERE ID1 = @ID1 and NODE_CONFIG_ID = @NC_PERSONAL AND PARENT_GUID = @SN_MAIN_GUID)
+ INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES]
+ ([NODE_CONFIG_ID]
+ ,[NODE_CAPTION]
+ ,[ID1]
+ ,[PARENT_GUID])
+ VALUES
+ (@NC_PERSONAL,
+ @ID1,
+ @ID1,
+ @SN_MAIN_GUID);
+ ELSE
+ PRINT 'MITARBEITER-KNOTEN GIBT ES SChon'
+ SELECT @NODE_PERSONAL = GUID FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @ID1 AND NODE_CONFIG_ID = @NC_PERSONAL;
+ DECLARE @Folder Varchar(100)
+ DECLARE CursDokFolder CURSOR FOR
+ select 'Urlaub' as DOK_FOLDER UNION
+ select 'Vertragsunterlagen' as DOK_FOLDER UNION
+ select 'Einstellungsunterlagen' as DOK_FOLDER UNION
+ select 'Urlaub' as DOK_FOLDER UNION
+ select 'Weiterbildung' as DOK_FOLDER UNION
+ select 'Meldungen' as DOK_FOLDER UNION
+ select 'Lohn und Gehalt' as DOK_FOLDER
+ OPEN CursDokFolder
+ FETCH NEXT FROM CursDokFolder INTO @Folder
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM [TBPMO_STRUCTURE_NODES] WHERE ID1 = @ID1 + '-' + @Folder AND PARENT_GUID = @NODE_PERSONAL)
+ --Dokumentenordner anlegen
+ INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES]
+ ([NODE_CONFIG_ID]
+ ,[NODE_CAPTION]
+ ,[ID1]
+ ,[PARENT_GUID])
+ VALUES
+ (@NC_SF,
+ @Folder,
+ @ID1 + '-' + @Folder,
+ @NODE_PERSONAL);
+ ELSE
+ PRINT 'Knoten ' + @ID1 + '-' + @Folder + ' gibt es schon!'
+ FETCH NEXT FROM CursDokFolder INTO @Folder
+ END
+ CLOSE CursDokFolder
+ DEALLOCATE CursDokFolder
+
+ FETCH NEXT FROM cursMA INTO @ID1
+ END
+ CLOSE cursMA
+ DEALLOCATE cursMA
+
+
+
+
+
+
+
+
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Records_and_Controls.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Records_and_Controls.sql
new file mode 100644
index 0000000..0c3749f
--- /dev/null
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/Personalakte/1_Create_Records_and_Controls.sql
@@ -0,0 +1,85 @@
+
+-- =============================================
+-- Author:
+-- Description: 3
+
+ --select * from TBPMO_STRUCTURE_NODES where NODE_CONFIG_ID = 19
+
+ OPEN MYCURSOR
+ FETCH NEXT FROM MYCURSOR INTO @NODE_GUID,@NODE_CONFIG_ID,@ENTITY_ID,@CAPTION,@ID1,@TYPE_NODE,@PARENT_GUID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @RECORD_ID INTEGER
+
+
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE NODE_GUID = @NODE_GUID)
+ BEGIN
+ EXEC PRPMO_CREATE_RECORD @RECORD_ID Output,@ENTITY_ID,'DDPA_CREATE'
+
+ IF @RECORD_ID > 0
+ BEGIN
+ UPDATE TBPMO_RECORD SET NODE_GUID = @NODE_GUID WHERE GUID = @RECORD_ID
+ SET @NODES_CREATED += 1
+ END
+ END
+ ELSE
+ BEGIN
+ SELECT @RECORD_ID = GUID FROM TBPMO_RECORD WHERE NODE_GUID = @NODE_GUID
+ END
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_GUID AND RECORD_ID = @RECORD_ID)
+ BEGIN
+ UPDATE TBPMO_STRUCTURE_NODES SET RECORD_ID = @RECORD_ID WHERE GUID = @NODE_GUID
+ END
+
+ IF @NODE_CONFIG_ID = @NC_PERSON_BASE
+ BEGIN
+ DECLARE @NACHNAME VARCHAR(50),@VORNAME VARCHAR(50),@NEW_CONTR_VAL_ID INTEGER
+ SELECT @NACHNAME = Data FROM dbo.FNDD_SPLIT_STRING(@ID1,',') where SequentialOrder = 1;
+ SELECT @VORNAME = Data FROM dbo.FNDD_SPLIT_STRING(@ID1,',') where SequentialOrder = 2;
+
+ EXEC PRPMO_CREATE_CONTROL_VALUE @NEW_CONTR_VAL_ID Output,@CTRL_ID_NN,@RECORD_ID,@NACHNAME,'Digital Data'
+ EXEC PRPMO_CREATE_CONTROL_VALUE @NEW_CONTR_VAL_ID Output,@CTRL_ID_VN,@RECORD_ID,@VORNAME,'Digital Data'
+ END
+
+ END
+ --########
+ FETCH NEXT FROM MYCURSOR INTO @NODE_GUID,@NODE_CONFIG_ID,@ENTITY_ID,@CAPTION,@ID1,@TYPE_NODE,@PARENT_GUID
+ END
+ CLOSE MYCURSOR
+ DEALLOCATE MYCURSOR
+ PRINT 'RECORDS CREATED: ' + CONVERT(VARCHAR(20),@NODES_CREATED)
+END
+
+
+
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/SQL Skripte - Help/COPY_CONTROLS_FOR_ENTITY.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/SQL Skripte - Help/COPY_CONTROLS_FOR_ENTITY.sql
new file mode 100644
index 0000000..a96224a
--- /dev/null
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/SQL Skripte - Help/COPY_CONTROLS_FOR_ENTITY.sql
@@ -0,0 +1,107 @@
+ DECLARE @REMOTE_CTRL_ID INT,@LOCAL_ENT_ID INT = 15
+ DECLARE cursControls CURSOR FOR
+ SELECT GUID
+ FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL] WHERE FORM_ID = 5 and guid <> 1
+ OPEN cursControls
+ FETCH NEXT FROM cursControls INTO @REMOTE_CTRL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @LOCAL_CTRL_ID INT, @LOCAL_CTRL_SCR_ID INT
+ INSERT INTO [dbo].[TBPMO_CONTROL]
+ (FORM_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[MULTILINE]
+ ,[STATIC_LIST]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[VISIBLE]
+ ,[TREE_VIEW]
+ ,[SELECT_ONLY]
+ ,[AUTO_SUGGEST])
+ SELECT
+ @LOCAL_ENT_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[MULTILINE]
+ ,[STATIC_LIST]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[VISIBLE]
+ ,[TREE_VIEW]
+ ,[SELECT_ONLY]
+ ,[AUTO_SUGGEST]
+ FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL] WHERE GUID = @REMOTE_CTRL_ID
+ SELECT @LOCAL_CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL;
+ --CONTROL-SCREEN INSERTEN
+ INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN]
+ ([CONTROL_ID]
+ ,[SCREEN_ID]
+ ,[CONTROL_TEXT]
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP] )
+ SELECT
+ @LOCAL_CTRL_ID
+ ,[SCREEN_ID]
+ ,[CONTROL_TEXT]
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP]
+ FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CTRL_ID;
+ SELECT @LOCAL_CTRL_SCR_ID = MAX(GUID) FROM [TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @LOCAL_CTRL_ID;
+ INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE]
+ ([LANGUAGE_TYPE]
+ ,[CONTROL_SCREEN_ID]
+ ,[CAPTION]
+ ,[HINT])
+ SELECT [LANGUAGE_TYPE]
+ ,@LOCAL_CTRL_SCR_ID
+ ,[CAPTION]
+ ,[HINT] FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_LANGUAGE] WHERE CONTROL_SCREEN_ID = (
+ SELECT GUID FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CTRL_ID)
+ FETCH NEXT FROM cursControls INTO @REMOTE_CTRL_ID
+ END
+ CLOSE cursControls
+ DEALLOCATE cursControls
+
+
+
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql
deleted file mode 100644
index 413b7d7..0000000
--- a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql
+++ /dev/null
@@ -1,1183 +0,0 @@
-
------------------------------------------------------------------------------------------
--- Nur bei der erste Ausführung !!!
-ALTER TABLE TBPMO_KONFIGURATION
- ADD ENTITY_TABLENAME VARCHAR(50) DEFAULT 'TBPMO_ENTITY_TABLE' NOT NULL
-GO
------------------------------------------------------------------------------------------
-ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND NVARCHAR(MAX);
-ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND1 NVARCHAR(MAX);
-ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND2 NVARCHAR(MAX);
-ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND3 NVARCHAR(MAX);
-ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND4 NVARCHAR(MAX);
-GO
-CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
---ALTER 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) + '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 PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
---ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
-AS
-DECLARE @SQL NVARCHAR(MAX),
- @COUNT_DOCS INT,
- @DOC_EXISTS TINYINT,
- @ENT_ID INT,
- @ENTITY_TABLENAME VARCHAR(50)
-BEGIN
- SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
-
- SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID
- SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID
- IF @COUNT_DOCS > 0
- SET @DOC_EXISTS = 1
- ELSE
- SET @DOC_EXISTS = 0
-
- SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID'
- SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID))
- SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS))
- SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS))
- SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID))
- SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
-
- EXEC sp_executesql @SQL
-END
-GO
------------------------------------------------------------------------------------------
-
-CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
---ALTER 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)
-
-DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID
-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
- SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN 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
- 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 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
- 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 PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
---ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
-AS
- DECLARE @SQL_UPDATE NVARCHAR(MAX),
- @ENTITY_TABLENAME VARCHAR(50),
- @TYPE_ID INT
-
-BEGIN
- SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
- SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
- IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox
- SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID)
-
- IF @VALUE_NEW IS NULL
- SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
- ELSE
- SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
-
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID))
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW)
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID))
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE()))
- SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO)
-
- EXEC sp_executesql @SQL_UPDATE
-END
-GO
------------------------------------------------------------------------------------------
-
---CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
-CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
-AS
-DECLARE @SQL NVARCHAR(MAX),
- @DEFAULT_VALUE VARCHAR(100),
- @ENTITY_TABLENAME VARCHAR(50),
- @TEMP_COL_NAME VARCHAR(50),
- @SQL_DEF NVARCHAR(MAX),
- @DFNAME VARCHAR(50),
- @DROP NVARCHAR(500)
-BEGIN
- SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
- SET @DEFAULT_VALUE = @pDEFAULT_VALUE
-
- IF @pACTION = 0 -- Für Insert
- BEGIN
- SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]'
- SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
-
- IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
- BEGIN
- IF @DEFAULT_VALUE = 'False'
- SET @DEFAULT_VALUE = '0'
- ELSE
- SET @DEFAULT_VALUE = '1'
-
- SET @SQL = @SQL +' BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13)
- END
- ELSE IF @pTYP_ID = 6 --Picturebox
- SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13)
- ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
- SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
- ELSE IF @pTYP_ID = 4 --DatePicker
- SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13)
- ELSE
- BEGIN
- IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0
- BEGIN
- SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13)
- SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE)
- END
- ELSE
- SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
- END
- --PRINT @SQL
-
- EXEC sp_executesql @SQL
- END
- ELSE IF @pACTION = 1 -- Für Update
- BEGIN
- IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0
- BEGIN
- SET @SQL = '@TABLE@ENT.[@OLDNAME]'
- SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD)
-
- --PRINT @COL_NAME
- --PRINT @TABLENAME_COL
-
- --Update des Columnnames
- EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN'
-
-
- SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN '
- SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL = @SQL + '[' + @pCOL_NAME + '] '
-
- IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
- BEGIN
- IF @DEFAULT_VALUE = 'False'
- SET @DEFAULT_VALUE = '0'
- ELSE
- SET @DEFAULT_VALUE = '1'
- SET @SQL = @SQL +'BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE
- END
- ELSE IF @pTYP_ID = 6 --Picturebox
- SET @SQL = @SQL +'VARBINARY(MAX)'
- ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
- SET @SQL = @SQL + 'VARCHAR(MAX)'
- ELSE IF @pTYP_ID = 4 --DatePicker
- SET @SQL = @SQL + 'VARCHAR(10)'
- ELSE
- BEGIN
- SET @SQL = @SQL + 'VARCHAR(MAX)'
- IF @DEFAULT_VALUE IS NOT NULL
- BEGIN
- SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','')
- SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']'
- SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE)
- SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME)
- END
- END
-
- --PRINT '@ALTER SQL-COMMAND: ' + @SQL
- EXEC sp_executesql @SQL
-
- SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
- SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
- SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
- --PRINT '@DFNAME: ' + @DFNAME
- IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
- BEGIN
- --PRINT 'DEFAULT KEY EXISTS'
- SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
- SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
- SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
- --PRINT @DROP
- EXEC sp_executesql @DROP
- END
- IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0
- BEGIN
- --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF
- EXEC sp_executesql @SQL_DEF
- END
-
- END
- END
- ELSE IF @pACTION = 2 -- Für Delete
- BEGIN
- SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
- SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
- SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
- --PRINT '@DFNAME: ' + @DFNAME
- IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
- BEGIN
- --PRINT 'DEFAULT KEY EXISTS'
- SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
- SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
- SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
- --PRINT @DROP
- EXEC sp_executesql @DROP
- END
- SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]'
- SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
- EXEC sp_executesql @DROP
- END
- EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID
-END
-GO
-
-ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
-FOR INSERT
-AS
- DECLARE
- @RECORD_ID INTEGER,
- @CONTROL_ID INTEGER,
- @ADDED_WHO VARCHAR(50),
- @VALUE_NEW VARCHAR(MAX),
- @DOC_ID INTEGER,
- @USER_ID INTEGER,
- @USER_ID_ECM INTEGER,
- @RIGHT INTEGER,
- @COUNTER_CONTROL_UPDATE_ID INTEGER,
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50)
- SELECT
- @RECORD_ID = INSERTED.RECORD_ID,
- @CONTROL_ID = INSERTED.CONTROL_ID,
- @ADDED_WHO = INSERTED.ADDED_WHO,
- @VALUE_NEW = INSERTED.VALUE,
- @ENTITY_ID = T.FORM_ID,
- @COL_NAME = T1.COL_NAME
- FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
- WHERE INSERTED.RECORD_ID = T.GUID AND
- INSERTED.CONTROL_ID = T1.GUID
-
- EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
-
- IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
- BEGIN
- DECLARE @SUBJECT VARCHAR(100),
- @LOCATION VARCHAR(100),
- @DESCRIPTION VARCHAR(100)
- SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
-
- INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
- (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
- END
-
- /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
- IF @CONTROL_ID = 346
- BEGIN
- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
- DECLARE cursor_DOCS CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
- OPEN cursor_DOCS
- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- BEGIN
- DECLARE cursor_User CURSOR FOR
- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
- --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
- OPEN cursor_User
- FETCH NEXT FROM cursor_User INTO @USER_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
- FETCH NEXT FROM cursor_User INTO @USER_ID
- END
- CLOSE cursor_User
- DEALLOCATE cursor_User
- END
- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
- END
- CLOSE cursor_DOCS
- DEALLOCATE cursor_DOCS
- END
- /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
-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,
- @DOC_ID INTEGER,
- @USER_ID INTEGER,
- @USER_ID_ECM INTEGER,
- @RIGHT INTEGER,
- @COUNTER_CONTROL_UPDATE_ID INTEGER,
- @UPDATE_SQL NVARCHAR(MAX),
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50)
- IF UPDATE (VALUE)
- BEGIN
- SELECT
- @CONTROL_ID = DELETED.CONTROL_ID,
- @RECORD_ID = DELETED.RECORD_ID,
- @VALUE_OLD = DELETED.VALUE,
- @ENTITY_ID = T.FORM_ID,
- @COL_NAME = T1.COL_NAME
- FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
- WHERE DELETED.RECORD_ID = T.GUID AND
- DELETED.CONTROL_ID = T1.GUID
-
- IF @CONTROL_ID in (29,14,346)
- BEGIN
- PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
- END
- --RAISERROR (@VALUE , 16, 1)
- SELECT
- @CHANGE_STEP = CHANGE_STEP,
- @CHANGED_WHO = CHANGED_WHO,
- @VALUE_NEW = VALUE,
- @REDO = REDO
- FROM INSERTED
- --PRINT 'OLD VALUE: ' + @VALUE_OLD
- --PRINT 'NEW VALUE: ' + @VALUE_NEW
- IF @CHANGED_WHO IS NULL
- BEGIN
- SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
- IF @CHANGED_WHO IS NULL
- SET @CHANGED_WHO = 'TRIGGER DEFAULT'
- END
- 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änderungen
- IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
- 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
- ELSE
- PRINT 'VALUES NOT DIFFERENT'
- EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
- /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
- IF @CONTROL_ID = 29 --Vertragseigner Person
- BEGIN
- --### Zuerst müssen die Rechte der geänderten Person gelöscht werden
- select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
- If @USER_ID IS NOT NULL AND @USER_ID <> 0
- BEGIN
- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
- DECLARE cursDOC_V1 CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- OPEN cursDOC_V1
- FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
-
- FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
- END
- CLOSE cursDOC_V1
- DEALLOCATE cursDOC_V1
- END
- SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
- --### Jetzt prüfen der neuen Rechte
- select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
- If @USER_ID IS NOT NULL AND @USER_ID <> 0
- BEGIN
- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
- DECLARE cursDOC_V1 CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- OPEN cursDOC_V1
- FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
-
- FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
- END
- CLOSE cursDOC_V1
- DEALLOCATE cursDOC_V1
- END
- END
- -- ####### Vertragseigner Team ###############
- ELSE IF @CONTROL_ID = 14
- BEGIN
- /*Die Rechte des des alten Vertragseigner-Teams löschen*/
- DECLARE C_OLDUSER_CONTROWN CURSOR FOR
- SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD))
- OPEN C_OLDUSER_CONTROWN
- FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
- WHILE @@FETCH_STATUS = 0
- BEGIN
- DECLARE cursDOC_V2 CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- OPEN cursDOC_V2
- FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
- FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
- END
- CLOSE cursDOC_V2
- DEALLOCATE cursDOC_V2
-
- FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
- END
- CLOSE C_OLDUSER_CONTROWN
- DEALLOCATE C_OLDUSER_CONTROWN
- SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
- /*Die Rechte des Teams Vertragseigner hinzufügen*/
- DECLARE c_USER CURSOR FOR
- SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW))
- OPEN c_USER
- FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
- WHILE @@FETCH_STATUS = 0
- BEGIN
- DECLARE cursDOC_V2 CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- OPEN cursDOC_V2
- FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID
- FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
- END
- CLOSE cursDOC_V2
- DEALLOCATE cursDOC_V2
-
- FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
- END
- CLOSE c_USER
- DEALLOCATE c_USER
- END
-
- END
- /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
- --Generelle Updates (Datum und Recor-Ä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_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE]
-FOR DELETE
-AS
-BEGIN TRY
- DECLARE
- @RECORD_ID INTEGER,
- @CONTROL_ID INTEGER,
- @ADDED_WHO VARCHAR(50),
- @VALUE_DEL VARCHAR(MAX),
- @DOC_ID INTEGER,
- @USER_ID INTEGER,
- @USER_ID_ECM INTEGER,
- @RIGHT INTEGER,
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50),
- @COUNTER_CONTROL_UPDATE_ID INTEGER
- SELECT
- @RECORD_ID = DELETED.RECORD_ID,
- @CONTROL_ID = DELETED.CONTROL_ID,
- @VALUE_DEL = DELETED.VALUE,
- @ENTITY_ID = T1.FORM_ID,
- @COL_NAME = T1.COL_NAME
- FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
- WHERE DELETED.RECORD_ID = T.GUID AND
- DELETED.CONTROL_ID = T1.GUID
-
- IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
- DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID
- EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,''
- /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
- IF @CONTROL_ID in (29,14,346)
- BEGIN
- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
- END
- IF @CONTROL_ID = 346
- BEGIN
- DECLARE cursor_DOCS CURSOR FOR
- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
- TRL.RECORD_ID = @RECORD_ID
- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
- OPEN cursor_DOCS
- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- BEGIN
- DECLARE cursor_User CURSOR FOR
- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL)
- OPEN cursor_User
- FETCH NEXT FROM cursor_User INTO @USER_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID
- FETCH NEXT FROM cursor_User INTO @USER_ID
- END
- CLOSE cursor_User
- DEALLOCATE cursor_User
- END
- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
- END
- CLOSE cursor_DOCS
- DEALLOCATE cursor_DOCS
- END
- /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
-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_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
-AS
- 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_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
-
- 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
-
- INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
-
-GO
-CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL]
-FOR INSERT
-AS
- DECLARE
- @CONTROL_ID INTEGER,
- @ADDED_WHO VARCHAR(50),
- @DEFAULT_VALUE VARCHAR(100),
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50),
- @TYP_ID INTEGER,
- @SQL NVARCHAR(MAX)
- SELECT
- @CONTROL_ID = GUID,
- @ADDED_WHO = ADDED_WHO,
- @DEFAULT_VALUE = DEFAULT_VALUE,
- @ENTITY_ID = FORM_ID,
- @COL_NAME = COL_NAME
- FROM INSERTED
- --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0
- EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0
-GO
-ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL]
-FOR UPDATE
-AS
-BEGIN TRY
- DECLARE
- @CONTROL_ID INTEGER,
- @TYP_ID INTEGER,
- @TABLENAME_COL NVARCHAR(100),
- @NEW_COL_NAME NVARCHAR(100),
- @SQL NVARCHAR(MAX),
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50),
- @COL_NAME_OLD VARCHAR(50),
- @DEFAULT_VALUE VARCHAR(MAX),
- @SQL_DEF NVARCHAR(1000)
- SELECT
- @COL_NAME_OLD = COL_NAME
- FROM DELETED
- SELECT
- @CONTROL_ID = GUID,
- @TYP_ID = CONTROL_TYPE_ID,
- @ENTITY_ID = FORM_ID,
- @COL_NAME = COL_NAME,
- @DEFAULT_VALUE = DEFAULT_VALUE
- FROM INSERTED
- --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0
- EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1
- UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID
-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].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL]
-FOR DELETE
-AS
-DECLARE
- @CONTROL_ID INTEGER,
- @TYP_ID INTEGER,
- @TABLENAME_COL NVARCHAR(100),
- @NEW_COL_NAME NVARCHAR(100),
- @SQL NVARCHAR(MAX),
- @ENTITY_ID INTEGER,
- @COL_NAME VARCHAR(50),
- @COL_NAME_OLD VARCHAR(50),
- @DEFAULT_VALUE VARCHAR(MAX),
- @SQL_DEF NVARCHAR(1000)
- SELECT
- @CONTROL_ID = GUID,
- @COL_NAME_OLD = COL_NAME,
- @TYP_ID = CONTROL_TYPE_ID,
- @ENTITY_ID = FORM_ID,
- @COL_NAME = COL_NAME,
- @DEFAULT_VALUE = DEFAULT_VALUE
- FROM DELETED
-
- EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2
-
-GO
-CREATE 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
- 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
-
-CREATE FUNCTION [dbo].[FNPMO_GETUSER_RECORDS_ENTITY_1] (@pUSER_ID INTEGER, @pENTITY_ID INTEGER)
-RETURNS @Output TABLE (
- RECORD_ID INTEGER,
- WDRIGHT INTEGER
-)
-AS
-BEGIN
- INSERT INTO @Output(RECORD_ID,WDRIGHT)
- SELECT [Record-ID], 1 FROM VWRENOLIT_CONTRACTS_DE where UNSICHTBAR = 0
- INSERT INTO @Output(RECORD_ID,WDRIGHT)
- SELECT [Record-ID], 3 FROM TBPMO_ENTITY_TABLE1 where Unsichtbar = 1 AND Team in
- (SELECT T1.NAME FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1 WHERE T.GROUP_ID = T1.GUID AND USER_ID = @pUSER_ID AND T1.GUID IN (1,11))
- RETURN
-END
-GO
-CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50))
-AS
-DECLARE @NEW_RECORD_ID INT
-
-BEGIN TRY
- INSERT INTO TBPMO_RECORD (
- FORM_ID,ADDED_WHO,RECORD_ENTITY_ID)
- SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
-
- SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD
-
- INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT
- RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID
-
- DECLARE @CONTROL_ID INT,
- @REC_ID INT,
- @VALUE VARCHAR(MAX),
- @ADDED_WHO VARCHAR(50)
-
- DECLARE cursorControlValues CURSOR LOCAL FOR
- SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
- OPEN cursorControlValues
- FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
- WHILE @@FETCH_STATUS = 0
- BEGIN
- INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES (
- @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO)
-
- FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
- END
- CLOSE cursorControlValues
- DEALLOCATE cursorControlValues
-
- INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT
- CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID
-
-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 TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
-FOR INSERT
-AS
-BEGIN TRY
- DECLARE
- @RECORD_ID INTEGER,
- @MAX_ID INTEGER,
- @FORM_ID INTEGER,
- @WF_ID INTEGER,
- @PARENT_ID INTEGER,
- @ADDED_WHO VARCHAR(50),
- @INSERT_SQL NVARCHAR(MAX)
- SELECT
- @FORM_ID = FORM_ID,
- @RECORD_ID = GUID
- FROM INSERTED
-
- SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD
- WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID
- SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID'
- SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID))
- SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID)
-
- PRINT @INSERT_SQL
- EXEC sp_executesql @INSERT_SQL
- --RAISERROR(@INSERT_SQL, 16, 1);
- -- ROLLBACK;
- UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
- ----Überprüfen ob für die Entity_ID Workflows definiert sind?
- IF EXISTS(
- SELECT 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
-CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
-AS
-DECLARE @COL_NAME VARCHAR(50),
- @SQL_BEGIN NVARCHAR(4000),
- @SQL_END NVARCHAR(4000),
- @SQL NVARCHAR(MAX),
- @CONTROL_ID INT,
- @RESULT NVARCHAR(MAX),
- @TYPEID INT,
- @TABINDEX INT,
- @SQL_LBL VARCHAR(4000),
- @ENTITY_TABLENAME VARCHAR(50),
- @VWPMO_ENTITY_TABLE VARCHAR(100)
-
-SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
-
-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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
- ORDER BY TAB_INDEX
-BEGIN
- SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
- SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
- SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
- SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
-
-
- SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
-
- SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
- SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
- SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
- SET @SQL = ''
- OPEN c_SPALTENNAMEN
- FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
-
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
- --PRINT @COL_NAME
- IF @TYPEID IN(10,11) -- CheckBox,RadioBox
- SET @SQL = @SQL + 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T.@COL_NAME))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + ',' + CHAR(13)
- ELSE IF @TYPEID = 6 --PictureBox
- SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13)
- ELSE IF @TYPEID = 1 --Label mit SQL
- BEGIN
- SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
- SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
- END
- --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
- -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
- ELSE IF @TYPEID = 4 --Datepicker
- SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
- ELSE
- SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
-
- SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
- FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
- END
-
- CLOSE c_SPALTENNAMEN
- DEALLOCATE c_SPALTENNAMEN
- SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
- PRINT @RESULT
-
- IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
- BEGIN
- SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
- SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
- PRINT @SQL
- EXEC sp_executesql @SQL
- END
- EXEC sp_executesql @RESULT
- UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
-END
-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
- --SELECT T.* 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 = 21 AND T.TYPE_ID = 3
- END
- IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
- 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 <> 4 AND T.CONFIG_COLUMNS = 1
- --SELECT * FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1
- EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @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
-CREATE TRIGGER [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS] ON [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG]
-AFTER INSERT
-AS
-BEGIN
- DECLARE
- @CONFIG_ID INTEGER,
- @ENTITY_ID INTEGER,
- @ADDED_WHO VARCHAR(50),
- @TYPE_ID INTEGER,
- @CONFIG_COLUMNS INTEGER,
- @DOC_ID INT,
- @REC_ID INT,
- @VALUE VARCHAR(100)
- SELECT
- @CONFIG_ID = GUID,
- @ENTITY_ID = [ENTITY_ID],
- @TYPE_ID = [TYPE_ID],
- @ADDED_WHO = ADDED_WHO,
- @CONFIG_COLUMNS = CONFIG_COLUMNS
- FROM INSERTED
- --Den Defaultvalue eintragen
- IF @CONFIG_COLUMNS = 1
- BEGIN
- DECLARE cursorRecordDocs CURSOR LOCAL FOR
- SELECT T.RECORD_ID, T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID
- OPEN cursorRecordDocs
- FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
- WHILE @@FETCH_STATUS = 0
- BEGIN
- INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES (
- @DOC_ID,@REC_ID,@CONFIG_ID,'',@ADDED_WHO)
- FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
- END
- CLOSE cursorRecordDocs
- DEALLOCATE cursorRecordDocs
- END
-END
-GO
\ No newline at end of file
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql
deleted file mode 100644
index d2ac153..0000000
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql and /dev/null differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.4.8.9.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.4.8.9.sql
index bb3bf46..83e7f83 100644
--- a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.4.8.9.sql
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.4.8.9.sql
@@ -103,7 +103,7 @@ 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]
+ ,(SELECT szLongName from 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]
@@ -112,14 +112,14 @@ SELECT TOP 100 PERCENT
,T1.szDocTypeName AS OBJECTTYPE
,T.dwObjectTypeID
FROM
- DD_VMP01_APS01_windream60.dbo.BaseAttributes T
- ,DD_VMP01_APS01_windream60.dbo.ObjectType T1
+ windream60.dbo.BaseAttributes T
+ ,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'
+ AND T.szText38 = 'ADDI-RELATION'
GROUP BY
T.dwVersionID
,T.dwParentID
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.0.1.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.0.1.sql
index 473a672..e3b5bae 100644
--- a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.0.1.sql
+++ b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.0.1.sql
@@ -21,14 +21,14 @@ BEGIN
-- 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
+ SELECT @FSFLAGS = dwFSFlags FROM [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
+ SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
WHILE @a > 0
BEGIN
IF @i = 0
@@ -58,7 +58,7 @@ BEGIN
END
END
- SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
+ SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
SET @i = @i + 1
END
END
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql
index a0f4d18..a03e869 100644
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.3.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.3.0.sql
index 369677a..f0447a8 100644
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.3.0.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.3.0.sql differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.4.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.4.0.sql
index 4808f43..a9f3458 100644
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.4.0.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.4.0.sql differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.2.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.2.sql
index bd734ca..705d911 100644
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.2.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.2.sql differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.3.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.3.sql
index d1b65c8..bd4ef1e 100644
Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.3.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.5.3.sql differ
diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql
new file mode 100644
index 0000000..27325ef
Binary files /dev/null and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql differ
diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.3.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.3.sql
index 2098e53..7b18a2e 100644
--- a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.3.sql
+++ b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.3.sql
@@ -37,6 +37,8 @@ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
+--Changed 12.05.2025 MS Status 3004 when Messages sent
+--Changed 09.05.2025 MS Withdrawn nur als Status in History
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
@@ -56,13 +58,19 @@ BEGIN TRY
@STATUS = STATUS,
@USER_REFERENCE = USER_REFERENCE
FROM INSERTED
+ PRINT '@USER_REFERENCE: ' + @USER_REFERENCE
PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
--PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
BEGIN
PRINT 'REGULÄRER 1erStatus.. '
- IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009) /*ENVELOPE QUEUED*/
- UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID
+ IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009)
+ BEGIN
+ UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID;
+ --IF @STATUS In (1009,10009) AND @USER_REFERENCE <> 'API'
+ -- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3006,GETDATE(),GETDATE()); --MessageWithdrawn/Deleted Sent
+ END
+
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
BEGIN
@@ -88,7 +96,6 @@ BEGIN TRY
SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
- SELECT BODY,SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
@@ -117,9 +124,10 @@ BEGIN TRY
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
PRINT 'EMAIL2...'
+ PRINT '@REC_EMAIL: ' + COALESCE(@REC_EMAIL,'IS NULL')
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
-
+ PRINT 'EMAIL2 inserted...'
/*Andere Receiver über die Ablehnung informieren*/
SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
@@ -145,7 +153,8 @@ BEGIN TRY
END
CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
- UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/
+ UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/;
+ INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,USER_REFERENCE, ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3004,@USER_REFERENCE,GETDATE(),GETDATE()); --MessageDeletion Sent
END
END
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
@@ -167,6 +176,8 @@ BEGIN CATCH
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
+
+
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV ALL_USER_THIS_MONTH','EXEC PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT 0')
GO
diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
new file mode 100644
index 0000000..13a521f
--- /dev/null
+++ b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
@@ -0,0 +1,150 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.5.4.4' WHERE SHORT_NAME = 'SIG_ENV_CR'
+GO
+
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+--Changed 22.05.2025 MS Ablehnung über insert mit Envelope-Creator als User
+--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
+--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
+--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
+ALTER TRIGGER [dbo].[TBSIG_ENVELOPE_HISTORY_AFT_INS] ON [dbo].[TBSIG_ENVELOPE_HISTORY]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @GUID BIGINT,
+ @ENVELOPE_ID INTEGER,
+ @STATUS INTEGER,
+ @USER_REFERENCE VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @ENVELOPE_ID = ENVELOPE_ID,
+ @STATUS = STATUS,
+ @USER_REFERENCE = USER_REFERENCE
+ FROM INSERTED
+ PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
+ --PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
+ IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
+ BEGIN
+ PRINT 'REGULÄRER 1erStatus.. '
+ IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009) /*ENVELOPE QUEUED*/
+ UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID
+ END
+ ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
+ BEGIN
+
+ IF @STATUS = 2005 /*DOKUMENT SIGINIERT*/
+ BEGIN
+ DECLARE @COUNT_SIGNED INT, @COUNT_SIGNERS INT
+ SELECT @COUNT_SIGNED = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 2005
+ SELECT @COUNT_SIGNERS = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
+ IF @COUNT_SIGNED = @COUNT_SIGNERS
+ BEGIN
+ UPDATE TBSIG_ENVELOPE SET STATUS = 1006 WHERE GUID = @ENVELOPE_ID /*FULLY SIGNED*/
+ INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID, USER_REFERENCE, STATUS, ACTION_DATE) VALUES (@ENVELOPE_ID, 'System', 1006, DATEADD(second, 5, GETDATE()))
+ END
+ ELSE
+ UPDATE TBSIG_ENVELOPE SET STATUS = 1005 WHERE GUID = @ENVELOPE_ID /*PARTLY SIGNED*/
+ END
+ ELSE IF @STATUS = 2007 /*VORGANG DURCH USER ABGELEHNT*/
+ BEGIN
+ DECLARE @COMMENT VARCHAR(500),@REC_EMAIL VARCHAR(200),@EML_BODY_ADM VARCHAR(3000),@EML_SUBJ_ADM VARCHAR(3000),@EML_BODY_REC VARCHAR(3000),@EML_SUBJ_REC VARCHAR(3000),
+ @EML_BODY_REC2 VARCHAR(3000),@EML_SUBJ_REC2 VARCHAR(3000)
+ ,@ADM_MAIL VARCHAR(250),@ADM_NAME VARCHAR(200),@TITLE VARCHAR(200),@NAME_PORTAL VARCHAR(100),@NAME_RECEIVER VARCHAR(150),@SENDING_PROFILE INT,@ENV_UUID VARCHAR(200)
+ SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
+ SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
+ SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
+ SELECT BODY,SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
+ SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
+ SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
+
+ SELECT @ADM_MAIL = USER_EMAIL,@ADM_NAME = USER_PRE_NAME, @TITLE = TITLE,@ENV_UUID = [ENVELOPE_UUID] FROM VWSIG_ENVELOPE_DATA WHERE ENVELOPE_ID = @ENVELOPE_ID
+
+ SELECT @NAME_RECEIVER = [NAME] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL = @REC_EMAIL
+ IF @NAME_RECEIVER IS NULL
+ BEGIN
+ SET @NAME_RECEIVER = 'signFLOW - SYSTEM'
+ END
+ SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_RECEIVER]',@NAME_RECEIVER)
+ SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_SENDER]',@ADM_NAME)
+ --PRINT '#1' + @EML_BODY_ADM
+ --PRINT '#2' + @EML_BODY_ADM
+ SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[DOCUMENT_TITLE]',@TITLE)
+ --PRINT '#3' + @EML_BODY_ADM
+ SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[REASON]',@COMMENT)
+ --PRINT '#4' + @EML_BODY_ADM
+ SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_PORTAL]',@NAME_PORTAL)
+ PRINT '@EML_BODY_ADM: '
+ PRINT @EML_BODY_ADM
+ SET @EML_SUBJ_ADM = REPLACE(@EML_SUBJ_ADM,'[DOCUMENT_TITLE]',@TITLE)
+ PRINT '@EML_SUBJ_ADM: '
+ PRINT @EML_SUBJ_ADM
+ PRINT 'EMAIL1...'
+ INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
+ VALUES (@ADM_MAIL, @EML_SUBJ_ADM, @EML_BODY_ADM, 'SIG RECEIVER REJECTED1', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_SENDER]',@ADM_NAME)
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_RECEIVER]',@NAME_RECEIVER)
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[REASON]',@COMMENT)
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_PORTAL]',@NAME_PORTAL)
+ SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
+ SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
+
+ IF @REC_EMAIL <> @ADM_MAIL
+ BEGIN
+ PRINT 'EMAIL2...'
+ INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
+ VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
+ END
+
+ /*Andere Receiver über die Ablehnung informieren*/
+ SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
+ DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
+ DECLARE cursReceiver_TBSIG_ENVELOPE_HISTORY CURSOR FOR
+ SELECT [NAME], [REC_EMAIL] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL <> @REC_EMAIL
+ OPEN cursReceiver_TBSIG_ENVELOPE_HISTORY
+ FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT '@EML_BODY_REC2: ' + @EML_BODY_REC2
+ SET @BODY_RECEIVER = @EML_BODY_REC2
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_SENDER]',@ADM_NAME)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_RECEIVER]',@NAME_RECEIVER)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[REASON]',@COMMENT)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_PORTAL]',@NAME_PORTAL)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
+ SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
+ PRINT 'EMAIL3...'
+ INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
+ VALUES (@EML_RECEIVER2, @EML_SUBJ_REC2, @BODY_RECEIVER, 'SIG RECEIVER REJECTED3', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
+ FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
+ END
+ CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
+ DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
+ UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/
+ END
+ END
+ ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
+ IF @STATUS = 3001 /*EMAIL OUT SIGNATUREINLADUNG*/
+ BEGIN
+ DECLARE @COUNT_MSG_OUT INT, @COUNT_USERS2_SIGN INT
+ SELECT @COUNT_MSG_OUT = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 3001
+ PRINT '@COUNT_MSG_OUT:' + CONVERT(VARCHAR(3),@COUNT_MSG_OUT)
+ SELECT @COUNT_USERS2_SIGN = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
+ PRINT '@@COUNT_USERS2_SIGN:' + CONVERT(VARCHAR(3),@COUNT_USERS2_SIGN)
+ IF @COUNT_MSG_OUT = @COUNT_USERS2_SIGN
+ UPDATE TBSIG_ENVELOPE SET STATUS = 1004 WHERE GUID = @ENVELOPE_ID /*ALL INVITATIONS SENT*/
+-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,USER_REFERENCE,STATUS,ACTION_DATE) VALUES (@ENVELOPE_ID,'Digital Data Email-Service',1004,GETDATE())
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
\ No newline at end of file