Compare commits
18 Commits
01426c749d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
811be40da8 | ||
|
|
d7ee5d3e83 | ||
|
|
7d85665368 | ||
|
|
f59f8a22d3 | ||
|
|
01e0c726e5 | ||
|
|
1febe4956b | ||
|
|
8c673e3f2e | ||
|
|
32abe759cb | ||
|
|
3917c9c675 | ||
|
|
670f58e1fa | ||
|
|
b6a6495f52 | ||
|
|
bf790156bc | ||
|
|
6827da195c | ||
|
|
b8b9891602 | ||
|
|
1069216108 | ||
|
|
a7d27cec30 | ||
|
|
d4ffba093f | ||
|
|
ba27b6989c |
@@ -1454,26 +1454,40 @@ SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[TBEDMI_ITEM_VALUE](
|
||||
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[REFERENCE_GUID] NVARCHAR(max) NOT NULL,
|
||||
[ITEM_DESCRIPTION] NVARCHAR(max) NOT NULL,
|
||||
[ITEM_VALUE] NVARCHAR(max) NULL,
|
||||
[REFERENCE_GUID] NVARCHAR(250) NOT NULL,
|
||||
[ITEM_DESCRIPTION] NVARCHAR(250) NOT NULL,
|
||||
[ITEM_VALUE] NVARCHAR(4000) NULL,
|
||||
[CREATEDWHEN] DATETIME NOT NULL,
|
||||
[CREATEDWHO] NVARCHAR(max) NULL,
|
||||
[CREATEDWHO] NVARCHAR(100) NULL,
|
||||
[CHANGEDWHEN] DATETIME NULL,
|
||||
[GROUP_COUNTER] [int] NULL,
|
||||
[SPEC_NAME] [varchar](250) NULL,
|
||||
[IS_REQUIRED] BIT NOT NULL
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
[SPEC_NAME] NVARCHAR(100) NULL,
|
||||
[IS_REQUIRED] BIT NOT NULL,
|
||||
[COMMENT] [nvarchar](100) NULL,
|
||||
[CHANGEDWHO] [nvarchar](100) NULL,
|
||||
CONSTRAINT [PK_TBEDMI_ITEM_VALUE_GUID] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD DEFAULT (getdate()) FOR [CREATEDWHEN]
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_CREATEDWHEN] DEFAULT (getdate()) FOR [CREATEDWHEN]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD DEFAULT ((0)) FOR [IS_REQUIRED]
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_ISREQUIRED] DEFAULT ((0)) FOR [IS_REQUIRED]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_SPECNAME_REFGUID
|
||||
ON TBEDMI_ITEM_VALUE (SPEC_NAME, REFERENCE_GUID) include (ITEM_VALUE, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ;
|
||||
|
||||
CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_REFGUID
|
||||
ON TBEDMI_ITEM_VALUE (REFERENCE_GUID) include (ITEM_VALUE, SPEC_NAME, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ;
|
||||
GO
|
||||
|
||||
|
||||
--PROCEDURES
|
||||
|
||||
-- 20.09.2024 MS @MODULE_SHORT eingesetzt
|
||||
|
||||
@@ -97,36 +97,33 @@ DECLARE cursPRDD_USER_REFRESH_WM_ID CURSOR FOR
|
||||
CLOSE cursPRDD_USER_REFRESH_WM_ID
|
||||
DEALLOCATE cursPRDD_USER_REFRESH_WM_ID
|
||||
GO
|
||||
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] AS
|
||||
SELECT AR.dwObjectID,
|
||||
UG.dwUserOrGROUPID,
|
||||
AR.dwAccessRight,
|
||||
AR.dwObjectDBID
|
||||
FROM [windreamDB].dbo.AccessRight AR LEFT JOIN [windreamDB].dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
|
||||
INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM
|
||||
WHERE UG.dwUserOrGroupID IS NOT NULL
|
||||
|
||||
CREATE OR ALTER VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP]
|
||||
AS
|
||||
SELECT [AR].[dwObjectID],
|
||||
[UG].[dwUserOrGROUPID],
|
||||
[AR].[dwAccessRight],
|
||||
[AR].[dwObjectDBID]
|
||||
FROM [TBDD_USER] TU (NOLOCK)
|
||||
INNER JOIN [windreamDB].[dbo].[UserGroup] UG (NOLOCK) ON TU.[USERID_FK_INT_ECM] = UG.[dwUserOrGroupID]
|
||||
INNER JOIN [windreamDB].[dbo].[AccessRight] AR (NOLOCK) ON UG.[dwGroupID] = AR.[dwUserOrGroupID];
|
||||
GO
|
||||
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS
|
||||
SELECT AR.dwObjectID,
|
||||
AR.dwUserOrGROUPID,
|
||||
AR.dwAccessRight,
|
||||
AR.dwObjectDBID
|
||||
FROM [windreamDB].dbo.AccessRight AR LEFT JOIN [windreamDB].dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
|
||||
INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM
|
||||
WHERE UG.dwUserOrGroupID IS NULL
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
|
||||
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS] AS
|
||||
SELECT ARU.dwObjectID,
|
||||
ARU.dwUserOrGROUPID,
|
||||
ARU.dwAccessRight,
|
||||
ARU.dwObjectDBID
|
||||
FROM VWDD_WM_ACCESS_RIGHTS_USER ARU UNION
|
||||
SELECT ARG.dwObjectID,
|
||||
ARG.dwUserOrGROUPID,
|
||||
ARG.dwAccessRight,
|
||||
ARG.dwObjectDBID
|
||||
FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE OR ALTER VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER]
|
||||
AS
|
||||
SELECT [AR].[dwObjectID],
|
||||
[AR].[dwUserOrGROUPID],
|
||||
[AR].[dwAccessRight],
|
||||
[AR].[dwObjectDBID]
|
||||
FROM [TBDD_USER] TU (NOLOCK)
|
||||
LEFT JOIN [windreamDB].[dbo].[AccessRight] AR (NOLOCK) ON TU.[USERID_FK_INT_ECM] = AR.[dwUserOrGroupID];
|
||||
GO
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,519 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.5';
|
||||
GO
|
||||
CREATE TABLE [dbo].[TBEDMI_ITEM_VALUE](
|
||||
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[REFERENCE_GUID] NVARCHAR(250) NOT NULL,
|
||||
[ITEM_DESCRIPTION] NVARCHAR(250) NOT NULL,
|
||||
[ITEM_VALUE] NVARCHAR(4000) NULL,
|
||||
[CREATEDWHEN] DATETIME NOT NULL,
|
||||
[CREATEDWHO] NVARCHAR(100) NULL,
|
||||
[CHANGEDWHEN] DATETIME NULL,
|
||||
[GROUP_COUNTER] [int] NULL,
|
||||
[SPEC_NAME] NVARCHAR(100) NULL,
|
||||
[IS_REQUIRED] BIT NOT NULL,
|
||||
[COMMENT] [nvarchar](100) NULL,
|
||||
[CHANGEDWHO] [nvarchar](100) NULL,
|
||||
CONSTRAINT [PK_TBEDMI_ITEM_VALUE_GUID] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_CREATEDWHEN] DEFAULT (getdate()) FOR [CREATEDWHEN]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_ISREQUIRED] DEFAULT ((0)) FOR [IS_REQUIRED]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_SPECNAME_REFGUID
|
||||
ON TBEDMI_ITEM_VALUE (SPEC_NAME, REFERENCE_GUID) include (ITEM_VALUE, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ;
|
||||
|
||||
CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_REFGUID
|
||||
ON TBEDMI_ITEM_VALUE (REFERENCE_GUID) include (ITEM_VALUE, SPEC_NAME, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ;
|
||||
GO
|
||||
CREATE VIEW VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS AS
|
||||
SELECT
|
||||
A.SPEC_NAME,
|
||||
A.ITEM_VALUE,
|
||||
B.Area,
|
||||
B.Row_Caption,
|
||||
B.xPosition,
|
||||
B.Y_eq_lastrow,
|
||||
B.SequenceItem,
|
||||
B.Display,
|
||||
A.REFERENCE_GUID
|
||||
FROM
|
||||
(SELECT * FROM TBEDMI_ITEM_VALUE ) A INNER JOIN
|
||||
(SELECT * FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Active = 1) B ON A.SPEC_NAME = B.SPECNAME
|
||||
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 = '<html><body style=''font-family:""Arial"";font-size:10.0pt''>'
|
||||
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 += '<br/>' + @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 += '<p>====================================================================================================================================<p/>'
|
||||
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 += '<br/>' + @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 += '<p>(' + @REJ_REASONS + ')</p>'
|
||||
SET @EMAIL_BODY += '</body></html>'
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- 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
|
||||
@@ -41,7 +555,7 @@ Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
|
||||
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))
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100))
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
(
|
||||
|
||||
109
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
Normal file
109
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
Normal file
@@ -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_DESCRIPTION', '', '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_DESCRIPTION','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
|
||||
35
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.7.sql
Normal file
35
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.7.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.7';
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[TBEDMI_ITEM_FILES](
|
||||
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[REFERENCE_GUID] [varchar](250) NOT NULL,
|
||||
[ITEM_VALUE] [varbinary](max) NOT NULL,
|
||||
[ORG_FILENAME] [varchar](256) NOT NULL,
|
||||
[MIME_TYPE] [varchar](256) NOT NULL,
|
||||
[GROUP_INDEX] [int] NOT NULL,
|
||||
[CREATED_WHEN] [datetime] NOT NULL,
|
||||
[CREATED_WHO] [varchar](100) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL,
|
||||
[CHANGED_WHO] [varchar](100) NULL
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_FILES] ADD CONSTRAINT [DF_TBEDMI_ITEM_FILES_GROUP_INDEX] DEFAULT ((0)) FOR [GROUP_INDEX]
|
||||
GO
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_FILES] ADD CONSTRAINT [DF_TBEDMI_ITEM_FILES_CREATED_WHEN] DEFAULT (getdate()) FOR [CREATED_WHEN]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBEDMI_ITEM_FILES_AFT_UPD] ON [dbo].[TBEDMI_ITEM_FILES]
|
||||
FOR UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE TBEDMI_ITEM_FILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEDMI_ITEM_FILES.GUID = INSERTED.GUID
|
||||
END
|
||||
GO
|
||||
ALTER TABLE [dbo].[TBEDMI_ITEM_FILES] ENABLE TRIGGER [TBEDMI_ITEM_FILES_AFT_UPD]
|
||||
GO
|
||||
ALTER TABLE dbo.TBDD_ZUGFERD_XML_ITEMS ADD
|
||||
EN16931_ID nvarchar(50) NULL
|
||||
GO
|
||||
18
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.9.sql
Normal file
18
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.9.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.7';
|
||||
GO
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN REFERENCE_GUID NVARCHAR(250);
|
||||
GO
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN ITEM_DESCRIPTION NVARCHAR(250);
|
||||
GO
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN ITEM_VALUE NVARCHAR(4000);
|
||||
GO
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN CREATEDWHO NVARCHAR(100);
|
||||
GO
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN SPEC_NAME NVARCHAR(100);
|
||||
GO
|
||||
IF EXISTS (SELECT * FROM Information_Schema.Columns WHERE Table_Name = 'TBEDMI_ITEM_VALUE' AND Column_Name = 'CHANGED_WHO')
|
||||
EXEC sp_rename 'dbo.TBEDMI_ITEM_VALUE.CHANGED_WHO', 'CHANGEDWHO', 'COLUMN';
|
||||
|
||||
ALTER TABLE TBEDMI_ITEM_VALUE ALTER COLUMN CREATEDWHO NVARCHAR(100);
|
||||
GO
|
||||
|
||||
343
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.0.0.sql
Normal file
343
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.0.0.sql
Normal file
@@ -0,0 +1,343 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.0.0';
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.objects
|
||||
WHERE object_id = OBJECT_ID(N'dbo.PRPM_COPY_PROFILE')
|
||||
AND type = 'P' -- 'P' steht für Stored Procedure
|
||||
)
|
||||
BEGIN
|
||||
PRINT 'Procedure existiert nicht.'
|
||||
Declare @SQL nvarchar(max)
|
||||
SET @SQL = '
|
||||
CREATE PROCEDURE [dbo].[PRPM_COPY_PROFILE] (@pProfileID as Integer,@pAddedWho Varchar(100))
|
||||
AS
|
||||
DECLARE @NEWPROFILE_ID INTEGER
|
||||
INSERT INTO [dbo].[TBPM_PROFILE]
|
||||
([NAME]
|
||||
,[TITLE]
|
||||
,[WD_OBJECTTYPE]
|
||||
,[PRIORITY]
|
||||
,[DESCRIPTION]
|
||||
,[TYPE]
|
||||
,[LOG_INDEX]
|
||||
,[IN_WORK]
|
||||
,[ACTIVE]
|
||||
,[WD_SEARCH]
|
||||
,[PM_VEKTOR_INDEX]
|
||||
,[NO_OF_DOCUMENTS]
|
||||
,[FINAL_PROFILE]
|
||||
,[FINAL_TEXT]
|
||||
,[MOVE2FOLDER]
|
||||
,[SORT_BY_LATEST]
|
||||
,[WORK_HISTORY_ENTRY]
|
||||
,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES]
|
||||
,[ANNOTATE_WORK_HISTORY_ENTRY]
|
||||
,[SQL_VIEW]
|
||||
,[ADDED_WHO]
|
||||
,[DISPLAY_MODE]
|
||||
,[SQL_BTN_FINISH])
|
||||
SELECT [NAME] + '' - COPY''
|
||||
,[TITLE] + '' - COPY''
|
||||
,[WD_OBJECTTYPE]
|
||||
,[PRIORITY]
|
||||
,[DESCRIPTION]
|
||||
,[TYPE]
|
||||
,[LOG_INDEX]
|
||||
,[IN_WORK]
|
||||
,0
|
||||
,[WD_SEARCH]
|
||||
,[PM_VEKTOR_INDEX]
|
||||
,[NO_OF_DOCUMENTS]
|
||||
,[FINAL_PROFILE]
|
||||
,[FINAL_TEXT]
|
||||
,[MOVE2FOLDER]
|
||||
,[SORT_BY_LATEST]
|
||||
,[WORK_HISTORY_ENTRY]
|
||||
,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES]
|
||||
,[ANNOTATE_WORK_HISTORY_ENTRY]
|
||||
,[SQL_VIEW]
|
||||
,@pAddedWho
|
||||
,[DISPLAY_MODE]
|
||||
,[SQL_BTN_FINISH] FROM TBPM_PROFILE WHERE GUID = @pProfileID;
|
||||
|
||||
SELECT @NEWPROFILE_ID = MAX(GUID) FROM TBPM_PROFILE WHERE ADDED_WHO = @pAddedWho;
|
||||
|
||||
INSERT INTO [dbo].[TBPM_PROFILE_FINAL_INDEXING]
|
||||
([PROFIL_ID]
|
||||
,[CONNECTION_ID]
|
||||
,[SQL_COMMAND]
|
||||
,[INDEXNAME]
|
||||
,[VALUE]
|
||||
,[ACTIVE]
|
||||
,[DESCRIPTION]
|
||||
,[ADDED_WHO]
|
||||
,[PREVENT_DUPLICATES]
|
||||
,[ALLOW_NEW_VALUES]
|
||||
,[IF_VEKTOR_BEHAVIOUR]
|
||||
,[SEQUENCE])
|
||||
SELECT
|
||||
@NEWPROFILE_ID
|
||||
,[CONNECTION_ID]
|
||||
,[SQL_COMMAND]
|
||||
,[INDEXNAME]
|
||||
,[VALUE]
|
||||
,[ACTIVE]
|
||||
,[DESCRIPTION]
|
||||
,[ADDED_WHO]
|
||||
,[PREVENT_DUPLICATES]
|
||||
,[ALLOW_NEW_VALUES]
|
||||
,[IF_VEKTOR_BEHAVIOUR]
|
||||
,[SEQUENCE]
|
||||
FROM [TBPM_PROFILE_FINAL_INDEXING] WHERE PROFIL_ID = @pProfileID
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO [dbo].[TBPM_PROFILE_CONTROLS]
|
||||
([PROFIL_ID]
|
||||
,[NAME]
|
||||
,[CTRL_TYPE]
|
||||
,[CTRL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[INDEX_NAME]
|
||||
,[TYP]
|
||||
,[VALIDATION]
|
||||
,[CHOICE_LIST]
|
||||
,[CONNECTION_ID]
|
||||
,[DEFAULT_VALUE]
|
||||
,[SQL_UEBERPRUEFUNG]
|
||||
,[READ_ONLY]
|
||||
,[LOAD_IDX_VALUE]
|
||||
,[FONT_STYLE]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[ADDED_WHO]
|
||||
,[MULTISELECT]
|
||||
,[VKT_ADD_ITEM]
|
||||
,[VKT_PREVENT_MULTIPLE_VALUES]
|
||||
,[REGEX_MATCH]
|
||||
,[REGEX_MESSAGE_DE]
|
||||
,[REGEX_MESSAGE_EN]
|
||||
,[IMAGE_CONTROL]
|
||||
,[SQL2]
|
||||
,[SQL_ENABLE]
|
||||
,[BACKGROUND_COLOR]
|
||||
,[OVERWRITE_DATA]
|
||||
,[SET_CONTROL_DATA])
|
||||
SELECT @NEWPROFILE_ID
|
||||
,[NAME]
|
||||
,[CTRL_TYPE]
|
||||
,[CTRL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[INDEX_NAME]
|
||||
,[TYP]
|
||||
,[VALIDATION]
|
||||
,[CHOICE_LIST]
|
||||
,[CONNECTION_ID]
|
||||
,[DEFAULT_VALUE]
|
||||
,[SQL_UEBERPRUEFUNG]
|
||||
,[READ_ONLY]
|
||||
,[LOAD_IDX_VALUE]
|
||||
,[FONT_STYLE]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,@pAddedWho
|
||||
,[MULTISELECT]
|
||||
,[VKT_ADD_ITEM]
|
||||
,[VKT_PREVENT_MULTIPLE_VALUES]
|
||||
,[REGEX_MATCH]
|
||||
,[REGEX_MESSAGE_DE]
|
||||
,[REGEX_MESSAGE_EN]
|
||||
,[IMAGE_CONTROL]
|
||||
,[SQL2]
|
||||
,[SQL_ENABLE]
|
||||
,[BACKGROUND_COLOR]
|
||||
,[OVERWRITE_DATA]
|
||||
,[SET_CONTROL_DATA] FROM [TBPM_PROFILE_CONTROLS] WHERE PROFIL_ID = @pProfileID;
|
||||
|
||||
DECLARE
|
||||
@OLD_ID INTEGER,
|
||||
@NEW_ID INTEGER
|
||||
|
||||
DECLARE cursor1 CURSOR FOR
|
||||
select T.GUID, T1.GUID from TBPM_PROFILE_CONTROLS T,TBPM_PROFILE_CONTROLS T1 WHERE
|
||||
T.CTRL_TYPE = ''TABLE'' and T1.CTRL_TYPE = ''TABLE'' AND T.PROFIL_ID = @pProfileID AND T1.PROFIL_ID = @NEWPROFILE_ID AND T.NAME = T1.NAME
|
||||
OPEN cursor1
|
||||
FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[TBPM_CONTROL_TABLE]
|
||||
([CONTROL_ID]
|
||||
,[SPALTENNAME]
|
||||
,[SPALTEN_HEADER]
|
||||
,[SPALTENBREITE]
|
||||
,[VALIDATION]
|
||||
,[CHOICE_LIST]
|
||||
,[CONNECTION_ID]
|
||||
,[SQL_COMMAND]
|
||||
,[READ_ONLY]
|
||||
,[LOAD_IDX_VALUE]
|
||||
,[ADDED_WHO]
|
||||
,[REGEX_MESSAGE_DE]
|
||||
,[REGEX_MESSAGE_EN]
|
||||
,[REGEX_MATCH]
|
||||
,[LOAD_AFT_LOAD_CONTROL]
|
||||
,[SEQUENCE])
|
||||
SELECT @NEW_ID
|
||||
,[SPALTENNAME]
|
||||
,[SPALTEN_HEADER]
|
||||
,[SPALTENBREITE]
|
||||
,[VALIDATION]
|
||||
,[CHOICE_LIST]
|
||||
,[CONNECTION_ID]
|
||||
,[SQL_COMMAND]
|
||||
,[READ_ONLY]
|
||||
,[LOAD_IDX_VALUE]
|
||||
,@pAddedWho
|
||||
,[REGEX_MESSAGE_DE]
|
||||
,[REGEX_MESSAGE_EN]
|
||||
,[REGEX_MATCH]
|
||||
,[LOAD_AFT_LOAD_CONTROL]
|
||||
,[SEQUENCE] FROM [TBPM_CONTROL_TABLE] WHERE CONTROL_ID = @OLD_ID ORDER BY SEQUENCE
|
||||
|
||||
|
||||
FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID
|
||||
END
|
||||
CLOSE cursor1
|
||||
DEALLOCATE cursor1'
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
|
||||
END
|
||||
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_COST_CENTER','Kostenstelle/CostCenter:', 'HEAD', 10, 6, 0, 1),
|
||||
('INVOICE_REFERENCE','Best.Ref/OrderReference:', 'HEAD', 10, 7, 0, 1),
|
||||
('INVOICE_SELLER_NAME', '', 'SELLER', 10, 8, 0, 1),
|
||||
('INVOICE_SELLER_ADDRESS', '', 'SELLER', 10, 9, 0, 1),
|
||||
('INVOICE_SELLER_POSTALCODE', '', 'SELLER', 10, 10, 0, 1),
|
||||
('INVOICE_SELLER_CITY', '', 'SELLER', 35, 11, 1, 1),
|
||||
('INVOICE_SELLER_TAX_ID', 'USt-ID/Seller tax ID:', 'SELLER', 10, 12, 0, 1),
|
||||
('INVOICE_SELLER_ID', 'Lieferant-Nr/Seller ID:', 'SELLER', 10, 13, 0, 1),
|
||||
('INVOICE_BUYER_NAME', '', 'BUYER', 10, 14, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS2', '', 'BUYER', 10, 15, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 16, 0, 1),
|
||||
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 17, 0, 1),
|
||||
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 18, 1, 1),
|
||||
--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
|
||||
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 200, 0, 0),
|
||||
('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 201, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 202, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE_DESCRIPTION', '', 'POSITION', 10, 203, 0, 0),
|
||||
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 205, 0, 0),
|
||||
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 206, 0, 0),
|
||||
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 207, 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_DESCRIPTION','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 11.07.2025 Index dynamisch
|
||||
--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
|
||||
SELECT @INDEX = MAX(SequenceItem) FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'BUYER';
|
||||
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_POSITION_NOTE',
|
||||
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_ARTICLE_DESCRIPTION','INVOICE_TAXPOS_AMOUNT',
|
||||
'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE','INVOICE_POSITION_TAX_AMOUNT') AND A.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
|
||||
ALTER TABLE TBDD_USER
|
||||
ALTER COLUMN DELETED_WHO VARCHAR(50)
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
143
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql
Normal file
143
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql
Normal file
@@ -0,0 +1,143 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.1';
|
||||
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, 20, 0, 0),
|
||||
('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 21, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 22, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE_DESCRIPTION', '', 'POSITION', 10, 23, 0, 0),
|
||||
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 24, 0, 0),
|
||||
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 25, 0, 0),
|
||||
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 26, 0, 1),
|
||||
('POSITION_ALLOWANCE_ACTUAL_AMOUNT', '', 'ALLOWANCE',10, 100, 0, 1),
|
||||
('POSITION_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 101, 0, 1),
|
||||
('POSITION_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 102, 0, 1),
|
||||
('POSITION_ALLOWANCE_CALCULATION_PERCENT', '', 'ALLOWANCE',10, 103, 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
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_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
|
||||
SELECT @INDEX = MIN(SequenceItem) FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE';
|
||||
DECLARE cursGroupCounter CURSOR FOR
|
||||
select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'POSITION_ALLOWANCE_ACTUAL_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 (SELECT SPECNAME FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE') AND A.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,'ALLOWANCE',@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
|
||||
--CHANGED 16.09.2025 Nur auf die Area gehen
|
||||
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
||||
--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.Area NOT IN ('ALLOWANCE','POSITION')
|
||||
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_ALLOWANCE_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
|
||||
|
||||
--CHANGED 06.10.2025 Über Area
|
||||
--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 = 20
|
||||
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 B.Area = 'POSITION' 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
|
||||
183
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql
Normal file
183
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql
Normal file
@@ -0,0 +1,183 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.2';
|
||||
GO
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys.objects
|
||||
WHERE object_id = OBJECT_ID(N'dbo.TBFILE_EXTENSION_OVERRIDE')
|
||||
)
|
||||
CREATE TABLE dbo.TBFILE_EXTENSION_OVERRIDE(
|
||||
GUID INT IDENTITY(1,1) NOT NULL,
|
||||
FILE_EXTENSION NVARCHAR(10) NOT NULL,
|
||||
PROCESS NVARCHAR(100) NOT NULL,
|
||||
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
|
||||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||||
CHANGED_WHO VARCHAR(50) NULL,
|
||||
CHANGED_WHEN DATETIME NULL,
|
||||
CONSTRAINT PK_TBFILE_EXTENSION_OVERRIDE PRIMARY KEY (FILE_EXTENSION)
|
||||
)
|
||||
GO
|
||||
CREATE OR ALTER TRIGGER [dbo].[TBFILE_EXTENSION_OVERRIDE_AFT_UPD] ON [dbo].TBFILE_EXTENSION_OVERRIDE
|
||||
FOR UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE TBFILE_EXTENSION_OVERRIDE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBFILE_EXTENSION_OVERRIDE.GUID = INSERTED.GUID
|
||||
END
|
||||
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_COST_CENTER','Kostenstelle/CostCenter:', 'HEAD', 10, 6, 0, 1),
|
||||
('INVOICE_REFERENCE','Best.Ref/OrderReference:', 'HEAD', 10, 7, 0, 1),
|
||||
('INVOICE_SELLER_NAME', '', 'SELLER', 10, 8, 0, 1),
|
||||
('INVOICE_SELLER_ADDRESS', '', 'SELLER', 10, 9, 0, 1),
|
||||
('INVOICE_SELLER_POSTALCODE', '', 'SELLER', 10, 10, 0, 1),
|
||||
('INVOICE_SELLER_CITY', '', 'SELLER', 35, 11, 1, 1),
|
||||
('INVOICE_SELLER_TAX_ID', 'USt-ID/Seller tax ID:', 'SELLER', 10, 12, 0, 1),
|
||||
('INVOICE_SELLER_ID', 'Lieferant-Nr/Seller ID:', 'SELLER', 10, 13, 0, 1),
|
||||
('INVOICE_BUYER_NAME', '', 'BUYER', 10, 14, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS2', '', 'BUYER', 10, 15, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 16, 0, 1),
|
||||
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 17, 0, 1),
|
||||
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 18, 1, 1),
|
||||
--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
|
||||
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 20, 0, 1),
|
||||
('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 21, 1, 1),
|
||||
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 22, 1, 1),
|
||||
('INVOICE_POSITION_ARTICLE_DESCRIPTION', '', 'POSITION', 10, 23, 1, 1),
|
||||
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 24, 1, 1),
|
||||
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 25, 1, 1),
|
||||
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 26, 1, 1),
|
||||
('POSITION_ALLOWANCE_ACTUAL_AMOUNT', '', 'ALLOWANCE',10, 100, 0, 1),
|
||||
('POSITION_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 101, 1, 1),
|
||||
('POSITION_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 102, 1, 1),
|
||||
('POSITION_ALLOWANCE_CALCULATION_PERCENT', '', 'ALLOWANCE',10, 103, 0, 1),
|
||||
('RECEIPT_ALLOWANCE_CHARGE_INDICATOR', '', 'ALLOWANCE',10, 110, 0, 0),
|
||||
('RECEIPT_ALLOWANCE_ACTUAL_AMOUNT', '', 'ALLOWANCE',10, 111, 0, 1),
|
||||
('RECEIPT_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 112, 1, 1),
|
||||
('RECEIPT_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 113, 1, 1),
|
||||
('RECEIPT_ALLOWANCE_CALCULATION_PERCENT', '', 'ALLOWANCE',10, 114, 0, 1),
|
||||
('RECEIPT_ALLOWANCE_VAT_RATE', '', 'ALLOWANCE',10, 115, 0, 1),
|
||||
('RECEIPT_ALLOWANCE_VAT_CODE', '', 'ALLOWANCE',10, 116, 1, 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 13.11.2025 Y_eq_lastrow
|
||||
--CHANGED 27.10.2025 Beide Allowance Varianten
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID VARCHAR(100))
|
||||
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT,Y_eq_lastrow BIT)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @GROUP_COUNTER INT,@INDEX INT
|
||||
SELECT @INDEX = MIN(SequenceItem) FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE';
|
||||
DECLARE cursGroupCounter CURSOR FOR
|
||||
select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID
|
||||
And SPEC_NAME IN ('POSITION_ALLOWANCE_ACTUAL_AMOUNT','RECEIPT_ALLOWANCE_ACTUAL_AMOUNT')
|
||||
AND LEN(ITEM_VALUE) > 0 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,@Y_eq_lastrow BIT
|
||||
DECLARE cursPosItems CURSOR FOR
|
||||
select A.SPEC_NAME,ITEM_VALUE,Display,Y_eq_lastrow 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 (SELECT SPECNAME FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE')
|
||||
AND A.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,@Y_eq_lastrow
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @INDEX += 1
|
||||
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display,Y_eq_lastrow) VALUES
|
||||
(@SPEC_NAME,@ITEM_VALUE,'ALLOWANCE',@INDEX,@Display,@Y_eq_lastrow)
|
||||
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow
|
||||
END
|
||||
CLOSE cursPosItems
|
||||
DEALLOCATE cursPosItems
|
||||
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
||||
END
|
||||
CLOSE cursGroupCounter
|
||||
DEALLOCATE cursGroupCounter
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
--CHANGED 13.11.2025
|
||||
--CHANGED 06.10.2025 Über Area
|
||||
--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
|
||||
CREATE OR 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,Y_eq_lastrow BIT)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @GROUP_COUNTER INT,@INDEX INT = 20
|
||||
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,@Y_eq_lastrow BIT
|
||||
DECLARE cursPosItems CURSOR FOR
|
||||
select A.SPEC_NAME,ITEM_VALUE,Display,B.Y_eq_lastrow from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME
|
||||
WHERE REFERENCE_GUID = @pMSGID And B.Area = 'POSITION' 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,@Y_eq_lastrow
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @INDEX += 1
|
||||
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display,Y_eq_lastrow) VALUES
|
||||
(@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX,@Display,@Y_eq_lastrow);
|
||||
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow
|
||||
END
|
||||
CLOSE cursPosItems
|
||||
DEALLOCATE cursPosItems
|
||||
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
||||
END
|
||||
CLOSE cursGroupCounter
|
||||
DEALLOCATE cursGroupCounter
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
||||
--CHANGED 13.11.2025 Y_eq_lastRow
|
||||
--CHANGED 16.09.2025 Nur auf die Area gehen
|
||||
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
||||
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
||||
--CHANGED 06.03.2025 INV_POS_NOTE integriert
|
||||
CREATE OR 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.Area NOT IN ('ALLOWANCE','POSITION')
|
||||
UNION
|
||||
SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 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, Y_eq_lastrow ,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_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
|
||||
137
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql
Normal file
137
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql
Normal file
@@ -0,0 +1,137 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.3.0';
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'TBDD_USER_KEY_VALUE_PAIR')
|
||||
BEGIN
|
||||
DROP TABLE [TBDD_USER_KEY_VALUE_PAIR];
|
||||
END
|
||||
GO
|
||||
CREATE TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR](
|
||||
[PK_USER_KEY_VALUE_PAIR_ID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[FK_USER_ID] [int] NOT NULL,
|
||||
[FK_MODULE_ID] [int] NOT NULL,
|
||||
[KEY_NAME] [nvarchar](50) NOT NULL,
|
||||
[VALUE_TEXT1] [nvarchar](900) NULL,
|
||||
[VALUE_MAX] [nvarchar](MAX) NULL,
|
||||
[COMMENT] [nvarchar](50) NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL,
|
||||
CONSTRAINT [PK_TBDD_USER_KEY_VALUE_PAIR] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[PK_USER_KEY_VALUE_PAIR_ID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
-- Unique-Index auf (MODULE, KEY_NAME)
|
||||
CREATE UNIQUE INDEX UX_TBDD_USER_KEY_VALUE_PAIR_Module_Key
|
||||
ON dbo.TBDD_USER_KEY_VALUE_PAIR ([FK_MODULE_ID], [KEY_NAME]);
|
||||
GO
|
||||
|
||||
|
||||
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] ADD CONSTRAINT [DF_TBDD_USER_KEY_VALUE_PAIR_ADDED_WHEN] DEFAULT (sysdatetime()) FOR [ADDED_WHEN]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER] FOREIGN KEY([FK_USER_ID])
|
||||
REFERENCES [dbo].[TBDD_USER] ([GUID])
|
||||
GO
|
||||
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_MODULES] FOREIGN KEY([FK_MODULE_ID])
|
||||
REFERENCES [dbo].[TBDD_MODULES] ([GUID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] CHECK CONSTRAINT [FK_TBDD_USER_KEY_VALUE_PAIR_TBDD_USER]
|
||||
GO
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
CREATE OR ALTER TRIGGER [dbo].[TBDD_USER_KEY_VALUE_PAIR_KEY_VALUE_PAIR_AFT_UPD] ON [dbo].[TBDD_USER_KEY_VALUE_PAIR]
|
||||
FOR UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE [TBDD_USER_KEY_VALUE_PAIR]
|
||||
SET [CHANGED_WHEN] = GETDATE()
|
||||
FROM [INSERTED]
|
||||
WHERE [TBDD_USER_KEY_VALUE_PAIR].[PK_USER_KEY_VALUE_PAIR_ID] = [INSERTED].[PK_USER_KEY_VALUE_PAIR_ID]
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBDD_USER_KEY_VALUE_PAIR] ENABLE TRIGGER [TBDD_USER_KEY_VALUE_PAIR_KEY_VALUE_PAIR_AFT_UPD]
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRDD_TBDD_USER_KEY_VALUE_PAIR_Upsert]
|
||||
@FK_USER_ID INT,
|
||||
@KEY_NAME NVARCHAR(50),
|
||||
@ValueText1 NVARCHAR(900),
|
||||
@ModuleID INT,
|
||||
@Out_PK_ID BIGINT OUTPUT -- gibt die betroffene PK zurück
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @now DATETIME = GETDATE(); -- statt SYSDATETIME() für Kompatibilität
|
||||
BEGIN TRY
|
||||
BEGIN TRAN;
|
||||
|
||||
DECLARE @ExistingPK BIGINT;
|
||||
|
||||
SELECT @ExistingPK = PK_USER_KEY_VALUE_PAIR_ID
|
||||
FROM dbo.TBDD_USER_KEY_VALUE_PAIR WITH (UPDLOCK, HOLDLOCK)
|
||||
WHERE FK_USER_ID = @FK_USER_ID
|
||||
AND KEY_NAME = @KEY_NAME and [FK_MODULE_ID] = @ModuleID;
|
||||
|
||||
IF @ExistingPK IS NOT NULL
|
||||
BEGIN
|
||||
-- UPDATE
|
||||
UPDATE dbo.TBDD_USER_KEY_VALUE_PAIR
|
||||
SET VALUE_TEXT1 = @ValueText1,
|
||||
CHANGED_WHEN = @now
|
||||
WHERE PK_USER_KEY_VALUE_PAIR_ID = @ExistingPK;
|
||||
|
||||
SET @Out_PK_ID = @ExistingPK;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- INSERT
|
||||
INSERT INTO dbo.TBDD_USER_KEY_VALUE_PAIR
|
||||
(
|
||||
FK_USER_ID,
|
||||
KEY_NAME,
|
||||
[FK_MODULE_ID],
|
||||
VALUE_TEXT1)
|
||||
VALUES
|
||||
(
|
||||
@FK_USER_ID,
|
||||
@KEY_NAME,
|
||||
@ModuleID,
|
||||
@ValueText1
|
||||
);
|
||||
|
||||
SET @Out_PK_ID = CONVERT(BIGINT, SCOPE_IDENTITY());
|
||||
END
|
||||
|
||||
COMMIT TRAN;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF XACT_STATE() <> 0 ROLLBACK TRAN;
|
||||
|
||||
DECLARE
|
||||
@ErrorNumber INT = ERROR_NUMBER(),
|
||||
@ErrorSeverity INT = ERROR_SEVERITY(),
|
||||
@ErrorState INT = ERROR_STATE(),
|
||||
@ErrorLine INT = ERROR_LINE(),
|
||||
@ErrorMessage NVARCHAR(4000) = ERROR_MESSAGE(),
|
||||
@FullMessage NVARCHAR(4000);
|
||||
|
||||
-- klassische Verkettung statt CONCAT
|
||||
SET @FullMessage = N'[PRDD_TBDD_USER_KEY_VALUE_PAIR_Upsert] failed at line '
|
||||
+ CONVERT(NVARCHAR(10), @ErrorLine)
|
||||
+ N': '
|
||||
+ ISNULL(@ErrorMessage, N'');
|
||||
|
||||
-- Für ältere SQL Server-Versionen statt THROW:
|
||||
RAISERROR (@FullMessage, @ErrorSeverity, @ErrorState);
|
||||
RETURN;
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
19
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql
Normal file
19
00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.4.0';
|
||||
GO
|
||||
-- Changed 20.02.2026 Nolock
|
||||
ALTER VIEW [dbo].[VWDD_USER_CLIENT]
|
||||
AS
|
||||
SELECT
|
||||
T1.GUID AS CLIENT_ID
|
||||
,T1.CLIENT_NAME
|
||||
,T.USER_ID
|
||||
,T2.USERNAME
|
||||
FROM
|
||||
TBDD_CLIENT_USER T WITH (NOLOCK)
|
||||
,TBDD_CLIENT T1 WITH (NOLOCK)
|
||||
,TBDD_USER T2 WITH (NOLOCK)
|
||||
WHERE
|
||||
T1.ACTIVE = 1
|
||||
AND T.CLIENT_ID = T1.GUID
|
||||
AND T.USER_ID = T2.GUID
|
||||
GO
|
||||
267
00_DB_SETUP_SINGLE/01_DD_IDB/CreateDBObjects.sql
Normal file
267
00_DB_SETUP_SINGLE/01_DD_IDB/CreateDBObjects.sql
Normal file
@@ -0,0 +1,267 @@
|
||||
|
||||
CREATE TABLE TBIDB_TERM_VALUE_NVARCHAR
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE NVARCHAR(900) NOT NULL,
|
||||
TERM_VALUE_REVERSE VARCHAR(900),
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN NVARCHAR NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO NVARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_NVARCHAR PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_NVARCHAR UNIQUE (TERM_VALUE),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_NVARCHAR_REV UNIQUE (TERM_VALUE_REVERSE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_NVARCHAR_AFT_UPD ON TBIDB_TERM_VALUE_NVARCHAR
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_NVARCHAR SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_NVARCHAR.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
CREATE TRIGGER [dbo].[TBIDB_TERM_VALUE_NVARCHAR_AFT_INS] ON [dbo].[TBIDB_TERM_VALUE_NVARCHAR]
|
||||
FOR INSERT
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_NVARCHAR SET TBIDB_TERM_VALUE_NVARCHAR.TERM_VALUE_REVERSE = REVERSE(INSERTED.TERM_VALUE)
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_NVARCHAR.GUID = INSERTED.GUID
|
||||
GO
|
||||
CREATE TABLE TBIDB_TERM_VALUE_INTEGER
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE BIGINT NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_INTEGER PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_INTEGER UNIQUE (TERM_VALUE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_INTEGER_AFT_UPD ON TBIDB_TERM_VALUE_INTEGER
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_INTEGER SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_INTEGER.GUID = INSERTED.GUID
|
||||
GO
|
||||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (0);
|
||||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (1);
|
||||
|
||||
CREATE TABLE TBIDB_TERM_VALUE_FLOAT
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE FLOAT NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_FLOAT PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_FLOAT UNIQUE (TERM_VALUE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_FLOAT_AFT_UPD ON TBIDB_TERM_VALUE_FLOAT
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_FLOAT SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_FLOAT.GUID = INSERTED.GUID
|
||||
GO
|
||||
CREATE TABLE TBIDB_TERM_VALUE_DECIMAL
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE DECIMAL(19, 0) NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_DECIMAL PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DECIMAL UNIQUE (TERM_VALUE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_DECIMAL_AFT_UPD ON TBIDB_TERM_VALUE_DECIMAL
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_DECIMAL SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_DECIMAL.GUID = INSERTED.GUID
|
||||
GO
|
||||
CREATE TABLE TBIDB_TERM_VALUE_DATE
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE DATE NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_DATE PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DATE UNIQUE (TERM_VALUE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_DATE_AFT_UPD ON TBIDB_TERM_VALUE_DATE
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_DATE SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_DATE.GUID = INSERTED.GUID
|
||||
GO
|
||||
--DELETE FROM TBIDB_OBJECT_METADATA
|
||||
--DELETE FROM TBIDB_LANGUAGE_TERM_METADATA
|
||||
--DELETE FROM TBIDB_FILE_OBJECT
|
||||
--DELETE FROM TBIDB_OBJECT_BE
|
||||
--DELETE FROM TBIDB_OBJECT_METADATA_CHANGE
|
||||
--DELETE FROM TBIDB_OBJECT
|
||||
--DROP TABLE TBIDB_TERM_VALUE_DATETIME
|
||||
CREATE TABLE TBIDB_TERM_VALUE_DATETIME
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
TERM_VALUE DATETIME NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_TERM_VALUE_DATETIME PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DATETIME UNIQUE (TERM_VALUE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_TERM_VALUE_DATETIME_UPD ON TBIDB_TERM_VALUE_DATETIME
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_TERM_VALUE_DATETIME SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_TERM_VALUE_DATETIME.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
--DROP TABLE TBIDB_ATTRIBUTE_TYPE
|
||||
CREATE TABLE TBIDB_ATTRIBUTE_TYPE
|
||||
(
|
||||
GUID TINYINT NOT NULL IDENTITY (1, 1),
|
||||
NAME_TYPE VARCHAR(100) NOT NULL,
|
||||
COMMENT VARCHAR(500),
|
||||
BIT1 BIT NOT NULL DEFAULT 0,
|
||||
BIT2 BIT NOT NULL DEFAULT 0,
|
||||
BIT3 BIT NOT NULL DEFAULT 0,
|
||||
BIT4 BIT NOT NULL DEFAULT 0,
|
||||
DELETED BIT NOT NULL DEFAULT 0,
|
||||
DELETED_WHO VARCHAR(100),
|
||||
DELETED_WHEN DATETIME,
|
||||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(30),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBIDB_ATTRIBUTE_TYPE PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBIDB_ATTRIBUTE_TYPE UNIQUE (NAME_TYPE)
|
||||
)
|
||||
GO
|
||||
CREATE TRIGGER TBIDB_ATTRIBUTE_TYPE_AFT_UPD ON TBIDB_ATTRIBUTE_TYPE
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBIDB_ATTRIBUTE_TYPE SET CHANGED_WHEN = GETDATE()
|
||||
FROM INSERTED
|
||||
WHERE TBIDB_ATTRIBUTE_TYPE.GUID = INSERTED.GUID
|
||||
GO
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('NVARCHAR'); --1
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIG INTEGER');--2
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('FLOAT');--3
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DECIMAL');--4
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATE');--5
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATETIME');--6
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIT');--7
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR STRING');--8
|
||||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR INTEGER');--9
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: DD MS
|
||||
-- Changed: 25.11.2021 @TERM_TYPE_ID = 6
|
||||
-- Changed: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM)
|
||||
-- =============================================
|
||||
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @TERM_TYPE_ID TINYINT
|
||||
PRINT 'PRIDB_NEW_TERM ...'
|
||||
SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE NAME_TYPE = @MD_TYPE
|
||||
IF @TERM_TYPE_ID = 7 AND @TERM = 'TRUE'
|
||||
SET @TERM = 1
|
||||
ELSE IF @TERM_TYPE_ID = 7 AND @TERM = 'FALSE'
|
||||
SET @TERM = 0
|
||||
PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
|
||||
IF @TERM_TYPE_ID IN (1,8) --VARCHAR
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_NVARCHAR WHERE TERM_VALUE = @TERM)
|
||||
BEGIN
|
||||
PRINT 'PRIDB_NEW_TERM: TERM NOT EXISTING ...INSERT'
|
||||
INSERT INTO TBIDB_TERM_VALUE_NVARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_NVARCHAR
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_NVARCHAR WHERE TERM_VALUE = @TERM
|
||||
ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
|
||||
ELSE IF @TERM_TYPE_ID = 3 --FLOAT
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
|
||||
ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
|
||||
ELSE IF @TERM_TYPE_ID = 5 --DATE
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
|
||||
ELSE IF @TERM_TYPE_ID = 6 --DATETIME
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATETIME WHERE TERM_VALUE = CONVERT(DATETIME,@TERM))
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_DATETIME (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATETIME,@TERM),@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATETIME
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
|
||||
|
||||
PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
|
||||
END
|
||||
GO
|
||||
--BEI DER WISAG zusätzlich
|
||||
ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM_FLOAT] @MD_TYPE VARCHAR(100),@TERM FLOAT, @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
PRINT '#### PRIDB_NEW_TERM_FLOAT ####'
|
||||
DECLARE @TERM_TYPE_ID TINYINT
|
||||
|
||||
SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE)
|
||||
IF @TERM_TYPE_ID = 3 --FLOAT
|
||||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = @TERM)
|
||||
BEGIN
|
||||
INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO);
|
||||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT
|
||||
END
|
||||
ELSE
|
||||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = @TERM;
|
||||
|
||||
PRINT CHAR(9) + '>> RETURNING TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID)
|
||||
PRINT '#### END PRIDB_NEW_TERM_FLOAT ####'
|
||||
|
||||
END
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
130
00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql
Normal file
130
00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql
Normal file
@@ -0,0 +1,130 @@
|
||||
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.2' where CONFIG_NAME = 'DB_VERSION'
|
||||
GO
|
||||
|
||||
-- Changed 20.02.2026 MS Nolock
|
||||
-- Changed 20.10.2023 LANG_ID
|
||||
ALTER VIEW [dbo].[VWIDB_VALUE_TEXT] AS
|
||||
select
|
||||
T.GUID AS MetadataID,
|
||||
T1.GUID AS AttributID,
|
||||
T.IDB_OBJ_ID,
|
||||
T1.TITLE as Attribut,
|
||||
T3.TERM_VALUE,
|
||||
T3.GUID TERM_GUID,
|
||||
T4.LANG_CODE,
|
||||
T4.GUID as LANG_ID,
|
||||
T.ADDED_WHO,
|
||||
T.ADDED_WHEN,
|
||||
T.CHANGED_WHO [Geändert wer],
|
||||
T.CHANGED_WHEN [Geändert wann],
|
||||
T2.GUID TBIDB_TERM_LANGUAGE_GUID
|
||||
from
|
||||
TBIDB_OBJECT_METADATA T WITH (NOLOCK)
|
||||
INNER JOIN TBIDB_ATTRIBUTE T1 WITH (NOLOCK) ON T.ATTR_ID = T1.GUID
|
||||
INNER JOIN TBIDB_TERM_LANGUAGE T2 WITH (NOLOCK) ON T.TEXT_TERM_LANG_ID = T2.GUID
|
||||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 WITH (NOLOCK) ON T2.TEXT_TERM_ID = T3.GUID
|
||||
INNER JOIN TBIDB_LANGUAGE T4 WITH (NOLOCK) ON T2.LANGUAGE_ID = T4.GUID
|
||||
GO
|
||||
|
||||
-- Changed 20.02.2026 MS Nolock
|
||||
ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
|
||||
SELECT
|
||||
[BE_ID]
|
||||
,T2.TITLE AS BE
|
||||
,[ATTR_ID]
|
||||
,T1.TITLE AS ATTR_TITLE
|
||||
,T1.TYP_ID
|
||||
,T1.TYP_ID as [TYPE_ID]
|
||||
,T3.NAME_TYPE AS [TYPE_NAME]
|
||||
, T1.SYS_ATTRIBUTE
|
||||
,'de-DE' LANG_CODE
|
||||
FROM
|
||||
TBIDB_BE_ATTRIBUTE T WITH (NOLOCK) INNER JOIN
|
||||
TBIDB_ATTRIBUTE T1 WITH (NOLOCK) ON T.ATTR_ID = T1.GUID INNER JOIN
|
||||
TBIDB_BUSINESS_ENTITY T2 WITH (NOLOCK) ON T.BE_ID = T2.GUID INNER JOIN
|
||||
TBIDB_ATTRIBUTE_TYPE T3 WITH (NOLOCK) ON T1.TYP_ID = T3.GUID
|
||||
WHERE
|
||||
T1.DELETED = 0
|
||||
|
||||
GO
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX [IDX_TBIDB_DOC_INFO_ADDEDWHEN]
|
||||
ON [dbo].[TBIDB_DOC_INFO] ([ADDED_WHEN])
|
||||
INCLUDE ([IDB_OBJ_ID],[OBJ_ST_ID],[FILENAME_ONLY],[FILENAME_EXT],[EXTENSION],[RELATIVE_PATH],[ADDED_WHO])
|
||||
GO
|
||||
USE [IDB]
|
||||
GO
|
||||
/****** Object: UserDefinedFunction [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_DT] Script Date: 20.02.2026 12:43:37 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- Changed 20.02.2026 MS NoLock
|
||||
-- Changed 30.12.2022 MS UNIQUE LANGID INTEGRATED
|
||||
ALTER FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_DT] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False)
|
||||
RETURNS @Output TABLE (MDGUID BIGINT,TERM_VALUE VARCHAR(900),ADDED_WHEN DATETIME,ADDED_WHO VARCHAR(200))
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@ATTR_ID INTEGER,
|
||||
@TYP_ID TINYINT,
|
||||
@TYP_DESCR VARCHAR(100),
|
||||
@MULTI BIT,
|
||||
@LANG_ID INT,
|
||||
@TERM_RESULT VARCHAR(900)
|
||||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE,@LANG_ID = T.[UNIFIED_LANG_ID]
|
||||
FROM TBIDB_ATTRIBUTE T WITH (NOLOCK) , TBIDB_ATTRIBUTE_TYPE T1 WITH (NOLOCK)
|
||||
WHERE T.TYP_ID = T1.GUID AND TITLE = @ATTRIBUTE
|
||||
BEGIN
|
||||
IF @LANG_ID = 0
|
||||
BEGIN
|
||||
IF @LANG_CODE = 'de-DE'
|
||||
SET @LANG_ID = 1
|
||||
ELSE
|
||||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WITH (NOLOCK) WHERE LANG_CODE = @LANG_CODE
|
||||
END
|
||||
END
|
||||
|
||||
IF @TYP_ID IN (1,8) --VARCHAR
|
||||
BEGIN
|
||||
DECLARE @TL_ID BIGINT
|
||||
INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO)
|
||||
SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM
|
||||
TBIDB_TERM_VALUE_VARCHAR TERM WITH (NOLOCK) INNER JOIN TBIDB_TERM_LANGUAGE TLANG WITH (NOLOCK) ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||||
INNER JOIN TBIDB_OBJECT_METADATA MD WITH (NOLOCK) ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
|
||||
WHERE MD.ATTR_ID = @ATTR_ID
|
||||
AND TLANG.LANGUAGE_ID = @LANG_ID
|
||||
AND MD.IDB_OBJ_ID = @DocID --ORDER BY MD.GUID
|
||||
END
|
||||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||||
BEGIN
|
||||
INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO)
|
||||
SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_INTEGER TERM WITH (NOLOCK) , TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.INT_TERM_ID = TERM.GUID
|
||||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID
|
||||
END
|
||||
ELSE IF @TYP_ID = 3 --FLOAT
|
||||
BEGIN
|
||||
INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO)
|
||||
SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_FLOAT TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.FLOAT_TERM_ID = TERM.GUID
|
||||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID
|
||||
END
|
||||
ELSE IF @TYP_ID = 4
|
||||
BEGIN
|
||||
INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO)
|
||||
SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_DECIMAL TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.DEC_TERM_ID = TERM.GUID
|
||||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID
|
||||
END
|
||||
ELSE IF @TYP_ID = 5
|
||||
BEGIN
|
||||
INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO)
|
||||
SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_DATE TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.DATE_TERM_ID = TERM.GUID
|
||||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
324
00_DB_SETUP_SINGLE/02_DD_SYS/Transport_Batch.sql
Normal file
324
00_DB_SETUP_SINGLE/02_DD_SYS/Transport_Batch.sql
Normal file
@@ -0,0 +1,324 @@
|
||||
-- Übergeordnete Projekte / Themenkomplexe
|
||||
CREATE TABLE TBDDTransportProjects (
|
||||
ProjectID INT IDENTITY(1,1) PRIMARY KEY,
|
||||
ProjectName NVARCHAR(255) NOT NULL, -- z.B. 'Release_2024_Q1' oder 'Modul_E-Rechnung'
|
||||
ProjectDescription NVARCHAR(MAX),
|
||||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||||
ADDED_WHO NVARCHAR(128) DEFAULT SUSER_SNAME()
|
||||
);
|
||||
|
||||
CREATE TABLE TBDDTransportLog (
|
||||
TransportID INT IDENTITY(1,1),
|
||||
ProjectID INT NOT NULL,
|
||||
TransportBatch NVARCHAR(128),
|
||||
TopicGroup NVARCHAR(255),
|
||||
SourceDatabase NVARCHAR(128), -- 'DD_ECM' oder 'IDB'
|
||||
ObjectName NVARCHAR(128),
|
||||
ObjectType VARCHAR(20),
|
||||
SequenceOrder INT DEFAULT 100,
|
||||
SqlScript NVARCHAR(MAX),
|
||||
ArchiveScript NVARCHAR(MAX),
|
||||
Status_Transport VARCHAR(20) DEFAULT 'Pending',
|
||||
LogMessage NVARCHAR(MAX),
|
||||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||||
Deployed_when DATETIME,
|
||||
CONSTRAINT PK_TBPM_PROFILE_GUID PRIMARY KEY (TransportID),
|
||||
CONSTRAINT FK_TBDDTransportLog_ProjectID FOREIGN KEY (ProjectID) REFERENCES TBDDTransportProjects(ProjectID),
|
||||
);
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE PRDD_Transport_PackObject
|
||||
@SourceDB SYSNAME, -- 'DD_ECM' oder 'IDB'
|
||||
@ObjectName SYSNAME,
|
||||
@ProjectID INT, -- Neu: Pflichtbezug zum Projekt
|
||||
@TransportBatch NVARCHAR(128) = NULL,
|
||||
@ManualOrder INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Definition NVARCHAR(MAX);
|
||||
DECLARE @Type VARCHAR(20);
|
||||
DECLARE @Order INT;
|
||||
DECLARE @ParmDefinition NVARCHAR(500) = N'@DefOut NVARCHAR(MAX) OUTPUT, @TypeOut VARCHAR(20) OUTPUT';
|
||||
|
||||
-- Dynamische Abfrage der Quelldatenbank
|
||||
DECLARE @SQL NVARCHAR(MAX) = N'
|
||||
SELECT @DefOut = m.definition, @TypeOut = o.type_desc
|
||||
FROM ' + QUOTENAME(@SourceDB) + '.sys.sql_modules m
|
||||
JOIN ' + QUOTENAME(@SourceDB) + '.sys.objects o ON m.object_id = o.object_id
|
||||
WHERE o.object_id = OBJECT_ID(''' + @SourceDB + '..' + @ObjectName + ''')';
|
||||
|
||||
EXEC sp_executesql @SQL, @ParmDefinition, @DefOut = @Definition OUTPUT, @TypeOut = @Type OUTPUT;
|
||||
|
||||
IF @Definition IS NULL
|
||||
BEGIN
|
||||
RAISERROR('Objekt %s in Datenbank %s nicht gefunden.', 16, 1, @ObjectName, @SourceDB);
|
||||
RETURN;
|
||||
END
|
||||
|
||||
-- Sequenzierung festlegen
|
||||
SET @Order = ISNULL(@ManualOrder,
|
||||
CASE
|
||||
WHEN @Type LIKE '%TABLE%' THEN 10
|
||||
WHEN @Type LIKE '%FUNCTION%' THEN 20
|
||||
WHEN @Type = 'VIEW' THEN 30
|
||||
WHEN @Type = 'SQL_STORED_PROCEDURE' THEN 40
|
||||
ELSE 100 END);
|
||||
|
||||
-- CREATE zu CREATE OR ALTER umwandeln
|
||||
IF LEFT(LTRIM(@Definition), 6) = 'CREATE'
|
||||
SET @Definition = 'CREATE OR ALTER' + SUBSTRING(LTRIM(@Definition), 7, LEN(@Definition));
|
||||
|
||||
INSERT INTO TBDDTransportLog (
|
||||
TransportBatch,
|
||||
ProjectID,
|
||||
SourceDatabase,
|
||||
ObjectName,
|
||||
ObjectType,
|
||||
SequenceOrder,
|
||||
SqlScript)
|
||||
VALUES (
|
||||
ISNULL(@TransportBatch,
|
||||
NEWID()),
|
||||
@ProjectID,
|
||||
@SourceDB,
|
||||
@ObjectName,
|
||||
@Type,
|
||||
@Order,
|
||||
@Definition);
|
||||
|
||||
PRINT 'Objekt ' + @ObjectName + ' aus ' + @SourceDB + ' verpackt.';
|
||||
END;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER PROCEDURE PRDD_DeployProject
|
||||
@ProjectID INT,
|
||||
@TargetLinkedServer NVARCHAR(128)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Prüfung, ob Projekt existiert
|
||||
IF NOT EXISTS (SELECT 1 FROM TBDDTransportProjects WHERE ProjectID = @ProjectID)
|
||||
BEGIN
|
||||
RAISERROR('Projekt mit ID %d wurde nicht gefunden.', 16, 1, @ProjectID);
|
||||
RETURN;
|
||||
END
|
||||
|
||||
DECLARE @ID INT,
|
||||
@DB NVARCHAR(128),
|
||||
@ObjName NVARCHAR(128),
|
||||
@Script NVARCHAR(MAX),
|
||||
@RemoteSQL NVARCHAR(MAX),
|
||||
@ArchiveSQL NVARCHAR(MAX);
|
||||
|
||||
-- Cursor über ALLE Batches dieses Projekts, strikt nach SequenceOrder
|
||||
-- So werden z.B. erst alle Tabellen (10) beider DBs erstellt, bevor Views (30) kommen.
|
||||
DECLARE ProjectCursor CURSOR FOR
|
||||
SELECT TransportID, SourceDatabase, ObjectName, SqlScript
|
||||
FROM TBDDTransportLog
|
||||
WHERE ProjectID = @ProjectID
|
||||
AND Status_Transport IN ('Pending', 'Error') -- Ermöglicht Wiederholung nach Fehlern
|
||||
ORDER BY SequenceOrder ASC, ADDED_WHEN ASC;
|
||||
|
||||
OPEN ProjectCursor;
|
||||
FETCH NEXT FROM ProjectCursor INTO @ID, @DB, @ObjName, @Script;
|
||||
|
||||
PRINT 'Starte Deployment für Projekt-ID: ' + CAST(@ProjectID AS NVARCHAR(10));
|
||||
PRINT 'Ziel-Server: ' + @TargetLinkedServer;
|
||||
PRINT '---------------------------------------------------------';
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
-- 1. Archivierung des Ist-Zustands auf dem Zielserver
|
||||
-- Wir versuchen die Definition des Objekts zu lesen
|
||||
DECLARE @OldDefinition NVARCHAR(MAX) = NULL;
|
||||
|
||||
-- Dynamischer Befehl um OBJECT_DEFINITION remote auszuführen
|
||||
-- Hinweis: Benötigt RPC Out auf dem Linked Server
|
||||
SET @ArchiveSQL = N'SELECT @out = OBJECT_DEFINITION(OBJECT_ID(N''' + @DB + '..' + @ObjName + '''))';
|
||||
|
||||
BEGIN TRY
|
||||
EXEC (@ArchiveSQL, @out = @OldDefinition OUTPUT) AT [TEST_SERVER]; -- Hier @TargetLinkedServer nutzen
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @OldDefinition = '-- Objekt existierte vor Deployment nicht';
|
||||
END CATCH
|
||||
|
||||
-- 2. Update der Log-Tabelle mit Archiv-Script
|
||||
UPDATE TBDDTransportLog
|
||||
SET ArchiveScript = @OldDefinition,
|
||||
Status_Transport = 'Deploying'
|
||||
WHERE TransportID = @ID;
|
||||
|
||||
-- 3. Ausführung des neuen Scripts
|
||||
-- Wir wechseln den Kontext auf die Ziel-DB
|
||||
SET @RemoteSQL = N'USE ' + QUOTENAME(@DB) + N'; EXEC(N''' + REPLACE(@Script, '''', '''''') + N''');';
|
||||
|
||||
EXEC (@RemoteSQL) AT [TEST_SERVER];
|
||||
|
||||
-- 4. Erfolg loggen
|
||||
UPDATE TBDDTransportLog
|
||||
SET Status_Transport = 'Deployed',
|
||||
LogMessage = 'Erfolgreich am ' + CONVERT(NVARCHAR(30), GETDATE(), 120)
|
||||
WHERE TransportID = @ID;
|
||||
|
||||
PRINT 'SUCCESS: ' + @DB + '.' + @ObjName;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
-- Fehler loggen
|
||||
UPDATE TBDDTransportLog
|
||||
SET Status_Transport = 'Error',
|
||||
LogMessage = ERROR_MESSAGE()
|
||||
WHERE TransportID = @ID;
|
||||
|
||||
PRINT 'ERROR: ' + @DB + '.' + @ObjName + ' - ' + ERROR_MESSAGE();
|
||||
|
||||
-- Strategie-Entscheidung: Abbrechen bei Fehler?
|
||||
-- CLOSE ProjectCursor; DEALLOCATE ProjectCursor; RETURN;
|
||||
END CATCH
|
||||
|
||||
FETCH NEXT FROM ProjectCursor INTO @ID, @DB, @ObjName, @Script;
|
||||
END
|
||||
|
||||
CLOSE ProjectCursor;
|
||||
DEALLOCATE ProjectCursor;
|
||||
|
||||
PRINT '---------------------------------------------------------';
|
||||
PRINT 'Deployment abgeschlossen.';
|
||||
END;
|
||||
GO
|
||||
|
||||
CREATE OR ALTER PROCEDURE PRDD_DeployTransportBatch
|
||||
@TargetLinkedServer NVARCHAR(128),
|
||||
@TransportBatch NVARCHAR(128)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @ID INT,
|
||||
@DB NVARCHAR(128),
|
||||
@ObjName NVARCHAR(128),
|
||||
@Script NVARCHAR(MAX),
|
||||
@OldScript NVARCHAR(MAX),
|
||||
@RemoteSQL NVARCHAR(MAX);
|
||||
|
||||
DECLARE DeployCursor CURSOR FOR
|
||||
SELECT TransportID, SourceDatabase, ObjectName, SqlScript
|
||||
FROM TBDDTransportLog
|
||||
WHERE TransportBatch = @TransportBatch AND Status_Transport = 'Pending'
|
||||
ORDER BY SequenceOrder ASC;
|
||||
|
||||
OPEN DeployCursor;
|
||||
FETCH NEXT FROM DeployCursor INTO @ID, @DB, @ObjName, @Script;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
-- 1. Archivierung: Aktuellen Stand vom Ziel-Server holen
|
||||
-- Wir nutzen OPENQUERY oder EXEC AT, um den Stand remote zu prüfen
|
||||
SET @OldScript = NULL;
|
||||
|
||||
DECLARE @GetArchiveSQL NVARCHAR(MAX) =
|
||||
N'SELECT @out = OBJECT_DEFINITION(OBJECT_ID(N''' + @DB + N'..' + @ObjName + N'''))';
|
||||
|
||||
-- Remote-Abfrage des aktuellen Standes
|
||||
EXEC (@GetArchiveSQL, @out = @OldScript OUTPUT) AT [TEST_SERVER];
|
||||
|
||||
-- Alten Stand in DD_SYS sichern
|
||||
UPDATE TBDDTransportLog
|
||||
SET ArchiveScript = @OldScript
|
||||
WHERE TransportID = @ID;
|
||||
|
||||
-- 2. Deployment: Datenbankkontext setzen und Skript ausführen
|
||||
SET @RemoteSQL = N'USE ' + QUOTENAME(@DB) + N'; EXEC(N''' + REPLACE(@Script, '''', '''''') + N''');';
|
||||
|
||||
EXEC (@RemoteSQL) AT [TEST_SERVER];
|
||||
|
||||
UPDATE TBDDTransportLog SET Status_Transport = 'Deployed', LogMessage = 'Erfolgreich',Deployed_when = GETDATE() WHERE TransportID = @ID;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
UPDATE TBDDTransportLog
|
||||
SET Status_Transport = 'Error',
|
||||
LogMessage = N'Fehler in ' + @DB + N'.' + @ObjName + N': ' + ERROR_MESSAGE()
|
||||
WHERE TransportID = @ID;
|
||||
|
||||
-- Optional: Hier BREAK einfügen, wenn der ganze Batch bei Fehler stoppen soll
|
||||
END CATCH
|
||||
|
||||
FETCH NEXT FROM DeployCursor INTO @ID, @DB, @ObjName, @Script;
|
||||
END
|
||||
|
||||
CLOSE DeployCursor;
|
||||
DEALLOCATE DeployCursor;
|
||||
END;
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE PRDD_Transport_AddManualScript
|
||||
@SourceDB NVARCHAR(128),
|
||||
@ObjectName NVARCHAR(128),
|
||||
@SqlScript NVARCHAR(MAX),
|
||||
@TransportBatch NVARCHAR(128),
|
||||
@SequenceOrder INT = 10, -- Standardmäßig 10 (vor Code-Objekten)
|
||||
@ObjectType NVARCHAR(20) = N'TABLE_ALTER'
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
INSERT INTO TBDDTransportLog (
|
||||
TransportBatch,
|
||||
SourceDatabase,
|
||||
ObjectName,
|
||||
ObjectType,
|
||||
SequenceOrder,
|
||||
SqlScript,
|
||||
Status_Transport
|
||||
)
|
||||
VALUES (
|
||||
@TransportBatch,
|
||||
@SourceDB,
|
||||
@ObjectName,
|
||||
@ObjectType,
|
||||
@SequenceOrder,
|
||||
@SqlScript,
|
||||
N'Pending'
|
||||
);
|
||||
|
||||
PRINT 'Manuelles Skript für ' + @ObjectName + ' zum Batch hinzugefügt.';
|
||||
END;
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE PRDD_TransportBatch_Rollback
|
||||
@TargetLinkedServer NVARCHAR(128),
|
||||
@BatchID UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @ID INT, @DB NVARCHAR(128), @Script NVARCHAR(MAX), @RemoteSQL NVARCHAR(MAX);
|
||||
|
||||
-- Cursor rückwärts (DESC), um die letzte Änderung zuerst rückgängig zu machen
|
||||
DECLARE RollbackCursor CURSOR FOR
|
||||
SELECT TransportID,SourceDatabase, ArchiveScript
|
||||
FROM TBDDTransportLog
|
||||
WHERE TransportBatch = @BatchID AND Status_Transport = 'Deployed' AND ArchiveScript IS NOT NULL
|
||||
ORDER BY SequenceOrder DESC;
|
||||
|
||||
OPEN RollbackCursor;
|
||||
FETCH NEXT FROM RollbackCursor INTO @ID, @DB, @Script;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET @RemoteSQL = N'USE ' + QUOTENAME(@DB) + N'; ' + @Script;
|
||||
EXEC (@RemoteSQL) AT [MEIN_TEST_SERVER]; -- Dynamischer Servername hier einsetzen
|
||||
PRINT 'Rollback erfolgreich für Objekt in ' + @DB;
|
||||
UPDATE TBDDTransportLog SET Status_Transport = 'ROLLBACK', Deployed_when = NULL WHERE TransportID = @ID;
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'Fehler beim Rollback in ' + @DB + ': ' + ERROR_MESSAGE();
|
||||
END CATCH
|
||||
|
||||
FETCH NEXT FROM RollbackCursor INTO @ID, @DB, @Script;
|
||||
END
|
||||
|
||||
CLOSE RollbackCursor;
|
||||
DEALLOCATE RollbackCursor;
|
||||
END;
|
||||
@@ -1,3 +1,22 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.2' where NAME = 'Process-Manager';
|
||||
GO
|
||||
--Changed 10.07.2025 MS Dynamisch LangPhrase erstellen wenn nicht vorhanden
|
||||
ALTER PROCEDURE [dbo].[PRPM_CHANGE_CONTROL_CAPTION] (@pCTRL_ID INT,@NEW_CAPTION VARCHAR(100), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5))
|
||||
AS
|
||||
DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100)
|
||||
SELECT @CTRL_CONFIG_TITLE = CTRL_TYPE + '.' + NAME FROM TBPM_PROFILE_CONTROLS WHERE GUID = @pCTRL_ID;
|
||||
PRINT '@CTRL_CONFIG_TITLE: ' + @CTRL_CONFIG_TITLE
|
||||
IF NOT EXISTS(SELECT GUID FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'PM' AND TITLE = @CTRL_CONFIG_TITLE AND [LANGUAGE] = @LANG_CODE)
|
||||
BEGIN
|
||||
PRINT 'CONFIGURATION FOR CONTROL NOT EXISTING IN TBDD_GUI_LANGUAGE_PHRASE'
|
||||
INSERT INTO [TBDD_GUI_LANGUAGE_PHRASE] (
|
||||
[MODULE], [TITLE], [LANGUAGE], CAPT_TYPE, STRING1, STRING2 , OBJ_NAME) VALUES (
|
||||
'PM', @CTRL_CONFIG_TITLE, @LANG_CODE, 'Caption Validator Control', @NEW_CAPTION, '', 'frmValidator' );
|
||||
END
|
||||
ELSE
|
||||
UPDATE TBDD_GUI_LANGUAGE_PHRASE SET STRING1 = @NEW_CAPTION, CHANGED_WHO = @WHO
|
||||
WHERE OBJ_NAME = 'frmValidator' AND MODULE = 'PM' AND TITLE = @CTRL_CONFIG_TITLE AND [LANGUAGE] = @LANG_CODE;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
8
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.5.sql
Normal file
8
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.5.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.5' where NAME = 'Process-Manager';
|
||||
GO
|
||||
ALTER TABLE dbo.TBPM_PROFILE
|
||||
ADD NOT_RESP_COMMENT BIT NOT NULL DEFAULT 1 ;
|
||||
|
||||
|
||||
|
||||
|
||||
8
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.6.sql
Normal file
8
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.6.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.6' where NAME = 'Process-Manager';
|
||||
GO
|
||||
ALTER TABLE dbo.TBPM_PROFILE_CONTROLS
|
||||
ADD TEXT_ALIGNMENT NVARCHAR(20) NOT NULL DEFAULT 'Near';
|
||||
|
||||
|
||||
|
||||
|
||||
2
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.7.sql
Normal file
2
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.7.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.7' where NAME = 'Process-Manager';
|
||||
GO
|
||||
26
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.8.sql
Normal file
26
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.8.sql
Normal file
@@ -0,0 +1,26 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.8' where NAME = 'Process-Manager';
|
||||
GO
|
||||
--GIT PUSH FÜR HENNING
|
||||
ALTER TABLE TBPM_PROFILE_FILES
|
||||
ADD
|
||||
WF_STATUS VARCHAR(20) NULL,
|
||||
WF_TRY_COUNT INT NOT NULL DEFAULT 0,
|
||||
WF_ERROR_MSG NVARCHAR(4000),
|
||||
WF_STARTED_AT DATETIME2,
|
||||
WF_FINISHED_AT DATETIME2;
|
||||
GO
|
||||
ALTER TABLE TBPM_PROFILE_FILES
|
||||
ADD CONSTRAINT DF_TBPM_WF_STATUS
|
||||
DEFAULT 'OPEN' FOR WF_STATUS;
|
||||
GO
|
||||
CREATE INDEX IX_PF_WF_QUEUE
|
||||
ON TBPM_PROFILE_FILES (WF_STATUS, GUID)
|
||||
INCLUDE (DOC_ID, PROFIL_ID);
|
||||
GO
|
||||
UPDATE TBPM_PROFILE_FILES
|
||||
SET WF_STATUS = 'DONE'
|
||||
WHERE WF_STATUS IS NULL;
|
||||
GO
|
||||
ALTER TABLE dbo.TBPM_CONTROL_TABLE
|
||||
ADD FORMULA_EXPRESSION NVARCHAR(1000) NOT NULL DEFAULT '';
|
||||
GO
|
||||
282
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql
Normal file
282
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql
Normal file
@@ -0,0 +1,282 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.9' where NAME = 'Process-Manager';
|
||||
GO
|
||||
|
||||
-- Changed 20.02.2026 Nolock
|
||||
ALTER VIEW [dbo].[VWPM_CONTROL_INDEX] AS
|
||||
SELECT TOP 100 PERCENT
|
||||
T1.GUID,
|
||||
T.GUID PROFIL_ID,
|
||||
T.NAME PROFIL_NAME,
|
||||
T.LOG_INDEX,
|
||||
T1.NAME CTRL_NAME,
|
||||
T1.CTRL_TYPE,
|
||||
T1.CTRL_TEXT,
|
||||
T1.X_LOC,
|
||||
T1.Y_LOC,
|
||||
T1.FONT_COLOR,
|
||||
T1.FONT_FAMILY,
|
||||
T1.FONT_SIZE,
|
||||
T1.FONT_STYLE,
|
||||
T1.WIDTH,
|
||||
T1.HEIGHT,
|
||||
COALESCE(T1.INDEX_NAME,'') INDEX_NAME,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN DB_ID('IDB') IS NOT NULL
|
||||
AND EXISTS (SELECT 1 FROM IDB.sys.tables WHERE name = 'TBIDB_ATTRIBUTE')
|
||||
THEN (SELECT TYP_ID FROM IDB.dbo.TBIDB_ATTRIBUTE WHERE TITLE = COALESCE(T1.INDEX_NAME,''))
|
||||
ELSE NULL
|
||||
END,
|
||||
'0'
|
||||
) AS IDB_TYP,
|
||||
T1.VALIDATION,
|
||||
T1.CHOICE_LIST,
|
||||
T1.TYP,
|
||||
T1.CONNECTION_ID,
|
||||
CASE WHEN T1.[SQL_UEBERPRUEFUNG] IS NULL THEN '' ELSE T1.[SQL_UEBERPRUEFUNG] END AS [SQL_UEBERPRUEFUNG],
|
||||
T1.[READ_ONLY],
|
||||
T1.LOAD_IDX_VALUE,
|
||||
T1.DEFAULT_VALUE,
|
||||
T1.REGEX_MATCH,
|
||||
T1.REGEX_MESSAGE_DE,
|
||||
T1.REGEX_MESSAGE_EN,
|
||||
T1.OVERWRITE_DATA,
|
||||
T1.SET_CONTROL_DATA,
|
||||
T1.SAVE_CHANGE_ON_ENABLED,
|
||||
T1.FORMAT_STRING CTRL_FORMAT_STRING,
|
||||
T1.BACKCOLOR_IF CTRL_BACKCOLOR_IF,
|
||||
T1.VKT_ADD_ITEM
|
||||
FROM
|
||||
TBPM_PROFILE T WITH (NOLOCK),
|
||||
TBPM_PROFILE_CONTROLS T1 WITH (NOLOCK)
|
||||
WHERE
|
||||
T.GUID = T1.PROFIL_ID
|
||||
AND T1.CONTROL_ACTIVE = 1
|
||||
ORDER BY
|
||||
T.GUID,
|
||||
T1.X_LOC,
|
||||
T1.Y_LOC
|
||||
GO
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
-- Changed 20.02.2026 MS Nolock
|
||||
-- Changed: 30.11.2022 MS SHOW_DOC
|
||||
ALTER VIEW [dbo].[VWPM_PROFILE_ACTIVE] AS
|
||||
SELECT
|
||||
T1.[GUID]
|
||||
,T1.[NAME]
|
||||
,T1.[TITLE]
|
||||
,T1.[WD_OBJECTTYPE]
|
||||
,T1.[PRIORITY]
|
||||
,T1.[DESCRIPTION]
|
||||
,T1.[TYPE]
|
||||
,T1.[LOG_INDEX]
|
||||
,T1.[IN_WORK]
|
||||
,T1.[ACTIVE]
|
||||
,T1.[WD_SEARCH]
|
||||
,T1.[PM_VEKTOR_INDEX]
|
||||
,T1.[NO_OF_DOCUMENTS]
|
||||
,T1.[FINAL_PROFILE]
|
||||
,T1.[FINAL_TEXT]
|
||||
,T1.[MOVE2FOLDER]
|
||||
,T1.[SORT_BY_LATEST]
|
||||
,T1.[WORK_HISTORY_ENTRY]
|
||||
,T1.[ANNOTATE_ALL_WORK_HISTORY_ENTRIES]
|
||||
,T1.[ANNOTATE_WORK_HISTORY_ENTRY]
|
||||
,T1.[SQL_VIEW]
|
||||
,T1.[ADDED_WHO]
|
||||
,T1.[ADDED_WHEN]
|
||||
,T1.[CHANGED_WHO]
|
||||
,T1.[CHANGED_WHEN]
|
||||
,T1.[DISPLAY_MODE]
|
||||
,T1.SHOW_DOCUMENT
|
||||
|
||||
|
||||
,(SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WITH (READPAST) WHERE PROFIL_ID = T1.GUID) AS FILE_COUNT,
|
||||
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T1.GUID) AS 'GROUP_COLOR',
|
||||
dbo.FNPM_PROFILE_GROUP_FONT_COLOR (T1.GUID) AS 'GROUP_FONT_COLOR',
|
||||
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T1.GUID) AS 'GROUP_TEXT'
|
||||
FROM
|
||||
TBPM_PROFILE T1 WITH (NOLOCK)
|
||||
WHERE
|
||||
T1.ACTIVE = 1
|
||||
|
||||
GO
|
||||
--DROP TABLE TBPM_PROFILE_QUEUE;
|
||||
CREATE TABLE dbo.TBPM_PROFILE_QUEUE
|
||||
(
|
||||
QUEUE_ID BIGINT IDENTITY(1,1) NOT NULL,
|
||||
FILE_GUID BIGINT NOT NULL,
|
||||
DOC_ID BIGINT NOT NULL,
|
||||
PROFIL_ID INT NOT NULL,
|
||||
STATUS TINYINT NOT NULL DEFAULT 0, -- 0=READY, 1=WORKING, 2=DONE, 3=ERROR
|
||||
TRY_COUNT SMALLINT NOT NULL DEFAULT 0,
|
||||
CREATED_WHEN DATETIME2(3) NOT NULL DEFAULT SYSDATETIME(),
|
||||
STARTED_WHEN DATETIME2(3) NULL,
|
||||
FINISHED_WHEN DATETIME2(3) NULL,
|
||||
ERROR_MSG NVARCHAR(2000) NULL,
|
||||
CONSTRAINT PK_TBPM_PROFILE_QUEUE
|
||||
PRIMARY KEY CLUSTERED (QUEUE_ID)
|
||||
);
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX IX_QUEUE_READY
|
||||
ON dbo.TBPM_PROFILE_QUEUE (PROFIL_ID, QUEUE_ID)
|
||||
INCLUDE (FILE_GUID, DOC_ID)
|
||||
WHERE STATUS = 0
|
||||
WITH (FILLFACTOR = 90);
|
||||
GO
|
||||
CREATE UNIQUE INDEX UX_QUEUE_ACTIVE
|
||||
ON dbo.TBPM_PROFILE_QUEUE (FILE_GUID, PROFIL_ID)
|
||||
WHERE STATUS IN (0,1);
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX IX_QUEUE_WORKING_TIMEOUT
|
||||
ON dbo.TBPM_PROFILE_QUEUE (STATUS, STARTED_WHEN)
|
||||
WHERE STATUS = 1;
|
||||
GO
|
||||
CREATE OR ALTER PROCEDURE dbo.PRTF_CUST_WORKFLOW_WORKER
|
||||
@ProfilFilter NVARCHAR(200) = NULL, @BatchSize INT = 20
|
||||
AS
|
||||
BEGIN
|
||||
IF @BatchSize IS NULL OR @BatchSize < 1
|
||||
SET @BatchSize = 1;
|
||||
|
||||
IF @BatchSize > 100
|
||||
SET @BatchSize = 100; -- harte Obergrenze
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
CREATE TABLE #Batch
|
||||
(
|
||||
QUEUE_ID BIGINT,
|
||||
FILE_GUID BIGINT,
|
||||
DOC_ID BIGINT,
|
||||
PROFIL_ID INT
|
||||
);
|
||||
|
||||
WHILE 1 = 1
|
||||
BEGIN
|
||||
DELETE FROM #Batch;
|
||||
|
||||
BEGIN TRAN;
|
||||
|
||||
;WITH cte AS
|
||||
(
|
||||
SELECT TOP (@BatchSize) QUEUE_ID
|
||||
FROM dbo.TBPM_PROFILE_QUEUE WITH (ROWLOCK, READPAST, UPDLOCK)
|
||||
WHERE STATUS = 0
|
||||
AND (
|
||||
@ProfilFilter IS NULL
|
||||
OR PROFIL_ID IN (
|
||||
SELECT TRY_CAST(value AS INT)
|
||||
FROM STRING_SPLIT(@ProfilFilter, ',')
|
||||
)
|
||||
)
|
||||
ORDER BY QUEUE_ID
|
||||
)
|
||||
UPDATE q
|
||||
SET STATUS = 1,
|
||||
STARTED_WHEN = SYSDATETIME()
|
||||
OUTPUT INSERTED.QUEUE_ID, INSERTED.FILE_GUID, INSERTED.DOC_ID ,INSERTED.PROFIL_ID
|
||||
INTO #Batch
|
||||
FROM dbo.TBPM_PROFILE_QUEUE q
|
||||
INNER JOIN cte ON q.QUEUE_ID = cte.QUEUE_ID;
|
||||
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
COMMIT;
|
||||
BREAK;
|
||||
END
|
||||
|
||||
COMMIT;
|
||||
|
||||
------------------------------------------------
|
||||
-- Verarbeitung außerhalb der Transaktion
|
||||
------------------------------------------------
|
||||
DECLARE
|
||||
@QueueId BIGINT,
|
||||
@FileGuid BIGINT,
|
||||
@DocID BIGINT,
|
||||
@ProfilId INT;
|
||||
|
||||
DECLARE cur CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT QUEUE_ID, FILE_GUID, DOC_ID, PROFIL_ID FROM #Batch;
|
||||
|
||||
OPEN cur;
|
||||
FETCH NEXT FROM cur INTO @QueueId, @FileGuid, @DocID, @ProfilId;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
DECLARE @MSG NVARCHAR(250) = 'WORKING ON @DocID: ' + CONVERT(NVARCHAR(100),@DocID)
|
||||
RAISERROR (@MSG, 0, 1) WITH NOWAIT;
|
||||
------------------------------------------------
|
||||
-- HIER DEINE BUSINESS LOGIK EINSETZEN
|
||||
-- z.B. PRCUST_ADD_OBJECT_JOB
|
||||
------------------------------------------------
|
||||
IF @ProfilId = 64
|
||||
BEGIN
|
||||
PRINT 'PROFIL 64';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF @ProfilId IN (6,10,11,12,13)
|
||||
BEGIN
|
||||
SET @MSG = 'CREATE_WF_OVERVIEW_RECORD_MB...'
|
||||
RAISERROR (@MSG, 0, 1) WITH NOWAIT;
|
||||
EXEC PRCUST_ADD_OBJECT_JOB
|
||||
@DocId,
|
||||
'CREATE_WF_OVERVIEW_RECORD_MB',
|
||||
'PRTF_CUST_WORKFLOW_WORKER_OPT',
|
||||
@ProfilId,
|
||||
@FileGuid;
|
||||
END
|
||||
|
||||
IF @ProfilId = 12
|
||||
BEGIN
|
||||
EXEC PRCUST_ADD_OBJECT_JOB
|
||||
@DocId,
|
||||
'CREATE_WF41_RECORD',
|
||||
'PRTF_CUST_WORKFLOW_WORKER_OPT';
|
||||
END
|
||||
|
||||
IF @ProfilId <> 12
|
||||
BEGIN
|
||||
SET @MSG = 'CREATE_WF_OVERVIEW_RECORD...'
|
||||
RAISERROR (@MSG, 0, 1) WITH NOWAIT;
|
||||
EXEC PRCUST_ADD_OBJECT_JOB
|
||||
@DocId,
|
||||
'CREATE_WF_OVERVIEW_RECORD',
|
||||
'PRTF_CUST_WORKFLOW_WORKER_OPT',
|
||||
@ProfilId,
|
||||
@FileGuid;
|
||||
END
|
||||
END
|
||||
|
||||
UPDATE dbo.TBPM_PROFILE_QUEUE
|
||||
SET STATUS = 2,
|
||||
FINISHED_WHEN = SYSDATETIME()
|
||||
WHERE QUEUE_ID = @QueueId;
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
UPDATE dbo.TBPM_PROFILE_QUEUE
|
||||
SET STATUS = 3,
|
||||
TRY_COUNT = TRY_COUNT + 1,
|
||||
ERROR_MSG = ERROR_MESSAGE()
|
||||
WHERE QUEUE_ID = @QueueId;
|
||||
|
||||
END CATCH
|
||||
|
||||
FETCH NEXT FROM cur INTO @QueueId, @FileGuid, @DocID, @ProfilId;
|
||||
END
|
||||
|
||||
CLOSE cur;
|
||||
DEALLOCATE cur;
|
||||
|
||||
END
|
||||
END;
|
||||
GO
|
||||
|
||||
|
||||
|
||||
6
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.0.sql
Normal file
6
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.0.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '3.0' where NAME = 'Process-Manager';
|
||||
GO
|
||||
|
||||
ALTER TABLE dbo.TBPM_CONTROL_TABLE
|
||||
ADD FORMULA_SQL NVARCHAR(3000) NOT NULL DEFAULT '';
|
||||
GO
|
||||
454
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.1.sql
Normal file
454
01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.1.sql
Normal file
@@ -0,0 +1,454 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '3.1' where NAME = 'Process-Manager';
|
||||
GO
|
||||
ALTER TABLE dbo.TBPM_CHART
|
||||
ADD COCKPIT_CHART_ID INT NOT NULL DEFAULT 0;
|
||||
GO
|
||||
|
||||
ALTER VIEW [dbo].[VWPM_CHART_INVOICE_MONITOR_SERIES]
|
||||
AS
|
||||
select 'Alle Rechnungen' as Title
|
||||
,15 Anzahl
|
||||
,500000 NettoSumme
|
||||
,1 SEQ
|
||||
,1 COCKPIT_CHART_ID
|
||||
--,convert(varchar,format(SUM(500000),'###,###,###.00','de-de')) NettoSumme
|
||||
UNION
|
||||
SELECT 'Posteingang' as Title
|
||||
,10 Anzahl
|
||||
,12000 NettoSumme
|
||||
,2 SEQ
|
||||
,1 COCKPIT_CHART_ID
|
||||
--,convert(varchar,format(SUM(12000),'###,###,###.00','de-de')) NettoSumme
|
||||
UNION
|
||||
SELECT 'Fachliche Freigabe' as Title
|
||||
,5 Anzahl
|
||||
,13658.5 NettoSumme
|
||||
,3 SEQ
|
||||
,1 COCKPIT_CHART_ID
|
||||
--,convert(varchar,format(13658.5,'###,###,###.00','de-de')) NettoSumme
|
||||
UNION
|
||||
SELECT 'Finale Freigabe' as Title
|
||||
,53 Anzahl
|
||||
,658555.65 NettoSumme
|
||||
,4 SEQ
|
||||
,1 COCKPIT_CHART_ID
|
||||
--,convert(varchar,format(658555.65,'###,###,###.00','de-de')) NettoSumme
|
||||
UNION
|
||||
SELECT 'Zeitkritisch' as Title
|
||||
,0 Anzahl
|
||||
,'0.000' NettoSumme
|
||||
,5 SEQ
|
||||
,1 COCKPIT_CHART_ID
|
||||
--ORDER BY SEQ
|
||||
|
||||
GO
|
||||
|
||||
ALTER view [dbo].[VWPM_CHART_TOP5] as
|
||||
SELECT 'Kreditor1' as KRED_NAME
|
||||
,56 as ANZ_BELEG
|
||||
,convert(decimal(19,2),125565478.8) as Netto
|
||||
,convert(decimal(19,2),10000) as Skonto
|
||||
,1 COCKPIT_CHART_ID
|
||||
UNION
|
||||
SELECT 'Kreditor2' as KRED_NAME
|
||||
,49 as ANZ_BELEG
|
||||
,convert(decimal(19,2),8575222.48) as Netto
|
||||
,convert(decimal(19,2),8555.4) as Skonto
|
||||
,1 COCKPIT_CHART_ID
|
||||
UNION
|
||||
SELECT 'Kreditor3' as KRED_NAME
|
||||
,43 as ANZ_BELEG
|
||||
,convert(decimal(19,2),2582222.8) as Netto
|
||||
,convert(decimal(19,2),5647.2) as Skonto
|
||||
,1 COCKPIT_CHART_ID
|
||||
UNION
|
||||
SELECT 'Kreditor4' as KRED_NAME
|
||||
,3 as ANZ_BELEG
|
||||
,convert(decimal(19,2),68589.89) as Netto
|
||||
,convert(decimal(19,2),48.96) as Skonto
|
||||
,1 COCKPIT_CHART_ID
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TBTF_CFG_COCKPIT](
|
||||
[PK_CFG_COCKPIT_ID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[ACTIVE] [bit] NOT NULL,
|
||||
[NAME] [nvarchar](150) NOT NULL,
|
||||
[COMMENT] [nvarchar](500) NULL,
|
||||
[ADDED_WHO] [nvarchar](50) NOT NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHO] [nvarchar](50) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL,
|
||||
CONSTRAINT [PK_TBTF_CFG_COCKPIT_ID] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[PK_CFG_COCKPIT_ID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ACTIVE] DEFAULT ((1)) FOR [ACTIVE]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'PK_CFG_COCKPIT_ID'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'On / Off Switch' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'ACTIVE'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'NAME'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional description' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'COMMENT'
|
||||
GO
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TBTF_MAP_COCKPIT](
|
||||
[PK_MAP_COCKPIT_ID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[FK_CFG_COCKPIT_ID] [bigint] NOT NULL,
|
||||
[FK_CFG_USER_ID] [int] NULL,
|
||||
[FK_CFG_GROUP_ID] [int] NULL,
|
||||
[SEQUENCE] [smallint] NOT NULL,
|
||||
[ADDED_WHO] [nvarchar](50) NOT NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHO] [nvarchar](50) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL,
|
||||
CONSTRAINT [PK_TBTF_MAP_COCKPIT_ID] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[PK_MAP_COCKPIT_ID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_SEQUENCE] DEFAULT ((0)) FOR [SEQUENCE]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_GROUPS] FOREIGN KEY([FK_CFG_GROUP_ID])
|
||||
REFERENCES [dbo].[TBDD_GROUPS] ([GUID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_GROUPS]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_USER] FOREIGN KEY([FK_CFG_USER_ID])
|
||||
REFERENCES [dbo].[TBDD_USER] ([GUID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_USER]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBTF_CFG_COCKPIT] FOREIGN KEY([FK_CFG_COCKPIT_ID])
|
||||
REFERENCES [dbo].[TBTF_CFG_COCKPIT] ([PK_CFG_COCKPIT_ID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBTF_CFG_COCKPIT]
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_MAP_COCKPIT', @level2type=N'COLUMN',@level2name=N'PK_MAP_COCKPIT_ID'
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION](
|
||||
[PK_CFG_COCKPIT_DEFINITION_ID] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
[FK_CFG_COCKPIT_ID] [bigint] NOT NULL,
|
||||
[ACTIVE] [bit] NOT NULL,
|
||||
[PARENT_ID] [int] NOT NULL,
|
||||
[TYPE_ID] [tinyint] NOT NULL,
|
||||
[ICON_ID] [smallint] NOT NULL,
|
||||
[NAME] [nvarchar](150) NULL,
|
||||
[FK_PROFILE_ID] [int] NULL,
|
||||
[FK_CHART_ID] [int] NULL,
|
||||
[FK_MONITOR_ID] [int] NULL,
|
||||
[SQL_QUERY] [nvarchar](max) NOT NULL,
|
||||
[SQL_QUERY_COUNT] [nvarchar](max) NULL,
|
||||
[COMMENT] [nvarchar](500) NULL,
|
||||
[ADDED_WHO] [nvarchar](50) NOT NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHO] [nvarchar](50) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL,
|
||||
CONSTRAINT [PK_TBTF_CFG_COCKPIT_DEFINITION_PK_COCKPIT_ID] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[PK_CFG_COCKPIT_DEFINITION_ID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE] DEFAULT ((1)) FOR [ACTIVE]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID] DEFAULT ((0)) FOR [PARENT_ID]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE] DEFAULT ((0)) FOR [TYPE_ID]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ICON] DEFAULT ((0)) FOR [ICON_ID]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] WITH NOCHECK ADD CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE] FOREIGN KEY([FK_PROFILE_ID])
|
||||
REFERENCES [dbo].[TBPM_PROFILE] ([GUID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] NOCHECK CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] WITH CHECK ADD CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT] FOREIGN KEY([FK_CFG_COCKPIT_ID])
|
||||
REFERENCES [dbo].[TBTF_CFG_COCKPIT] ([PK_CFG_COCKPIT_ID])
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] CHECK CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT]
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'PK_CFG_COCKPIT_DEFINITION_ID'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'On / Off Switch' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'ACTIVE'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0 = Overview, 1 = Profile, 2 = Monitoring, 3 = Chart' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'TYPE_ID'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Zahlenwerte für Symbole' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'ICON_ID'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'NAME'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional description' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'COMMENT'
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- [FNTF_GET_COCKPIT_DEFINITION]
|
||||
-- =================================================================
|
||||
-- Returns a table with user allocated cockpits
|
||||
--
|
||||
-- Returns: TABLE
|
||||
-- =================================================================
|
||||
-- Copyright (c) 2026 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: 23.04.2026 / MK
|
||||
-- Version Date / Editor: 23.04.2026 / MK
|
||||
-- Version Number: 1.0.0.0
|
||||
-- =================================================================
|
||||
-- History:
|
||||
-- 23.04.2026 / MK - First Version
|
||||
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNTF_GET_COCKPIT_DEFINITION](
|
||||
@pUSER_ID BIGINT, -- GUID from [TBDD_USER]
|
||||
@pLANGUAGE NVARCHAR(10) = NULL -- OPTIONAL: Set Language if you want to Override setting in Profile table. Failsafe is getting data from [TBDD_USERS]
|
||||
)
|
||||
RETURNS @RESULT TABLE ( [PK_RESULT_ID] [bigint] Identity(1,1) NOT NULL,
|
||||
[PK_CFG_COCKPIT_DEFINITION_ID] [bigint] NOT NULL,
|
||||
[FK_CFG_COCKPIT_ID] [bigint] NOT NULL,
|
||||
[PARENT_ID] [bigint] NOT NULL,
|
||||
[ACTIVE] [bit] NOT NULL,
|
||||
[TYPE_ID] [tinyint] NOT NULL,
|
||||
[ICON_INDEX] [smallint] NOT NULL,
|
||||
[NAME] [nvarchar](150) NULL,
|
||||
[FK_PROFILE_ID] [bigint] NULL,
|
||||
[FK_CHART_ID] [bigint] NULL,
|
||||
[FK_MONITOR_ID] [bigint] NULL,
|
||||
[SQL_QUERY] [nvarchar](max) NOT NULL,
|
||||
[SQL_QUERY_COUNT] [nvarchar](max) NULL,
|
||||
[COMMENT] [nvarchar](500) NULL,
|
||||
[ADDED_WHO] [nvarchar](50) NOT NULL,
|
||||
[ADDED_WHEN] [datetime] NOT NULL,
|
||||
[CHANGED_WHO] [nvarchar](50) NULL,
|
||||
[CHANGED_WHEN] [datetime] NULL)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
--=========================================-- Parameter copies (avoid sniffing) --========================================--
|
||||
DECLARE @USER_ID BIGINT = @pUSER_ID,
|
||||
@LANGUAGE NVARCHAR(10) = @pLANGUAGE;
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- declare runtime vars --===============================================--
|
||||
DECLARE @MY_FUNCTION_NAME NVARCHAR(128) = OBJECT_NAME(@@PROCID);
|
||||
DECLARE @MODULE_SHORT_NAME NVARCHAR(10) = 'PM';
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===================================================-- Failsafe settings --====================================================--
|
||||
SET @LANGUAGE =
|
||||
CASE
|
||||
WHEN ((LEN(@LANGUAGE) = 0) AND (SELECT count([LANGUAGE]) FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID) = 1)
|
||||
THEN (SELECT [LANGUAGE] FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID)
|
||||
ELSE @LANGUAGE
|
||||
END;
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- get user allocated cockpits --===============================================--
|
||||
INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[FK_CFG_COCKPIT_ID],
|
||||
[PARENT_ID],
|
||||
[ACTIVE],
|
||||
[TYPE_ID],
|
||||
[ICON_INDEX],
|
||||
[NAME],
|
||||
[FK_PROFILE_ID],
|
||||
[FK_CHART_ID],
|
||||
[FK_MONITOR_ID],
|
||||
[SQL_QUERY],
|
||||
[SQL_QUERY_COUNT],
|
||||
[COMMENT],
|
||||
[ADDED_WHO],
|
||||
[ADDED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN])
|
||||
|
||||
SELECT DISTINCT
|
||||
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[CCP].[FK_CFG_COCKPIT_ID],
|
||||
[CCP].[PARENT_ID],
|
||||
[CCP].[ACTIVE],
|
||||
|
||||
[CCP].[TYPE_ID],
|
||||
[CCP].[ICON_ID] ,
|
||||
CASE
|
||||
WHEN ((SELECT COUNT(1) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1)
|
||||
THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME])
|
||||
|
||||
ELSE [CCP].[NAME]
|
||||
END as [NAME],
|
||||
[CCP].[FK_PROFILE_ID],
|
||||
[CCP].[FK_CHART_ID],
|
||||
[CCP].[FK_MONITOR_ID],
|
||||
[CCP].[SQL_QUERY],
|
||||
[CCP].[SQL_QUERY_COUNT],
|
||||
[CCP].[COMMENT],
|
||||
[CCP].[ADDED_WHO],
|
||||
[CCP].[ADDED_WHEN],
|
||||
[CCP].[CHANGED_WHO],
|
||||
[CCP].[CHANGED_WHEN]
|
||||
|
||||
FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK)
|
||||
INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].[PK_CFG_COCKPIT_ID]
|
||||
|
||||
WHERE [CC].[ACTIVE] in (0,1)
|
||||
AND [CCP].[ACTIVE] in (0,1)
|
||||
AND [CCP].[FK_CFG_COCKPIT_ID] IN
|
||||
|
||||
(SELECT TOP 100 PERCENT [FK_CFG_COCKPIT_ID]
|
||||
FROM [dbo].[TBTF_MAP_COCKPIT] WITH (NOLOCK)
|
||||
WHERE [FK_CFG_USER_ID] = @USER_ID
|
||||
ORDER BY [SEQUENCE] ASC);
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--===============================================-- get group allocated cockpits --==============================================--
|
||||
INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[FK_CFG_COCKPIT_ID],
|
||||
[PARENT_ID],
|
||||
[ACTIVE],
|
||||
[TYPE_ID],
|
||||
[ICON_INDEX],
|
||||
[NAME],
|
||||
[FK_PROFILE_ID],
|
||||
[FK_CHART_ID],
|
||||
[FK_MONITOR_ID],
|
||||
[SQL_QUERY],
|
||||
[SQL_QUERY_COUNT],
|
||||
[COMMENT],
|
||||
[ADDED_WHO],
|
||||
[ADDED_WHEN],
|
||||
[CHANGED_WHO],
|
||||
[CHANGED_WHEN])
|
||||
|
||||
SELECT DISTINCT
|
||||
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
|
||||
[CCP].[FK_CFG_COCKPIT_ID],
|
||||
[CCP].[PARENT_ID],
|
||||
[CCP].[ACTIVE],
|
||||
[CCP].[TYPE_ID],
|
||||
[CCP].[ICON_ID] ,
|
||||
CASE
|
||||
WHEN ((SELECT COUNT(1) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1)
|
||||
THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME])
|
||||
|
||||
ELSE [CCP].[NAME]
|
||||
END as [NAME],
|
||||
[CCP].[FK_PROFILE_ID],
|
||||
[CCP].[FK_CHART_ID],
|
||||
[CCP].[FK_MONITOR_ID],
|
||||
[CCP].[SQL_QUERY],
|
||||
[CCP].[SQL_QUERY_COUNT],
|
||||
[CCP].[COMMENT],
|
||||
[CCP].[ADDED_WHO],
|
||||
[CCP].[ADDED_WHEN],
|
||||
[CCP].[CHANGED_WHO],
|
||||
[CCP].[CHANGED_WHEN]
|
||||
|
||||
FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK)
|
||||
INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].PK_CFG_COCKPIT_ID
|
||||
|
||||
WHERE [CC].[ACTIVE] in (0,1)
|
||||
AND [CCP].[ACTIVE] in (0,1)
|
||||
AND [CCP].[FK_CFG_COCKPIT_ID] IN
|
||||
|
||||
(SELECT TOP 100 PERCENT [FK_CFG_COCKPIT_ID]
|
||||
FROM [dbo].[TBTF_MAP_COCKPIT] WITH (NOLOCK)
|
||||
WHERE [FK_CFG_GROUP_ID] IN
|
||||
|
||||
(SELECT DISTINCT [GROUP_ID]
|
||||
FROM [dbo].[TBDD_GROUPS_USER] WITH (NOLOCK)
|
||||
WHERE [USER_ID] = @USER_ID)
|
||||
|
||||
ORDER BY [SEQUENCE] ASC)
|
||||
|
||||
AND [FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT); -- Allow no duplicates
|
||||
----------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
RETURN;
|
||||
|
||||
END;
|
||||
|
||||
/***
|
||||
-- TEST:
|
||||
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](1,NULL)
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](2,'en-us')
|
||||
SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](5,'en-us')
|
||||
|
||||
***/
|
||||
GO
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.0' where NAME = 'Process-Manager';
|
||||
--Das Overview-SQL muss um folgenden LEFT JOIN erweitert werden
|
||||
--#############################################################################################
|
||||
--LEFT JOIN TBTF_PROFILE_FILES_WORK PFW ON T.DOC_ID = PFW.DocID AND T.PROFIL_ID = PFW.ProfileID
|
||||
@@ -43,7 +44,6 @@ BEGIN
|
||||
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0;
|
||||
END
|
||||
GO
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.0' where NAME = 'Process-Manager';
|
||||
--#############################################################################################
|
||||
IF NOT EXISTS(SELECT GUID FROM [DD_ECM].[dbo].[TBPM_KONFIGURATION] where [SQL_PROFILE_MAIN_VIEW] like '%(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0))%')
|
||||
PRINT 'ACHTUNG: Bitte erste Anweisung in Skript beachten: Es fehlt eine Erweiterung im Overview SQL!!!'
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.1' where NAME = 'Process-Manager';
|
||||
--Das Overview-SQL zur Workflowdarstellung muss um folgenden LEFT JOIN erweitert werden
|
||||
--#############################################################################################
|
||||
--LEFT JOIN TBTF_PROFILE_FILES_WORK PFW ON T.DOC_ID = PFW.DocID AND T.PROFIL_ID = PFW.ProfileID
|
||||
@@ -5,7 +6,6 @@
|
||||
--und einen where-Teil:
|
||||
--#############################################################################################
|
||||
--(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0))
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.1' where NAME = 'Process-Manager';
|
||||
GO
|
||||
IF EXISTS(SELECT * FROM sys.columns
|
||||
WHERE Name = N'SQL_PROFILE_MAIN_VIEW'
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: <Digital Data - Schreiber, Marlon>
|
||||
-- Description: <Diese Prozedur erstellt die Records und Cotnrols für die Mitarbeiter
|
||||
|
||||
BEGIN
|
||||
DECLARE
|
||||
@NODE_GUID INTEGER,
|
||||
@NODE_CONFIG_ID INTEGER,
|
||||
@ENTITY_ID INTEGER,
|
||||
@CAPTION VARCHAR(100),
|
||||
@ID1 VARCHAR(100),
|
||||
@TYPE_NODE SMALLINT,
|
||||
@PARENT_GUID INTEGER,
|
||||
@NODES_CREATED INTEGER,
|
||||
@NC_PERSON_BASE INTEGER,
|
||||
@CTRL_ID_NN INTEGER,
|
||||
@CTRL_ID_VN INTEGER
|
||||
|
||||
|
||||
SELECt @NC_PERSON_BASE = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Hauptknoten Personal';
|
||||
SELECT @ENTITY_ID = GUID FROM TBPMO_FORM WHERE NAME = 'Personalakte';
|
||||
SELECT @CTRL_ID_NN = GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID AND NAME = 'txtNachname'
|
||||
SELECT @CTRL_ID_VN = GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID AND NAME = 'txtVorname'
|
||||
DECLARE MYCURSOR CURSOR LOCAL FOR
|
||||
select T.GUID, T1.GUID as NODE_CONFIG_ID, T1.[ENTITY_ID],T.NODE_CAPTION,T.ID1,T1.TYPE_NODE,T.PARENT_GUID
|
||||
, T.RECORD_ID
|
||||
from
|
||||
TBPMO_STRUCTURE_NODES T,
|
||||
TBPMO_STRUCTURE_NODES_CONFIGURATION T1
|
||||
WHERE
|
||||
T.NODE_CONFIG_ID = T1.GUID AND T1.CREATE_RECORD = 1
|
||||
AND T1.ENTITY_ID = 5 AND T1.NAME in ('Dateiablage','Hauptknoten Personal')
|
||||
and T.GUID <> 3 AND T.NODE_CAPTION = 'Meldungen'
|
||||
|
||||
--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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.7.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.7.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.6.1.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.6.1.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.6.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.6.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.1.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.1.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.8.0.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.8.0.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.9.0.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.0.0.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.0.0.sql
Normal file
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/3.1.0.sql
Normal file
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
|
||||
150
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
Normal file
150
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
Normal file
@@ -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
|
||||
12
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.5.sql
Normal file
12
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.5.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.5.5' WHERE SHORT_NAME = 'SIG_ENV_CR'
|
||||
GO
|
||||
|
||||
IF NOT EXISTS(SELECT *
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER'
|
||||
AND COLUMN_NAME = 'PARENT_ENVELOPE_RECEIVER_ID ')
|
||||
BEGIN
|
||||
PRINT 'SPALTE PARENT_ENVELOPE_RECEIVER_ID EXISTIERT NICHT IN TBSIG_ENVELOPE_RECEIVER'
|
||||
ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER ADD PARENT_ENVELOPE_RECEIVER_ID INTEGER NOT NULL DEFAULT 0;
|
||||
END
|
||||
GO
|
||||
165
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.6.sql
Normal file
165
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.6.sql
Normal file
@@ -0,0 +1,165 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.5.6' WHERE SHORT_NAME = 'SIG_ENV_CR'
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
--CHANGED 02.07.2025 TBSIG_DOCUMENT_RECEIVER_ELEMENT INTEGRIERT
|
||||
ALTER PROCEDURE [dbo].[PRSIG_DELETE_ENVELOPE_FINALLY_ID] @ENV_GUID INT
|
||||
AS
|
||||
DELETE FROM TBSIG_ENVELOPE_CERTIFICATE where ENVELOPE_ID = @ENV_GUID;
|
||||
DELETE FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT] where DOCUMENT_ID IN (SELECT GUID FROM TBSIG_ENVELOPE_DOCUMENT where ENVELOPE_ID = @ENV_GUID);
|
||||
DELETE FROM TBSIG_ENVELOPE_DOCUMENT where ENVELOPE_ID = @ENV_GUID;
|
||||
DELETE FROM TBSIG_ENVELOPE_HISTORY where ENVELOPE_ID = @ENV_GUID;
|
||||
|
||||
DELETE FROM TBSIG_ENVELOPE_RECEIVER where ENVELOPE_ID = @ENV_GUID;
|
||||
DELETE FROM TBSIG_ENVELOPE where GUID = @ENV_GUID;
|
||||
GO
|
||||
ALTER TABLE TBSIG_DOCUMENT_RECEIVER_ELEMENT
|
||||
ADD CONSTRAINT UQTBSIG_DOCUMENT_RECEIVER_ELEMENT_DocID_PosX_PosY UNIQUE (DOCUMENT_ID, POSITION_X, POSITION_Y);
|
||||
GO
|
||||
|
||||
--Changed 14.07.2025 MS Termination of commands, Fehler Rückgabe von select
|
||||
--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 @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,COMMENT = @COMMENT 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
|
||||
232
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.7.sql
Normal file
232
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.7.sql
Normal file
@@ -0,0 +1,232 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.5.7' WHERE SHORT_NAME = 'SIG_ENV_CR'
|
||||
GO
|
||||
|
||||
|
||||
--Changed 04.09.2025 MS Status 103 - Korrektur Y Werte mit Offset
|
||||
--Changed 14.07.2025 MS Termination of commands, Fehler Rückgabe von select
|
||||
--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)
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID;
|
||||
IF @STATUS = 1003 /*ENVELOPE QUEUED*/
|
||||
BEGIN
|
||||
DECLARE @RECEL_GUID BIGINT,@POS_Y FLOAT, @OFFSET FLOAT = '0.3'
|
||||
DECLARE cursChangeYPos CURSOR FOR
|
||||
SELECT GUID, POSITION_Y FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT where DOCUMENT_ID IN (SELECT GUID FROM TBSIG_ENVELOPE_DOCUMENT where ENVELOPE_ID = @ENVELOPE_ID) ORDER BY ADDED_WHEN
|
||||
OPEN cursChangeYPos
|
||||
FETCH NEXT FROM cursChangeYPos INTO @RECEL_GUID,@POS_Y
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
--SET @POS_Y = @POS_Y - @OFFSET
|
||||
UPDATE TBSIG_DOCUMENT_RECEIVER_ELEMENT SET POSITION_Y = @POS_Y - @OFFSET, CHANGED_WHO = 'OFFSET_Y_POS' WHERE GUID = @RECEL_GUID;
|
||||
FETCH NEXT FROM cursChangeYPos INTO @RECEL_GUID,@POS_Y
|
||||
END
|
||||
CLOSE cursChangeYPos
|
||||
DEALLOCATE cursChangeYPos
|
||||
END
|
||||
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 @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,COMMENT = @COMMENT 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
|
||||
|
||||
ALTER TABLE TBSIG_DOCUMENT_RECEIVER_ELEMENT
|
||||
ADD CHANGED_WHO NVARCHAR(100);
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT_AFT_INS] ON [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR INSERT
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@POS_X FLOAT,
|
||||
@POS_Y FLOAT
|
||||
|
||||
SELECT
|
||||
@POS_X = POSITION_X,
|
||||
@POS_Y = POSITION_Y
|
||||
FROM INSERTED
|
||||
|
||||
SELECT @POS_X = ROUND(@POS_X, 1);
|
||||
SELECT @POS_Y = ROUND(@POS_Y, 1);
|
||||
UPDATE TBSIG_DOCUMENT_RECEIVER_ELEMENT SET
|
||||
POSITION_X = @POS_X,
|
||||
POSITION_Y = @POS_Y,
|
||||
CHANGED_WHO = 'TBSIG_DOC_REC_EL_AFT_INS'
|
||||
FROM INSERTED
|
||||
WHERE TBSIG_DOCUMENT_RECEIVER_ELEMENT.GUID = INSERTED.GUID
|
||||
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'ERROR IN Trigger [TBSIG_DOCUMENT_RECEIVER_ELEMENT_AFT_INS]:'
|
||||
+ ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
|
||||
CREATE TRIGGER [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT_AFT_UPD] ON [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR UPDATE
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@POS_X FLOAT,
|
||||
@POS_Y FLOAT,
|
||||
@CHANGEDWHO NVARCHAR(100)
|
||||
|
||||
SELECT
|
||||
@POS_X = POSITION_X,
|
||||
@POS_Y = POSITION_Y,
|
||||
@CHANGEDWHO = CHANGED_WHO
|
||||
FROM INSERTED
|
||||
IF @CHANGEDWHO <> 'OFFSET_Y_POS'
|
||||
BEGIN
|
||||
SELECT @POS_X = ROUND(@POS_X, 1);
|
||||
SELECT @POS_Y = ROUND(@POS_Y, 1);
|
||||
UPDATE TBSIG_DOCUMENT_RECEIVER_ELEMENT SET
|
||||
POSITION_X = @POS_X,
|
||||
POSITION_Y = @POS_Y,
|
||||
CHANGED_WHO = 'TBSIG_DOC_REC_EL_AFT_UPD'
|
||||
FROM INSERTED
|
||||
WHERE TBSIG_DOCUMENT_RECEIVER_ELEMENT.GUID = INSERTED.GUID
|
||||
END
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'ERROR IN Trigger [TBSIG_DOCUMENT_RECEIVER_ELEMENT_AFT_UPD]:'
|
||||
+ ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
@@ -64,27 +64,4 @@ BEGIN CATCH
|
||||
+ ' - ERROR-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] (
|
||||
@windreamDocID BIGINT
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups'
|
||||
FROM [@WINDREAM_DB].[dbo].[BaseAttributes] as [wdBA] (NOLOCK)
|
||||
|
||||
INNER JOIN [@WINDREAM_DB].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID
|
||||
INNER JOIN [@WINDREAM_DB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID
|
||||
INNER JOIN [@WINDREAM_DB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames
|
||||
|
||||
INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID
|
||||
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID
|
||||
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames
|
||||
|
||||
WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME])
|
||||
AND [wdBA].[dwDocID] = @windreamDocID
|
||||
GO
|
||||
@@ -1,6 +1,3 @@
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
@@ -44,7 +41,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE](
|
||||
CONSTRAINT [PK_TBTC_FIH_PROFILE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE]
|
||||
@@ -76,7 +73,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE](
|
||||
CONSTRAINT [PK_TBTC_FIH_PROFILE_RIGHTS_RULE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE]
|
||||
@@ -107,7 +104,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE](
|
||||
CONSTRAINT [PK_TBTC_FIH_PROFILE_RIGHTS_TYPE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE]
|
||||
@@ -147,7 +144,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RULE](
|
||||
CONSTRAINT [PK_TBTC_FIH_PROFILE_RULE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RULE_TYPE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RULE]
|
||||
@@ -190,7 +187,7 @@ CREATE TABLE [dbo].[TBTC_FIM_PROFILE](
|
||||
CONSTRAINT [PK_TBTC_FIM_PROFILE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIM_PROFILE_AFT_UPD] ON [dbo].[TBTC_FIM_PROFILE]
|
||||
@@ -230,7 +227,7 @@ CREATE TABLE [dbo].[TBTC_FIM_PROFILE_RULE](
|
||||
CONSTRAINT [PK_TBTC_FIM_PROFILE_RULE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[GUID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
CREATE TRIGGER [dbo].[TBTC_FIM_PROFILE_RULE_UPD] ON [dbo].[TBTC_FIM_PROFILE_RULE]
|
||||
|
||||
@@ -2,6 +2,8 @@ IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' )
|
||||
INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where UPPER(NAME) = UPPER('ToolCollection')
|
||||
GO
|
||||
EXEC sp_rename 'TBTC_DI_REGEX_MATCH.PROFIL_NAME', 'PROFILE_NAME', 'COLUMN';
|
||||
GO
|
||||
CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] (
|
||||
@windreamDocID BIGINT
|
||||
)
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1,ACTIVE) VALUES
|
||||
(9,'Mobile Workflow','MWF','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','',1)
|
||||
GO
|
||||
--DROP TABLE TBMWF_CONFIG;
|
||||
--DROP TABLE TBMWF_PROF_BUTTONS;
|
||||
--DROP TABLE TBMWF_PROF_CONTROLS_TF;
|
||||
--DROP TABLE TBMWF_TF_FILES;
|
||||
--DROP TABLE TBMWF_PROFILE_OBJ_STATE;
|
||||
--DROP TABLE TBMWF_WF_STATE;
|
||||
--DROP TABLE TBMWF_PROFILE_USER;
|
||||
--DROP TABLE TBMWF_PROFILE
|
||||
INSERT INTO [dbo].[TBDD_GROUPS] ([NAME] ,[INTERNAL] ,[ACTIVE] ,[COMMENT])
|
||||
VALUES
|
||||
('MWF_USERS'
|
||||
@@ -19,11 +27,11 @@ GO
|
||||
CREATE TABLE TBMWF_CONFIG
|
||||
(
|
||||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||||
CONF_TITLE VARCHAR(100) NOT NULL,
|
||||
CONF_STRING VARCHAR(900) NOT NULL,
|
||||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
|
||||
CONF_TITLE NVARCHAR(100) NOT NULL,
|
||||
CONF_STRING NVARCHAR(900) NOT NULL,
|
||||
ADDED_WHO NVARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(30),
|
||||
CHANGED_WHO NVARCHAR(30),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBMWF_CONFIG PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBMWF_CONFIG_TITLE UNIQUE (CONF_TITLE)
|
||||
@@ -42,18 +50,19 @@ INSERT INTO TBMWF_CONFIG (CONF_TITLE,CONF_STRING) VALUES
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
--DROP TABLE TBMWF_PROFILE
|
||||
CREATE TABLE TBMWF_PROFILE
|
||||
(
|
||||
GUID INTEGER IDENTITY(1,1),
|
||||
INTL_NAME VARCHAR(200) NOT NULL DEFAULT 0,
|
||||
INTL_NAME NVARCHAR(200) NOT NULL DEFAULT 0,
|
||||
PM_PROFILE_ID INTEGER NOT NULL,
|
||||
[TYPE_ID] TINYINT NOT NULL DEFAULT 1, --1 TaskFlow,2 AblageFlow, 3 SignFlow
|
||||
ACTIVE BIT NOT NULL DEFAULT 0,
|
||||
FORE_COLOR VARCHAR(100),
|
||||
BACK_COLOR VARCHAR(100),
|
||||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
|
||||
FORE_COLOR NVARCHAR(100),
|
||||
BACK_COLOR NVARCHAR(100),
|
||||
ADDED_WHO NVARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(30),
|
||||
CHANGED_WHO NVARCHAR(30),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBMWF_PROFILE_GUID PRIMARY KEY(GUID),
|
||||
CONSTRAINT UQ_TBMWF_PROFILE UNIQUE (INTL_NAME,PM_PROFILE_ID)
|
||||
@@ -75,9 +84,9 @@ CREATE TABLE TBMWF_PROFILE_CONTROLS_UPDATE
|
||||
MWF_PROFILE_ID INTEGER NOT NULL,
|
||||
USR_ID INTEGER NOT NULL,
|
||||
OBJ_ID BIGINT NOT NULL,
|
||||
ATTR_NAME VARCHAR(100) NOT NULL,
|
||||
ATTR_NAME NVARCHAR(100) NOT NULL,
|
||||
ATTR_VALUE NVARCHAR(3000) NOT NULL,
|
||||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHO NVARCHAR(30) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_TBMWF_PROFILE_CONTROLS_UPDATE PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROFILE_CONTROLS_UPDATE_PROFILE FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID),
|
||||
@@ -88,8 +97,8 @@ GO
|
||||
CREATE TABLE TBMWF_WF_STATE
|
||||
(
|
||||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||||
INTL_STATE VARCHAR(100) NOT NULL,
|
||||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYS',
|
||||
INTL_STATE NVARCHAR(100) NOT NULL,
|
||||
ADDED_WHO NVARCHAR(30) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_TBMWF_WF_STATE PRIMARY KEY (GUID),
|
||||
CONSTRAINT UQ_TBMWF_WF_STATE UNIQUE(INTL_STATE)
|
||||
@@ -108,9 +117,9 @@ CREATE TABLE TBMWF_PROFILE_OBJ_STATE
|
||||
STATE2 NVARCHAR(100),
|
||||
STATE3 NVARCHAR(100),
|
||||
STATE4 NVARCHAR(100),
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHO NVARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBMWF_PROFILE_OBJ_STATE PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_STID FOREIGN KEY (STATE_ID) REFERENCES TBMWF_WF_STATE (GUID),
|
||||
@@ -118,7 +127,7 @@ CREATE TABLE TBMWF_PROFILE_OBJ_STATE
|
||||
)
|
||||
GO
|
||||
|
||||
|
||||
--DROP TABLE TBMWF_PROFILE_OBJ_STATE_HISTORY
|
||||
CREATE TABLE TBMWF_PROFILE_OBJ_STATE_HISTORY
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
@@ -129,43 +138,41 @@ CREATE TABLE TBMWF_PROFILE_OBJ_STATE_HISTORY
|
||||
STATE2 NVARCHAR(100),
|
||||
STATE3 NVARCHAR(100),
|
||||
STATE4 NVARCHAR(100),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHO NVARCHAR(100),
|
||||
CHANGED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_TBMWF_PROFILE_OBJ_STATE_HISTORY PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_HISTORY_STID FOREIGN KEY (STATE_ID) REFERENCES TBMWF_WF_STATE (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROFILE_OBJ_STATE_HISTORY_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID)
|
||||
)
|
||||
GO
|
||||
USE [DD_ECM]
|
||||
GO
|
||||
|
||||
ALTER TRIGGER [dbo].[TBMWF_PROFILE_OBJ_STATE_AFT_UPD] ON [dbo].[TBMWF_PROFILE_OBJ_STATE]
|
||||
CREATE TRIGGER [dbo].[TBMWF_PROFILE_OBJ_STATE_AFT_UPD] ON [dbo].[TBMWF_PROFILE_OBJ_STATE]
|
||||
FOR UPDATE
|
||||
AS
|
||||
DECLARE @CHANGED_WHO VARCHAR(100)
|
||||
DECLARE @CHANGED_WHO NVARCHAR(100)
|
||||
SELECT @CHANGED_WHO = CHANGED_WHO FROM inserted
|
||||
INSERT INTO TBMWF_PROFILE_OBJ_STATE_HISTORY (MWF_PROFILE_ID,USR_ID,OBJ_ID,STATE_ID,STATE2,STATE3,STATE4,CHANGED_WHO)
|
||||
SELECT MWF_PROFILE_ID,USR_ID,OBJ_ID,STATE_ID,STATE2,STATE3,STATE4,CHANGED_WHO FROM inserted
|
||||
UPDATE TBMWF_PROFILE_OBJ_STATE SET CHANGED_WHEN = GETDATE(),CHANGED_WHO = @CHANGED_WHO
|
||||
FROM INSERTED
|
||||
WHERE TBMWF_PROFILE_OBJ_STATE.GUID = INSERTED.GUID
|
||||
|
||||
GO
|
||||
------------------------------------------------------------------------------
|
||||
--DROP TABLE TBMWF_PROF_CONTROLS_TF
|
||||
CREATE TABLE TBMWF_PROF_CONTROLS_TF
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
OBJ_STATE_ID BIGINT NOT NULL,
|
||||
DIALOG_NO TINYINT NOT NULL DEFAULT 1,
|
||||
ATTR_NAME VARCHAR(100) NOT NULL,
|
||||
CTRL_TYPE VARCHAR(10) NOT NULL, --TXT,CMB,DTP
|
||||
CAPTION VARCHAR(100) NOT NULL,
|
||||
[TEXT] VARCHAR(500) NOT NULL,
|
||||
ICON VARCHAR(100) ,
|
||||
ATTR_NAME NVARCHAR(100) NOT NULL,
|
||||
CTRL_TYPE NVARCHAR(10) NOT NULL, --TXT,CMB,DTP
|
||||
CAPTION NVARCHAR(100) NOT NULL,
|
||||
[TEXT] NVARCHAR(500) NOT NULL,
|
||||
ICON NVARCHAR(100) ,
|
||||
MANDATORY BIT NOT NULL DEFAULT 0,
|
||||
CHOICE_LIST NVARCHAR(MAX),
|
||||
[READ_ONLY] BIT NOT NULL DEFAULT 0,
|
||||
SEQU TINYINT DEFAULT 0,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_TBMWF_PROF_CONTROLS PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROF_CONTROLS_TF_OSID FOREIGN KEY (OBJ_STATE_ID) REFERENCES TBMWF_PROFILE_OBJ_STATE (GUID),
|
||||
@@ -178,11 +185,11 @@ CREATE TABLE TBMWF_TF_FILES
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
OBJ_STATE_ID BIGINT NOT NULL,
|
||||
F_FAPTH NVARCHAR(512) NOT NULL,
|
||||
HEADLINE VARCHAR(100) NOT NULL,
|
||||
SUBLINE VARCHAR(100),
|
||||
COMMENT VARCHAR(250),
|
||||
ICON VARCHAR(100),
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
HEADLINE NVARCHAR(100) NOT NULL,
|
||||
SUBLINE NVARCHAR(100),
|
||||
COMMENT NVARCHAR(250),
|
||||
ICON NVARCHAR(100),
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CONSTRAINT PK_TBMWF_TF_FILES PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_TF_FILES_OSID FOREIGN KEY (OBJ_STATE_ID) REFERENCES TBMWF_PROFILE_OBJ_STATE (GUID)
|
||||
@@ -194,17 +201,17 @@ CREATE TABLE TBMWF_PROF_BUTTONS
|
||||
GUID INT NOT NULL IDENTITY (1, 1),
|
||||
MWF_PROFILE_ID INT NOT NULL,
|
||||
DIALOG_NO TINYINT NOT NULL DEFAULT 1,
|
||||
BTN_TYPE VARCHAR(20) NOT NULL, --BUTTON_MAIN, BUTTON_1,BUTTON_2
|
||||
[TEXT] VARCHAR(500) NOT NULL,
|
||||
ICON VARCHAR(100) ,
|
||||
FORE_COLOR VARCHAR(100) NOT NULL DEFAULT 'Black',
|
||||
BACK_COLOR VARCHAR(100) NOT NULL DEFAULT '',
|
||||
BTN_TYPE NVARCHAR(20) NOT NULL, --BUTTON_MAIN, BUTTON_1,BUTTON_2
|
||||
[TEXT] NVARCHAR(500) NOT NULL,
|
||||
ICON NVARCHAR(100) ,
|
||||
FORE_COLOR NVARCHAR(100) NOT NULL DEFAULT 'Black',
|
||||
BACK_COLOR NVARCHAR(100) NOT NULL DEFAULT '',
|
||||
COMMAND NVARCHAR(MAX) NOT NULL DEFAULT '',
|
||||
DIALOG_COMMAND NVARCHAR(MAX) NOT NULL DEFAULT '',
|
||||
CONFIRMATION_TEXT NVARCHAR(250) NOT NULL DEFAULT '',
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHO NVARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBMWF_PROF_BUTTONS PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROF_BUTTONS_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID),
|
||||
@@ -219,18 +226,18 @@ AS
|
||||
WHERE TBMWF_PROF_BUTTONS.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
CREATE TABLE TBMFI_PROFILE_USER
|
||||
CREATE TABLE TBMWF_PROFILE_USER
|
||||
(
|
||||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||||
MWF_PROFILE_ID INTEGER NOT NULL,
|
||||
USR_ID INTEGER NOT NULL,
|
||||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHO NVARCHAR(100) NOT NULL DEFAULT 'SYS',
|
||||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(100),
|
||||
CHANGED_WHO NVARCHAR(100),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT PK_TBMFI_PROFILE_USER PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMFI_PROFILE_USER_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID),
|
||||
CONSTRAINT UQ_TBMFI_PROFILE_USER UNIQUE(MWF_PROFILE_ID,USR_ID)
|
||||
CONSTRAINT PK_TBMWF_PROFILE_USER PRIMARY KEY (GUID),
|
||||
CONSTRAINT FK_TBMWF_PROFILE_USER_PID FOREIGN KEY (MWF_PROFILE_ID) REFERENCES TBMWF_PROFILE (GUID),
|
||||
CONSTRAINT UQ_TBMWF_PROFILE_USER UNIQUE(MWF_PROFILE_ID,USR_ID)
|
||||
)
|
||||
GO
|
||||
|
||||
@@ -245,20 +252,23 @@ INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (
|
||||
VALUES
|
||||
( 'MFI', 1, '9', 'Title 9', 'de-DE','Title', 'Fotodokumentation','subtitle Fotodoku')
|
||||
GO
|
||||
CREATE FUNCTION [dbo].[FNMWF_GET_PROFILES] (@pUSR_ID INTEGER)
|
||||
RETURNS @TABLE_RETURN TABLE (PID INTEGER,[TYPE_ID] TINYINT, CAPTION VARCHAR(100),SUBTITLE VARCHAR(150), COUNTOBJ INT, FORE_COLOR VARCHAR(100) , BACK_COLOR VARCHAR(100))
|
||||
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNMWF_GET_PROFILES] (@pUSR_ID INTEGER)
|
||||
RETURNS @TABLE_RETURN TABLE (PROFILE_ID INTEGER,[TYPE_ID] TINYINT, CAPTION NVARCHAR(100),SUBTITLE NVARCHAR(150), COUNTOBJ INT, FORE_COLOR NVARCHAR(100) , BACK_COLOR NVARCHAR(100))
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO @TABLE_RETURN (PID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR)
|
||||
SELECT A.MWF_PROFILE_ID,1,C.STRING1,C.String2,COUNT(A.GUID), B.FORE_COLOR,B.BACK_COLOR FROM TBMWF_PROFILE_OBJ_STATE A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID
|
||||
INNER JOIN (SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'MWF') C ON A.MWF_PROFILE_ID = C.OBJ_NAME
|
||||
IF @pUSR_ID = 97 SET @pUSR_ID = 1
|
||||
INSERT INTO @TABLE_RETURN (PROFILE_ID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR)
|
||||
SELECT A.MWF_PROFILE_ID,1,C.STRING1,C.String2,COUNT(A.GUID),B.FORE_COLOR,B.BACK_COLOR FROM TBMWF_PROFILE_OBJ_STATE A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID
|
||||
INNER JOIN (SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'MWF' AND ISNUMERIC(OBJ_NAME) = 1) C ON A.MWF_PROFILE_ID = C.OBJ_NAME
|
||||
INNER JOIN TBDD_USER D ON A.USR_ID = D.GUID
|
||||
WHERE D.GUID = @pUSR_ID AND D.LANGUAGE = C.LANGUAGE AND A.STATE_ID = 1
|
||||
WHERE D.GUID = 1 AND D.LANGUAGE = C.LANGUAGE AND A.STATE_ID = @pUSR_ID
|
||||
GROUP BY A.MWF_PROFILE_ID,C.STRING1,C.String2,B.FORE_COLOR,B.BACK_COLOR
|
||||
|
||||
|
||||
INSERT INTO @TABLE_RETURN (PID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR)
|
||||
SELECT A.MWF_PROFILE_ID,2,C.STRING1,C.String2,0, B.FORE_COLOR,B.BACK_COLOR FROM TBMFI_PROFILE_USER A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID
|
||||
INSERT INTO @TABLE_RETURN (PROFILE_ID,[TYPE_ID],CAPTION,SUBTITLE,COUNTOBJ, FORE_COLOR,BACK_COLOR)
|
||||
SELECT A.MWF_PROFILE_ID,2,C.STRING1,C.String2,0, B.FORE_COLOR,B.BACK_COLOR
|
||||
FROM TBMWF_PROFILE_USER A INNER JOIN TBMWF_PROFILE B ON A.MWF_PROFILE_ID = B.GUID
|
||||
INNER JOIN (SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'MFI') C ON A.MWF_PROFILE_ID = C.OBJ_NAME
|
||||
INNER JOIN TBDD_USER D ON A.USR_ID = D.GUID
|
||||
WHERE D.GUID = @pUSR_ID AND C.LANGUAGE = D.LANGUAGE
|
||||
@@ -267,14 +277,15 @@ BEGIN
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
CREATE FUNCTION [dbo].[FNMWF_GET_ITEMS] (@pUSR_ID INTEGER,@pMWF_PID INTEGER)
|
||||
RETURNS @TABLE_RETURN TABLE (ObjStateID BIGINT,ObjectID BIGINT,Headline1 VARCHAR(100),Headline2 VARCHAR(150),Subline1 VARCHAR(100),Subline2 VARCHAR(100),CMD_CheckIn NVARCHAR(MAX))
|
||||
CREATE OR ALTER FUNCTION [dbo].[FNMWF_GET_PROFILE_OBJECTS] (@pUSR_ID INTEGER,@pMWF_PID INTEGER)
|
||||
RETURNS @TABLE_RETURN TABLE (ObjStateID BIGINT,ObjectID BIGINT,Headline1 NVARCHAR(100),Headline2 NVARCHAR(150),Subline1 NVARCHAR(100),Subline2 NVARCHAR(100),CMD_CheckIn NVARCHAR(MAX))
|
||||
AS
|
||||
BEGIN
|
||||
IF @pUSR_ID = 97 SET @pUSR_ID = 1
|
||||
INSERT INTO @TABLE_RETURN (ObjStateID,ObjectID,Headline1,Headline2,Subline1,Subline2,CMD_CheckIn)
|
||||
SELECT
|
||||
VA.GUID,
|
||||
OBJ.IDB_OBJ_ID
|
||||
VA.OBJ_ID
|
||||
,OW.[Mandant Name]
|
||||
,OW.[KreditorName]
|
||||
, OW.[Zahlungsziel]
|
||||
@@ -283,11 +294,11 @@ BEGIN
|
||||
FROM
|
||||
TBMWF_PROFILE_OBJ_STATE VA INNER JOIN
|
||||
TBPM_CUST_WORKFLOW_OVERVIEW OW ON VA.OBJ_ID = OW.DOC_ID
|
||||
INNER JOIN [IDB].[dbo].TBIDB_OBJECT OBJ ON OW.DOC_ID = OBJ.IDB_OBJ_ID
|
||||
--INNER JOIN [IDB].[dbo].TBIDB_OBJECT OBJ ON OW.DOC_ID = OBJ.IDB_OBJ_ID
|
||||
WHERE
|
||||
VA.USR_ID = @pUSR_ID AND
|
||||
OW.PROFILE_ID = 6 AND
|
||||
OBJ.DELETED = 0 AND OBJ.ACTIVE = 1 AND
|
||||
--OBJ.DELETED = 0 AND OBJ.ACTIVE = 1 AND
|
||||
VA.MWF_PROFILE_ID = @pMWF_PID AND
|
||||
VA.STATE_ID = 1 ;
|
||||
RETURN
|
||||
|
||||
@@ -1,24 +1,61 @@
|
||||
INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (
|
||||
MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2)
|
||||
VALUES
|
||||
( 'MWF', 1, '1', 'Title 1', 'de-DE','Title', 'VA Freigabe','Freigabe in Rolle Verantwortlich')
|
||||
--INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (
|
||||
-- MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2)
|
||||
-- VALUES
|
||||
-- ( 'MWF', 1, '1', 'Title 1', 'de-DE','Title', 'VA Freigabe','Freigabe in Rolle Verantwortlich')
|
||||
--GO
|
||||
--INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (
|
||||
-- MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2)
|
||||
-- VALUES
|
||||
-- ( 'MWF', 1, '3', 'Title 93', 'de-DE','Title', 'Finale Freigabe','Freigabe in Rolle Finaler Freigeber')
|
||||
--GO
|
||||
select * from TBMWF_PROFILE
|
||||
|
||||
INSERT INTO [dbo].[TBMWF_PROFILE]
|
||||
([INTL_NAME]
|
||||
,[PM_PROFILE_ID]
|
||||
,[TYPE_ID]
|
||||
,[ACTIVE]
|
||||
,[FORE_COLOR]
|
||||
,[BACK_COLOR] )
|
||||
VALUES
|
||||
('TEST PROFIL MobileWorkflow - '
|
||||
,6
|
||||
,1
|
||||
,1
|
||||
,'Yellow'
|
||||
,'Black')
|
||||
GO
|
||||
INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (
|
||||
MODULE, INTERNAL, OBJ_NAME, TITLE, LANGUAGE,CAPT_TYPE, STRING1,String2)
|
||||
VALUES
|
||||
( 'MWF', 1, '3', 'Title 93', 'de-DE','Title', 'Finale Freigabe','Freigabe in Rolle Finaler Freigeber')
|
||||
|
||||
INSERT INTO [dbo].[TBMWF_PROFILE]
|
||||
([INTL_NAME]
|
||||
,[PM_PROFILE_ID]
|
||||
,[TYPE_ID]
|
||||
,[ACTIVE]
|
||||
,[FORE_COLOR]
|
||||
,[BACK_COLOR] )
|
||||
VALUES
|
||||
('TEST PROFIL MobileWorkflow - Finale Freigabe'
|
||||
,9
|
||||
,1
|
||||
,1
|
||||
,'Green'
|
||||
,'Black')
|
||||
GO
|
||||
select * from TBMWF_PROFILE_OBJ_STATE
|
||||
|
||||
INSERT INTO TBMWF_PROFILE_OBJ_STATE (MWF_PROFILE_ID,USR_ID,OBJ_ID,STATE_ID) VALUES
|
||||
(1,1,12968,1);
|
||||
DECLARE @GUID BIGINT
|
||||
SELECT @GUID = MAX(GUID) FROM TBMWF_PROFILE_OBJ_STATE;
|
||||
INSERT INTO TBMWF_PROF_CONTROLS_TF (
|
||||
OBJ_STATE_ID,ATTR_NAME, CTRL_TYPE, CAPTION, TEXT, ICON, MANDATORY, CHOICE_LIST, READ_ONLY, SEQU)
|
||||
VALUES (1, 'INV_NO', 'TXT', 'Rechnungs-Nummer', 'RE-4711', 'bookmark', 0, '', 1, 0),
|
||||
(1, 'CREDITOR', 'TXT', 'Kreditor-Name', 'Europcar GmbH', 'credit-card', 0, '', 1, 1),
|
||||
(1, 'Combobox1','CMB', 'Ein Combo-Feld:', '', 'check2-circle',1, 'Eintrag1;Eintrag2', 0, 2),
|
||||
(1, 'Comment','TXT', 'Bemerkung', '', 'chat-square-text', 0, '', 0, 3);
|
||||
VALUES (@GUID, 'INV_NO', 'TXT', 'Rechnungs-Nummer', 'RE-4711', 'bookmark', 0, '', 1, 0),
|
||||
(@GUID, 'CREDITOR', 'TXT', 'Kreditor-Name', 'Europcar GmbH', 'credit-card', 0, '', 1, 1),
|
||||
(@GUID, 'Combobox1','CMB', 'Ein Combo-Feld:', '', 'check2-circle',1, 'Eintrag1;Eintrag2', 0, 2),
|
||||
(@GUID, 'Comment','TXT', 'Bemerkung', '', 'chat-square-text', 0, '', 0, 3);
|
||||
|
||||
|
||||
INSERT INTO TBMFI_PROFILE_USER (MWF_PROFILE_ID,USR_ID) VALUES (6,1),(9,1);
|
||||
INSERT INTO TBMWF_PROFILE_USER (MWF_PROFILE_ID,USR_ID) VALUES (1,1),(2,1);
|
||||
INSERT INTO [dbo].[TBMWF_PROF_BUTTONS]
|
||||
([MWF_PROFILE_ID]
|
||||
,[BTN_TYPE]
|
||||
@@ -30,7 +67,7 @@ INSERT INTO [dbo].[TBMWF_PROF_BUTTONS]
|
||||
,ADDED_WHO
|
||||
)
|
||||
VALUES
|
||||
(3
|
||||
(1
|
||||
,1
|
||||
,'Genehmigen'
|
||||
,'check-square-fill'
|
||||
@@ -50,7 +87,7 @@ INSERT INTO [dbo].[TBMWF_PROF_BUTTONS]
|
||||
,ADDED_WHO
|
||||
)
|
||||
VALUES
|
||||
(3
|
||||
(1
|
||||
,2
|
||||
,'Ablehnen'
|
||||
,'sign-stop-fill'
|
||||
|
||||
51
12_MWF/Update/1.1.sql
Normal file
51
12_MWF/Update/1.1.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.1' where SHORT_NAME = 'MWF';
|
||||
GO
|
||||
|
||||
ALTER TABLE TBMWF_PROFILE ADD [PRIORITY] INTEGER NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBMWF_TF_FILES ADD [ProcessID] INTEGER NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBMWF_PROF_BUTTONS ADD [NextDialogID] TINYINT NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBMWF_PROF_CONTROLS_TF ADD [NextDialogID] TINYINT NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBMWF_PROF_CONTROLS_TF ADD [TYPE] NVARCHAR(50) NOT NULL DEFAULT 'TEXT'
|
||||
GO
|
||||
ALTER TABLE TBMWF_PROF_CONTROLS_TF ADD [VALUES] NVARCHAR(900)
|
||||
GO
|
||||
ALTER TABLE TBMWF_PROF_CONTROLS_TF ADD [PROCESSID] INTEGER NOT NULL DEFAULT 0
|
||||
EXEC sp_RENAME 'TBMWF_PROF_CONTROLS_TF.SEQU' , 'SEQUENCE', 'COLUMN'
|
||||
GO
|
||||
CREATE VIEW VWMWF_F19_PROFILE AS
|
||||
SELECT
|
||||
GUID AS ID,
|
||||
[INTL_NAME] As Title,
|
||||
PRIORITY
|
||||
FROM
|
||||
TBMWF_PROFILE
|
||||
GO
|
||||
CREATE VIEW VWMWF_F19_FIELD AS
|
||||
SELECT
|
||||
GUID AS ID,
|
||||
PROCESSID,
|
||||
DIALOG_NO AS DIALOGID,
|
||||
ATTR_NAME AS [NAME],
|
||||
CAPTION AS TITLE,
|
||||
[TYPE],
|
||||
[VALUES],
|
||||
[READ_ONLY] as [READONLY],
|
||||
SEQUENCE as ORDER_KEY
|
||||
FROM
|
||||
TBMWF_PROF_CONTROLS_TF FIELD
|
||||
GO
|
||||
CREATE VIEW VWMWF_F19_BUTTON AS
|
||||
SELECT
|
||||
GUID AS ID,
|
||||
MWF_PROFILE_ID as ProfileID,
|
||||
DIALOG_NO AS DIALOGID,
|
||||
NextDialogID AS NextDialogID,
|
||||
TEXT AS title,
|
||||
FORE_COLOR as forecolor,
|
||||
BACK_COLOR as backcolor
|
||||
FROM
|
||||
TBMWF_PROF_BUTTONS FIELD
|
||||
@@ -28,7 +28,7 @@ End
|
||||
|
||||
SELECT type, *
|
||||
FROM sys.objects
|
||||
WHERE OBJECT_DEFINITION(object_id) LIKE '%PRPMO_CUST_CHECK_CONTROLS_HAAA%'
|
||||
WHERE OBJECT_DEFINITION(object_id) LIKE '%TBTF_PROFILE_FILES_WORK%'
|
||||
--AND type IN ('V')
|
||||
ORDER BY name
|
||||
|
||||
@@ -46,3 +46,22 @@ DECLARE cursStrasse CURSOR FOR
|
||||
END
|
||||
CLOSE cursStrasse
|
||||
DEALLOCATE cursStrasse
|
||||
|
||||
-- In Jobs suchen
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
SELECT
|
||||
j.job_id,
|
||||
j.name AS JobName,
|
||||
s.step_id,
|
||||
s.step_name,
|
||||
s.command
|
||||
FROM
|
||||
dbo.sysjobs j
|
||||
INNER JOIN dbo.sysjobsteps s
|
||||
ON j.job_id = s.job_id
|
||||
WHERE
|
||||
s.command LIKE '%MOTBIDB_DOC_INFO%'
|
||||
ORDER BY
|
||||
j.name, s.step_id;
|
||||
|
||||
Reference in New Issue
Block a user