Compare commits

..

88 Commits

Author SHA1 Message Date
Developer01
7d85665368 Push vom 27.03 IDB und orgFLOW 2026-03-27 14:24:15 +01:00
Developer01
f59f8a22d3 orgFLOW Rechte NodesAnlegen
taskFlow Formula_SQL
2026-03-24 17:23:02 +01:00
Developer01
01e0c726e5 DD_ECM und taskOrgFLOW 2026-03-10 12:43:37 +01:00
Developer01
1febe4956b Push 2.3 nach nicht Übernahme Anpassungen 2026-02-12 16:58:34 +01:00
Developer01
8c673e3f2e Nochmal push für 2.8 2026-02-12 14:14:48 +01:00
Developer01
32abe759cb Zeilenberechnungen taskFLOW, spalten TBPM_RPOFILE_FILES 2026-02-12 10:22:54 +01:00
Developer01
3917c9c675 TransportScripts und taskFLOW 2026-02-02 11:01:08 +01:00
Developer01
670f58e1fa commit 11.12 2025-12-11 14:39:42 +01:00
Developer01
b6a6495f52 Orgflow und DD_ECM 2025-10-30 18:37:25 +01:00
Developer01
bf790156bc signFLOW und Sichtbeleg 2025-09-05 13:40:09 +02:00
Developer01
6827da195c MWF CreateDBObjects 2025-07-18 15:48:45 +02:00
Developer01
b8b9891602 MWF 2025-07-18 15:46:23 +02:00
Developer01
1069216108 xRechnugn Sichtbeleg, taskFlow GuiLanguagePhrase,orgFLOW namedLicensing
signFLOW parentChildReceiver
2025-07-14 08:52:57 +02:00
Developer01
a7d27cec30 DD_ECM ColumnGrid Tabelle. orgFLOW personalakte 2025-06-26 16:18:07 +02:00
Developer01
d4ffba093f Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/SqlScripts
Neue Tabelle Mirko
2025-06-12 09:10:02 +02:00
Developer01
ba27b6989c OrgFLOW Update, dadurch auch DD_ECM 2025-06-12 09:09:36 +02:00
01426c749d Neue Spalte "EN16931_ID" 2025-06-11 14:39:24 +02:00
Developer01
25eeb6d310 signFlow aktualisieren Erstellung 2025-05-14 08:43:08 +02:00
Developer01
d46e67d4b6 DD_ECM, Addedscripts DDECM
orgFLOW, signFLOW
2025-05-07 13:20:18 +02:00
Developer01
93802e4995 MS SQL Join Anpassung AllIn Skripte 2025-04-23 12:55:32 +02:00
Developer01
69dfe197b8 EnvelopeCreator API 2025-04-10 18:00:16 +02:00
Developer01
a60d5a6f9d Ms Zusammenführung smartup DD_ECM 2025-03-28 15:28:32 +01:00
Developer01
beb7850a92 MS DD_ECM_Allin Skript 2025-03-21 14:16:25 +01:00
Developer01
3ff72eb165 MS Integrate smartup in DD_ECM, Erstes ToolCollection Tabellenskript in ZA mit Marvin 2025-03-21 11:06:27 +01:00
Developer01
8b4f1d05d2 MS Zusammenführung 2025-03-19 15:35:57 +01:00
Developer01
b07e52f8ab MS easyFLOW und fileFLOW added to mainskript 2025-03-18 16:19:37 +01:00
Developer01
4fc15940a2 MS DD_ECM windream related skripte separat, UM integriert 2025-03-18 15:14:15 +01:00
Developer01
19a5418dcb MS DD_ECM Windream related sripts ausgelagert 2025-03-18 14:48:52 +01:00
Developer01
8c7c66b0c4 MS DD_ECM UpdateScripts in Main integriert 2025-03-18 14:07:05 +01:00
Developer01
4e3b6bf8e9 MS DD_ECM 2025-03-18 12:53:48 +01:00
Developer01
5faee00ae9 Nochmaliger Push taskFLOW 2025-02-26 14:48:19 +01:00
Developer01
6c0a6ee05b MS signFLOW und taskFLOW 2025-02-25 17:34:45 +01:00
Developer01
47668cf14c MS EnvelopeCreator, orgFLOW und Taskflow 2025-02-18 17:43:35 +01:00
Developer01
294bb8bfd0 easy/signFLOW Updates 2025-02-11 16:48:09 +01:00
Developer01
f1409427f7 2.4.1.0 2025-01-29 11:02:58 +01:00
Developer01
9cbb9e4859 MS TaskFlow nach SWE Auffälligkeiten 2025-01-29 08:27:50 +01:00
Developer01
5f1f6889da Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/SqlScripts 2025-01-28 17:06:15 +01:00
Developer01
bd813c3c76 MS Nach UPdate SWE 2025-01-28 17:05:55 +01:00
1f098da007 1.0.0.1.sql 2025-01-28 13:00:04 +01:00
Developer01
52dc4ac4e2 MS Änderungen Update SWE 2025-01-28 11:59:44 +01:00
Developer01
46e3551e72 MS Änderungen nach Update bei SWE 2025-01-28 11:27:02 +01:00
Developer01
128b7c2a9c MS FileFlow und TaskFlow 2025-01-28 09:48:10 +01:00
Developer01
9e3de8e9ae MS TaskFlow 2025-01-28 08:33:32 +01:00
Developer01
5e8397fa83 MS DD_ECM 3rdParty 2025-01-17 12:01:29 +01:00
a6165bb0ee Neues DB-Feld TBEMLP_POLL_PROCESS.ALLOW_XML_RECEIPTS 2025-01-17 11:46:05 +01:00
Developer01
5d1092f89c MS Update TF und SF 2025-01-14 17:04:37 +01:00
Developer01
6b8a9fc780 MS SIG ENV CREATOR 1530 2025-01-07 08:46:07 +01:00
Developer01
de36605b8d MS Diverse Anpassungen EnvelopeCreator, DDECM, Maintenance, Funktionsbausteine, IDB 2024-12-20 14:42:06 +01:00
Developer01
886d0d0682 MS DD_ECM EVCreator,Taskflow 2024-10-25 09:42:38 +02:00
Developer01
0d5074be20 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/SqlScripts 2024-09-26 20:36:14 +02:00
Developer01
a0b6b883b7 MS FileFLOW ZooFLOW Komponenten 2024-09-26 20:35:46 +02:00
Developer01
2bd1117253 MS Umbenennung GLOBIX in fileFLOW 2024-09-20 11:09:32 +02:00
871dff6ba4 Korrektur 2024-09-19 13:33:51 +02:00
a9ea89576b Korrektur 2024-09-19 13:33:13 +02:00
ed3201affb MESSAGE_TITLE auf VARCHAR(250) vergrößert 2024-09-19 13:30:39 +02:00
aca093281e MESSAGE_TITLE auf VARCHAR(250) vergrößert 2024-09-19 13:29:34 +02:00
4472c61b58 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.0.2.sql hinzugefügt
Create Procedure PRTF_DEACTIVATE_VALIDATOR_MESSAGE
2024-08-30 10:24:14 +02:00
55b719cf9b 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.0.1.sql hinzugefügt
Create Procedure PRTF_NEW_VALIDATOR_MESSAGE
2024-08-30 10:23:00 +02:00
56baa4e01d 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.0.1 gelöscht 2024-08-30 10:21:00 +02:00
3696b794d0 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.0.1 hinzugefügt
Procedure PRTF_NEW_VALIDATOR_MESSAGE anlegen
2024-08-30 10:20:18 +02:00
Developer01
0adcc4427f MS TF Updates 2024-08-27 17:30:07 +02:00
Developer01
41162b64a3 MS TaskFlow zusätzliche Buttons und Update DD_ECM Skripts 2024-08-26 15:32:03 +02:00
1fa1facb71 Gather Scripts 2024-06-13 17:26:10 +02:00
c319339bdc MS Gather CreateObjectScrips 2024-06-13 13:15:12 +02:00
f642309b27 MS EnvelopeCReator, orgFLOW 2024-06-11 17:05:02 +02:00
6c7d281233 Konflikt aufgelöst 2024-05-22 14:59:58 +02:00
ee5e7e2e77 MS Update nach PC-Wechsel
DD_EMAIL_PROFILER CreateDBObjects
2024-05-22 14:47:35 +02:00
4319b73e8c 00_DB_SETUP_SINGLE/01_DD_ECM/1.9.7.5.sql aktualisiert 2024-04-10 10:40:30 +02:00
d3234e63df MS EnvelopeCreator, UpdateGeneralScripts 2024-02-23 13:35:27 +01:00
4c5293f59a 00_DB_SETUP_SINGLE/01_DD_ECM/1.9.7.5.sql hinzugefügt 2024-02-12 11:33:16 +01:00
JenneJ
87aeec6e63 15_JobRunner/Updates/001_23_01_2024.sql aktualisiert 2024-01-23 14:01:32 +01:00
JenneJ
ae8a196ea9 15_JobRunner/Updates/001_23_01_2024.sql hinzugefügt 2024-01-23 14:00:01 +01:00
JenneJ
a8672d00d0 15_JobRunner/CREATE_DB_OBJECTS.sql hinzugefügt 2024-01-23 13:57:22 +01:00
JenneJ
1a708f44d9 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/003_15_01_2024.sql aktualisiert 2024-01-16 15:05:44 +01:00
JenneJ
59f8b7e0a5 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/003_15_01_2024.sql aktualisiert 2024-01-16 10:40:31 +01:00
JenneJ
d551d5330b 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/003_15_01_2024.sql hinzugefügt 2024-01-15 13:53:43 +01:00
JenneJ
9d365db23f 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/002_09_01_2024.sql aktualisiert 2024-01-11 10:35:30 +01:00
JenneJ
571a38a78c 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/002_09_01_2024.sql hinzugefügt 2024-01-09 11:10:44 +01:00
JenneJ
b626c343c0 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_DELETE.sql aktualisiert 2024-01-09 11:04:16 +01:00
JenneJ
8b7fa4d7db 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/001_21_12_2023.sql aktualisiert 2023-12-21 12:12:13 +01:00
JenneJ
32dafd7594 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/001_21_12_2023.sql hinzugefügt 2023-12-21 12:11:33 +01:00
JenneJ
a765b96e6a 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CLEAN.sql hinzugefügt 2023-12-08 14:42:13 +01:00
e419852869 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql aktualisiert 2023-12-07 14:27:25 +01:00
bc55677aab 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql aktualisiert 2023-12-06 14:47:42 +01:00
2fa74913e1 MS TBSIG_ENVELOPE_HISTORY_AFT_INS 2023-12-06 14:43:28 +01:00
JenneJ
7907f569a4 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql aktualisiert 2023-12-06 09:26:54 +01:00
JenneJ
623af08fe8 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_DELETE.sql aktualisiert 2023-12-06 09:24:57 +01:00
JenneJ
144112510b 01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_DELETE.sql hinzugefügt 2023-12-06 09:14:34 +01:00
148 changed files with 29419 additions and 15109 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,44 +0,0 @@
USE [DD_ECM]
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.4'
GO
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_PREVENT_MULTIPLE_VALUES bit DEFAULT 0
GO
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_OVERWRITE bit DEFAULT 0
GO
ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
AS
SELECT TOP 100 PERCENT
T.GUID,
T.INDEXNAME,
T.COMMENT,
T.DOCTYPE_ID,
T1.BEZEICHNUNG DOKUMENTART,
T1.KURZNAME,
T.CONNECTION_ID,
T2.BEZEICHNUNG CONNECTION,
T2.SQL_PROVIDER,
T2.SERVER,
T2.DATENBANK,
T2.USERNAME,
T2.PASSWORD,
T.SQL_RESULT,
T.SQL_ACTIVE,
T.VALUE,
T.[SEQUENCE],
T.VKT_OVERWRITE,
T.VKT_PREVENT_MULTIPLE_VALUES
FROM
TBDD_INDEX_AUTOM T
INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
WHERE
T.ACTIVE = 1
ORDER BY
T.DOCTYPE_ID,
T.GUID
GO

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,680 @@
--############## ATTENTION BEFORE RUNNING THIS SCRIPT ######################
--1. Replace [windreamDB] in code with name of WM-Database
--2. Replace @WMSQLSERVER_NAME in Code mit Name und Instanz der WM-Datenenbank Beispiel: sDD_VMP01_APS01_windreamDB
--##########################################################################
INSERT INTO TBDD_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('WM_DB_SERVER','@WMSQLSERVER_NAME')
GO
CREATE TRIGGER TBDD_GROUPS_AFT_UPD_WMGROUP ON TBDD_GROUPS
FOR UPDATE
AS
BEGIN
DECLARE @GRPNAME VARCHAR(50)
SELECT @GRPNAME = NAME FROM inserted
IF UPDATE (NAME)
BEGIN
DECLARE @ECM_GRP_ID INTEGER
SELECT @ECM_GRP_ID = [dwGroupID]
FROM [windreamDB].[dbo].[GroupInfo] where UPPER(szGroupName) = UPPER(@GRPNAME) AND szNTDomain = '@DIGITALDATA.LOCAL'
IF @ECM_GRP_ID IS NULL
SET @ECM_GRP_ID = 0
UPDATE TBDD_GROUPS SET ECM_FK_ID = @ECM_GRP_ID
FROM INSERTED
WHERE TBDD_GROUPS.GUID = INSERTED.GUID
END
END
GO
CREATE OR ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS_WMUSER] ON [dbo].[TBDD_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CLIENT_ID INTEGER,
@ADDED_WHO VARCHAR(50),
@CLIENT_COUNT INTEGER,
@ECM_USR_ID INTEGER,
@USRNAME VARCHAR(50),
@UPDATE_PATH VARCHAR(500)
SELECT
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO,
@USRNAME = USERNAME
FROM INSERTED
SELECT @ECM_USR_ID = [dwUserID]
FROM [windreamDB].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
IF @ECM_USR_ID IS NOT NULL
UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
FROM INSERTED
WHERE TBDD_USER.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN TBDD_USER_AFT_INS'
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TRIGGER TBDD_USER_AFT_UPD_WMUSER ON TBDD_USER
FOR UPDATE
AS
BEGIN
DECLARE @USRNAME VARCHAR(50)
SELECT @USRNAME = USERNAME FROM inserted
IF UPDATE (USERNAME)
BEGIN
DECLARE @ECM_USR_ID INTEGER
SELECT @ECM_USR_ID = [dwUserID]
FROM [windreamDB].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
IF @ECM_USR_ID IS NOT NULL
UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
FROM INSERTED
WHERE TBDD_USER.GUID = INSERTED.GUID
END
END
GO
CREATE PROCEDURE [dbo].[PRDD_USER_REFRESH_WM_ID]
AS
DECLARE
@GUID INTEGER,
@USERNAME VARCHAR(500)
DECLARE cursPRDD_USER_REFRESH_WM_ID CURSOR FOR
select GUID,USERNAME from TBDD_USER
OPEN cursPRDD_USER_REFRESH_WM_ID
FETCH NEXT FROM cursPRDD_USER_REFRESH_WM_ID INTO @GUID,@USERNAME
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @ECM_USR_ID INTEGER
SELECT @ECM_USR_ID = [dwUserID] FROM [windreamDB].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USERNAME)
IF @ECM_USR_ID IS NOT NULL
UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID WHERE GUID = @GUID
FETCH NEXT FROM cursPRDD_USER_REFRESH_WM_ID INTO @GUID,@USERNAME
END
CLOSE cursPRDD_USER_REFRESH_WM_ID
DEALLOCATE cursPRDD_USER_REFRESH_WM_ID
GO
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
USE [DD_ECM]
GO
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
-- [FNDD_GET_WINDREAM_CHOICELIST_ITEMS]
-- =================================================================
-- Reads the windream database choice list and gives the
-- choice list items
--
-- Returns: Table (1 column)
-- =================================================================
-- 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.12.2024 / MK
-- Version Date / Editor: 13.12.2024 / MK
-- Version Number: 1.0.0.0
-- =================================================================
-- History:
-- 13.12.2024 / MK - First Version
CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_WINDREAM_CHOICELIST_ITEMS] (
@szListName NVARCHAR(255)
)
RETURNS TABLE
AS
RETURN
SELECT TOP (100) PERCENT [szValue] as 'Auswahlliste'
FROM [windreamDB].[dbo].[ChoiceListItem]
WHERE [dwChoiceListID] = (SELECT [dwChoiceListID] FROM [windreamDB].[dbo].[ChoiceList] WHERE [szListName] = @szListName)
AND LEN([szValue]) > 0
ORDER BY [Auswahlliste] ASC
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- [FNDD_GET_WINDREAM_INDEX_VALUES]
-- =================================================================
-- Reads the windream database attributes to gives the index value
-- of a regular index or a vector index
--
-- Returns: Table (7 columns)
-- =================================================================
-- 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.12.2024 / MK
-- Version Date / Editor: 13.12.2024 / MK
-- Version Number: 1.0.0.0
-- =================================================================
-- History:
-- 13.12.2024 / MK - First Version
CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_WINDREAM_INDEX_VALUES] (
@pdwDocID BIGINT, -- Give windream DocID, eg. 4711
@pszAttrName NVARCHAR(255) -- Give name of the windream Index, eg 'String 37'
)
RETURNS @Table TABLE ([COUNTER] BIGINT IDENTITY(1, 1), [COUNT] BIGINT, [VALUE] NVARCHAR(max), [SOURCE_TYPE] NVARCHAR(50), [SOURCE_TABLE] NVARCHAR(50), [SOURCE_COLUMN] NVARCHAR(50), [SOURCE_COLUMN_SIZE] INT)
AS
BEGIN
DECLARE @dwDocID BIGINT = @pdwDocID,
@szAttrName NVARCHAR(255) = @pszAttrName;
DECLARE @VectorCount INT = 0,
@dwAttrSize INT = 0,
@dwAttrID BIGINT = 0,
@dwAttrType BIGINT = 0,
@szTableName NVARCHAR(255) = NULL,
@szColumnName NVARCHAR(255) = NULL;
DECLARE @Attribute TABLE ([dwAttrID] BIGINT, [dwAttrType] BIGINT, [szTableName] NVARCHAR(255), [szColumnName] NVARCHAR(255), [dwAttrSize] INT);
------------------------------------------------------------------------------------------------------------
INSERT INTO @Attribute ([dwAttrID], [dwAttrType], [szTableName], [szColumnName], [dwAttrSize])
SELECT TOP 1 [dwAttrID], [dwAttrType], [szTableName], [szColumnName], [dwAttrSize]
FROM [windreamDB].[dbo].[Attribute] (NOLOCK) WHERE [szAttrName] = @szAttrName;
------------------------------------------------------------------------------------------------------------
IF ((SELECT COUNT(*) FROM @Attribute) > 0) BEGIN
SELECT @dwAttrID = [dwAttrID],
@dwAttrType = [dwAttrType],
@szTableName = [szTableName],
@szColumnName = [szColumnName],
@dwAttrSize = [dwAttrSize]
FROM @Attribute;
------------------------------------------------------------------------------------------------------------
IF ((@dwAttrID > 0) and (@dwAttrType > 0) and (LEN(@szTableName) > 0) and (LEN(@szColumnName) > 0)) BEGIN
IF (@szTableName = 'BaseAttributes') BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT
COUNT(*),
CASE
WHEN @szColumnName = 'dwDocID' THEN (SELECT CONVERT(NVARCHAR,[dwDocID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDocDBID' THEN (SELECT CONVERT(NVARCHAR,[dwDocDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwParentID' THEN (SELECT CONVERT(NVARCHAR,[dwParentID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwParentDBID' THEN (SELECT CONVERT(NVARCHAR,[dwParentDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwObjectTypeID' THEN (SELECT CONVERT(NVARCHAR,[dwObjectTypeID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwObjectTypeDBID' THEN (SELECT CONVERT(NVARCHAR,[dwObjectTypeDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwCatalogID' THEN (SELECT CONVERT(NVARCHAR,[dwCatalogID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwCreatorID' THEN (SELECT CONVERT(NVARCHAR,[dwCreatorID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szCreatorName' THEN (SELECT CONVERT(NVARCHAR,[szCreatorName]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwVersionNumber' THEN (SELECT CONVERT(NVARCHAR,[dwVersionNumber]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwVersionID' THEN (SELECT CONVERT(NVARCHAR,[dwVersionID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szLongName' THEN (SELECT CONVERT(NVARCHAR,[szLongName]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szUpperLongName' THEN (SELECT CONVERT(NVARCHAR,[szUpperLongName]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szShortName' THEN (SELECT CONVERT(NVARCHAR,[szShortName]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szUpperShortName' THEN (SELECT CONVERT(NVARCHAR,[szUpperShortName]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwSize' THEN (SELECT CONVERT(NVARCHAR,[dwSize]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decCreationTime' THEN (SELECT CONVERT(NVARCHAR,[decCreationTime]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decAccessTime' THEN (SELECT CONVERT(NVARCHAR,[decAccessTime]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decChangedTime' THEN (SELECT CONVERT(NVARCHAR,[decChangedTime]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwChangeCount' THEN (SELECT CONVERT(NVARCHAR,[dwChangeCount]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwFSFlags' THEN (SELECT CONVERT(NVARCHAR,[dwFSFlags]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwFlags' THEN (SELECT CONVERT(NVARCHAR,[dwFlags]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwOwnerID' THEN (SELECT CONVERT(NVARCHAR,[dwOwnerID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwOwnerDBID' THEN (SELECT CONVERT(NVARCHAR,[dwOwnerDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwWorkLockUserID' THEN (SELECT CONVERT(NVARCHAR,[dwWorkLockUserID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwWorkLockUserDBID' THEN (SELECT CONVERT(NVARCHAR,[dwWorkLockUserDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwFlags2' THEN (SELECT CONVERT(NVARCHAR,[dwFlags2]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwUserFlags' THEN (SELECT CONVERT(NVARCHAR,[dwUserFlags]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwEditDate' THEN (SELECT CONVERT(NVARCHAR,[dwEditDate]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwArchiveDate' THEN (SELECT CONVERT(NVARCHAR,[dwArchiveDate]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwEditPeriod' THEN (SELECT CONVERT(NVARCHAR,[dwEditPeriod]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwArchivePeriod' THEN (SELECT CONVERT(NVARCHAR,[dwArchivePeriod]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szReference' THEN (SELECT CONVERT(NVARCHAR,[szReference]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwCreationDate' THEN (SELECT CONVERT(NVARCHAR,[dwCreationDate]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwChangeDate' THEN (SELECT CONVERT(NVARCHAR,[dwChangeDate]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwTypeAssignDate' THEN (SELECT CONVERT(NVARCHAR,[dwTypeAssignDate]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwCreation_Time' THEN (SELECT CONVERT(NVARCHAR,[dwCreation_Time]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwChange_Time' THEN (SELECT CONVERT(NVARCHAR,[dwChange_Time]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwTypeAssign_Time' THEN (SELECT CONVERT(NVARCHAR,[dwTypeAssign_Time]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szDisplay_Name' THEN (SELECT CONVERT(NVARCHAR,[szDisplay_Name]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwAccessListID' THEN (SELECT CONVERT(NVARCHAR,[dwAccessListID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwAccessListDBID' THEN (SELECT CONVERT(NVARCHAR,[dwAccessListDBID]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szFile_Ext' THEN (SELECT CONVERT(NVARCHAR,[szFile_Ext]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szWM_Store' THEN (SELECT CONVERT(NVARCHAR,[szWM_Store]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText00' THEN (SELECT CONVERT(NVARCHAR,[szText00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText01' THEN (SELECT CONVERT(NVARCHAR,[szText01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText02' THEN (SELECT CONVERT(NVARCHAR,[szText02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText03' THEN (SELECT CONVERT(NVARCHAR,[szText03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText04' THEN (SELECT CONVERT(NVARCHAR,[szText04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText05' THEN (SELECT CONVERT(NVARCHAR,[szText05]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText06' THEN (SELECT CONVERT(NVARCHAR,[szText06]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText07' THEN (SELECT CONVERT(NVARCHAR,[szText07]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText08' THEN (SELECT CONVERT(NVARCHAR,[szText08]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText09' THEN (SELECT CONVERT(NVARCHAR,[szText09]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText10' THEN (SELECT CONVERT(NVARCHAR,[szText10]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText11' THEN (SELECT CONVERT(NVARCHAR,[szText11]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText12' THEN (SELECT CONVERT(NVARCHAR,[szText12]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText13' THEN (SELECT CONVERT(NVARCHAR,[szText13]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText14' THEN (SELECT CONVERT(NVARCHAR,[szText14]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText15' THEN (SELECT CONVERT(NVARCHAR,[szText15]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText16' THEN (SELECT CONVERT(NVARCHAR,[szText16]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText17' THEN (SELECT CONVERT(NVARCHAR,[szText17]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText18' THEN (SELECT CONVERT(NVARCHAR,[szText18]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText19' THEN (SELECT CONVERT(NVARCHAR,[szText19]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText20' THEN (SELECT CONVERT(NVARCHAR,[szText20]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText21' THEN (SELECT CONVERT(NVARCHAR,[szText21]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText22' THEN (SELECT CONVERT(NVARCHAR,[szText22]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText23' THEN (SELECT CONVERT(NVARCHAR,[szText23]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText24' THEN (SELECT CONVERT(NVARCHAR,[szText24]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText25' THEN (SELECT CONVERT(NVARCHAR,[szText25]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText26' THEN (SELECT CONVERT(NVARCHAR,[szText26]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText27' THEN (SELECT CONVERT(NVARCHAR,[szText27]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText28' THEN (SELECT CONVERT(NVARCHAR,[szText28]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText29' THEN (SELECT CONVERT(NVARCHAR,[szText29]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText30' THEN (SELECT CONVERT(NVARCHAR,[szText30]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText31' THEN (SELECT CONVERT(NVARCHAR,[szText31]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText32' THEN (SELECT CONVERT(NVARCHAR,[szText32]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText33' THEN (SELECT CONVERT(NVARCHAR,[szText33]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText34' THEN (SELECT CONVERT(NVARCHAR,[szText34]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText35' THEN (SELECT CONVERT(NVARCHAR,[szText35]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText36' THEN (SELECT CONVERT(NVARCHAR,[szText36]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText37' THEN (SELECT CONVERT(NVARCHAR,[szText37]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText38' THEN (SELECT CONVERT(NVARCHAR,[szText38]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'szText39' THEN (SELECT CONVERT(NVARCHAR,[szText39]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger00' THEN (SELECT CONVERT(NVARCHAR,[dwInteger00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger01' THEN (SELECT CONVERT(NVARCHAR,[dwInteger01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger02' THEN (SELECT CONVERT(NVARCHAR,[dwInteger02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger03' THEN (SELECT CONVERT(NVARCHAR,[dwInteger03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger04' THEN (SELECT CONVERT(NVARCHAR,[dwInteger04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger05' THEN (SELECT CONVERT(NVARCHAR,[dwInteger05]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger06' THEN (SELECT CONVERT(NVARCHAR,[dwInteger06]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger07' THEN (SELECT CONVERT(NVARCHAR,[dwInteger07]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger08' THEN (SELECT CONVERT(NVARCHAR,[dwInteger08]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger09' THEN (SELECT CONVERT(NVARCHAR,[dwInteger09]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger10' THEN (SELECT CONVERT(NVARCHAR,[dwInteger10]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger11' THEN (SELECT CONVERT(NVARCHAR,[dwInteger11]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger12' THEN (SELECT CONVERT(NVARCHAR,[dwInteger12]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger13' THEN (SELECT CONVERT(NVARCHAR,[dwInteger13]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger14' THEN (SELECT CONVERT(NVARCHAR,[dwInteger14]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger15' THEN (SELECT CONVERT(NVARCHAR,[dwInteger15]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger16' THEN (SELECT CONVERT(NVARCHAR,[dwInteger16]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger17' THEN (SELECT CONVERT(NVARCHAR,[dwInteger17]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger18' THEN (SELECT CONVERT(NVARCHAR,[dwInteger18]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger19' THEN (SELECT CONVERT(NVARCHAR,[dwInteger19]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger20' THEN (SELECT CONVERT(NVARCHAR,[dwInteger20]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger21' THEN (SELECT CONVERT(NVARCHAR,[dwInteger21]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger22' THEN (SELECT CONVERT(NVARCHAR,[dwInteger22]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger23' THEN (SELECT CONVERT(NVARCHAR,[dwInteger23]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwInteger24' THEN (SELECT CONVERT(NVARCHAR,[dwInteger24]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate00' THEN (SELECT CONVERT(NVARCHAR,[dwDate00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate01' THEN (SELECT CONVERT(NVARCHAR,[dwDate01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate02' THEN (SELECT CONVERT(NVARCHAR,[dwDate02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate03' THEN (SELECT CONVERT(NVARCHAR,[dwDate03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate04' THEN (SELECT CONVERT(NVARCHAR,[dwDate04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate05' THEN (SELECT CONVERT(NVARCHAR,[dwDate05]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate06' THEN (SELECT CONVERT(NVARCHAR,[dwDate06]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate07' THEN (SELECT CONVERT(NVARCHAR,[dwDate07]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate08' THEN (SELECT CONVERT(NVARCHAR,[dwDate08]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwDate09' THEN (SELECT CONVERT(NVARCHAR,[dwDate09]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat00' THEN (SELECT CONVERT(NVARCHAR,[lfFloat00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat01' THEN (SELECT CONVERT(NVARCHAR,[lfFloat01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat02' THEN (SELECT CONVERT(NVARCHAR,[lfFloat02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat03' THEN (SELECT CONVERT(NVARCHAR,[lfFloat03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat04' THEN (SELECT CONVERT(NVARCHAR,[lfFloat04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat05' THEN (SELECT CONVERT(NVARCHAR,[lfFloat05]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat06' THEN (SELECT CONVERT(NVARCHAR,[lfFloat06]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat07' THEN (SELECT CONVERT(NVARCHAR,[lfFloat07]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat08' THEN (SELECT CONVERT(NVARCHAR,[lfFloat08]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat09' THEN (SELECT CONVERT(NVARCHAR,[lfFloat09]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat10' THEN (SELECT CONVERT(NVARCHAR,[lfFloat10]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat11' THEN (SELECT CONVERT(NVARCHAR,[lfFloat11]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat12' THEN (SELECT CONVERT(NVARCHAR,[lfFloat12]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat13' THEN (SELECT CONVERT(NVARCHAR,[lfFloat13]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'lfFloat14' THEN (SELECT CONVERT(NVARCHAR,[lfFloat14]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'blBool00' THEN (SELECT CONVERT(NVARCHAR,[blBool00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'blBool01' THEN (SELECT CONVERT(NVARCHAR,[blBool01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'blBool02' THEN (SELECT CONVERT(NVARCHAR,[blBool02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'blBool03' THEN (SELECT CONVERT(NVARCHAR,[blBool03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'blBool04' THEN (SELECT CONVERT(NVARCHAR,[blBool04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decTimeStamp00' THEN (SELECT CONVERT(NVARCHAR,[decTimeStamp00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decTimeStamp01' THEN (SELECT CONVERT(NVARCHAR,[decTimeStamp01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'decCurrency00' THEN (SELECT CONVERT(NVARCHAR,[decCurrency00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar00' THEN (SELECT CONVERT(NVARCHAR,[wmVar00]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar01' THEN (SELECT CONVERT(NVARCHAR,[wmVar01]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar02' THEN (SELECT CONVERT(NVARCHAR,[wmVar02]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar03' THEN (SELECT CONVERT(NVARCHAR,[wmVar03]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar04' THEN (SELECT CONVERT(NVARCHAR,[wmVar04]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar05' THEN (SELECT CONVERT(NVARCHAR,[wmVar05]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar06' THEN (SELECT CONVERT(NVARCHAR,[wmVar06]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar07' THEN (SELECT CONVERT(NVARCHAR,[wmVar07]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar08' THEN (SELECT CONVERT(NVARCHAR,[wmVar08]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar09' THEN (SELECT CONVERT(NVARCHAR,[wmVar09]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar10' THEN (SELECT CONVERT(NVARCHAR,[wmVar10]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar11' THEN (SELECT CONVERT(NVARCHAR,[wmVar11]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar12' THEN (SELECT CONVERT(NVARCHAR,[wmVar12]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar13' THEN (SELECT CONVERT(NVARCHAR,[wmVar13]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar14' THEN (SELECT CONVERT(NVARCHAR,[wmVar14]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar15' THEN (SELECT CONVERT(NVARCHAR,[wmVar15]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar16' THEN (SELECT CONVERT(NVARCHAR,[wmVar16]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar17' THEN (SELECT CONVERT(NVARCHAR,[wmVar17]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar18' THEN (SELECT CONVERT(NVARCHAR,[wmVar18]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar19' THEN (SELECT CONVERT(NVARCHAR,[wmVar19]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar20' THEN (SELECT CONVERT(NVARCHAR,[wmVar20]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar21' THEN (SELECT CONVERT(NVARCHAR,[wmVar21]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar22' THEN (SELECT CONVERT(NVARCHAR,[wmVar22]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar23' THEN (SELECT CONVERT(NVARCHAR,[wmVar23]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar24' THEN (SELECT CONVERT(NVARCHAR,[wmVar24]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar25' THEN (SELECT CONVERT(NVARCHAR,[wmVar25]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar26' THEN (SELECT CONVERT(NVARCHAR,[wmVar26]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar27' THEN (SELECT CONVERT(NVARCHAR,[wmVar27]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar28' THEN (SELECT CONVERT(NVARCHAR,[wmVar28]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'wmVar29' THEN (SELECT CONVERT(NVARCHAR,[wmVar29]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
WHEN @szColumnName = 'dwILMRetention' THEN (SELECT CONVERT(NVARCHAR,[dwILMRetention]) FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK) WHERE [dwDocID] = @dwDocID)
ELSE NULL
END AS ColumnValue,
@dwAttrType,
@szTableName,
@szColumnName,
@dwAttrSize
FROM [windreamDB].[dbo].[BaseAttributes] (NOLOCK)
WHERE [dwDocID] = @dwDocID;
------------------------------------------------------------------------------------------------------------
END; ELSE IF (@szTableName = 'Vector') BEGIN
SELECT @VectorCount = COUNT(*)
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID;
IF (@dwAttrType in (4097)) BEGIN -- String
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT @VectorCount, [szValue], @dwAttrType, @szTableName, 'szValue', @dwAttrSize
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID
GROUP BY [szValue];
END; ELSE IF (@dwAttrType in (4098,4107)) BEGIN -- Integer
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT @VectorCount, [dwValue], @dwAttrType, @szTableName, 'dwValue', @dwAttrSize
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID
GROUP BY [dwValue];
END; ELSE IF (@dwAttrType in (4099)) BEGIN -- Float
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT @VectorCount, [lfValue], @dwAttrType, @szTableName, 'lfValue', @dwAttrSize
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID
GROUP BY [lfValue];
END; ELSE IF (@dwAttrType in (8,4100,8204)) BEGIN -- Bool
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT @VectorCount, [blValue], @dwAttrType, @szTableName, 'blValue', @dwAttrSize
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID
GROUP BY [blValue];
END; ELSE IF (@dwAttrType in (4101)) BEGIN -- Date
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT @VectorCount, [decValue], @dwAttrType, @szTableName, 'decValue', @dwAttrSize
FROM [windreamDB].[dbo].[Vector] (NOLOCK)
WHERE [dwDocID] = @dwDocID
AND [dwAttrID] = @dwAttrID
GROUP BY [decValue];
END; ELSE BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT 0, NULL, NULL, 'ERROR5', 'COLUMN NOT FOUND', NULL;
END;
-- Failsafe, to have at least one result
IF (SELECT COUNT(*) FROM @Table) = 0 BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT 0, NULL, NULL, 'ERROR4', 'NO VALUE FOUND', NULL;
END;
END; ELSE BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT 0, NULL, NULL, 'ERROR3', 'TABLE NOT FOUND', NULL;
END;
END; ELSE BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT 0, NULL, NULL, 'ERROR2', 'TABLE NOT FOUND', NULL;
END;
END; ELSE BEGIN
INSERT INTO @Table ([COUNT], [VALUE], [SOURCE_TYPE], [SOURCE_TABLE], [SOURCE_COLUMN], [SOURCE_COLUMN_SIZE])
SELECT 0, NULL, NULL, 'ERROR1', 'INDEX NOT FOUND', NULL;
END;
RETURN;
END;
GO
CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] (
@windreamDocID BIGINT
)
RETURNS TABLE
AS
RETURN
----------------------------------------------------------------------------------------------------------------------------------
SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups'
FROM [windreamDB].[dbo].[BaseAttributes] as [wdBA] (NOLOCK)
INNER JOIN [windreamDB].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID
INNER JOIN [windreamDB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID
INNER JOIN [windreamDB].[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
-- ######################### easyFLOW #############################################
CREATE FUNCTION [dbo].[FNCW_WM_SEARCH] (@pSearchValue Varchar(512),@pUSER_ID INTEGER, @pLike BIT)
RETURNS @TBResult TABLE
(DocID INTEGER,
INDEX_NAME VARCHAR(50),
COMMENT VARCHAR(500))
AS
BEGIN
DECLARE @USER_ECM_FKID INTEGER
SELECT @USER_ECM_FKID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID
IF @pLike = 1
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT T.[dwDocID]
,T.[Idx]
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE UPPER(T.Search_Term) LIKE UPPER('%' + @pSearchValue + '%')
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM [windreamDB].dbo.Attribute WMA INNER JOIN [windreamDB].dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) LIKE UPPER('%' + @pSearchValue + '%')
END
ELSE
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME) -- VALUES (1,'1234')
SELECT T.[dwDocID]
,T.[Idx]--,T.Search_Term
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = 1000004
WHERE UPPER(T.Search_Term) = UPPER(@pSearchValue)
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM [windreamDB].dbo.Attribute WMA INNER JOIN [windreamDB].dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) = UPPER(@pSearchValue)
END
RETURN
END
GO
CREATE PROCEDURE [dbo].[PRPM_REMOVE_NE_FILES]
AS
DECLARE
@DOC_ID INTEGER,
@DocRelativePath VARCHAR(500)
DECLARE c_PRPM_REMOVE_NE_FILES CURSOR FOR
select DOC_ID,FILE_PATH from TBPM_PROFILE_FILES
OPEN c_PRPM_REMOVE_NE_FILES
FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT [dwDocID] FROM [windreamDB].[dbo].[BaseAttributes] where dwDocID = @DOC_ID)
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM IDB.dbo.TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @DOC_ID and UPPER(RELATIVE_PATH) = UPPER(@DocRelativePath))
DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DOC_ID
FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath
END
CLOSE c_PRPM_REMOVE_NE_FILES
DEALLOCATE c_PRPM_REMOVE_NE_FILES
GO
UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = '
/*## Following Columns need to be part of sql ##
TL_STATE Returns the TrafficLight-State for each doc (1=Red;2=Orange;3=Green)
PROFILE_ID TITLE Profile-Title used for default-grouping
DOC_ID
FULL_FILE_PATH
LAST USE
LAST EDITED */
--DECLARE @USER_ID INTEGER
--SET @USER_ID = 1
SELECT
T.GUID,
DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) AS [Days in],
Case DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) WHEN 0 THEN 3 WHEN 1 THEN 2 WHEN 2 THEN 1 ELSE 3 END AS TL_STATE,
T.PROFIL_ID AS PROFILE_ID,
T.DOC_ID,
T.FILE_PATH AS FULL_FILE_PATH,
TWM_BA.szLongName as Dateiname,
TWM_BA.szText36 AS Dokumentart,
--TWM_BA.szText35 AS [weitergeleitet an],
--TWM_BA.lfFloat14 AS [Rechnungs Summe],
--ISNULLTWM_BA.szText14 AS Buchungskreis,
--TWM_BA.szText08 AS Kreditor,
T.DMS_ERSTELLT_DATE AS [Erhalten wann],
[dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last User'',
[dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last edited'',
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T.PROFIL_ID) AS ''GROUP_COLOR'',
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T.PROFIL_ID) AS ''GROUP_TEXT''
FROM TBPM_PROFILE_FILES T,
TBPM_PROFILE T1,
TBDD_USER T2,
[windreamDB].dbo.BaseAttributes TWM_BA WHERE T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T.PROFIL_ID = T1.GUID AND T1.GUID in (SELECT PROFIL_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({#USER#USER_ID})) AND T1.ACTIVE = 1 And T2.GUID = {#USER#USER_ID}
AND T.DOC_ID = TWM_BA.dwDocID ORDER By T1.PRIORITY'
WHERE GUID = 1
GO
CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE
@RESULT VARCHAR(MAX),
@DOCID BIGINT,
@a TINYINT = 1,
@i TINYINT = 0,
@PARENT_ID BIGINT,
@DATEINAME NVARCHAR(255),
@PARENTNAME NVARCHAR(255),
@FSFLAGS INT,
@WM_PREFIX VARCHAR(50)
SELECT @WM_PREFIX = WM_REL_PATH from tbpm_KONFIGURATION WHERE GUID = 1
SELECT @FSFLAGS = dwFSFlags FROM [windreamDB].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 [windreamDB].dbo.BaseAttributes WHERE dwDocID = @pDOCID
WHILE @a > 0
BEGIN
IF @i = 0
BEGIN
IF @PARENT_ID = 1
BEGIN
SET @RESULT = '\'
BREAK
END
ELSE
BEGIN
SET @DOCID = @PARENT_ID
SET @RESULT = '\'
END
END
ELSE
BEGIN
IF @PARENT_ID = 1
BEGIN
SET @RESULT = '\' + @PARENTNAME + @RESULT
BREAK
END
ELSE
BEGIN
SET @DOCID = @PARENT_ID
SET @RESULT = '\' + @PARENTNAME + @RESULT
END
END
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windreamDB].dbo.BaseAttributes WHERE dwDocID = @DOCID
SET @i = @i + 1
END
END
SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME
RETURN @RESULT
END
GO

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,651 @@
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
(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_NOTE', '', 'POSITION', 10, 20, 0, 0),
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 21, 0, 0),
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 22, 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
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.SPEC_NAME NOT IN ('INVOICE_POSITION_AMOUNT','INVOICE_POSITION_UNIT_TYPE','INVOICE_POSITION_NOTE',
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','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 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_TAX_AMOUNT') AND GROUP_COUNTER = @GROUP_COUNTER 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 VIEW [dbo].[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 WHERE LEN(ITEM_VALUE) > 0 ) A INNER JOIN
(SELECT * FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Active = 1) B ON A.SPEC_NAME = B.SPECNAME
GO
CREATE TABLE TBDD_COLUMNS_FORMAT
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
MODULE VARCHAR(100) NOT NULL,
GRIDVIEW VARCHAR(100) NOT NULL,
COLUMN_TITLE VARCHAR(150) NOT NULL,
TYPE2FORMAT VARCHAR(100) NOT NULL,
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_COLUMNS_FORMAT_GUID PRIMARY KEY (GUID)
)
GO
CREATE TRIGGER TBDD_COLUMNS_FORMAT_AFT_UPD ON TBDD_COLUMNS_FORMAT
FOR UPDATE
AS
UPDATE TBDD_COLUMNS_FORMAT SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBDD_COLUMNS_FORMAT.GUID = INSERTED.GUID
GO

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View File

@@ -15,7 +15,7 @@ CREATE TABLE TBDD_NOTIFICATIONS_SYSTEM
CONSTRAINT PK_TBDD_NOTIFICATIONS_SYSTEM PRIMARY KEY (GUID),
)
GO
CREATE TRIGGER TTBDD_NOTIFICATIONS_SYSTEM_AFT_UPD ON TBDD_NOTIFICATIONS_SYSTEM
CREATE TRIGGER TBDD_NOTIFICATIONS_SYSTEM_AFT_UPD ON TBDD_NOTIFICATIONS_SYSTEM
FOR UPDATE
AS
UPDATE TBDD_NOTIFICATIONS_SYSTEM SET CHANGED_WHEN = GETDATE()

View File

@@ -1,7 +1,13 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.4.1';
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'LANG_CODE'
AND Object_ID = Object_ID(N'dbo.TBDD_NOTIFICATIONS_SYSTEM'))
BEGIN
ALTER TABLE TBDD_NOTIFICATIONS_SYSTEM ADD LANG_CODE VARCHAR(5) NOT NULL DEFAULT 'ALL'
GO
END
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'ARCHIVE_FOLDER'
AND Object_ID = Object_ID(N'dbo.TBDD_EMAIL_ACCOUNT'))

View File

@@ -1,5 +1,3 @@
USE [DD_ECM]
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.3'
GO

View File

@@ -0,0 +1,89 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.4'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'[VKT_PREVENT_MULTIPLE_VALUES]'
AND Object_ID = Object_ID(N'dbo.TBDD_INDEX_AUTOM'))
BEGIN
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_PREVENT_MULTIPLE_VALUES BIT NOT NULL DEFAULT 0
END
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'[VKT_OVERWRITE]'
AND Object_ID = Object_ID(N'dbo.TBDD_INDEX_AUTOM'))
BEGIN
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_OVERWRITE BIT NOT NULL DEFAULT 0
END
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'[SEQUENCE]'
AND Object_ID = Object_ID(N'dbo.TBDD_INDEX_AUTOM'))
BEGIN
ALTER TABLE TBDD_INDEX_AUTOM ADD [SEQUENCE] INT DEFAULT 0
END
GO
ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
AS
SELECT TOP 100 PERCENT
T.GUID,
T.INDEXNAME,
T.COMMENT,
T.DOCTYPE_ID,
T1.BEZEICHNUNG DOKUMENTART,
T1.KURZNAME,
T.CONNECTION_ID,
T2.BEZEICHNUNG CONNECTION,
T2.SQL_PROVIDER,
T2.SERVER,
T2.DATENBANK,
T2.USERNAME,
T2.PASSWORD,
T.SQL_RESULT,
T.SQL_ACTIVE,
T.VALUE,
T.[SEQUENCE],
T.VKT_OVERWRITE,
T.VKT_PREVENT_MULTIPLE_VALUES
FROM
TBDD_INDEX_AUTOM T
INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
WHERE
T.ACTIVE = 1
ORDER BY
T.DOCTYPE_ID,
T.GUID
GO
IF (NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'TBDD_USER_REPRESENTATION'))
BEGIN
CREATE TABLE dbo.TBDD_USER_REPRESENTATION (
GUID INTEGER IDENTITY(1,1) NOT NULL,
USER_ID INTEGER NOT NULL,
REPR_GROUP INTEGER,
RIGHT_GROUP INTEGER NOT NULL,
ADDED_WHO VARCHAR(50) DEFAULT ('DEFAULT') NOT NULL,
ADDED_WHEN DATETIME DEFAULT getdate(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
REPR_USER INTEGER,
CONSTRAINT PK_TBDD_USER_REPRESENTATION PRIMARY KEY (GUID),
CONSTRAINT UC_TBDD_USER_REPRESENTATION UNIQUE (USER_ID,REPR_GROUP,RIGHT_GROUP),
CONSTRAINT FK_TBDD_USER_REPRESENTATION_REPR_USER FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID),
CONSTRAINT FK_TBDD_USER_REPRESENTATION_REPR_GROUP FOREIGN KEY(REPR_GROUP) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_USER_REPRESENTATION_RIGHT_GROUP FOREIGN KEY(RIGHT_GROUP) REFERENCES TBDD_GROUPS(GUID)
);
END
GO
CREATE OR ALTER TRIGGER TBDD_USER_REPRESENTATION_AFT_UPD ON TBDD_USER_REPRESENTATION
FOR UPDATE
AS
BEGIN
UPDATE TBDD_USER_REPRESENTATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_USER_REPRESENTATION.GUID = INSERTED.GUID
END

View File

@@ -0,0 +1,34 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.5'
GO
if NOT EXISTS (select 1 from sysobjects where name = 'TBDD_EMAIL_TEMPLATE' )
CREATE TABLE TBDD_EMAIL_TEMPLATE
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
TITLE VARCHAR(100) NOT NULL,
EMAIL_SUBJECT VARCHAR(900) NOT NULL,
EMAIL_BODY1 VARCHAR(MAX) NOT NULL,
EMAIL_BODY2 VARCHAR(MAX) NOT NULL DEFAULT '',
EMAIL_BODY3 VARCHAR(MAX) NOT NULL DEFAULT '',
[LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE',
CONNECTED_TEMPLATE INTEGER NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCUST_EMAIL_TEMPLATE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCUST_EMAIL_TEMPLATE_TITLE UNIQUE (TITLE)
);
ELSE
BEGIN
IF NOT EXISTS(SELECT 1 FROM sys.columns WHERE Name = N'LANGUAGE' AND Object_ID = Object_ID(N'dbo.TBDD_EMAIL_TEMPLATE'))
BEGIN
ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [LANGUAGE] varchar(5) DEFAULT 'de-DE';
END
IF NOT EXISTS(SELECT 1 FROM sys.columns WHERE Name = N'CONNECTED_TEMPLATE' AND Object_ID = Object_ID(N'dbo.TBDD_EMAIL_TEMPLATE'))
BEGIN
ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [CONNECTED_TEMPLATE] int DEFAULT 0;
END
END
GO

View File

@@ -0,0 +1,5 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.6'
GO
INSERT INTO [TBDD_CATALOG] (CAT_TITLE,CAT_STRING) VALUES ('DDSUPPORT_PORTAL','https://digitaldata.works/support/')
GO

View File

@@ -0,0 +1,141 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.7';
GO
UPDATE TBDD_MODULES SET NAME = 'fileFLOW', SHORT_NAME = 'fileFLOW' WHERE SHORT_NAME = 'GLOBIX';
GO
--IN FNDD_LOGIN_USER_MODULE
--'GLOBIX' mit 'fileFLOW' ersetzen
--REPLACE
--SET @USER_GROUPNAME = 'fileFLOW_USER'
--SET @ADMIN_GROUPNAME = 'fileFLOW_ADMINS'
-- 20.09.2024 MS @MODULE_SHORT eingesetzt
CREATE OR ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER)
AS
DECLARE @MODULEID INTEGER
SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = @MODULE_SHORT
If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID)
INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE')
GO
UPDATE TBDD_GROUPS SET NAME = 'fileFLOW_USER',CHANGED_WHO = 'DD Update 1.9.7.7' WHERE NAME = 'GLOBIX_USER';
UPDATE TBDD_GROUPS SET NAME = 'fileFLOW_ADMINS',CHANGED_WHO = 'DD Update 1.9.7.7' WHERE NAME = 'GLOBIX_ADMINS';
USE [DD_ECM]
GO
-- 20.09.2024 MS fileFLOW as Module
ALTER FUNCTION [dbo].[FNDD_GET_USER_FOR_MODULE] (@pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER)
RETURNS
@Table TABLE
(SequentialOrder INT IDENTITY(1, 1),
USER_ID INTEGER,
USER_NAME VARCHAR(50),
USER_PRENAME VARCHAR(50),
USER_SURNAME VARCHAR(50),
USER_SHORTNAME VARCHAR(50),
USER_EMAIL VARCHAR(100),
USER_LANGUAGE VARCHAR(10),
USER_RIGHT_FILE_DEL BIT,
MODULE_ACCESS BIT,
IS_ADMIN BIT,
USER_COMMENT VARCHAR(500),
COMMENT VARCHAR(500))
AS
BEGIN
/*
This function checks all user-relevant relations an
*/
DECLARE
@RESULT VARCHAR(500),
@USER_ID INTEGER,
@USER_NAME VARCHAR(50),
@USER_PRENAME VARCHAR(50),
@USER_SURNAME VARCHAR(50),
@USER_SHORTNAME VARCHAR(50),
@USER_EMAIL VARCHAR(50),
@USER_LANGUAGE VARCHAR(10),
@IS_IN_MODULE BIT,
@IS_ADMIN BIT,
@USER_RIGHT_FILE_DEL BIT,
@MODULE_NAME VARCHAR(100),
@MODULE_GUID INTEGER,
@USER_GROUPNAME VARCHAR(100),
@ADMIN_GROUPNAME VARCHAR(100),
@USER_COMMENT VARCHAR(500)
IF @pMODULE_SHORT_NAME = 'PM'
BEGIN
SET @USER_GROUPNAME = 'PM_USER'
SET @ADMIN_GROUPNAME = 'PM_ADMINS'
END
ELSE IF @pMODULE_SHORT_NAME = 'CW'
BEGIN
SET @USER_GROUPNAME = 'CW_USER'
SET @ADMIN_GROUPNAME = 'CW_ADMINS'
END
ELSE IF @pMODULE_SHORT_NAME = 'ADDI'
BEGIN
SET @USER_GROUPNAME = 'ADDI_USER'
SET @ADMIN_GROUPNAME = 'ADDI_ADMINS'
END
ELSE IF @pMODULE_SHORT_NAME = 'fileFLOW'
BEGIN
SET @USER_GROUPNAME = 'fileFLOW_USER'
SET @ADMIN_GROUPNAME = 'fileFLOW_ADMINS'
END
ELSE IF @pMODULE_SHORT_NAME = 'UM'
BEGIN
SET @USER_GROUPNAME = 'XXXX'
SET @ADMIN_GROUPNAME = 'UM_ADMINS'
END
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME
DECLARE cursor_user CURSOR FOR
select GUID, ISNULL(PRENAME,'no prename'), ISNULL(NAME,'no name'), ISNULL(SHORTNAME,'no shortname'), ISNULL(EMAIL,'no email'), LANGUAGE,USERNAME,COMMENT from TBDD_USER
OPEN cursor_user
FETCH NEXT FROM cursor_user INTO @USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_NAME,@USER_COMMENT
WHILE @@FETCH_STATUS = 0
BEGIN
SET @IS_ADMIN = 0
SET @IS_IN_MODULE = 0
SET @RESULT = ''
--CHECK USER IS IN MODULE_USER_GROUP
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME)
BEGIN
SET @IS_IN_MODULE = 1
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules (Unnecessary)'
select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
ELSE
BEGIN
SET @RESULT = 'User <' + CONVERT(VARCHAR(10),@USER_ID) + ' - ' + @USER_NAME + '> not part of group (' + @USER_GROUPNAME + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules'
select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
SET @IS_IN_MODULE = 1
END
END
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME)
BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')'
SET @IS_ADMIN = 1
SET @IS_IN_MODULE = 1
END
--PRINT @RESULT
IF @IS_IN_MODULE = 1
INSERT INTO @Table (USER_ID,USER_NAME, USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USER_COMMENT,COMMENT)
VALUES (@USER_ID,@USER_NAME,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USER_COMMENT,@RESULT)
FETCH NEXT FROM cursor_user INTO @USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_NAME,@USER_COMMENT
END
CLOSE cursor_user
DEALLOCATE cursor_user
RETURN
END
GO

View File

@@ -0,0 +1,129 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.8';
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'LICENSE_VALID'
AND Object_ID = Object_ID(N'TBDD_MODULES'))
BEGIN
ALTER TABLE TBDD_MODULES
ADD LICENSE_VALID BIT NOT NULL
CONSTRAINT TBDD_MODULES_LICENSE_VALID_DEF DEFAULT 1
WITH VALUES
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE OR ALTER FUNCTION [dbo].[FNDD_CONVERT_RTF2Text]
(
@rtf nvarchar(max)
)
RETURNS nvarchar(max)
AS
BEGIN
DECLARE @Pos1 int;
DECLARE @Pos2 int;
DECLARE @hex varchar(316);
DECLARE @Stage table
(
[Char] char(1),
[Pos] int
);
INSERT @Stage
(
[Char]
, [Pos]
)
SELECT SUBSTRING(@rtf, [Number], 1)
, [Number]
FROM [master]..[spt_values]
WHERE ([Type] = 'p')
AND (SUBSTRING(@rtf, Number, 1) IN ('{', '}'));
SELECT @Pos1 = MIN([Pos])
, @Pos2 = MAX([Pos])
FROM @Stage;
DELETE
FROM @Stage
WHERE ([Pos] IN (@Pos1, @Pos2));
WHILE (1 = 1)
BEGIN
SELECT TOP 1 @Pos1 = s1.[Pos]
, @Pos2 = s2.[Pos]
FROM @Stage s1
INNER JOIN @Stage s2 ON s2.[Pos] > s1.[Pos]
WHERE (s1.[Char] = '{')
AND (s2.[Char] = '}')
ORDER BY s2.[Pos] - s1.[Pos];
IF @@ROWCOUNT = 0
BREAK
DELETE
FROM @Stage
WHERE ([Pos] IN (@Pos1, @Pos2));
UPDATE @Stage
SET [Pos] = [Pos] - @Pos2 + @Pos1 - 1
WHERE ([Pos] > @Pos2);
SET @rtf = STUFF(@rtf, @Pos1, @Pos2 - @Pos1 + 1, '');
END
SET @rtf = REPLACE(@rtf, '\pard', '');
SET @rtf = REPLACE(@rtf, '\par', '');
SET @rtf = STUFF(@rtf, 1, CHARINDEX(' ', @rtf), '');
WHILE (Right(@rtf, 1) IN (' ', CHAR(13), CHAR(10), '}'))
BEGIN
SELECT @rtf = SUBSTRING(@rtf, 1, (LEN(@rtf + 'x') - 2));
IF LEN(@rtf) = 0 BREAK
END
SET @Pos1 = CHARINDEX('\''', @rtf);
WHILE @Pos1 > 0
BEGIN
IF @Pos1 > 0
BEGIN
SET @hex = '0x' + SUBSTRING(@rtf, @Pos1 + 2, 2);
SET @rtf = REPLACE(@rtf, SUBSTRING(@rtf, @Pos1, 4),CHAR(CONVERT(int, CONVERT (binary(1), @hex,1))));
SET @Pos1 = CHARINDEX('\''', @rtf);
END
END
SET @rtf = @rtf + ' ';
SET @Pos1 = PATINDEX('%\%[0123456789][\ ]%', @rtf);
WHILE @Pos1 > 0
BEGIN
SET @Pos2 = CHARINDEX(' ', @rtf, @Pos1 + 1);
IF @Pos2 < @Pos1
SET @Pos2 = CHARINDEX('\', @rtf, @Pos1 + 1);
IF @Pos2 < @Pos1
BEGIN
SET @rtf = SUBSTRING(@rtf, 1, @Pos1 - 1);
SET @Pos1 = 0;
END
ELSE
BEGIN
SET @rtf = STUFF(@rtf, @Pos1, @Pos2 - @Pos1 + 1, '');
SET @Pos1 = PATINDEX('%\%[0123456789][\ ]%', @rtf);
END
END
SET @rtf = REPLACE(@rtf,char(10),' ');
SET @rtf = REPLACE(@rtf,char(13),' ');
SET @rtf = REPLACE(@rtf,' ',' ');
SET @rtf = REPLACE(@rtf,' ',' ');
SET @rtf = LTRIM(RTRIM(@rtf));
RETURN @rtf;
END

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,66 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.0';
GO
UPDATE TBDD_INDEX_AUTOM SET VKT_PREVENT_MULTIPLE_VALUES = 0 WHERE VKT_PREVENT_MULTIPLE_VALUES IS NULL;
UPDATE TBDD_INDEX_AUTOM SET VKT_OVERWRITE = 0 WHERE VKT_OVERWRITE IS NULL;
GO
ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
AS
SELECT TOP 100 PERCENT
T.GUID,
T.INDEXNAME,
T.COMMENT,
T.DOCTYPE_ID,
T1.BEZEICHNUNG DOKUMENTART,
T1.KURZNAME,
T.CONNECTION_ID,
T2.BEZEICHNUNG CONNECTION,
T2.SQL_PROVIDER,
T2.SERVER,
T2.DATENBANK,
T2.USERNAME,
T2.PASSWORD,
T.SQL_RESULT,
T.SQL_ACTIVE,
T.VALUE,
T.[SEQUENCE],
T.VKT_OVERWRITE,
T.VKT_PREVENT_MULTIPLE_VALUES
FROM
TBDD_INDEX_AUTOM T
INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
WHERE
T.ACTIVE = 1
ORDER BY
T.DOCTYPE_ID,
T.GUID
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'LANGUAGE_OVERRIDE'
AND Object_ID = Object_ID(N'TBDD_USER_MODULE_LOG_IN'))
BEGIN
ALTER TABLE TBDD_USER_MODULE_LOG_IN
ADD LANGUAGE_OVERRIDE VARCHAR(5)
END
IF NOT EXISTS(SELECT * FROM information_schema.table_constraints WHERE constraint_type = 'PRIMARY KEY' AND table_name = 'TBDD_3RD_PARTY_MODULES')
ALTER TABLE [dbo].[TBDD_3RD_PARTY_MODULES] ADD CONSTRAINT [PK_TBDD_3RD_PARTY_MODULES] PRIMARY KEY CLUSTERED
(
[GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
GO
IF NOT EXISTS(SELECT 1 FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE' AND VERSION = '11.2024')
INSERT INTO TBDD_3RD_PARTY_MODULES (NAME,LICENSE,[VERSION],ACTIVE) VALUES (
'GDPICTURE',
'kG1Qf9PwmqgR8aDmIW2zI_ebj48RzqAJegRxcystEmkbTGQqfkNBdFOXIb6C_A00Ra8zZkrHdfjqzOPXK7kgkF2YDhvrqKfqh4WDug2vOt0qO31IommzkANSuLjZ4zmraoubyEVd25rE3veQ2h_j7tGIoH_LyIHmy24GaXsxdG0yCzIBMdiLbMMMDwcPY-809KeZ83Grv76OVhFvcbBWyYc251vou1N-kGg5_ZlHDgfWoY85gTLRxafjD3KS_i9ARW4BMiy36y8n7UP2jN8kGRnW_04ubpFtfjJqvtsrP_J9D0x7bqV8xtVtT5JI6dpKsVTiMgDCrIcoFSo5gCC1fw9oUopX4TDCkBQttO4-WHBlOeq9dG5Yb0otonVmJKaQA2tP6sMR-lZDs3ql_WI9t91yPWgpssrJUxSHDd27_LMTH_owJIqkF3NOJd9mYQuAv22oNKFYbH8e41pVKb8cT33Y9CgcQ_sy6YDA5PTuIRi67mjKge_nD9rd0IN213Ir9M_EFWqg9e4haWzIdHXQUo0md70kVhPX4UIH_BKJnxEEnFfoFRNMh77bB0N4jkcBEHPl-ghOERv8dOztf4vCnNpzzWvcLD2cqWIm6THy8XGGq9h4hp8aEreRleSMwv9QQAC7mjLwhQ1rBYkpUHlpTjhTLnMwHknl6HH0Z6zzmsgkRKVyfquv94Pd7QbQfZrRka0ss_48pf9p8hAywEn81Q==',
'11.2024',
1)
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FNDD_LOGIN_USER_MODULE]') AND type = N'TF')
BEGIN
PRINT 'Function FNDD_LOGIN_USER_MODULE noch nicht vorhanden!'
DECLARE @SQL_FUNC NVARCHAR(MAX)
SELECT @SQL_FUNC = OBJECT_DEFINITION(OBJECT_ID('FNDD_CHECK_USER_MODULE'));
SET @SQL_FUNC = REPLACE(@SQL_FUNC,'FNDD_CHECK_USER_MODULE','FNDD_LOGIN_USER_MODULE')
EXEC (@SQL_FUNC);
END
GO

View File

@@ -0,0 +1,28 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.1';
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'GENERAL_VIEWER'
AND Object_ID = Object_ID(N'TBDD_USER'))
BEGIN
ALTER TABLE TBDD_USER
ADD GENERAL_VIEWER VARCHAR(30) NOT NULL DEFAULT 'NONE';
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'WAN_ENVIRONMENT'
AND Object_ID = Object_ID(N'TBDD_USER'))
BEGIN
ALTER TABLE TBDD_USER
ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0;
END
GO
CREATE OR ALTER VIEW [dbo].[VWDD_GROUPS_USER] AS
select
USR.GUID AS USR_ID
,USR.USERNAME,
GRP.GUID AS GRP_ID
,GRP.NAME AS GRP_NAME
,GU.ADDED_WHEN
,GU.ADDED_WHO
from
TBDD_GROUPS GRP INNER JOIN TBDD_GROUPS_USER GU ON GRP.GUID = GU.GROUP_ID
INNER JOIN TBDD_USER USR ON GU.USER_ID = USR.GUID;

View File

@@ -0,0 +1,171 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.2';
--DROP TABLE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
CREATE TABLE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
(
GUID INT IDENTITY(1,1),
SPECNAME VARCHAR(100) NOT NULL,
Row_Caption VARCHAR(250) NOT NULL,
Area VARCHAR(100) NOT NULL,
xPosition INTEGER NOT NULL DEFAULT 10,
--yPosition INTEGER NOT NULL,
SequenceItem INTEGER NOT NULL DEFAULT 1,
Y_eq_lastrow BIT NOT NULL DEFAULT 0,
Display BIT NOT NULL DEFAULT 1,
Active BIT NOT NULL DEFAULT 1,
AddedWho VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL,
AddedWhen DATETIME DEFAULT GETDATE(),
ChangedWho VARCHAR(50),
ChangedWhen DATETIME,
CONSTRAINT PK_TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE PRIMARY KEY (GUID),
CONSTRAINT UNIQUE_TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE UNIQUE(SPECNAME)
)
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_AFT_UPD ON TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
FOR UPDATE
AS
UPDATE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE SET ChangedWhen = GETDATE() FROM INSERTED WHERE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE.GUID = INSERTED.GUID
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
CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID VARCHAR(100))
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),Row_Caption Varchar(100), SequenceItem INT,Display BIT)
AS
BEGIN
DECLARE @GROUP_COUNTER INT,@INDEX INT = 402
DECLARE cursGroupCounter CURSOR FOR
select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_TAXPOS_RATE' 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),@Row_Caption VARCHAR(100),@Display BIT
DECLARE cursPosItems CURSOR FOR
select A.SPEC_NAME,ITEM_VALUE, B.Row_Caption, B.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_TAXPOS_AMOUNT',
'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE') AND GROUP_COUNTER = @GROUP_COUNTER ORDER BY B.SequenceItem
OPEN cursPosItems
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Row_Caption,@Display
WHILE @@FETCH_STATUS = 0
BEGIN
SET @INDEX += 1
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,Row_Caption,SequenceItem,Display) VALUES
(@SPEC_NAME,@ITEM_VALUE,'TAXPOS',@Row_Caption,@INDEX,@Display)
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE, @Row_Caption,@Display
END
CLOSE cursPosItems
DEALLOCATE cursPosItems
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
END
CLOSE cursGroupCounter
DEALLOCATE cursGroupCounter
RETURN
END
GO
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)
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_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_TAX_AMOUNT') AND GROUP_COUNTER = @GROUP_COUNTER 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
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.SPEC_NAME NOT IN ('INVOICE_POSITION_AMOUNT',
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','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
DELETE FROM TBDD_SQL_COMMANDS WHERE TITLE = 'VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS';
INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES
('VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS','
SELECT * FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (''@MSG_ID'') ORDER BY ORDER_SEQ')
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, 10, 0, 1),
('INVOICE_BUYER_NAME', '', 'BUYER', 10, 11, 0, 1),
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 12, 0, 1),
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 13, 0, 1),
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 14, 1, 1),
--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 16, 0, 0),
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 17, 0, 0),
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 18, 0, 0),
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 19, 0, 0),
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 20, 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_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

View File

@@ -0,0 +1,116 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.3';
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, 10, 0, 1),
('INVOICE_BUYER_NAME', '', 'BUYER', 10, 11, 0, 1),
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 12, 0, 1),
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 13, 0, 1),
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 14, 1, 1),
--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 16, 0, 0),
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 17, 0, 0),
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 18, 0, 0),
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 19, 0, 0),
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 20, 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_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 06.03.2025 INVOICE_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_NOTE',
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','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 06.03.2025 INVOICE_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_TAXPOS_TAX_RATE','INVOICE_POSITION_NOTE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_TAX_AMOUNT') AND GROUP_COUNTER = @GROUP_COUNTER 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
-- =============================================
-- Author: DD MS
-- Creation date: 25.06.20200
-- =============================================
CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@INPUT VARCHAR(100))
RETURNS DECIMAL(19,2)
AS
BEGIN
DECLARE @DEC_VALUE DECIMAL(19,2)
DECLARE @INPUT_SS_15 VARCHAR(5)
SELECT @INPUT_SS_15 = SUBSTRING(@INPUT,1,5)
IF @INPUT_SS_15 LIKE ('%.%')
BEGIN
DECLARE @REP_SS_15 VARCHAR(5)
SET @REP_SS_15 = REPLACE(@INPUT_SS_15,'.','')
SET @INPUT = REPLACE(@INPUT,@INPUT_SS_15,@REP_SS_15)
END
SELECT @INPUT = REPLACE(@INPUT,',','.')
SELECT @DEC_VALUE = convert(DECIMAL(19,2),@INPUT)
RETURN @DEC_VALUE
END
GO

View File

@@ -0,0 +1,194 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.4';
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
INSERT INTO TBDD_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('WM_DB_SERVER','')
GO
-- [VWEMLP_EMAIL_DATA]
-- =================================================================
-- Joins email tables for indexing service
--
-- Returns: table
-- =================================================================
-- Copyright (c) 2025 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: 19.03.2025 / HE,MK
-- Version Date / Editor: 25.03.2025 / MK
-- Version Number: 1.1.0.0
-- =================================================================
-- History:
-- 19.03.2025 / HE,MK - First Version
-- 25.03.2025 / MK - Added Attachment count
CREATE OR ALTER VIEW [dbo].[VWEMLP_EMAIL_DATA]
as
SELECT TOP 100 PERCENT
[TBEMLP_HISTORY].[EMAIL_MSGID],
[TBEMLP_HISTORY].[EMAIL_FROM],
[TBDD_EMAIL_ACCOUNT].[EMAIL_FROM] as [EMAIL_TO],
[TBEMLP_HISTORY].[EMAIL_SUBJECT],
[TBEMLP_HISTORY].[EMAIL_DATE],
[TBEMLP_HISTORY].[EMAIL_BODY],
ISNULL((SELECT count(*) FROM [TBEMLP_HISTORY_ATTACHMENT] (NOLOCK) WHERE [TBEMLP_HISTORY].[EMAIL_MSGID] = [TBEMLP_HISTORY_ATTACHMENT].[EMAIL_MSGID]),0) as 'EMAIL_ATTACHMENT_COUNT'
FROM [TBEMLP_HISTORY] (NOLOCK)
INNER JOIN [TBEMLP_POLL_PROFILES] (NOLOCK) ON [TBEMLP_HISTORY].[PROFILE_ID] = [TBEMLP_POLL_PROFILES].[GUID]
INNER JOIN [TBDD_EMAIL_ACCOUNT] (NOLOCK) ON [TBEMLP_POLL_PROFILES].[EMAIL_CONF_ID] = [TBDD_EMAIL_ACCOUNT].[GUID]
ORDER BY [TBEMLP_HISTORY].[GUID] ASC
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- [FNDD_CONVERT_RTF2TEXT]
-- =================================================================
-- Converts a RTF text to a regular text
--
-- Returns: NVARCHAR - text
-- =================================================================
-- Copyright (c) 2025 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: 26.09.2024 / HE,MK
-- Version Date / Editor: 25.03.2025 / HE,MK
-- Version Number: 1.2.0.0
-- =================================================================
-- History:
-- 26.09.2024 / HE,MK - First Version
-- 14.12.2024 / MK - code optimisation, new additional parameters
-- 25.03.2025 / HE,MK - Remove rtf format strings
CREATE OR ALTER FUNCTION [dbo].[FNDD_CONVERT_RTF2TEXT](
@pRTF nvarchar(max), -- Give the RTF text, you want to convert
@pREMOVE_LINE_WRAP BIT = NULL, -- Set to 1 to remove line wraps
@pREMOVE_DOUBLE_BLANKS BIT = NULL -- Set to 1 to remove unnecessary blanks
)
RETURNS nvarchar(max)
AS
BEGIN
-- decalare new vars because of parameter sniffing
DECLARE @RTF NVARCHAR(max) = ISNULL(@pRTF,''),
@REMOVE_LINE_WRAP BIT = ISNULL(@pREMOVE_LINE_WRAP,1),
@REMOVE_DOUBLE_BLANKS BIT = ISNULL(@pREMOVE_DOUBLE_BLANKS,1);
-- decalare runtime vars
DECLARE @Pos1 int,
@Pos2 int,
@hex varchar(316);
DECLARE @Stage table ([Char] char(1), [Pos] int);
IF (LEN(@RTF) > 1) BEGIN
INSERT @Stage ([Char], [Pos])
SELECT SUBSTRING(@rtf, [Number], 1),
[Number]
FROM [master]..[spt_values]
WHERE ([Type] = 'p')
AND (SUBSTRING(@rtf, Number, 1) IN ('{', '}'));
SELECT @Pos1 = MIN([Pos])
, @Pos2 = MAX([Pos])
FROM @Stage;
DELETE
FROM @Stage
WHERE ([Pos] IN (@Pos1, @Pos2));
WHILE (1 = 1) BEGIN
SELECT TOP 1 @Pos1 = s1.[Pos]
, @Pos2 = s2.[Pos]
FROM @Stage s1
INNER JOIN @Stage s2 ON s2.[Pos] > s1.[Pos]
WHERE (s1.[Char] = '{')
AND (s2.[Char] = '}')
ORDER BY s2.[Pos] - s1.[Pos];
IF @@ROWCOUNT = 0
BREAK
DELETE
FROM @Stage
WHERE ([Pos] IN (@Pos1, @Pos2));
UPDATE @Stage
SET [Pos] = [Pos] - @Pos2 + @Pos1 - 1
WHERE ([Pos] > @Pos2);
SET @rtf = STUFF(@rtf, @Pos1, @Pos2 - @Pos1 + 1, '');
END;
SET @rtf = REPLACE(@rtf, '\pard', '');
SET @rtf = REPLACE(@rtf, '\par', '');
SET @rtf = STUFF(@rtf, 1, CHARINDEX(' ', @rtf), '');
WHILE (Right(@rtf, 1) IN (' ', CHAR(13), CHAR(10), '}')) BEGIN
SELECT @rtf = SUBSTRING(@rtf, 1, (LEN(@rtf + 'x') - 2));
IF LEN(@rtf) = 0 BREAK
END;
SET @Pos1 = CHARINDEX('\''', @rtf);
WHILE (@Pos1 > 0) BEGIN
IF (@Pos1 > 0) BEGIN
SET @hex = '0x' + SUBSTRING(@rtf, @Pos1 + 2, 2);
SET @rtf = REPLACE(@rtf, SUBSTRING(@rtf, @Pos1, 4),CHAR(CONVERT(int, CONVERT (binary(1), @hex,1))));
SET @Pos1 = CHARINDEX('\''', @rtf);
END;
END;
SET @rtf = @rtf + ' ';
SET @Pos1 = PATINDEX('%\%[0123456789][\ ]%', @rtf);
WHILE (@Pos1 > 0) BEGIN
SET @Pos2 = CHARINDEX(' ', @rtf, @Pos1 + 1);
IF (@Pos2 < @Pos1) BEGIN
SET @Pos2 = CHARINDEX('\', @rtf, @Pos1 + 1);
END;
IF (@Pos2 < @Pos1) BEGIN
SET @rtf = SUBSTRING(@rtf, 1, @Pos1 - 1);
SET @Pos1 = 0;
END; ELSE BEGIN
SET @rtf = STUFF(@rtf, @Pos1, @Pos2 - @Pos1 + 1, '');
SET @Pos1 = PATINDEX('%\%[0123456789][\ ]%', @rtf);
END;
END;
IF (@REMOVE_LINE_WRAP = 1) BEGIN
SET @rtf = REPLACE(@rtf,char(10),' ');
SET @rtf = REPLACE(@rtf,char(13),' ');
END;
IF (@REMOVE_DOUBLE_BLANKS = 1) BEGIN
WHILE (@rtf like '% %') BEGIN
IF (@rtf like '% %') BEGIN
SET @rtf = REPLACE(@rtf,' ',' ');
END;
END;
END;
-- Anyway remove trailing spaces
SET @rtf = LTRIM(RTRIM(@rtf));
-- Replace rtf format strings
SET @rtf = Replace(@rtf,'Riched20 10.0.17763} ','');
END;
RETURN @rtf;
END;

View 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

View File

@@ -0,0 +1,25 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.3' where CONFIG_NAME = 'DB_VERSION'
GO
CREATE PROCEDURE [dbo].[PRIDB_DELETE_IDB_OBJECT_FINALLY] @pIDB_OBJ_ID BIGINT
AS
BEGIN
DELETE FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID IN (SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID);
DELETE FROM TBIDB_CONVERSATION_USER WHERE CONV_ID IN (SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID);
DELETE FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_ACCESSRIGHT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_STRUCTURE_TYPE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID in (SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @pIDB_OBJ_ID )
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_METADATA_ADD WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT_STRUCTURE_TYPE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
END
GO

View 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

View 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;

File diff suppressed because it is too large Load Diff

View File

@@ -1,229 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
([TITLE]
,[SQL_COMMAND]
,[ADDED_WHO])
VALUES
('PM_PROFILES_USER'
,'select T.* FROm VWPM_PROFILE_ACTIVE T where T.FILE_COUNT > 0 and T.GUID IN (SELECT PROFILE_ID FROm dbo.FNPM_GET_ACTIVE_PROFILES_USER (@USER_ID))'
,'DD')
GO
-- =============================================
-- Author: Digital Data JJ
-- Created: 18.08.2022
-- Description: Add SAVE_CHANGE_ON_ENABLED Column
-- when copying profile
-- Changed:
-- =============================================
ALTER 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]
,[SAVE_CHANGE_ON_ENABLED])
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]
,[SAVE_CHANGE_ON_ENABLED]
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

View File

@@ -1,229 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
([TITLE]
,[SQL_COMMAND]
,[ADDED_WHO])
VALUES
('PM_PROFILES_USER'
,'select T.* FROm VWPM_PROFILE_ACTIVE T where T.FILE_COUNT > 0 and T.GUID IN (SELECT PROFILE_ID FROm dbo.FNPM_GET_ACTIVE_PROFILES_USER (@USER_ID))'
,'DD')
GO
-- =============================================
-- Author: Digital Data JJ
-- Created: 18.08.2022
-- Description: Add SAVE_CHANGE_ON_ENABLED Column
-- when copying profile
-- Changed:
-- =============================================
ALTER 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]
,[SAVE_CHANGE_ON_ENABLED])
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]
,[SAVE_CHANGE_ON_ENABLED]
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

View File

@@ -1,13 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
([TITLE]
,[SQL_COMMAND]
,[ADDED_WHO])
VALUES
('PM_PROFILES_USER'
,'select T.* FROm VWPM_PROFILE_ACTIVE T where T.FILE_COUNT > 0 and T.GUID IN (SELECT PROFILE_ID FROm dbo.FNPM_GET_ACTIVE_PROFILES_USER (@USER_ID))'
,'DD')
GO

View File

@@ -1,13 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
([TITLE]
,[SQL_COMMAND]
,[ADDED_WHO])
VALUES
('PM_PROFILES_USER'
,'select T.* FROm VWPM_PROFILE_ACTIVE T where T.FILE_COUNT > 0 and T.GUID IN (SELECT PROFILE_ID FROm dbo.FNPM_GET_ACTIVE_PROFILES_USER (@USER_ID))'
,'DD')
GO

View File

@@ -1,225 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
-- =============================================
-- Author: Digital Data JJ
-- Created: 18.08.2022
-- Description: Add SAVE_CHANGE_ON_ENABLED Column
-- when copying profile
-- Changed:
-- =============================================
USE [DD_ECM]
GO
/****** Object: StoredProcedure [dbo].[PRPM_COPY_PROFILE] Script Date: 18.08.2022 14:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER 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]
,[SAVE_CHANGE_ON_ENABLED])
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]
,[SAVE_CHANGE_ON_ENABLED]
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

View File

@@ -1,225 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.3' where NAME = 'Process-Manager'
GO
-- =============================================
-- Author: Digital Data JJ
-- Created: 18.08.2022
-- Description: Add SAVE_CHANGE_ON_ENABLED Column
-- when copying profile
-- Changed:
-- =============================================
USE [DD_ECM]
GO
/****** Object: StoredProcedure [dbo].[PRPM_COPY_PROFILE] Script Date: 18.08.2022 14:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER 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]
,[SAVE_CHANGE_ON_ENABLED])
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]
,[SAVE_CHANGE_ON_ENABLED]
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

View File

@@ -1,158 +0,0 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.2.2' where NAME = 'Process-Manager'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'FORMAT_STRING'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD FORMAT_STRING VARCHAR(200) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN FORMAT_STRING DOES EXIST'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'BACKCOLOR_IF'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD BACKCOLOR_IF VARCHAR(500) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN BACKCOLOR_IF DOES EXIST'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'SAVE_CHANGE_ON_ENABLED'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD SAVE_CHANGE_ON_ENABLED BIT NOT NULL DEFAULT 1
END
ELSE
PRINT 'COLUMN SAVE_CHANGE_ON_ENABLED DOES EXIST'
GO
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((SELECT TYP_ID FROM IDB.dbo.TBIDB_ATTRIBUTE WHERE TITLE = COALESCE(T1.INDEX_NAME,'')),'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
FROM
TBPM_PROFILE T,
TBPM_PROFILE_CONTROLS T1
WHERE
T.GUID = T1.PROFIL_ID
AND T1.CONTROL_ACTIVE = 1
ORDER BY
T.GUID,
T1.X_LOC,
T1.Y_LOC
GO
ALTER VIEW [dbo].[VWPM_PROFILE_USER_UNION] AS
SELECT
'USER' SCOPE,
T.GUID PROFIL_ID,
T.NAME PROFIL_NAME,
T.TITLE,
T.DESCRIPTION,
T.WD_OBJECTTYPE,
T.PRIORITY,
T.WD_SEARCH,
COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder,
T.ACTIVE,
T.IN_WORK,
T.NO_OF_DOCUMENTS,
T.FINAL_PROFILE,
T.FINAL_TEXT,
T.LOG_INDEX,
T.PM_VEKTOR_INDEX,
T.DISPLAY_MODE,
T2.GUID AS USER_ID,
T2.PRENAME,
T2.NAME,
T2.USERNAME,
T2.EMAIL,
--T2.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE,
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR',
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT'
FROM
TBPM_PROFILE T,
TBPM_PROFILE_USER T1,
TBDD_USER T2
WHERE
T.TYPE = 1 AND
T.GUID = T1.PROFIL_ID AND
T1.USER_ID = T2.GUID
UNION
SELECT
'GROUP' SCOPE,
T.GUID PROFIL_ID,
T.NAME PROFIL_NAME,
T.TITLE,
T.DESCRIPTION,
T.WD_OBJECTTYPE,
T.PRIORITY,
T.WD_SEARCH,
COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder,
T.ACTIVE,
T.IN_WORK,
T.NO_OF_DOCUMENTS,
T.FINAL_PROFILE,
T.FINAL_TEXT,
T.LOG_INDEX,
T.PM_VEKTOR_INDEX,
T.DISPLAY_MODE,
T4.GUID AS USER_ID,
T4.PRENAME,
T4.NAME,
T4.USERNAME,
T4.EMAIL,
--T4.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE,
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR',
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT'
FROM
TBPM_PROFILE T,
TBPM_PROFILE_GROUP T1,
TBDD_GROUPS T2,
TBDD_GROUPS_USER T3,
TBDD_USER T4
WHERE
T.TYPE = 1 AND
T.GUID = T1.PROFIL_ID AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.USER_ID = T4.GUID
GO

View File

@@ -0,0 +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;

View 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 ;

View 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';

View File

@@ -0,0 +1,2 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.7' where NAME = 'Process-Manager';
GO

View 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

View File

@@ -0,0 +1,282 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.9' where NAME = 'Process-Manager';
GO
USE [DD_ECM]
GO
/****** Object: View [dbo].[VWPM_CONTROL_INDEX] Script Date: 20.02.2026 10:00:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
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,
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

View 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

View File

@@ -2,12 +2,20 @@ USE [DD_ECM]
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.1.0.0' where NAME = 'Process-Manager'
GO
CREATE TABLE [dbo].[TBPM_DOCWALKOVER](
[DocID] BIGINT NOT NULL,
[UserID] INT NOT NULL,
[ADDED_WHEN] DATETIME NOT NULL DEFAULT GETDATE()
) ON [PRIMARY]
IF NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'TBPM_DOCWALKOVER')
BEGIN
CREATE TABLE [dbo].[TBPM_DOCWALKOVER](
[DocID] BIGINT NOT NULL,
[UserID] INT NOT NULL,
[ADDED_WHEN] DATETIME NOT NULL DEFAULT GETDATE()
) ON [PRIMARY];
END
GO
-- =============================================
-- Author: Digital Data MS
-- Create date: 11.06.2021

View File

@@ -20,6 +20,4 @@ AS
UPDATE TBPM_CONTOL_TABLE_LANG SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBPM_CONTOL_TABLE_LANG.GUID = INSERTED.GUID
GO
UPDATE TBAPPSERV_CRON_DETAIL set COMMAND = 'SELECT IIF(LANG.CAPTION IS NULL,T.SPALTEN_HEADER,LANG.CAPTION) SPALTEN_HEADER_LANG, T.*, T1.PROFIL_ID, IIF(LANG.LANG_CODE IS NULL,''de-DE'', LANG.LANG_CODE) LANG_CODE from TBPM_CONTROL_TABLE T INNER JOIN TBPM_PROFILE_CONTROLS T1 ON T.CONTROL_ID = T1.GUID
LEFT JOIN (SELECT * FROM TBPM_CONTOL_TABLE_LANG) LANG ON T.GUID = LANG.COL_ID WHERE T1.CONTROL_ACTIVE = 1' WHERE TITLE = 'TBPM_CONTROL_TABLE'
GO

View File

@@ -12,7 +12,7 @@ BEGIN
ALTER TABLE TBPM_PROFILE
ALTER COLUMN DISPLAY_MODE VARCHAR(250) NOT NULL;
END
IF COL_LENGTH('TBPM_PROFILE', 'SHOW_DOCUMENT') IS NOT NULL
IF COL_LENGTH('TBPM_PROFILE', 'SHOW_DOCUMENT') IS NULL
BEGIN
ALTER TABLE TBPM_PROFILE
ADD SHOW_DOCUMENT BIT NOT NULL DEFAULT 1;

View File

@@ -17,8 +17,8 @@ GO
-- Author: Digital Data MS
-- Create date: 11.06.2021
-- Description: Gets the next DocumentID in Workflow
-- Changed: 21.06.2022 Files2bValidated disappeared during transport
-- Changed: 07.04.2022 TabPM_VALIDATION_PROFILE_GROUP_USER
-- Changed_ 21.06.2022 Files2bValidated disappeared during transport
-- =============================================
ALTER PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO]
(

View File

@@ -0,0 +1,213 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.2.2' where NAME = 'Process-Manager'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'FORMAT_STRING'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD FORMAT_STRING VARCHAR(200) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN FORMAT_STRING DOES EXIST'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'BACKCOLOR_IF'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD BACKCOLOR_IF VARCHAR(500) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN BACKCOLOR_IF DOES EXIST'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'SAVE_CHANGE_ON_ENABLED'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE_CONTROLS'))
BEGIN
-- Column Exists
ALTER TABLE TBPM_PROFILE_CONTROLS ADD SAVE_CHANGE_ON_ENABLED BIT NOT NULL DEFAULT 1
END
ELSE
PRINT 'COLUMN SAVE_CHANGE_ON_ENABLED DOES EXIST'
GO
DECLARE @SQL NVARCHAR(max)
IF EXISTS (SELECT name FROM master.sys.databases WHERE name = N'IDB')
BEGIN
SET @SQL = 'CREATE OR 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((SELECT TYP_ID FROM IDB.dbo.TBIDB_ATTRIBUTE WHERE TITLE = COALESCE(T1.INDEX_NAME,'''')),''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
FROM
TBPM_PROFILE T,
TBPM_PROFILE_CONTROLS T1
WHERE
T.GUID = T1.PROFIL_ID
AND T1.CONTROL_ACTIVE = 1
ORDER BY
T.GUID,
T1.X_LOC,
T1.Y_LOC'
END
ELSE
BEGIN
SET @SQL = '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((SELECT TYP_ID FROM IDB.dbo.TBIDB_ATTRIBUTE WHERE TITLE = COALESCE(T1.INDEX_NAME,'''')),''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
FROM
TBPM_PROFILE T,
TBPM_PROFILE_CONTROLS T1
WHERE
T.GUID = T1.PROFIL_ID
AND T1.CONTROL_ACTIVE = 1
ORDER BY
T.GUID,
T1.X_LOC,
T1.Y_LOC'
END
EXEC (@SQL)
GO
ALTER VIEW [dbo].[VWPM_PROFILE_USER_UNION] AS
SELECT
'USER' SCOPE,
T.GUID PROFIL_ID,
T.NAME PROFIL_NAME,
T.TITLE,
T.DESCRIPTION,
T.WD_OBJECTTYPE,
T.PRIORITY,
T.WD_SEARCH,
COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder,
T.ACTIVE,
T.IN_WORK,
T.NO_OF_DOCUMENTS,
T.FINAL_PROFILE,
T.FINAL_TEXT,
T.LOG_INDEX,
T.PM_VEKTOR_INDEX,
T.DISPLAY_MODE,
T2.GUID AS USER_ID,
T2.PRENAME,
T2.NAME,
T2.USERNAME,
T2.EMAIL,
--T2.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE,
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR',
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT'
FROM
TBPM_PROFILE T,
TBPM_PROFILE_USER T1,
TBDD_USER T2
WHERE
T.TYPE = 1 AND
T.GUID = T1.PROFIL_ID AND
T1.USER_ID = T2.GUID
UNION
SELECT
'GROUP' SCOPE,
T.GUID PROFIL_ID,
T.NAME PROFIL_NAME,
T.TITLE,
T.DESCRIPTION,
T.WD_OBJECTTYPE,
T.PRIORITY,
T.WD_SEARCH,
COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder,
T.ACTIVE,
T.IN_WORK,
T.NO_OF_DOCUMENTS,
T.FINAL_PROFILE,
T.FINAL_TEXT,
T.LOG_INDEX,
T.PM_VEKTOR_INDEX,
T.DISPLAY_MODE,
T4.GUID AS USER_ID,
T4.PRENAME,
T4.NAME,
T4.USERNAME,
T4.EMAIL,
--T4.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE,
[dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'PROFILE_GROUP_COLOR',
[dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_GROUP_TEXT'
FROM
TBPM_PROFILE T,
TBPM_PROFILE_GROUP T1,
TBDD_GROUPS T2,
TBDD_GROUPS_USER T3,
TBDD_USER T4
WHERE
T.TYPE = 1 AND
T.GUID = T1.PROFIL_ID AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.USER_ID = T4.GUID
GO

View File

@@ -0,0 +1,128 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.3.0.0' where NAME = 'Process-Manager'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'SQL_BTN_REJECT'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD SQL_BTN_REJECT NVARCHAR(MAX) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'BTN_REJECT_CAPTION'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD BTN_REJECT_CAPTION NVARCHAR(100) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'REJECT_SQL_REASONS'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD REJECT_SQL_REASONS NVARCHAR(3000) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'REJECT_ACTIONS_ATTRIBUTE'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD REJECT_ACTIONS_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'REJECT_COMMENT_ATTRIBUTE'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD REJECT_COMMENT_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'BTN_NOT_RESP_CAPTION'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD BTN_NOT_RESP_CAPTION NVARCHAR(100) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'NOT_RESP_SQL'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD NOT_RESP_SQL VARCHAR(3000) NOT NULL DEFAULT ''
END
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'NOT_RESP_COMMENT_ATTRIBUTE'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE ADD NOT_RESP_COMMENT_ATTRIBUTE VARCHAR(150) NOT NULL DEFAULT ''
END
GO
CREATE OR ALTER PROCEDURE PRTF_PROFILE_LANGUAGE_PHRASES AS
DECLARe @ID VARCHAR(3),@TITLE VARCHAR(100),@DECR VARCHAR(100),@FINAL_TEXT VARCHAR(100),@REJ_TEXT VARCHAR(100),@NR_CAPTION VARCHAR(100)
DECLARE cur2 CURSOR FOR
select GUID, TITLE,DESCRIPTION,FINAL_TEXT,BTN_REJECT_CAPTION,BTN_NOT_RESP_CAPTION from TBPM_PROFILE
OPEN cur2
FETCH NEXT FROM cur2 INTO @ID,@TITLE,@DECR,@FINAL_TEXT,@REJ_TEXT,@NR_CAPTION
WHILE @@FETCH_STATUS = 0
BEGIN
Declare @IDTEXT VARCHAR(100)
SET @IDTEXT = 'PROFILE_TITLE' + @ID
PRINT @IDTEXT
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE','Title of Profile',@TITLE,'','System',@ID,0
IF @DECR IS NOT NULL
BEGIN
SET @IDTEXT = 'PROFILE_DESCRIPTION' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE','Description of Profile',@DECR,'','System',@ID,0
END
IF @FINAL_TEXT IS NOT NULL
BEGIN
SET @IDTEXT = 'PROFILE_FINAL_TEXT' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE','BTN_FINAL_CAPT',@FINAL_TEXT,'','System',@ID,0
END
IF LEN(@REJ_TEXT) > 0
BEGIN
SET @IDTEXT = 'PROFILE_REJECTION_CAPT' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE', 'PROFILE_REJECTION_CAPT',@REJ_TEXT,'','System',@ID,0
END
IF LEN(@NR_CAPTION) = 0
BEGIN
SET @IDTEXT = 'PROFILE_NOT_RESPONSIBLE_CAPT' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE', 'PROFILE_NOT_RESPONSIBLE_CAPT','Nicht zuständig','','System',@ID,0;
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'en-US', 'PROFILE_NOT_RESPONSIBLE_CAPT','Not responsible','','System',@ID,0;
SET @IDTEXT = 'PROFILE_NOT_RESPONSIBLE_QUEST' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE', 'PROFILE_NOT_RESPONSIBLE_QUEST','Wollen Sie den Beleg wirklich in den Prozess XYZ zurücksenden?','','System',@ID,0;
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE', 'PROFILE_NOT_RESPONSIBLE_QUEST','Do you really want to return the document to process XYZ?','','System',@ID,0;
END
ELSE
BEGIN
SET @IDTEXT = 'PROFILE_NOT_RESPONSIBLE_QUEST' + @ID
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'de-DE', 'PROFILE_NOT_RESPONSIBLE_QUEST','Wollen Sie den Beleg wirklich in den Prozess XYZ zurücksenden?','','System',@ID,0;
EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM',@IDTEXT,'en-US', 'PROFILE_NOT_RESPONSIBLE_QUEST','Do you really want to return the document to process XYZ?','','System',@ID,0;
END
FETCH NEXT FROM cur2 INTO @ID,@TITLE,@DECR,@FINAL_TEXT,@REJ_TEXT,@NR_CAPTION
END
CLOSE cur2
DEALLOCATE cur2
GO
EXEC PRTF_PROFILE_LANGUAGE_PHRASES
GO
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG1','de-DE','Information','Sie wollen diesen Beleg ablehnen?','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG1','en-US','Information','You want to reject this receipt?','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG2','de-DE','Information','Wenn ja, dann geben Sie bitte einen Grund für die Ablehnung ein!','')
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG2','en-US','Information','If yes, please enter a reason for your refusal!','')
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.Caption','de-DE','Information','Ablehnung - Bestätigung','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.Caption','en-US','Information','Rejection - Confirmation','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MissingInput','de-DE','Message','Bitte wählen Sie einen Grund und geben eine Begründung ein!','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MissingInput','en-US','Message','Please select a reason and enter a justification!','');
ALTER TABLE TBPM_PROFILE ADD CURRENCY_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT ''
GO

View File

@@ -0,0 +1,60 @@
USE [DD_ECM]
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.0' where NAME = 'Process-Manager'
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBTF_VALIDATOR_MESSAGE](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[DocID] [bigint] NOT NULL,
[GUI_LANG_TITLE] [nvarchar](100) NOT NULL,
[ImageIndex] [tinyint] NOT NULL,
[Active] [bit] NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
[ADDED_WHO] [varchar](100) NOT NULL,
[CHANGED_WHEN] [datetime] NULL,
[CHANGED_WHO] [varchar](100) NULL,
CONSTRAINT [PK_TBTFVALIDATOR_MESSAGE] 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].[TBTF_VALIDATOR_MESSAGE] ADD CONSTRAINT [DF_TBTFVALIDATOR_MESSAGE_ACTIVE] DEFAULT ((1)) FOR [Active]
GO
ALTER TABLE [dbo].[TBTF_VALIDATOR_MESSAGE] ADD CONSTRAINT [DF_TBTFVALIDATOR_MESSAGE_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
USE [DD_ECM]
GO
CREATE TRIGGER [dbo].[TBTF_VALIDATOR_MESSAGE_AFT_UPD] ON [dbo].[TBTF_VALIDATOR_MESSAGE]
FOR UPDATE
AS
UPDATE TBTF_VALIDATOR_MESSAGE SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBTF_VALIDATOR_MESSAGE.GUID = INSERTED.GUID
GO
ALTER TABLE [dbo].[TBTF_VALIDATOR_MESSAGE] ENABLE TRIGGER [TBTF_VALIDATOR_MESSAGE_AFT_UPD]
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
(TITLE,SQL_COMMAND)
VALUES('TF_WORKFLOW_MESSAGE','SELECT
CONVERT(VARCHAR(30), A.ADDED_WHEN,20) + '' - '' + B.STRING1 as MSG,A.ImageIndex
FROM
TBTF_VALIDATOR_MESSAGE A INNER JOIN
(SELECt * FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE MODULE = ''PM'' AND OBJ_NAME = ''frmValidator'' AND CAPT_TYPE = ''WF_MESSAGE'') B ON A.GUI_LANG_TITLE = B.TITLE
WHERE
A.Active = 1 and (A.DocID = @DocID or A.DocID = 1) AND B.LANGUAGE = ''@LANGUAGE'' ORDER BY A.ADDED_WHEN DESC');

View File

@@ -0,0 +1,52 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.1' where NAME = 'Process-Manager'
GO
-- =================================================================
-- Die Procedure fügt einen Datensatz in die Tabelle TBTF_VALIDATOR_MESSAGE ein.
--
-- =================================================================
-- 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: 29.08.2024 / MP
-- =================================================================
-- History:
-- 29.08.2024 / MP - Prozedur erstellt
CREATE PROCEDURE [dbo].[PRTF_NEW_VALIDATOR_MESSAGE]
@DOC_ID BIGINT -- DocID oder IDB_OBJ_ID / 1 für alle Belege
, @MESSAGE_TITLE VARCHAR(100) -- Title aus GUI_LANGUAGE_PHRASE
, @ADDED_WHO VARCHAR(100) -- Wo/Von wem wurde die Prozedur aufgerufen
, @IMAGE_INDEX INTEGER = 0 -- ICON: 0 = Info / 1 = Fehlende Eingabe / 2 = Fehler
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS (SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE TITLE = @MESSAGE_TITLE AND MODULE = 'PM' AND CAPT_TYPE = 'WF_MESSAGE' AND OBJ_NAME = 'frmValidator')
BEGIN
-- Wenn es die Meldung nicht gibt, oder nicht korrekt konfiguriert ist, brechen wir hier ab
RETURN;
END
IF @IMAGE_INDEX > 2
BEGIN
SET @IMAGE_INDEX = 0;
END
INSERT INTO TBTF_VALIDATOR_MESSAGE
(
DocID
, GUI_LANG_TITLE
, ImageIndex
, Active
, ADDED_WHO
) VALUES (
@DOC_ID
, @MESSAGE_TITLE
, @IMAGE_INDEX
, 1 -- wir fügen nur aktive Sätze ein
, @ADDED_WHO
);
END

View File

@@ -0,0 +1,33 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.2' where NAME = 'Process-Manager'
GO
-- =================================================================
-- Die Procedure setzt einen Datensatz der Tabelle TBTF_VALIDATOR_MESSAGE
-- auf ACTIVE = 0
--
-- =================================================================
-- 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: 30.08.2024 / MP
-- =================================================================
-- History:
-- 30.08.2024 / MP - Prozedur erstellt
CREATE PROCEDURE [dbo].[PRTF_DEACTIVATE_VALIDATOR_MESSAGE]
@DOC_ID BIGINT -- DocID oder IDB_OBJ_ID / 1 für alle Belege
, @MESSAGE_TITLE VARCHAR(100) -- Title aus GUI_LANGUAGE_PHRASE
, @CHANGED_WHO VARCHAR(100) -- Wo/Von wem wurde die Prozedur aufgerufen
, @ACTIVE_FLAG INTEGER = 0 -- optionales ACTIVE-Flag - Default = 0
AS
BEGIN
SET NOCOUNT ON;
UPDATE TBTF_VALIDATOR_MESSAGE SET
Active = @ACTIVE_FLAG,
CHANGED_WHO = @CHANGED_WHO
WHERE DocID = @DOC_ID
AND GUI_LANG_TITLE = @MESSAGE_TITLE;
END

View File

@@ -0,0 +1,51 @@
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
--#############################################################################################
--und einen where-Teil:
--#############################################################################################
--(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0))
CREATE TABLE TBTF_PROFILE_FILES_WORK
(
GUID BIGINT NOT NULL IDENTITY(1,1),
ProfileID INTEGER NOT NULL,
DocID BIGINT NOT NULL,
InWork BIT NOT NULL DEFAULT 0,
Worked BIT NOT NULL DEFAULT 0,
Action_When DATETIME,
Action_UserID INTEGER,
ChangedWho_ID INTEGER,
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBTF_PROFILE_FILES_WORK PRIMARY KEY (GUID),
CONSTRAINT UQ_TBTF_PROFILE_FILES_WORK UNIQUE(ProfileID,DocID)
)
GO
CREATE PROCEDURE PRTF_PROFILE_FILES_WORK @pDocID BIGINT,@pProfilID INTEGER,@pUserID INTEGER, @pMode VARCHAR(100)
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBTF_PROFILE_FILES_WORK WHERE ProfileID = @pProfilID AND DocID = @pDocID)
BEGIN
INSERT INTO TBTF_PROFILE_FILES_WORK (ProfileID,DocID,Action_UserID,Action_When) VALUES (@pProfilID,@pDocID,@pUserID,GETDATE());
END
IF @pMode = 'FreeFile'
BEGIN
PRINT 'FreeFile ...'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0, Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 1;
END
ELSE IF @pMode = 'InWork'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 1, Action_When = GETDATE(), Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 0;
ELSE IF @pMode = 'Worked'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0,Worked = 1, Action_When = GETDATE(), Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0;
END
GO
--#############################################################################################
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!!!'
GO

View File

@@ -0,0 +1,32 @@
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
--#############################################################################################
--und einen where-Teil:
--#############################################################################################
--(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0))
GO
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'SQL_PROFILE_MAIN_VIEW'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE DROP COLUMN SQL_PROFILE_MAIN_VIEW;
END
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'SQL_GROUP_COLOR'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE DROP COLUMN SQL_GROUP_COLOR;
END
IF EXISTS(SELECT * FROM sys.columns
WHERE Name = N'SQL_GROUP_TEXT'
AND Object_ID = Object_ID(N'dbo.TBPM_PROFILE'))
BEGIN
ALTER TABLE TBPM_PROFILE DROP COLUMN SQL_GROUP_TEXT;
END
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!!!'
GO

View File

@@ -1,7 +1,7 @@
IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Clipboard-Watcher' )
INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('Clipboard-Watcher','CW','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where UPPER(NAME) = UPPER('Clipboard-Watcher')
UPDATE TBDD_MODULES SET DB_VERSION = '2.3.0.0' where UPPER(NAME) = UPPER('Clipboard-Watcher')
GO
--ADDs THE USER WITH ADMIN-RIGHTS TO USER-MODULE RELATION
INSERT INTO TBDD_USER_MODULES(USER_ID,MODULE_ID)
@@ -37,9 +37,9 @@ CREATE TABLE TBCW_PROFILES
(
GUID INTEGER NOT NULL IDENTITY(1,1),
NAME VARCHAR(100) NOT NULL,
PROFILE_TYPE SMALLINT NOT NULL DEFAULT 0,
PROFILE_TYPE SMALLINT NOT NULL DEFAULT 1,
REGEX_EXPRESSION VARCHAR(100) NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
@@ -392,7 +392,7 @@ BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
FROM [windreamDB].dbo.Attribute WMA INNER JOIN [windreamDB].dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) LIKE UPPER('%' + @pSearchValue + '%')
@@ -406,7 +406,7 @@ BEGIN
WHERE UPPER(T.Search_Term) = UPPER(@pSearchValue)
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
FROM [windreamDB].dbo.Attribute WMA INNER JOIN [windreamDB].dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) = UPPER(@pSearchValue)
@@ -431,23 +431,63 @@ BEGIN
END
GO
/*##### VIEWS ####*/
CREATE VIEW [dbo].[VWCW_USER_PROFILE] AS
SELECT DISTINCT
T.GUID,
T.NAME,
CREATE VIEW [dbo].[VWCW_GROUP_PROFILE] AS
SELECT
T1.GUID,
T.GUID AS PROFIL_ID,
T.NAME AS PROFIL_NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T.PROFILE_TYPE,
T2.PROC_NAME,
T1.USER_ID,
T3.GROUP_ID
FROM TBCW_PROFILES T
LEFT JOIN TBCW_USER_PROFILE T1 ON T.GUID = T1.PROFILE_ID
LEFT JOIN TBCW_PROFILE_PROCESS T2 ON T.GUID = T2.PROFILE_ID
LEFT JOIN TBCW_GROUP_PROFILE T3 ON T.GUID = T3.PROFILE_ID
WHERE T.ACTIVE = 1
T1.GROUP_ID,
T3.NAME AS GROUP_NAME
FROM
TBCW_PROFILES T
,TBCW_GROUP_PROFILE T1
, TBDD_GROUPS T3
WHERE
T.GUID = T1.PROFILE_ID
AND T1.GROUP_ID = T3.GUID;
GO
--Changed 29.01.2025 MS Prozesse raus, Union Gruppen
CREATE VIEW [dbo].[VWCW_USER_PROFILE] AS
SELECT DISTINCT
T.GUID,
T.GUID AS PROFIL_ID,
T.NAME AS PROFIL_NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T.PROFILE_TYPE,
T1.USER_ID AS [USER_ID],
USR.NAME AS USER_SURNAME,
USR.PRENAME AS USER_PRENAME,
USR.USERNAME,
'USER_PROFILE' AS SOURCE
FROM TBCW_PROFILES T
INNER JOIN TBCW_USER_PROFILE T1 ON T.GUID = T1.PROFILE_ID
INNER JOIN TBDD_USER USR ON T1.USER_ID = USR.GUID
UNION
SELECT DISTINCT
GP.PROFIL_ID AS GUID,
GP.PROFIL_ID,
GP.PROFIL_NAME,
GP.REGEX_EXPRESSION,
GP.COMMENT,
GP.ACTIVE,
GP.PROFILE_TYPE,
GU.USR_ID AS [USER_ID],
USR.NAME AS USER_SURNAME,
USR.PRENAME AS USER_PRENAME,
USR.USERNAME,
'GROUP_PROFILE' AS SOURCE
FROM
VWCW_GROUP_PROFILE GP INNER JOIN
VWDD_GROUPS_USER GU ON GP.GROUP_ID = GU.GRP_ID INNER JOIN
TBDD_USER USR ON GU.USR_ID = USR.GUID ;
GO
CREATE VIEW VWCW_PROFILE_REL_WINDOW AS
SELECT DISTINCT TOP 100 PERCENT
@@ -465,9 +505,9 @@ FROM
,VWCW_USER_PROFILE T2
WHERE
T.PROCESS_ID = T1.GUID AND
T1.PROFILE_ID = T2.GUID
T1.PROFILE_ID = T2.PROFIL_ID
ORDER BY T.SEQUENCE
ORDER BY T.SEQUENCE;
GO
CREATE VIEW VWCW_PROFILE_REL_CONTROL AS
@@ -475,7 +515,7 @@ SELECT DISTINCT TOP 100 PERCENT
T.GUID
,T1.USER_ID
,TP.PROC_NAME AS PROCESS_NAME
,T1.GUID AS PROFILE_ID
,T1.PROFIL_ID AS PROFILE_ID
,T.WINDOW_ID
,T.DESCRIPTION
,T.SEQUENCE
@@ -504,25 +544,7 @@ FROM
WHERE
T.WINDOW_ID = TW.GUID AND
TW.PROCESS_ID = TP.GUID AND
TP.PROFILE_ID = T1.GUID
ORDER BY T.SEQUENCE
TP.PROFILE_ID = T1.PROFIL_ID
ORDER BY T.SEQUENCE;
GO
CREATE VIEW [dbo].[VWCW_GROUP_PROFILE] AS
SELECT
T.GUID,
T.NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T1.GROUP_ID,
T2.PROC_NAME
FROM
TBCW_PROFILES T
,TBCW_GROUP_PROFILE T1
,TBCW_PROFILE_PROCESS T2
WHERE
T.GUID = T1.PROFILE_ID
AND T.GUID = T2.PROFILE_ID
AND T.ACTIVE = 1
GO

View File

@@ -1,528 +0,0 @@
IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Clipboard-Watcher' )
INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('Clipboard-Watcher','CW','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where UPPER(NAME) = UPPER('Clipboard-Watcher')
GO
--ADDs THE USER WITH ADMIN-RIGHTS TO USER-MODULE RELATION
INSERT INTO TBDD_USER_MODULES(USER_ID,MODULE_ID)
SELECT DISTINCT USER_ID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'CW')
FROM TBDD_USER_MODULES where IS_ADMIN = 1
GO
INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1)
GO
CREATE TABLE TBCW_CONFIGURATION
(
GUID TINYINT,
WD_UNICODE BIT NOT NULL DEFAULT 1,
GDPICTURE_LICENSE VARCHAR(500) NOT NULL DEFAULT '',
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_CONFIGURATION_GUID PRIMARY KEY(GUID),
CONSTRAINT CH_TBCW_CONFIGURATION_GUID CHECK(GUID = 1)
)
GO
CREATE TRIGGER TBCW_CONFIGURATION_AFT_UPD ON TBCW_CONFIGURATION
FOR UPDATE
AS
UPDATE TBCW_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED
WHERE TBCW_CONFIGURATION.GUID = INSERTED.GUID
GO
INSERT INTO TBCW_CONFIGURATION (GUID) VALUES (1)
GO
--ALTER TABLE TBDD_CLIENT
--ADD LICENSE_DDCBSEARCHER VARCHAR(5000) NOT NULL DEFAULT ''
--GO
CREATE TABLE TBCW_PROFILES
(
GUID INTEGER NOT NULL IDENTITY(1,1),
NAME VARCHAR(100) NOT NULL,
PROFILE_TYPE SMALLINT NOT NULL DEFAULT 0,
REGEX_EXPRESSION VARCHAR(100) NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROFILES PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_PROFILES_NAME UNIQUE(NAME)
)
GO
CREATE TRIGGER TBCW_PROFILES_AFT_UPD ON TBCW_PROFILES
FOR UPDATE
AS
UPDATE TBCW_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROFILES.GUID = INSERTED.GUID
GO
CREATE TABLE TBCW_USER_PROFILE
(
GUID INT IDENTITY(1,1),
PROFILE_ID INT NOT NULL,
[USER_ID] INT NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_USER_PROFILE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_USER_PROFILE_PID_UID UNIQUE (PROFILE_ID,[USER_ID])
)
GO
CREATE TABLE TBCW_PROFILE_PROCESS
(
GUID INT IDENTITY(1,1),
PROFILE_ID INT NOT NULL,
PROC_NAME VARCHAR(100) NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_PROFILE_PROCESS PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_PROFILE_PROCESS UNIQUE (PROFILE_ID,PROC_NAME)
)
GO
CREATE TABLE TBCW_PROF_DOC_SEARCH(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROFILE_ID INTEGER NOT NULL,
CONN_ID TinyINT NOT NULL DEFAULT 0,
SQL_COMMAND VARCHAR(MAX) NOT NULL,
COUNT_COMMAND VARCHAR(MAX) NOT NULL,
TAB_INDEX TINYINT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 0,
TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED',
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_DOC_SEARCH PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_DOC_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_DOC_SEARCH_AFT_UPD ON TBCW_PROF_DOC_SEARCH
FOR UPDATE
AS
UPDATE TBCW_PROF_DOC_SEARCH SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_DOC_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DOC_SEARCH]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @TABINDEX TINYINT
,@MAX_INDEX TINYINT
,@PROFILE_ID INT
,@GUID INTEGER
SELECT @TABINDEX = TAB_INDEX
,@PROFILE_ID = PROFILE_ID
,@GUID = GUID FROM inserted
SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID
UPDATE TBCW_PROF_DOC_SEARCH SET TAB_INDEX = @MAX_INDEX
FROM INSERTED
WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
UPDATE TBCW_PROF_DOC_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
--DROP TABLE TBCW_PROF_DATA_SEARCH
--GO
CREATE TABLE TBCW_PROF_DATA_SEARCH(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROFILE_ID INTEGER NOT NULL,
CONN_ID TinyINT NOT NULL DEFAULT 0,
SQL_COMMAND VARCHAR(MAX) NOT NULL,
COUNT_COMMAND VARCHAR(MAX) NOT NULL,
TAB_INDEX TINYINT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 0,
TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED',
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_DATA_SEARCH PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_DATA_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_DATA_SEARCH_AFT_UPD ON TBCW_PROF_DATA_SEARCH
FOR UPDATE
AS
UPDATE TBCW_PROF_DATA_SEARCH SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_DATA_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DATA_SEARCH]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @TABINDEX TINYINT
,@MAX_INDEX TINYINT
,@PROFILE_ID INT
,@GUID INTEGER
SELECT @TABINDEX = TAB_INDEX
,@PROFILE_ID = PROFILE_ID
,@GUID = GUID FROM inserted
SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID
UPDATE TBCW_PROF_DATA_SEARCH SET TAB_INDEX = @MAX_INDEX
FROM INSERTED
WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
UPDATE TBCW_PROF_DATA_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE [dbo].[TBCW_GROUP_PROFILE](
GUID INTEGER IDENTITY(1,1) NOT NULL,
PROFILE_ID INTEGER NOT NULL,
GROUP_ID INTEGER NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_GROUP_PROFILE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_GROUP_PROFILE_PID_UID UNIQUE (PROFILE_ID,GROUP_ID)
)
GO
CREATE TABLE TBCW_PROF_REL_WINDOW(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROCESS_ID INTEGER NOT NULL,
DESCRIPTION VARCHAR(250) NOT NULL DEFAULT '',
REGEX VARCHAR(500) NOT NULL,
SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_REL_WINDOW PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_REL_WINDOW_PROCESS_ID FOREIGN KEY (PROCESS_ID) REFERENCES TBCW_PROFILE_PROCESS (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_REL_WINDOW_AFT_UPD ON TBCW_PROF_REL_WINDOW
FOR UPDATE
AS
UPDATE TBCW_PROF_REL_WINDOW SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_REL_WINDOW.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_REL_WINDOW_AFT_INS] ON [dbo].TBCW_PROF_REL_WINDOW
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@PROCESS_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@PROCESS_ID = PROCESS_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @PROCESS_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_WINDOW SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_WINDOW.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE TBCW_PROF_REL_CONTROL(
GUID INTEGER NOT NULL IDENTITY(1,1),
DESCRIPTION VARCHAR(250) NOT NULL,
WINDOW_ID INTEGER NOT NULL,
CONTROL_NAME VARCHAR(500) NOT NULL DEFAULT '',
[TOPLEFT_TOP] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_LEFT] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_TOP] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_TOP] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_LEFT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_TOP] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_REL_CONTROL PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_REL_CONTROL_WINDOW_ID FOREIGN KEY (WINDOW_ID) REFERENCES TBCW_PROF_REL_WINDOW (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_UPD ON TBCW_PROF_REL_CONTROL
FOR UPDATE
AS
UPDATE TBCW_PROF_REL_CONTROL SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
GO
CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_INS ON TBCW_PROF_REL_CONTROL
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@WINDOW_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@WINDOW_ID = WINDOW_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE WINDOW_ID = @WINDOW_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TRIGGER [dbo].[TBCW_PROF_REL_CONTROLAFT_INS] ON [dbo].TBCW_PROF_REL_CONTROL
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@WINDOW_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@WINDOW_ID = @WINDOW_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE @WINDOW_ID = @WINDOW_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/*##### PROCEDURES ####*/
CREATE PROCEDURE [dbo].[PRCW_DELETE_PROFILE](@pPROFILE_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_DATA_SEARCH where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROF_DOC_SEARCH where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID))
delete from TBCW_PROF_REL_WINDOW where PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID)
delete from TBCW_PROFILE_PROCESS where PROFILE_ID = @pPROFILE_ID
delete from TBCW_USER_PROFILE where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROFILES where GUID = @pPROFILE_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE PROCEDURE [dbo].[PRCW_DELETE_PROCESS](@pPROCESS_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @pPROCESS_ID)
delete from TBCW_PROF_REL_WINDOW where PROCESS_ID = @pPROCESS_ID
delete from TBCW_PROFILE_PROCESS where GUID = @pPROCESS_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE PROCEDURE [dbo].[PRCW_DELETE_WINDOW](@pWINDOW_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID = @pWINDOW_ID
delete from TBCW_PROF_REL_WINDOW where GUID = @pWINDOW_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/*##### FUNCTIONS ####*/
CREATE FUNCTION [dbo].[FNCW_WM_SEARCH] (@pSearchValue Varchar(512),@pUSER_ID INTEGER, @pLike BIT)
RETURNS @TBResult TABLE
(DocID INTEGER,
INDEX_NAME VARCHAR(50),
COMMENT VARCHAR(500))
AS
BEGIN
DECLARE @USER_ECM_FKID INTEGER
SELECT @USER_ECM_FKID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID
IF @pLike = 1
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT T.[dwDocID]
,T.[Idx]
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE UPPER(T.Search_Term) LIKE UPPER('%' + @pSearchValue + '%')
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) LIKE UPPER('%' + @pSearchValue + '%')
END
ELSE
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME) -- VALUES (1,'1234')
SELECT T.[dwDocID]
,T.[Idx]--,T.Search_Term
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = 1000004
WHERE UPPER(T.Search_Term) = UPPER(@pSearchValue)
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) = UPPER(@pSearchValue)
END
RETURN
END
GO
CREATE FUNCTION FNCW_GET_SEARCH_COUNT_FOR_CONNECTION(@CONNECTION_ID int)
RETURNS int
AS
BEGIN
DECLARE @RESULT int
SELECT @RESULT = SUM(t.CNT) FROM (
SELECT COUNT(*) AS CNT FROM TBCW_PROF_DATA_SEARCH WHERE CONN_ID = @CONNECTION_ID
UNION ALL
SELECT COUNT(*) AS CNT FROM TBCW_PROF_DOC_SEARCH WHERE CONN_ID = @CONNECTION_ID
) t
RETURN @RESULT
END
GO
/*##### VIEWS ####*/
CREATE VIEW [dbo].[VWCW_USER_PROFILE] AS
SELECT DISTINCT
T.GUID,
T.NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T.PROFILE_TYPE,
T2.PROC_NAME,
T1.USER_ID,
T3.GROUP_ID
FROM TBCW_PROFILES T
LEFT JOIN TBCW_USER_PROFILE T1 ON T.GUID = T1.PROFILE_ID
LEFT JOIN TBCW_PROFILE_PROCESS T2 ON T.GUID = T2.PROFILE_ID
LEFT JOIN TBCW_GROUP_PROFILE T3 ON T.GUID = T3.PROFILE_ID
WHERE T.ACTIVE = 1
GO
CREATE VIEW VWCW_PROFILE_REL_WINDOW AS
SELECT DISTINCT TOP 100 PERCENT
T.GUID
,T.PROCESS_ID
,T2.USER_ID
,T1.PROC_NAME AS PROCESS_NAME
,T1.PROFILE_ID
,T.DESCRIPTION
,T.REGEX
,T.SEQUENCE
FROM
TBCW_PROF_REL_WINDOW T
,TBCW_PROFILE_PROCESS T1
,VWCW_USER_PROFILE T2
WHERE
T.PROCESS_ID = T1.GUID AND
T1.PROFILE_ID = T2.GUID
ORDER BY T.SEQUENCE
GO
CREATE VIEW VWCW_PROFILE_REL_CONTROL AS
SELECT DISTINCT TOP 100 PERCENT
T.GUID
,T1.USER_ID
,TP.PROC_NAME AS PROCESS_NAME
,T1.GUID AS PROFILE_ID
,T.WINDOW_ID
,T.DESCRIPTION
,T.SEQUENCE
,T.CONTROL_NAME
,T.TOPLEFT_LEFT
,T.TOPLEFT_RIGHT
,T.TOPLEFT_TOP
,T.TOPLEFT_BOTTOM
,T.TOPRIGHT_LEFT
,T.TOPRIGHT_RIGHT
,T.TOPRIGHT_TOP
,T.TOPRIGHT_BOTTOM
,T.BOTTOMLEFT_LEFT
,T.BOTTOMLEFT_RIGHT
,T.BOTTOMLEFT_TOP
,T.BOTTOMLEFT_BOTTOM
,T.BOTTOMRIGHT_LEFT
,T.BOTTOMRIGHT_RIGHT
,T.BOTTOMRIGHT_TOP
,T.BOTTOMRIGHT_BOTTOM
FROM
TBCW_PROF_REL_CONTROL T
,TBCW_PROF_REL_WINDOW TW
,TBCW_PROFILE_PROCESS TP
,VWCW_USER_PROFILE T1
WHERE
T.WINDOW_ID = TW.GUID AND
TW.PROCESS_ID = TP.GUID AND
TP.PROFILE_ID = T1.GUID
ORDER BY T.SEQUENCE
GO
CREATE VIEW [dbo].[VWCW_GROUP_PROFILE] AS
SELECT
T.GUID,
T.NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T1.GROUP_ID,
T2.PROC_NAME
FROM
TBCW_PROFILES T
,TBCW_GROUP_PROFILE T1
,TBCW_PROFILE_PROCESS T2
WHERE
T.GUID = T1.PROFILE_ID
AND T.GUID = T2.PROFILE_ID
AND T.ACTIVE = 1
GO

View File

@@ -1,7 +1,7 @@
-- Integrieren wir auch unsere IDB-Logik?
-- Wenn Ja: Suchen nach 0 IDB_FILESTORE_ID und ersetzen mit T4.IDB_FILESTORE_ID
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.5.2.0' where NAME = 'Global-Indexer'
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.4.3' where NAME = 'fileFLOW'
GO
UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W';
CREATE TABLE TBGI_CONFIGURATION
@@ -287,7 +287,7 @@ GO
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
CREATE VIEW [dbo].[VWGI_DOCTYPE] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
@@ -340,7 +340,43 @@ WHERE
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
GO
CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT * FROM [TBDD_CATALOG] WHERE CAT_TITLE = 'USE_IDB_AS_METADATA' AND CAT_STRING = '1')
BEGIN
SET @SQL = N'--26.09 MS Shortname angepasst
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS
SELECT
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.FOLDER_FOR_INDEX DYNAMIC_FOLDER,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T6.OBJECT_TITLE AS OBJECT_STORE,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T7.CAT_TITLE AS OBJECT_ST_PATH,
T4.ERSTELLTWANN,
T4.GEAENDERTWANN,
T4.SEQUENCE,
T4.IDB_DOCTYPE_ID
FROM
DD_ECM.dbo.TBDD_DOKUMENTART T4 LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID
LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID
WHERE
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''));';
EXEC (@SQL);
END;
GO
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT * FROM [TBDD_CATALOG] WHERE CAT_TITLE = 'USE_IDB_AS_METADATA' AND CAT_STRING = '1')
BEGIN
SET @SQL = N'
--26.09 MS Shortname angepasst
ALTER VIEW [dbo].[VWGI_DOCTYPE_USER] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
@@ -354,24 +390,24 @@ SELECT DISTINCT
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
--T5.OBJECT_TITLE as OBJECT_ST_NAME,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_GROUPS_USER T1,
DD_ECM.dbo.TBDD_GROUPS T2,
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4--,
--IDB.dbo.TBIDB_OBJECT_STORE T5
DD_ECM.dbo.TBDD_DOKUMENTART T4,
IDB.dbo.TBIDB_OBJECT_STORE T5
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
--T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
@@ -386,20 +422,80 @@ SELECT DISTINCT
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
--T5.OBJECT_TITLE as OBJECT_ST_NAME,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4--,
--IDB.dbo.TBIDB_OBJECT_STORE T5
DD_ECM.dbo.TBDD_DOKUMENTART T4,
IDB.dbo.TBIDB_OBJECT_STORE T5
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
--T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
GO
T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))'
PRINT @SQL
END
ELSE
SET @SQL = N'
--26.09 MS Shortname angepasst
ALTER VIEW [dbo].[VWGI_DOCTYPE_USER] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
0 OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_GROUPS_USER T1,
DD_ECM.dbo.TBDD_GROUPS T2,
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
0 OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))'
EXEC (@SQL);
GO
------------------------------------------------------------------------------
CREATE VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS
@@ -484,7 +580,8 @@ BEGIN CATCH
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT)
--CHANGED 24.09.2024 SEQ in autom. Index
CREATE OR ALTER PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT)
AS
DECLARE @NEWDOCTYPE_ID INT
@@ -499,8 +596,8 @@ BEGIN
INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE')
INSERT INTO TBDD_INDEX_AUTOM (
DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO)
SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID
DOCTYPE_ID,INDEXNAME,VALUE,SEQUENCE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO)
SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, [SEQUENCE], SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID
DECLARE
@MANINDEX_ID INTEGER,
@@ -513,7 +610,7 @@ BEGIN
BEGIN
INSERT INTO TBDD_INDEX_MAN (
DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES)
SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID
SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, [SEQUENCE], ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID
SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID
@@ -531,7 +628,7 @@ BEGIN
PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID)
INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING (
IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT)
SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT
SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, [SEQUENCE], 'COPY-ROUTINE',VARIANT
FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID
FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
END
@@ -547,29 +644,62 @@ END
GO
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS
SELECT
-- 20.09.2024 MS ModuleName geändert
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
--T4.IDB_FILESTORE_ID,
T4.SEQUENCE
FROM
TBDD_USER T,
TBDD_GROUPS_USER T1,
TBDD_GROUPS T2,
TBDD_USRGRP_DOKTYPE T3,
TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.FOLDER_FOR_INDEX DYNAMIC_FOLDER,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
--T6.OBJECT_TITLE AS OBJECT_STORE,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
--T7.CAT_TITLE AS OBJECT_ST_PATH,
T4.ERSTELLTWANN,
T4.GEAENDERTWANN,
T4.SEQUENCE--,
--T4.IDB_DOCTYPE_ID
--T4.IDB_FILESTORE_ID,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_DOKUMENTART T4 --LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID
--LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID
TBDD_USER T,
TBDD_USER_DOKTYPE T3,
TBDD_DOKUMENTART T4
WHERE
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
GO
CREATE VIEW [dbo].[VWGI_DOCTYPE] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
@@ -659,7 +789,16 @@ SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'
If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID)
INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE')
GO
IF NOT EXISTS(SELECT GUID FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE_FILEFLOW')
BEGIN
INSERT INTO TBDD_3RD_PARTY_MODULES (ACTIVE,NAME,LICENSE) VALUES (
1,
'GDPICTURE_FILEFLOW',
'kG1Qf9PwmqgR8aDmIW2zI_ebj48RzqAJegRxcystEmkbTGQqfkNBdFOXIb6C_A00Ra8zZkrHdfjqzOPXK7kgkF2YDhvrqKfqh4WDug2vOt0qO31IommzkANSuLjZ4zmraoubyEVd25rE3veQ2h_j7tGIoH_LyIHmy24GaXsxdG0yCzIBMdiLbMMMDwcPY-809KeZ83Grv76OVhFvcbBWyYc251vou1N-kGg5_ZlHDgfWoY85gTLRxafjD3KS_i9ARW4BMiy36y8n7UP2jN8kGRnW_04ubpFtfjJqvtsrP_J9D0x7bqV8xtVtT5JI6dpKsVTiMgDCrIcoFSo5gCC1fw9oUopX4TDCkBQttO4-WHBlOeq9dG5Yb0otonVmJKaQA2tP6sMR-lZDs3ql_WI9t91yPWgpssrJUxSHDd27_LMTH_owJIqkF3NOJd9mYQuAv22oNKFYbH8e41pVKb8cT33Y9CgcQ_sy6YDA5PTuIRi67mjKge_nD9rd0IN213Ir9M_EFWqg9e4haWzIdHXQUo0md70kVhPX4UIH_BKJnxEEnFfoFRNMh77bB0N4jkcBEHPl-ghOERv8dOztf4vCnNpzzWvcLD2cqWIm6THy8XGGq9h4hp8aEreRleSMwv9QQAC7mjLwhQ1rBYkpUHlpTjhTLnMwHknl6HH0Z6zzmsgkRKVyfquv94Pd7QbQfZrRka0ss_48pf9p8hAywEn81Q=='
)
END
GO

View File

@@ -1,13 +1,14 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.1' where NAME = 'Global-Indexer'
GO
ALTER TABLE TBGI_FILES_USER ADD DocID BIGINT NOT NULL DEFAULT 0
IF COL_LENGTH('TBGI_FILES_USER','DocID') IS NOT NULL
PRINT 'Column DocID Exists';
ELSE
ALTER TABLE TBGI_FILES_USER ADD DocID BIGINT NOT NULL DEFAULT 0
GO
IF COL_LENGTH('TBGI_FILES_USER','FILE_HASH') IS NOT NULL
PRINT 'Column FILE_HASH Exists';
ELSE
ALTER TABLE TBGI_FILES_USER ADD FILE_HASH VARCHAR(200) DEFAULT ''
GO
GO

View File

@@ -1,43 +1,45 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.3.0' where NAME = 'Global-Indexer'
GO
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_PREVENT_MULTIPLE_VALUES bit NOT NULL DEFAULT 0
GO
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_OVERWRITE bit NOT NULL DEFAULT 0
GO
CREATE OR ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
AS
SELECT TOP 100 PERCENT
T.GUID,
T.INDEXNAME,
T.COMMENT,
T.DOCTYPE_ID,
T1.BEZEICHNUNG DOKUMENTART,
T1.KURZNAME,
T.CONNECTION_ID,
T2.BEZEICHNUNG CONNECTION,
T2.SQL_PROVIDER,
T2.SERVER,
T2.DATENBANK,
T2.USERNAME,
T2.PASSWORD,
T.SQL_RESULT,
T.SQL_ACTIVE,
T.VALUE,
T.[SEQUENCE],
T.VKT_OVERWRITE,
T.VKT_PREVENT_MULTIPLE_VALUES
FROM
TBDD_INDEX_AUTOM T
INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
WHERE
T.ACTIVE = 1
ORDER BY
T.DOCTYPE_ID,
T.GUID
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.3.0' where NAME = 'Global-Indexer' and DB_VERSION <> '2.5.3.0'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns WHERE Name = N'VKT_PREVENT_MULTIPLE_VALUES' AND Object_ID = Object_ID(N'dbo.TBDD_INDEX_AUTOM'))
BEGIN
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_PREVENT_MULTIPLE_VALUES bit NOT NULL DEFAULT 0
END
IF NOT EXISTS(SELECT 1 FROM sys.columns WHERE Name = N'VKT_OVERWRITE' AND Object_ID = Object_ID(N'dbo.TBDD_INDEX_AUTOM'))
BEGIN
ALTER TABLE TBDD_INDEX_AUTOM ADD VKT_OVERWRITE bit NOT NULL DEFAULT 0
END
GO
CREATE OR ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
AS
SELECT TOP 100 PERCENT
T.GUID,
T.INDEXNAME,
T.COMMENT,
T.DOCTYPE_ID,
T1.BEZEICHNUNG DOKUMENTART,
T1.KURZNAME,
T.CONNECTION_ID,
T2.BEZEICHNUNG CONNECTION,
T2.SQL_PROVIDER,
T2.SERVER,
T2.DATENBANK,
T2.USERNAME,
T2.PASSWORD,
T.SQL_RESULT,
T.SQL_ACTIVE,
T.VALUE,
T.[SEQUENCE],
T.VKT_OVERWRITE,
T.VKT_PREVENT_MULTIPLE_VALUES
FROM
TBDD_INDEX_AUTOM T
INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
WHERE
T.ACTIVE = 1
ORDER BY
T.DOCTYPE_ID,
T.GUID
GO

View File

@@ -0,0 +1,61 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.4.0' where NAME = 'fileFLOW'
GO
-- 20.09.2024 MS ModuleName geändert
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
--T4.IDB_FILESTORE_ID,
T4.SEQUENCE
FROM
TBDD_USER T,
TBDD_GROUPS_USER T1,
TBDD_GROUPS T2,
TBDD_USRGRP_DOKTYPE T3,
TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
--T4.IDB_FILESTORE_ID,
T4.SEQUENCE
FROM
TBDD_USER T,
TBDD_USER_DOKTYPE T3,
TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
GO

View File

@@ -0,0 +1,63 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.4.1' where NAME = 'fileFLOW'
GO
--CHANGED 24.09.2024 SEQ in autom. Index
CREATE OR ALTER PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT)
AS
DECLARE @NEWDOCTYPE_ID INT
BEGIN
INSERT INTO TBDD_DOKUMENTART (
BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING
)
SELECT
'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID
SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART
INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE')
INSERT INTO TBDD_INDEX_AUTOM (
DOCTYPE_ID,INDEXNAME,VALUE,SEQUENCE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO)
SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, [SEQUENCE], SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID
DECLARE
@MANINDEX_ID INTEGER,
@NEW_ID INTEGER
DECLARE c_INDEX CURSOR FOR
SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE
OPEN c_INDEX
FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO TBDD_INDEX_MAN (
DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES)
SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, [SEQUENCE], ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID
SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID
--Nachbearbeitungsfunktionen hinzufügen
IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID)
BEGIN
DECLARE
@NB_ID INTEGER
DECLARE c_NBFUNCTION CURSOR FOR
SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC
OPEN c_NBFUNCTION
FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID)
INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING (
IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT)
SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, [SEQUENCE], 'COPY-ROUTINE',VARIANT
FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID
FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
END
CLOSE c_NBFUNCTION
DEALLOCATE c_NBFUNCTION
END
FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
END
CLOSE c_INDEX
DEALLOCATE c_INDEX
END

View File

@@ -0,0 +1,439 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.4.2' where NAME = 'fileFLOW'
GO
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'IDB')
BEGIN
SET @SQL = N'--26.09 MS Shortname angepasst
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS
SELECT
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.FOLDER_FOR_INDEX DYNAMIC_FOLDER,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T6.OBJECT_TITLE AS OBJECT_STORE,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T7.CAT_TITLE AS OBJECT_ST_PATH,
T4.ERSTELLTWANN,
T4.GEAENDERTWANN,
T4.SEQUENCE,
T4.IDB_DOCTYPE_ID
FROM
DD_ECM.dbo.TBDD_DOKUMENTART T4 LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID
LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID
WHERE
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''));';
EXEC (@SQL);
END;
GO
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'IDB')
BEGIN
SET @SQL = N'
--26.09 MS Shortname angepasst
ALTER VIEW [dbo].[VWGI_DOCTYPE_USER] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_GROUPS_USER T1,
DD_ECM.dbo.TBDD_GROUPS T2,
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4,
IDB.dbo.TBIDB_OBJECT_STORE T5
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4,
IDB.dbo.TBIDB_OBJECT_STORE T5
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.IDB_OBJECT_STORE_ID = T5.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))'
PRINT @SQL
END
ELSE
SET @SQL = N'
--26.09 MS Shortname angepasst
ALTER VIEW [dbo].[VWGI_DOCTYPE_USER] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
0 OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_GROUPS_USER T1,
DD_ECM.dbo.TBDD_GROUPS T2,
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
0 OBJECT_ST_ID,
T5.OBJECT_TITLE as OBJECT_ST_NAME,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = ''fileFLOW''))'
EXEC (@SQL);
GO
--26.09 MS Shortname angepasst
ALTER VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--T2.NAME AS GROUP_NAME,
T3.DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_GROUPS_USER T1,
DD_ECM.dbo.TBDD_GROUPS T2,
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T1.[USER_ID] AND
T1.GROUP_ID = T2.GUID AND
T2.GUID = T3.GROUP_ID AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
UNION
SELECT DISTINCT
T.GUID AS [USER_ID],
T.USERNAME,
--'' AS GROUP_NAME,
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE,
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
T4.KURZNAME,
T4.ZIEL_PFAD,
T4.AKTIV,
T4.NAMENKONVENTION,
T4.OBJEKTTYP,
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
T4.SEQUENCE
FROM
DD_ECM.dbo.TBDD_USER T,
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
DD_ECM.dbo.TBDD_DOKUMENTART T4
WHERE
T4.AKTIV = 1 AND
T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID AND
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'))
GO
-- =============================================
-- Author: DD MS
-- Changed: 09.06.2022 MS ADDED ZOOFLOW
-- Changed: 11.05.2022 MS ADDED PM
-- Changed: 13.08.2020 MS ADDED Zooflow
-- =============================================
ALTER FUNCTION [dbo].[FNZF_GET_MODULE_INFO] (@pUSERNAME VARCHAR(100))
RETURNS @Table TABLE
(SequentialOrder INT IDENTITY(1, 1),
[TYPE] VARCHAR(50),
[NAME] VARCHAR(50),
[VALUE] VARCHAR(512))
AS
BEGIN
/*
This function checks all user-relevant relations an
*/
DECLARE
@RESULT VARCHAR(500),
@USER_ID INTEGER,
@USER_PRENAME VARCHAR(50),
@USER_SURNAME VARCHAR(50),
@USER_SHORTNAME VARCHAR(50),
@USER_EMAIL VARCHAR(50),
@USER_LANGUAGE VARCHAR(10),
@USER_DATE_FORMAT VARCHAR(10),
@USER_ECM_ID INTEGER,
@IS_IN_MODULE VARCHAR(5),
@IS_ADMIN VARCHAR(5),
@USER_RIGHT_FILE_DEL BIT,
@USERCOUNT_LOGGED_IN INTEGER,
@MODULE_NAME VARCHAR(100),
@MODULE_GUID INTEGER,
@USER_GROUPNAME_CW VARCHAR(100),
@ADMIN_GROUPNAME_fileFLOW VARCHAR(100),
@USER_GROUPNAME_fileFLOW VARCHAR(100),
@ADMIN_GROUPNAME_PM VARCHAR(100),
@USER_GROUPNAME_PM VARCHAR(100),
@ADMIN_GROUPNAME_CW VARCHAR(100),
@USER_GROUPNAME_ZF VARCHAR(100),
@ADMIN_GROUPNAME_ZF VARCHAR(100)
SET @USER_ID = 0
SET @IS_ADMIN = 'False'
SET @IS_IN_MODULE = 'False'
SET @USERCOUNT_LOGGED_IN = 0
SET @RESULT = ''
SET @USER_GROUPNAME_CW = 'CW_USER'
SET @ADMIN_GROUPNAME_CW = 'CW_ADMINS'
SET @USER_GROUPNAME_fileFLOW = 'fileFLOW_USER'
SET @ADMIN_GROUPNAME_fileFLOW = 'fileFLOW_ADMINS'
SET @USER_GROUPNAME_PM = 'PM_USER'
SET @ADMIN_GROUPNAME_PM = 'PM_ADMINS'
SET @USER_GROUPNAME_ZF = 'ZOOFLOW_USER'
SET @ADMIN_GROUPNAME_ZF = 'ZOOFLOW_ADMINS'
IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME))
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'ERROR','USER NOT CONFIGURED OR LISTED')
ELSE
BEGIN
SELECT @USER_ID = GUID, @USER_ECM_ID = USERID_FK_INT_ECM, @USER_PRENAME = PRENAME,
@USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_ID',@USER_ID);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_PRENAME',@USER_PRENAME);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_SURNAME',@USER_SURNAME);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_SHORTNAME',@USER_SHORTNAME);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_EMAIL',@USER_EMAIL);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_DATE_FORMAT',@USER_DATE_FORMAT);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_LANGUAGE',@USER_LANGUAGE);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_ECM_ID',@USER_ECM_ID);
/*#### ClipboardWatcher ####*/
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'CW'
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1
--CHECK USER IS IN MODULE_USER_GROUP
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_CW)
BEGIN
SET @IS_IN_MODULE = 'True'
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_CW + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
ELSE
BEGIN
SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_CW + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_CW)
BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_CW + ')'
SET @IS_ADMIN = 'True'
SET @IS_IN_MODULE = 'True'
END
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'MODULE_ACCESS',@IS_IN_MODULE);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'IS_ADMIN',@IS_ADMIN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'RESULT',@RESULT);
/*#### fileFLOW ####*/
SET @RESULT = ''
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'fileFLOW'
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1
--CHECK USER IS IN MODULE_USER_GROUP
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_fileFLOW)
BEGIN
SET @IS_IN_MODULE = 'True'
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_fileFLOW + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
ELSE
BEGIN
SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_fileFLOW + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_fileFLOW)
BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_fileFLOW + ')'
SET @IS_ADMIN = 'True'
SET @IS_IN_MODULE = 'True'
END
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('fileFLOW', 'MODULE_ACCESS',@IS_IN_MODULE);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('fileFLOW', 'IS_ADMIN',@IS_ADMIN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('fileFLOW', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('fileFLOW', 'RESULT',@RESULT);
/*#### PM ####*/
SET @RESULT = ''
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1
--CHECK USER IS IN MODULE_USER_GROUP
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_PM)
BEGIN
SET @IS_IN_MODULE = 'True'
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_PM + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
ELSE
BEGIN
SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_PM + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_PM)
BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_PM + ')'
SET @IS_ADMIN = 'True'
SET @IS_IN_MODULE = 'True'
END
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'MODULE_ACCESS',@IS_IN_MODULE);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'IS_ADMIN',@IS_ADMIN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'RESULT',@RESULT);
/*#### ZOOFLOW ####*/
SET @RESULT = ''
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE NAME = 'ZooFlow'
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE MODULE = @MODULE_NAME AND CLIENT_ID = 1
--CHECK USER IS IN MODULE_USER_GROUP
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_ZF)
BEGIN
SET @IS_IN_MODULE = 'True'
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_PM + ')'
IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules'
SET @IS_IN_MODULE = 'True'
select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
END
END
ELSE
BEGIN
SET @RESULT = 'User NOT part of group (' + @USER_GROUPNAME_ZF + ')'
END
IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_ZF)
BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_ZF + ')'
SET @IS_ADMIN = 'True'
SET @IS_IN_MODULE = 'True'
END
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('ZOOFLOW', 'MODULE_ACCESS',@IS_IN_MODULE);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('ZOOFLOW', 'IS_ADMIN',@IS_ADMIN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('ZOOFLOW', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN);
INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('ZOOFLOW', 'RESULT',@RESULT);
END
RETURN
END

View File

@@ -0,0 +1,11 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.5.4.3' where NAME = 'fileFLOW'
GO
IF NOT EXISTS(SELECT GUID FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE_FILEFLOW')
BEGIN
INSERT INTO TBDD_3RD_PARTY_MODULES (ACTIVE,NAME,LICENSE) VALUES (
1,
'GDPICTURE_FILEFLOW',
'kG1Qf9PwmqgR8aDmIW2zI_ebj48RzqAJegRxcystEmkbTGQqfkNBdFOXIb6C_A00Ra8zZkrHdfjqzOPXK7kgkF2YDhvrqKfqh4WDug2vOt0qO31IommzkANSuLjZ4zmraoubyEVd25rE3veQ2h_j7tGIoH_LyIHmy24GaXsxdG0yCzIBMdiLbMMMDwcPY-809KeZ83Grv76OVhFvcbBWyYc251vou1N-kGg5_ZlHDgfWoY85gTLRxafjD3KS_i9ARW4BMiy36y8n7UP2jN8kGRnW_04ubpFtfjJqvtsrP_J9D0x7bqV8xtVtT5JI6dpKsVTiMgDCrIcoFSo5gCC1fw9oUopX4TDCkBQttO4-WHBlOeq9dG5Yb0otonVmJKaQA2tP6sMR-lZDs3ql_WI9t91yPWgpssrJUxSHDd27_LMTH_owJIqkF3NOJd9mYQuAv22oNKFYbH8e41pVKb8cT33Y9CgcQ_sy6YDA5PTuIRi67mjKge_nD9rd0IN213Ir9M_EFWqg9e4haWzIdHXQUo0md70kVhPX4UIH_BKJnxEEnFfoFRNMh77bB0N4jkcBEHPl-ghOERv8dOztf4vCnNpzzWvcLD2cqWIm6THy8XGGq9h4hp8aEreRleSMwv9QQAC7mjLwhQ1rBYkpUHlpTjhTLnMwHknl6HH0Z6zzmsgkRKVyfquv94Pd7QbQfZrRka0ss_48pf9p8hAywEn81Q=='
)
END

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,18 @@
DECLARE @FV_ID INT
SET @FV_ID = 6
INSERT INTO [TBPMO_WD_FORMVIEW_DOKTYPES] (FORMVIEW_ID,OBJECT_TYPE
,[DOCTYPE_ID]
,[NAME_CONVENTION]
,[DYNAMIC_FOLDER])
SELECT
@FV_ID,
OBJECT_TYPE
,[DOCTYPE_ID]
,[NAME_CONVENTION]
,[DYNAMIC_FOLDER]
FROM [DD_ECM].[dbo].[TBPMO_WD_FORMVIEW_DOKTYPES] A INNER JOIN TBDD_DOKUMENTART B ON A.DOCTYPE_ID = B.GUID
WHERE FORMVIEW_ID = 1

View File

@@ -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

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More