Compare commits

...

130 Commits

Author SHA1 Message Date
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
faf38844e6 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/SqlScripts 2023-12-06 09:06:19 +01:00
dcd3dfe4ac Signatur, ECM 2023-12-06 09:05:09 +01:00
JenneJ
ae416bdcc8 14_EnvelopeGenerator/CreateDBObjects.sql aktualisiert 2023-10-30 09:43:55 +01:00
JenneJ
70c6e97c5a 06_EmailProfiler/1.3.3.0.sql aktualisiert 2023-10-10 08:32:29 +02:00
JenneJ
587228faa9 06_EmailProfiler/1.3.3.0 hinzugefügt 2023-10-09 14:51:39 +02:00
JenneJ
409500a54c 01_SMART_UP_TOOLS/08_ORGFLOW/ChangeLog.txt aktualisiert 2023-10-06 11:58:44 +02:00
JenneJ
372b4ba61e 01_SMART_UP_TOOLS/03_FILEFLOW/Updates/2.5.3.0.sql aktualisiert 2023-10-06 11:03:22 +02:00
JenneJ
3d5482e86d 01_SMART_UP_TOOLS/03_FILEFLOW/2.5.3.0.sql gelöscht 2023-10-05 16:19:37 +02:00
JenneJ
8db8f92a2b 01_SMART_UP_TOOLS/03_FILEFLOW/Updates/2.5.3.0.sql hinzugefügt 2023-10-05 16:19:22 +02:00
JenneJ
684419d74b 01_SMART_UP_TOOLS/03_FILEFLOW/Updates/Added2MainScript/2.5.3.0.sql gelöscht 2023-10-05 16:19:00 +02:00
JenneJ
9838ae2d7b 01_SMART_UP_TOOLS/03_FILEFLOW/Updates/Added2MainScript/2.5.3.0.sql hinzugefügt 2023-10-05 16:18:22 +02:00
JenneJ
eaec6c0751 00_DB_SETUP_SINGLE/01_DD_ECM/1.9.7.4.sql aktualisiert 2023-09-26 15:36:57 +02:00
JenneJ
46e97a4618 00_DB_SETUP_SINGLE/01_DD_ECM/1.9.7.4.sql aktualisiert 2023-09-26 15:33:13 +02:00
JenneJ
fca24b08d1 00_DB_SETUP_SINGLE/01_DD_ECM/1.9.7.4.sql hinzugefügt 2023-09-26 15:31:16 +02:00
JenneJ
b4952e4284 01_SMART_UP_TOOLS/03_FILEFLOW/2.5.3.0.sql hinzugefügt 2023-09-19 16:18:11 +02:00
JenneJ
7b7540297e 06_EmailProfiler/1.3.2.0.sql aktualisiert 2023-09-19 12:06:22 +02:00
JenneJ
12417099c8 06_EmailProfiler/1.3.2.0.sql hinzugefügt 2023-09-19 12:05:51 +02:00
JenneJ
cf5441184c 00_DB_SETUP_SINGLE/01_DD_ECM/Update/Added2Main_script/1.9.7.3.sql hinzugefügt 2023-09-06 11:09:35 +02:00
Jonathan Jenne
74a6d64ffd add envelope generator 2023-08-07 10:20:32 +02:00
Jonathan Jenne
47a78f0c90 „06_EmailProfiler/1.3.1.0.sql“ ändern 2023-07-25 12:17:39 +02:00
Jonathan Jenne
e3e98047e2 „06_EmailProfiler/1.3.1.0.sql“ ändern 2023-07-25 12:16:33 +02:00
Jonathan Jenne
c80984aa07 „06_EmailProfiler/1.3.1.0.sql“ hinzufügen 2023-07-25 10:13:26 +02:00
Jonathan Jenne
2319dd07b2 „13_ZUGFERD/CreateObjects.sql“ ändern 2023-07-25 10:06:03 +02:00
Jonathan Jenne
349fcecaaf „13_ZUGFERD/CreateDBObjects.sql“ hinzufügen 2023-07-25 10:05:29 +02:00
c11a62c129 Alle Updates in MainCreateScripts integriert 2023-07-20 08:54:06 +02:00
7669443af5 Spalten ACTIVE, LABAL_TYPE hinzugefügt 2023-04-17 14:14:45 +02:00
3b6227320d Merge remote-tracking branch 'origin/master' 2023-04-14 10:33:05 +02:00
ecafe27e3a ms 2023-04-14 10:32:31 +02:00
7555e91462 MS initial 2023-04-14 10:30:03 +02:00
Jonathan Jenne
ccbfac1607 add FORE_COLOR, BACK_COLOR to profile table 2023-04-14 09:42:27 +02:00
a25d96233b CREATE TBMON_CHARTS ergänzt 2023-04-11 13:45:45 +02:00
Jonathan Jenne
3a1e501f2b TaskFlow 2.2.2.2 2023-03-30 11:08:47 +02:00
0cae5d3cba merge MS changes 2023-03-22 15:08:37 +01:00
1433d346ec MS Changes 2022-11-01 09:23:51 +01:00
Jonathan Jenne
f89183312a Add missing columns to TBEMLP_HISTORY 2022-09-27 11:52:28 +02:00
Jonathan Jenne
314f5b83a4 add TBEMLP_HISTORY_ATTACHMENT table 2022-09-27 11:30:16 +02:00
Jonathan Jenne
91a31ce701 PM: Add Databasescript 2.2.1.3 2022-08-18 14:21:09 +02:00
Jonathan Jenne
66e4d6dbec merge 2022-08-18 14:19:35 +02:00
Jonathan Jenne
62f50bc802 PM: Add database script 2.2.1.2 2022-08-18 14:17:29 +02:00
83eadccf28 MS 2022-07-21 13:37:34 +02:00
568af3164d MS PM 2022-07-21 13:05:54 +02:00
3acde30c37 MS 2022-07-15 12:48:42 +02:00
6cfb3f5075 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/SqlScripts 2022-07-15 12:47:20 +02:00
dab7899b1f MS 2022-07-15 12:42:54 +02:00
dbf1fd665c MS 2022-06-09 18:10:07 +02:00
378 changed files with 31382 additions and 9381 deletions

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

View File

@@ -0,0 +1,97 @@
SELECt * FROM TBFOLDERIMPORT_PROFILE
CREATE TABLE TBFOLDERIMPORT_PROFILE
(
GUID INTEGER IDENTITY(1,1),
TITLE VARCHAR(250) NOT NULL,
IMPORT_PATH VARCHAR(900) NOT NULL,
REGEX_FILENAME VARCHAR(250) NOT NULL DEFAULT '',
LIMIT_FILECOUNT TINYINT NOT NULL DEFAULT 0,
DOCTYPE_ID INTEGER NOT NULL,
ARCHIVE_PATH VARCHAR(900) NOT NULL DEFAULT '',
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBFOLDERIMPORT_PROFILE PRIMARY KEY (GUID),
CONSTRAINT UC_TBFOLDERIMPORT_PROFILE UNIQUE (IMPORT_PATH),
)
GO
CREATE TRIGGER [dbo].[TBFOLDERIMPORT_PROFILE_AFT_UPD] ON [dbo].[TBFOLDERIMPORT_PROFILE]
FOR UPDATE
AS
BEGIN
UPDATE TBFOLDERIMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBFOLDERIMPORT_PROFILE.GUID = INSERTED.GUID
END
GO
ALTER PROCEDURE PRIDBFOLDERIMPORT_PROFILE ( @TITLE VARCHAR(250),
@IMPORT_PATH VARCHAR(900),
@REGEX_FILENAME VARCHAR(250),
@LIMIT_FILECOUNT TINYINT,
@DOCTYPE_ID INTEGER,
@ARCHIVE_PATH VARCHAR(900),
@COMMENT VARCHAR(200),
@WHO VARCHAR(50),
@GUID INTEGER = 0)
AS
BEGIN
IF @GUID = 0
BEGIN
INSERT INTO [dbo].[TBFOLDERIMPORT_PROFILE]
([TITLE]
,[IMPORT_PATH]
,[REGEX_FILENAME]
,[LIMIT_FILECOUNT]
,[DOCTYPE_ID]
,[ARCHIVE_PATH]
,[COMMENT]
,[ADDED_WHO]
)
VALUES
(@TITLE
,@IMPORT_PATH
,@REGEX_FILENAME
,@LIMIT_FILECOUNT
,@DOCTYPE_ID
,@ARCHIVE_PATH
,@COMMENT
,@WHO);
SELECT @GUID = GUID FROM TBFOLDERIMPORT_PROFILE WHERE IMPORT_PATH = @IMPORT_PATH;
END
ELSE
BEGIN
UPDATE [dbo].[TBFOLDERIMPORT_PROFILE]
SET [TITLE] = @TITLE
,[IMPORT_PATH] = @IMPORT_PATH
,[REGEX_FILENAME] = @REGEX_FILENAME
,[LIMIT_FILECOUNT] = @LIMIT_FILECOUNT
,[DOCTYPE_ID] = @DOCTYPE_ID
,[ARCHIVE_PATH] = @ARCHIVE_PATH
,[COMMENT] = @COMMENT
,[CHANGED_WHO] = @WHO
WHERE GUID = @GUID
END
SELECT * FROM TBFOLDERIMPORT_PROFILE WHERE GUID = @GUID
END
GO
CREATE TABLE TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT
(
GUID INTEGER IDENTITY(1,1),
PROFILE_ID INTEGER NOT NULL,
PRAEFIX VARCHAR(250) NOT NULL DEFAULT '',
SPLIT_CHARACTER VARCHAR(10) NOT NULL,
SPLIT_POS TINYINT NOT NULL,
SUFFIX VARCHAR(250) NOT NULL DEFAULT '',
ATTRIBUTE VARCHAR(900) NOT NULL,
COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT PRIMARY KEY (GUID),
CONSTRAINT UC_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT UNIQUE (PROFILE_ID,ATTRIBUTE),
CONSTRAINT FK_TBFOLDERIMPORT_STEP_ATTRIBUTE_SPLIT FOREIGN KEY(PROFILE_ID) REFERENCES TBFOLDERIMPORT_PROFILE(GUID)
)
GO

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 = 'MeinTabellenName')
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,2 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.4.0';
GO

View File

@@ -1,309 +1,309 @@
ALTER TABLE TBDD_BASECONFIG ADD WM_DRIVE VARCHAR(1) NOT NULL DEFAULT 'W' ALTER TABLE TBDD_BASECONFIG ADD WM_DRIVE VARCHAR(1) NOT NULL DEFAULT 'W'
GO GO
ALTER TABLE TBDD_BASECONFIG ADD DB_VERSION VARCHAR(10) NOT NULL DEFAULT '1.1' ALTER TABLE TBDD_BASECONFIG ADD DB_VERSION VARCHAR(10) NOT NULL DEFAULT '1.1'
GO GO
ALTER TABLE TBDD_USER ADD DELETED BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER ADD DELETED BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER ADD DELETED_WHEN DATETIME ALTER TABLE TBDD_USER ADD DELETED_WHEN DATETIME
GO GO
ALTER TABLE TBDD_USER ADD DELETED_WHO DATETIME ALTER TABLE TBDD_USER ADD DELETED_WHO DATETIME
GO GO
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.1' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.1'
GO GO
ALTER TABLE TBDD_MODULES ADD SHORT_NAME VARCHAR(10) ALTER TABLE TBDD_MODULES ADD SHORT_NAME VARCHAR(10)
GO GO
if not exists (select * from sysobjects where name='TBDD_CLIENT' and xtype='U') if not exists (select * from sysobjects where name='TBDD_CLIENT' and xtype='U')
CREATE TABLE TBDD_CLIENT CREATE TABLE TBDD_CLIENT
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE, CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE,
SHORTNAME VARCHAR(30), SHORTNAME VARCHAR(30),
LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '', LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '',
LICENSE_GI VARCHAR(5000) NOT NULL DEFAULT '', LICENSE_GI VARCHAR(5000) NOT NULL DEFAULT '',
LICENSE_PM VARCHAR(5000) NOT NULL DEFAULT '', LICENSE_PM VARCHAR(5000) NOT NULL DEFAULT '',
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID) CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID)
) )
GO GO
INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES
('DEFAULT','DEF') ('DEFAULT','DEF')
GO GO
CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT
FOR UPDATE FOR UPDATE
AS AS
BEGIN BEGIN
UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID
END END
if not exists (select * from sysobjects where name='TBDD_USER_MODULES' and xtype='U') if not exists (select * from sysobjects where name='TBDD_USER_MODULES' and xtype='U')
CREATE TABLE TBDD_USER_MODULES CREATE TABLE TBDD_USER_MODULES
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
[USER_ID] INT NOT NULL, [USER_ID] INT NOT NULL,
MODULE_ID INT NOT NULL, MODULE_ID INT NOT NULL,
IS_ADMIN BIT NOT NULL DEFAULT 0, IS_ADMIN BIT NOT NULL DEFAULT 0,
RIGHT1 BIT NOT NULL DEFAULT 0, RIGHT1 BIT NOT NULL DEFAULT 0,
RIGHT2 BIT NOT NULL DEFAULT 0, RIGHT2 BIT NOT NULL DEFAULT 0,
RIGHT3 BIT NOT NULL DEFAULT 0, RIGHT3 BIT NOT NULL DEFAULT 0,
RIGHT4 BIT NOT NULL DEFAULT 0, RIGHT4 BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME , CHANGED_WHEN DATETIME ,
CONSTRAINT PK_TBDD_USER_MODULES PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_USER_MODULES PRIMARY KEY (GUID),
CONSTRAINT UQ_TBDD_USER_MODULES UNIQUE([USER_ID],MODULE_ID), CONSTRAINT UQ_TBDD_USER_MODULES UNIQUE([USER_ID],MODULE_ID),
CONSTRAINT FK_TBDD_USER_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), CONSTRAINT FK_TBDD_USER_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID),
CONSTRAINT FK_TBDD_USER_MODULES2_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), CONSTRAINT FK_TBDD_USER_MODULES2_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
) )
GO GO
ALTER TABLE TBDD_USER_MODULES ADD IS_ADMIN BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER_MODULES ADD IS_ADMIN BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER_MODULES ADD RIGHT1 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER_MODULES ADD RIGHT1 BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER_MODULES ADD RIGHT2 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER_MODULES ADD RIGHT2 BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER_MODULES ADD RIGHT3 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER_MODULES ADD RIGHT3 BIT NOT NULL DEFAULT 0
GO GO
if not exists (select * from sysobjects where name='TBDD_GROUPS' and xtype='U') if not exists (select * from sysobjects where name='TBDD_GROUPS' and xtype='U')
CREATE TABLE TBDD_GROUPS CREATE TABLE TBDD_GROUPS
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
NAME VARCHAR(50), NAME VARCHAR(50),
ECM_FK_ID INTEGER NOT NULL DEFAULT 0, ECM_FK_ID INTEGER NOT NULL DEFAULT 0,
AD_SYNC BIT NOT NULL DEFAULT 0, AD_SYNC BIT NOT NULL DEFAULT 0,
INTERNAL BIT NOT NULL DEFAULT 0, INTERNAL BIT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 1, ACTIVE BIT NOT NULL DEFAULT 1,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_GROUPS PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_GROUPS PRIMARY KEY (GUID),
CONSTRAINT UQ_TBDD_GROUPS UNIQUE(NAME) CONSTRAINT UQ_TBDD_GROUPS UNIQUE(NAME)
) )
GO GO
CREATE TRIGGER TBDD_GROUPS_AFT_UPD ON TBDD_GROUPS CREATE TRIGGER TBDD_GROUPS_AFT_UPD ON TBDD_GROUPS
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBDD_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED UPDATE TBDD_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED
WHERE TBDD_GROUPS.GUID = INSERTED.GUID WHERE TBDD_GROUPS.GUID = INSERTED.GUID
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_USER',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_USER',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_ADMINS',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_ADMINS',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_USER',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_USER',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_ADMINS',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_ADMINS',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_USER',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_USER',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_ADMINS',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_ADMINS',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_USER',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_USER',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_ADMINS',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_ADMINS',1)
GO GO
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('UM_ADMINS',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('UM_ADMINS',1)
GO GO
if not exists (select * from sysobjects where name='TBDD_GROUPS_MODULES' and xtype='U') if not exists (select * from sysobjects where name='TBDD_GROUPS_MODULES' and xtype='U')
CREATE TABLE TBDD_GROUPS_MODULES CREATE TABLE TBDD_GROUPS_MODULES
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
MODULE_ID INT NOT NULL, MODULE_ID INT NOT NULL,
GROUP_ID INT NOT NULL, GROUP_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_GROUPS_MODULES PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_GROUPS_MODULES PRIMARY KEY (GUID),
CONSTRAINT UC_MODULE_GROUP UNIQUE (MODULE_ID,GROUP_ID), CONSTRAINT UC_MODULE_GROUP UNIQUE (MODULE_ID,GROUP_ID),
CONSTRAINT FK_TBDD_GROUPS_MODULES_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), CONSTRAINT FK_TBDD_GROUPS_MODULES_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_GROUPS_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), CONSTRAINT FK_TBDD_GROUPS_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID),
) )
GO GO
if not exists (select * from sysobjects where name='TBDD_GROUPS_CLIENT' and xtype='U') if not exists (select * from sysobjects where name='TBDD_GROUPS_CLIENT' and xtype='U')
CREATE TABLE TBDD_GROUPS_CLIENT CREATE TABLE TBDD_GROUPS_CLIENT
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
CLIENT_ID INT NOT NULL, CLIENT_ID INT NOT NULL,
GROUP_ID INT NOT NULL, GROUP_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_GROUPS_CLIENT PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_GROUPS_CLIENT PRIMARY KEY (GUID),
CONSTRAINT UC_CLIENT_GROUP UNIQUE (CLIENT_ID,GROUP_ID), CONSTRAINT UC_CLIENT_GROUP UNIQUE (CLIENT_ID,GROUP_ID),
CONSTRAINT FK_TBDD_GROUPS_CLIENT_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), CONSTRAINT FK_TBDD_GROUPS_CLIENT_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_GROUPS_CLIENT_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBDD_GROUPS_CLIENT_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
) )
GO GO
if not exists (select * from sysobjects where name='TBDD_GROUPS_USER' and xtype='U') if not exists (select * from sysobjects where name='TBDD_GROUPS_USER' and xtype='U')
CREATE TABLE TBDD_GROUPS_USER CREATE TABLE TBDD_GROUPS_USER
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
[USER_ID] INT NOT NULL, [USER_ID] INT NOT NULL,
GROUP_ID INT NOT NULL, GROUP_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID), CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID),
CONSTRAINT FK_TBDD_GROUPS_USER_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), CONSTRAINT FK_TBDD_GROUPS_USER_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_GROUPS_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), CONSTRAINT FK_TBDD_GROUPS_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
) )
GO GO
if not exists (select * from sysobjects where name='TBDD_CLIENT_GROUP' and xtype='U') if not exists (select * from sysobjects where name='TBDD_CLIENT_GROUP' and xtype='U')
CREATE TABLE TBDD_CLIENT_GROUP CREATE TABLE TBDD_CLIENT_GROUP
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
[GROUP_ID] INT NOT NULL, [GROUP_ID] INT NOT NULL,
CLIENT_ID INT NOT NULL, CLIENT_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBDD_CLIENT_GROUP PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_CLIENT_GROUP PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_CLIENT_GROUP_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), CONSTRAINT FK_TBDD_CLIENT_GROUP_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_CLIENT_GROUP_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBDD_CLIENT_GROUP_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
) )
GO GO
if not exists (select * from sysobjects where name='TBDD_CLIENT_USER' and xtype='U') if not exists (select * from sysobjects where name='TBDD_CLIENT_USER' and xtype='U')
CREATE TABLE TBDD_CLIENT_USER CREATE TABLE TBDD_CLIENT_USER
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
[USER_ID] INT NOT NULL, [USER_ID] INT NOT NULL,
CLIENT_ID INT NOT NULL, CLIENT_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
) )
GO GO
CREATE TABLE TBDD_CLIENT_GROUP CREATE TABLE TBDD_CLIENT_GROUP
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
[GROUP_ID] INT NOT NULL, [GROUP_ID] INT NOT NULL,
CLIENT_ID INT NOT NULL, CLIENT_ID INT NOT NULL,
COMMENT VARCHAR(200), COMMENT VARCHAR(200),
ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBDD_CLIENT_GROUP PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_CLIENT_GROUP PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_CLIENT_GROUP_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), CONSTRAINT FK_TBDD_CLIENT_GROUP_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
CONSTRAINT FK_TBDD_CLIENT_GROUP_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBDD_CLIENT_GROUP_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
) )
GO GO
if not exists (select * from sysobjects where name='TBDD_USER_LOGIN_OUT' and xtype='U') if not exists (select * from sysobjects where name='TBDD_USER_LOGIN_OUT' and xtype='U')
CREATE TABLE TBDD_USER_LOGIN_OUT( CREATE TABLE TBDD_USER_LOGIN_OUT(
GUID INT IDENTITY(1,1) NOT NULL, GUID INT IDENTITY(1,1) NOT NULL,
CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '', CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '',
CLIENT_ID INT NOT NULL, CLIENT_ID INT NOT NULL,
MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '', MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '',
MODULE VARCHAR(30) NOT NULL, MODULE VARCHAR(30) NOT NULL,
[USER_ID] INT NOT NULL, [USER_ID] INT NOT NULL,
VERSION_CLIENT VARCHAR(30), VERSION_CLIENT VARCHAR(30),
[LOGIN] DATETIME DEFAULT (GETDATE()), [LOGIN] DATETIME DEFAULT (GETDATE()),
[LOGOUT] DATETIME, [LOGOUT] DATETIME,
CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID), CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID),
CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID)) CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID))
GO GO
DROP TABLE TBDD_USER_MODULE_LOG_IN DROP TABLE TBDD_USER_MODULE_LOG_IN
GO GO
CREATE TABLE TBDD_USER_MODULE_LOG_IN CREATE TABLE TBDD_USER_MODULE_LOG_IN
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
CLIENT_ID INTEGER NOT NULL, CLIENT_ID INTEGER NOT NULL,
CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '' , CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '' ,
USER_ID INTEGER NOT NULL, USER_ID INTEGER NOT NULL,
MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '', MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '',
MODULE VARCHAR(50), MODULE VARCHAR(50),
VERSION_CLIENT VARCHAR(30), VERSION_CLIENT VARCHAR(30),
ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL,
CONSTRAINT PK_TBDD_USER_MODULE_LOG_IN PRIMARY KEY (GUID) CONSTRAINT PK_TBDD_USER_MODULE_LOG_IN PRIMARY KEY (GUID)
) )
GO GO
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN
WITH EXECUTE AS CALLER WITH EXECUTE AS CALLER
FOR INSERT FOR INSERT
AS AS
BEGIN TRY BEGIN TRY
DECLARE DECLARE
@USER_ID INTEGER, @USER_ID INTEGER,
@MODULE VARCHAR(50), @MODULE VARCHAR(50),
@CLIENT_ID INTEGER, @CLIENT_ID INTEGER,
@VERSION_CLIENT VARCHAR(30), @VERSION_CLIENT VARCHAR(30),
@MACHINE_NAME VARCHAR(50), @MACHINE_NAME VARCHAR(50),
@CONNECTION_STRING VARCHAR(500) @CONNECTION_STRING VARCHAR(500)
SELECT SELECT
@USER_ID = USER_ID, @USER_ID = USER_ID,
@MODULE = MODULE, @MODULE = MODULE,
@CLIENT_ID = CLIENT_ID, @CLIENT_ID = CLIENT_ID,
@VERSION_CLIENT = VERSION_CLIENT, @VERSION_CLIENT = VERSION_CLIENT,
@MACHINE_NAME = MACHINE_NAME, @MACHINE_NAME = MACHINE_NAME,
@CONNECTION_STRING = CONNECTION_STRING @CONNECTION_STRING = CONNECTION_STRING
FROM INSERTED FROM INSERTED
IF @VERSION_CLIENT IS NULL IF @VERSION_CLIENT IS NULL
SET @VERSION_CLIENT = '1.0.0.0' SET @VERSION_CLIENT = '1.0.0.0'
INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME,@CONNECTION_STRING) INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME,@CONNECTION_STRING)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: ' + ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE()) + CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH END CATCH
GO GO
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN
FOR DELETE FOR DELETE
AS AS
BEGIN TRY BEGIN TRY
DECLARE DECLARE
@USER_ID INTEGER, @USER_ID INTEGER,
@MODULE VARCHAR(50), @MODULE VARCHAR(50),
@CLIENT_ID INTEGER @CLIENT_ID INTEGER
SELECT SELECT
@USER_ID = USER_ID, @USER_ID = USER_ID,
@MODULE = MODULE, @MODULE = MODULE,
@CLIENT_ID = CLIENT_ID @CLIENT_ID = CLIENT_ID
FROM DELETED FROM DELETED
UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = ( UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = (
SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_ID) SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_ID)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: ' + ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE()) + CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH END CATCH
GO GO
ALTER VIEW [dbo].[VWDD_USER2GROUP] AS ALTER VIEW [dbo].[VWDD_USER2GROUP] AS
SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT
FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_GROUPS T2 FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_GROUPS T2
WHERE WHERE
T.GUID = T1.USER_ID AND T.GUID = T1.USER_ID AND
T1.GROUP_ID = T2.GUID T1.GROUP_ID = T2.GUID
ORDER BY T.USERNAME ORDER BY T.USERNAME
GO GO

View File

@@ -1,186 +1,186 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.2' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.2'
GO GO
ALTER TABLE TBDD_CLIENT ADD ACTIVE BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_CLIENT ADD ACTIVE BIT NOT NULL DEFAULT 0
GO GO
CREATE VIEW VWDD_USER_CLIENT CREATE VIEW VWDD_USER_CLIENT
AS AS
SELECT SELECT
T1.GUID AS CLIENT_ID T1.GUID AS CLIENT_ID
,T1.CLIENT_NAME ,T1.CLIENT_NAME
,T.USER_ID ,T.USER_ID
,T2.USERNAME ,T2.USERNAME
FROM FROM
TBDD_CLIENT_USER T TBDD_CLIENT_USER T
,TBDD_CLIENT T1 ,TBDD_CLIENT T1
,TBDD_USER T2 ,TBDD_USER T2
WHERE WHERE
T1.ACTIVE = 1 T1.ACTIVE = 1
AND T.CLIENT_ID = T1.GUID AND T.CLIENT_ID = T1.GUID
AND T.USER_ID = T2.GUID AND T.USER_ID = T2.GUID
--AND T2.USERNAME = 'SchreiberM' --AND T2.USERNAME = 'SchreiberM'
GO GO
CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER)
RETURNS @Table TABLE RETURNS @Table TABLE
(SequentialOrder INT IDENTITY(1, 1), (SequentialOrder INT IDENTITY(1, 1),
USER_ID INTEGER, USER_ID INTEGER,
USER_PRENAME VARCHAR(50), USER_PRENAME VARCHAR(50),
USER_SURNAME VARCHAR(50), USER_SURNAME VARCHAR(50),
USER_SHORTNAME VARCHAR(50), USER_SHORTNAME VARCHAR(50),
USER_EMAIL VARCHAR(100), USER_EMAIL VARCHAR(100),
USER_LANGUAGE VARCHAR(10), USER_LANGUAGE VARCHAR(10),
USER_RIGHT_FILE_DEL BIT, USER_RIGHT_FILE_DEL BIT,
MODULE_ACCESS BIT, MODULE_ACCESS BIT,
IS_ADMIN BIT, IS_ADMIN BIT,
USERCOUNT_LOGGED_IN INTEGER, USERCOUNT_LOGGED_IN INTEGER,
COMMENT VARCHAR(500)) COMMENT VARCHAR(500))
AS AS
BEGIN BEGIN
/* /*
This function checks all user-relevant relations an This function checks all user-relevant relations an
*/ */
DECLARE DECLARE
@RESULT VARCHAR(500), @RESULT VARCHAR(500),
@USER_ID INTEGER, @USER_ID INTEGER,
@USER_PRENAME VARCHAR(50), @USER_PRENAME VARCHAR(50),
@USER_SURNAME VARCHAR(50), @USER_SURNAME VARCHAR(50),
@USER_SHORTNAME VARCHAR(50), @USER_SHORTNAME VARCHAR(50),
@USER_EMAIL VARCHAR(50), @USER_EMAIL VARCHAR(50),
@USER_LANGUAGE VARCHAR(10), @USER_LANGUAGE VARCHAR(10),
@IS_IN_MODULE BIT, @IS_IN_MODULE BIT,
@IS_ADMIN BIT, @IS_ADMIN BIT,
@USER_RIGHT_FILE_DEL BIT, @USER_RIGHT_FILE_DEL BIT,
@USERCOUNT_LOGGED_IN INTEGER, @USERCOUNT_LOGGED_IN INTEGER,
@MODULE_NAME VARCHAR(100), @MODULE_NAME VARCHAR(100),
@MODULE_GUID INTEGER, @MODULE_GUID INTEGER,
@USER_GROUPNAME VARCHAR(100), @USER_GROUPNAME VARCHAR(100),
@ADMIN_GROUPNAME VARCHAR(100) @ADMIN_GROUPNAME VARCHAR(100)
SET @USER_ID = 0 SET @USER_ID = 0
SET @IS_ADMIN = 0 SET @IS_ADMIN = 0
SET @IS_IN_MODULE = 0 SET @IS_IN_MODULE = 0
SET @USERCOUNT_LOGGED_IN = 0 SET @USERCOUNT_LOGGED_IN = 0
SET @RESULT = '' SET @RESULT = ''
IF @pMODULE_SHORT_NAME = 'PM' IF @pMODULE_SHORT_NAME = 'PM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'PM_USER' SET @USER_GROUPNAME = 'PM_USER'
SET @ADMIN_GROUPNAME = 'PM_ADMINS' SET @ADMIN_GROUPNAME = 'PM_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'CW' ELSE IF @pMODULE_SHORT_NAME = 'CW'
BEGIN BEGIN
SET @USER_GROUPNAME = 'CW_USER' SET @USER_GROUPNAME = 'CW_USER'
SET @ADMIN_GROUPNAME = 'CW_ADMINS' SET @ADMIN_GROUPNAME = 'CW_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'ADDI' ELSE IF @pMODULE_SHORT_NAME = 'ADDI'
BEGIN BEGIN
SET @USER_GROUPNAME = 'ADDI_USER' SET @USER_GROUPNAME = 'ADDI_USER'
SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' SET @ADMIN_GROUPNAME = 'ADDI_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX'
BEGIN BEGIN
SET @USER_GROUPNAME = 'GLOBIX_USER' SET @USER_GROUPNAME = 'GLOBIX_USER'
SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'UM' ELSE IF @pMODULE_SHORT_NAME = 'UM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'XXXX' SET @USER_GROUPNAME = 'XXXX'
SET @ADMIN_GROUPNAME = 'UM_ADMINS' SET @ADMIN_GROUPNAME = 'UM_ADMINS'
END END
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME
IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME))
BEGIN BEGIN
SET @RESULT = 'USER NOT CONFIGURED OR LISTED' SET @RESULT = 'USER NOT CONFIGURED OR LISTED'
END END
ELSE ELSE
BEGIN BEGIN
SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME,
@USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID
--CHECK USER ÍS IN MODULE_USER_GROUP --CHECK USER ÍS 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) 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 BEGIN
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules' SET @RESULT = @RESULT + '| User is also 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 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
END END
ELSE ELSE
BEGIN BEGIN
SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' SET @RESULT = 'User 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules' 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 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
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) 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 BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')'
SET @IS_ADMIN = 1 SET @IS_ADMIN = 1
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
END END
END END
INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT)
VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT)
RETURN RETURN
END END
GO GO
CREATE VIEW VWDD_USER_GROUP_MODULE CREATE VIEW VWDD_USER_GROUP_MODULE
AS AS
select select
T1.NAME AS GROUP_NAME, T1.NAME AS GROUP_NAME,
TU.* TU.*
FROM FROM
TBDD_GROUPS_USER T, TBDD_GROUPS_USER T,
TBDD_GROUPS T1, TBDD_GROUPS T1,
TBDD_USER TU TBDD_USER TU
WHERE WHERE
TU.NAME IS NOT NULL TU.NAME IS NOT NULL
AND TU.PRENAME IS NOT NULL AND TU.PRENAME IS NOT NULL
AND T1.INTERNAL = 1 AND T1.INTERNAL = 1
AND T.GROUP_ID = T1.GUID AND T.GROUP_ID = T1.GUID
AND T.USER_ID = TU.GUID AND T.USER_ID = TU.GUID
--AND T1.NAME IN ('CW_USER','CW_ADMINS') --AND T1.NAME IN ('CW_USER','CW_ADMINS')
UNION UNION
SELECT SELECT
T2.NAME AS GROUP_MODULE, T2.NAME AS GROUP_MODULE,
TU.* TU.*
FROM FROM
TBDD_USER TU, TBDD_USER TU,
TBDD_USER_MODULES T1, TBDD_USER_MODULES T1,
TBDD_MODULES T2 TBDD_MODULES T2
WHERE WHERE
TU.NAME IS NOT NULL TU.NAME IS NOT NULL
AND TU.PRENAME IS NOT NULL AND TU.PRENAME IS NOT NULL
AND TU.GUID = T1.USER_ID AND TU.GUID = T1.USER_ID
AND T1.MODULE_ID = T2.GUID AND T1.MODULE_ID = T2.GUID
GO GO
CREATE VIEW VWDD_USER_MODULE_CW CREATE VIEW VWDD_USER_MODULE_CW
AS AS
SELECT SELECT
DISTINCT GUID , DISTINCT GUID ,
USERNAME, USERNAME,
NAME, NAME,
PRENAME, PRENAME,
EMAIL EMAIL
FROM FROM
VWDD_USER_GROUP_MODULE VWDD_USER_GROUP_MODULE
WHERE WHERE
GROUP_NAME IN ('Clipboard-Watcher','CW_USER','CW_ADMINS') GROUP_NAME IN ('Clipboard-Watcher','CW_USER','CW_ADMINS')
GO GO

View File

@@ -1,99 +1,99 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.3' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.3'
GO GO
CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_GROUP] (@pGROUP_ID INTEGER,@pONLY_FREE BIT) CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_GROUP] (@pGROUP_ID INTEGER,@pONLY_FREE BIT)
RETURNS @Table TABLE RETURNS @Table TABLE
(USER_ID INTEGER, (USER_ID INTEGER,
USER_PRENAME VARCHAR(50), USER_PRENAME VARCHAR(50),
USER_SURNAME VARCHAR(50), USER_SURNAME VARCHAR(50),
USER_SHORTNAME VARCHAR(50), USER_SHORTNAME VARCHAR(50),
USER_EMAIL VARCHAR(100), USER_EMAIL VARCHAR(100),
USER_LANGUAGE VARCHAR(10), USER_LANGUAGE VARCHAR(10),
COMMENT VARCHAR(500)) COMMENT VARCHAR(500))
AS AS
BEGIN BEGIN
IF @pONLY_FREE = 1 IF @pONLY_FREE = 1
INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT) INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT)
select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND
T.GUID NOT IN (SELECT USER_ID FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID) T.GUID NOT IN (SELECT USER_ID FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID)
ELSE ELSE
INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT) INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT)
select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND T1.GROUP_ID = @pGROUP_ID select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND T1.GROUP_ID = @pGROUP_ID
RETURN RETURN
END END
GO GO
UPDATE TBDD_CONNECTION SET SQL_PROVIDER = 'MS-SQL' WHERE SQL_PROVIDER = 'MS-SQLServer' UPDATE TBDD_CONNECTION SET SQL_PROVIDER = 'MS-SQL' WHERE SQL_PROVIDER = 'MS-SQLServer'
GO GO
ALTER TRIGGER TBDD_GROUPS_AFT_UPD ON TBDD_GROUPS ALTER TRIGGER TBDD_GROUPS_AFT_UPD ON TBDD_GROUPS
FOR UPDATE FOR UPDATE
AS AS
BEGIN BEGIN
DECLARE @GRPNAME VARCHAR(50) DECLARE @GRPNAME VARCHAR(50)
SELECT @GRPNAME = NAME FROM inserted SELECT @GRPNAME = NAME FROM inserted
IF UPDATE (NAME) IF UPDATE (NAME)
BEGIN BEGIN
DECLARE @ECM_GRP_ID INTEGER DECLARE @ECM_GRP_ID INTEGER
SELECT @ECM_GRP_ID = [dwGroupID] SELECT @ECM_GRP_ID = [dwGroupID]
FROM windream60.[dbo].[GroupInfo] where UPPER(szGroupName) = UPPER(@GRPNAME) AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE' FROM windream60.[dbo].[GroupInfo] where UPPER(szGroupName) = UPPER(@GRPNAME) AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE'
IF @ECM_GRP_ID IS NULL IF @ECM_GRP_ID IS NULL
SET @ECM_GRP_ID = 0 SET @ECM_GRP_ID = 0
UPDATE TBDD_GROUPS SET ECM_FK_ID = @ECM_GRP_ID UPDATE TBDD_GROUPS SET ECM_FK_ID = @ECM_GRP_ID
FROM INSERTED FROM INSERTED
WHERE TBDD_GROUPS.GUID = INSERTED.GUID WHERE TBDD_GROUPS.GUID = INSERTED.GUID
END END
UPDATE TBDD_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_GROUPS.GUID = INSERTED.GUID UPDATE TBDD_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_GROUPS.GUID = INSERTED.GUID
END END
GO GO
ALTER TABLE TBDD_EMAIL_ACCOUNT ADD EMAIL_NAME VARCHAR(100) DEFAULT '' ALTER TABLE TBDD_EMAIL_ACCOUNT ADD EMAIL_NAME VARCHAR(100) DEFAULT ''
GO GO
CREATE TABLE TBDD_SERV_EXT_PROGRAMS CREATE TABLE TBDD_SERV_EXT_PROGRAMS
( (
GUID TINYINT, GUID TINYINT,
PDFTK_LOCATION VARCHAR(500) DEFAULT '', PDFTK_LOCATION VARCHAR(500) DEFAULT '',
PDFXCHANGE_LOCATION VARCHAR(500) DEFAULT '', PDFXCHANGE_LOCATION VARCHAR(500) DEFAULT '',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_SERV_EXT_PROGRAMS_GUID PRIMARY KEY(GUID), CONSTRAINT PK_TBDD_SERV_EXT_PROGRAMS_GUID PRIMARY KEY(GUID),
CONSTRAINT CH_TBDD_SERV_EXT_PROGRAMS_GUID CHECK(GUID = 1) CONSTRAINT CH_TBDD_SERV_EXT_PROGRAMS_GUID CHECK(GUID = 1)
) )
GO GO
ALTER TABLE TBDD_EMAIL_ACCOUNT ADD AUTH_TYPE VARCHAR(20) NOT NULL DEFAULT 'SSL' ALTER TABLE TBDD_EMAIL_ACCOUNT ADD AUTH_TYPE VARCHAR(20) NOT NULL DEFAULT 'SSL'
GO GO
ALTER TABLE TBDD_BASECONFIG ADD WM_DB_CONSTRING VARCHAR(1000) NOT NULL DEFAULT '' ALTER TABLE TBDD_BASECONFIG ADD WM_DB_CONSTRING VARCHAR(1000) NOT NULL DEFAULT ''
GO GO
CREATE TABLE TBDD_FUNCTION_REGEX CREATE TABLE TBDD_FUNCTION_REGEX
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
FUNCTION_NAME VARCHAR(250) NOT NULL, FUNCTION_NAME VARCHAR(250) NOT NULL,
REGEX VARCHAR(MAX) NOT NULL, REGEX VARCHAR(MAX) NOT NULL,
STRING1 VARCHAR(500), STRING1 VARCHAR(500),
STRING2 VARCHAR(500), STRING2 VARCHAR(500),
ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_FUNCTION_REGEX PRIMARY KEY (GUID) CONSTRAINT PK_TBDD_FUNCTION_REGEX PRIMARY KEY (GUID)
) )
GO GO
CREATE TRIGGER TBTBDD_FUNCTION_REGEX_AFT_UPD ON TBDD_FUNCTION_REGEX CREATE TRIGGER TBTBDD_FUNCTION_REGEX_AFT_UPD ON TBDD_FUNCTION_REGEX
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBDD_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_FUNCTION_REGEX.GUID = INSERTED.GUID UPDATE TBDD_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_FUNCTION_REGEX.GUID = INSERTED.GUID
GO GO
INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES
('FROM_EMAIL_HEADER','From:(?:\s*[\w\s\d.@&,|+%\)\(\-]*<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') ('FROM_EMAIL_HEADER','From:(?:\s*[\w\s\d.@&,|+%\)\(\-]*<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?')
GO GO
INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES
('TO_EMAIL_HEADER','To:(?:\s*[\w\s\d.@&,|+%\)\(\-]+<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') ('TO_EMAIL_HEADER','To:(?:\s*[\w\s\d.@&,|+%\)\(\-]+<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?')
GO GO
INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES
('EMAIL_PROFILER - BODY REMOVE NewLine','[^\s]([\w\s\!\§\$\%\&\/\(\)\=\?\[\]\,\.\-\\:\;\<\>\@\r\n\#]{1,})^[\#]{2}') ('EMAIL_PROFILER - BODY REMOVE NewLine','[^\s]([\w\s\!\§\$\%\&\/\(\)\=\?\[\]\,\.\-\\:\;\<\>\@\r\n\#]{1,})^[\#]{2}')
GO GO

View File

@@ -1,10 +1,10 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.4.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.4.0.0'
GO GO
ALTER TABLE [dbo].[TBDD_INDEX_MAN] ADD VKT_ADD_ITEM BIT NOT NULL DEFAULT 0 ALTER TABLE [dbo].[TBDD_INDEX_MAN] ADD VKT_ADD_ITEM BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE [dbo].[TBDD_INDEX_MAN] ADD VKT_PREVENT_MULTIPLE_VALUES BIT NOT NULL DEFAULT 1 ALTER TABLE [dbo].[TBDD_INDEX_MAN] ADD VKT_PREVENT_MULTIPLE_VALUES BIT NOT NULL DEFAULT 1
GO GO

View File

@@ -1,129 +1,129 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.5.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.5.0.0'
GO GO
ALTER TABLE [dbo].[TBDD_MODULES] ADD WMSESSION_STARTSTOP_STARTUP BIT NOT NULL DEFAULT 0 ALTER TABLE [dbo].[TBDD_MODULES] ADD WMSESSION_STARTSTOP_STARTUP BIT NOT NULL DEFAULT 0
GO GO
/*Run following command to set the WM-Startup on Appstart to true*/ /*Run following command to set the WM-Startup on Appstart to true*/
--UPDATE TBDD_MODULES SET WMSESSION_STARTSTOP_STARTUP = 1 WHERE SHORT_NAME = 'PM' --UPDATE TBDD_MODULES SET WMSESSION_STARTSTOP_STARTUP = 1 WHERE SHORT_NAME = 'PM'
--GO --GO
CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_MODULE] (@pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_MODULE] (@pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER)
--DECLARE @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER --DECLARE @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER
--SET @pMODULE_SHORT_NAME = 'PM' --SET @pMODULE_SHORT_NAME = 'PM'
--SET @pCLIENTID = 1 --SET @pCLIENTID = 1
RETURNS RETURNS
--DECLARE --DECLARE
@Table TABLE @Table TABLE
(SequentialOrder INT IDENTITY(1, 1), (SequentialOrder INT IDENTITY(1, 1),
USER_ID INTEGER, USER_ID INTEGER,
USER_NAME VARCHAR(50), USER_NAME VARCHAR(50),
USER_PRENAME VARCHAR(50), USER_PRENAME VARCHAR(50),
USER_SURNAME VARCHAR(50), USER_SURNAME VARCHAR(50),
USER_SHORTNAME VARCHAR(50), USER_SHORTNAME VARCHAR(50),
USER_EMAIL VARCHAR(100), USER_EMAIL VARCHAR(100),
USER_LANGUAGE VARCHAR(10), USER_LANGUAGE VARCHAR(10),
USER_RIGHT_FILE_DEL BIT, USER_RIGHT_FILE_DEL BIT,
MODULE_ACCESS BIT, MODULE_ACCESS BIT,
IS_ADMIN BIT, IS_ADMIN BIT,
USER_COMMENT VARCHAR(500), USER_COMMENT VARCHAR(500),
COMMENT VARCHAR(500)) COMMENT VARCHAR(500))
AS AS
BEGIN BEGIN
/* /*
This function checks all user-relevant relations an This function checks all user-relevant relations an
*/ */
DECLARE DECLARE
@RESULT VARCHAR(500), @RESULT VARCHAR(500),
@USER_ID INTEGER, @USER_ID INTEGER,
@USER_NAME VARCHAR(50), @USER_NAME VARCHAR(50),
@USER_PRENAME VARCHAR(50), @USER_PRENAME VARCHAR(50),
@USER_SURNAME VARCHAR(50), @USER_SURNAME VARCHAR(50),
@USER_SHORTNAME VARCHAR(50), @USER_SHORTNAME VARCHAR(50),
@USER_EMAIL VARCHAR(50), @USER_EMAIL VARCHAR(50),
@USER_LANGUAGE VARCHAR(10), @USER_LANGUAGE VARCHAR(10),
@IS_IN_MODULE BIT, @IS_IN_MODULE BIT,
@IS_ADMIN BIT, @IS_ADMIN BIT,
@USER_RIGHT_FILE_DEL BIT, @USER_RIGHT_FILE_DEL BIT,
@MODULE_NAME VARCHAR(100), @MODULE_NAME VARCHAR(100),
@MODULE_GUID INTEGER, @MODULE_GUID INTEGER,
@USER_GROUPNAME VARCHAR(100), @USER_GROUPNAME VARCHAR(100),
@ADMIN_GROUPNAME VARCHAR(100), @ADMIN_GROUPNAME VARCHAR(100),
@USER_COMMENT VARCHAR(500) @USER_COMMENT VARCHAR(500)
IF @pMODULE_SHORT_NAME = 'PM' IF @pMODULE_SHORT_NAME = 'PM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'PM_USER' SET @USER_GROUPNAME = 'PM_USER'
SET @ADMIN_GROUPNAME = 'PM_ADMINS' SET @ADMIN_GROUPNAME = 'PM_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'CW' ELSE IF @pMODULE_SHORT_NAME = 'CW'
BEGIN BEGIN
SET @USER_GROUPNAME = 'CW_USER' SET @USER_GROUPNAME = 'CW_USER'
SET @ADMIN_GROUPNAME = 'CW_ADMINS' SET @ADMIN_GROUPNAME = 'CW_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'ADDI' ELSE IF @pMODULE_SHORT_NAME = 'ADDI'
BEGIN BEGIN
SET @USER_GROUPNAME = 'ADDI_USER' SET @USER_GROUPNAME = 'ADDI_USER'
SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' SET @ADMIN_GROUPNAME = 'ADDI_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX'
BEGIN BEGIN
SET @USER_GROUPNAME = 'GLOBIX_USER' SET @USER_GROUPNAME = 'GLOBIX_USER'
SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'UM' ELSE IF @pMODULE_SHORT_NAME = 'UM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'XXXX' SET @USER_GROUPNAME = 'XXXX'
SET @ADMIN_GROUPNAME = 'UM_ADMINS' SET @ADMIN_GROUPNAME = 'UM_ADMINS'
END END
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME
DECLARE cursor_user CURSOR FOR 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 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 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 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 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
SET @IS_ADMIN = 0 SET @IS_ADMIN = 0
SET @IS_IN_MODULE = 0 SET @IS_IN_MODULE = 0
SET @RESULT = '' SET @RESULT = ''
--CHECK USER IS IN MODULE_USER_GROUP --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) 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 BEGIN
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules (Unnecessary)' 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 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
END END
ELSE ELSE
BEGIN BEGIN
SET @RESULT = 'User <' + CONVERT(VARCHAR(10),@USER_ID) + ' - ' + @USER_NAME + '> not part of group (' + @USER_GROUPNAME + ')' 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules' 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 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 SET @IS_IN_MODULE = 1
END END
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) 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 BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')'
SET @IS_ADMIN = 1 SET @IS_ADMIN = 1
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
END END
--PRINT @RESULT --PRINT @RESULT
IF @IS_IN_MODULE = 1 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) 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) 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 FETCH NEXT FROM cursor_user INTO @USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_NAME,@USER_COMMENT
END END
CLOSE cursor_user CLOSE cursor_user
DEALLOCATE cursor_user DEALLOCATE cursor_user
RETURN RETURN
END END
GO GO

View File

@@ -1,9 +1,9 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.6.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.6.0.0'
GO GO
IF NOT EXISTS (SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'SERVER_USER') IF NOT EXISTS (SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'SERVER_USER')
INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('SERVER_USER',1) INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('SERVER_USER',1)
GO GO
ALTER TABLE TBDD_MODULES ADD WMSESSION_STARTSTOP_STARTUP BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_MODULES ADD WMSESSION_STARTSTOP_STARTUP BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_EMAIL_ACCOUNT ADD PORT_IN INT NOT NULL DEFAULT 25 ALTER TABLE TBDD_EMAIL_ACCOUNT ADD PORT_IN INT NOT NULL DEFAULT 25
GO GO

View File

@@ -1,51 +1,51 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.7.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.7.0.0'
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR1 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR1 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR2 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR2 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR3 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR3 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR4 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR4 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR5 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR5 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR6 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR6 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR7 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR7 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR8 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR8 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR9 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR9 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR10 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR10 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR11 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR11 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR12 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR12 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR13 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR13 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR14 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR14 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_CHAR15 VARCHAR(250) ALTER TABLE TBDD_USER ADD ATTR_CHAR15 VARCHAR(250)
GO GO
ALTER TABLE TBDD_USER ADD ATTR_BIT1 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER ADD ATTR_BIT1 BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER ADD ATTR_BIT2 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER ADD ATTR_BIT2 BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER ADD ATTR_BIT3 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER ADD ATTR_BIT3 BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBDD_USER ADD ATTR_BIT4 BIT NOT NULL DEFAULT 0 ALTER TABLE TBDD_USER ADD ATTR_BIT4 BIT NOT NULL DEFAULT 0
GO GO
CREATE TABLE TBDD_EXTATTRIBUTES_MATCHING CREATE TABLE TBDD_EXTATTRIBUTES_MATCHING
( (
GUID INTEGER IDENTITY(1,1), GUID INTEGER IDENTITY(1,1),
EXT_ATTRIBUTE VARCHAR(250), EXT_ATTRIBUTE VARCHAR(250),
TBDD_USER_COLUMN VARCHAR(150), TBDD_USER_COLUMN VARCHAR(150),
FB_SYS_KEY VARCHAR(150) DEFAULT '' FB_SYS_KEY VARCHAR(150) DEFAULT ''
CONSTRAINT PK_TBAD_EXTATTRIBUTES_MATCHING_GUID PRIMARY KEY(GUID) CONSTRAINT PK_TBAD_EXTATTRIBUTES_MATCHING_GUID PRIMARY KEY(GUID)
) )
GO GO

View File

@@ -1,167 +1,167 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.8.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.8.0.0'
GO GO
--PROCEDURES --PROCEDURES
CREATE PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT) CREATE PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT)
AS AS
BEGIN TRY BEGIN TRY
-- COMMON -- COMMON
IF OBJECT_ID(N'dbo.TBDD_USER_MODULES', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_MODULES', N'U') IS NOT NULL
DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_CLIENT_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_CLIENT_USER', N'U') IS NOT NULL
DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL
DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE', N'U') IS NOT NULL
DELETE FROM TBDD_VERSION_USER_UPDATE WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_VERSION_USER_UPDATE WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE_PATH', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE_PATH', N'U') IS NOT NULL
DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_USER_LOGIN_OUT', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_LOGIN_OUT', N'U') IS NOT NULL
DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_USER_MODULE_LOG_IN', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_MODULE_LOG_IN', N'U') IS NOT NULL
DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = @pUSER_ID
-- PROCESS MANAGER -- PROCESS MANAGER
IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL
DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID
-- GLOBAL INDEXER -- GLOBAL INDEXER
IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
-- CLIPBOARD WATCHER -- CLIPBOARD WATCHER
IF OBJECT_ID(N'dbo.TBCW_USER_PROFILE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBCW_USER_PROFILE', N'U') IS NOT NULL
DELETE FROM TBCW_USER_PROFILE WHERE USER_ID = @pUSER_ID DELETE FROM TBCW_USER_PROFILE WHERE USER_ID = @pUSER_ID
-- FINALLY -- FINALLY
DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID
RETURN 0 RETURN 0
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: ' + ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE()) + CONVERT(VARCHAR(500),ERROR_MESSAGE())
RETURN -1 RETURN -1
END CATCH END CATCH
GO GO
ALTER FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) ALTER FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER)
RETURNS @Table TABLE RETURNS @Table TABLE
(SequentialOrder INT IDENTITY(1, 1), (SequentialOrder INT IDENTITY(1, 1),
USER_ID INTEGER, USER_ID INTEGER,
USER_PRENAME VARCHAR(50), USER_PRENAME VARCHAR(50),
USER_SURNAME VARCHAR(50), USER_SURNAME VARCHAR(50),
USER_SHORTNAME VARCHAR(50), USER_SHORTNAME VARCHAR(50),
USER_EMAIL VARCHAR(100), USER_EMAIL VARCHAR(100),
USER_LANGUAGE VARCHAR(10), USER_LANGUAGE VARCHAR(10),
USER_DATE_FORMAT VARCHAR(10), USER_DATE_FORMAT VARCHAR(10),
USER_RIGHT_FILE_DEL BIT, USER_RIGHT_FILE_DEL BIT,
MODULE_ACCESS BIT, MODULE_ACCESS BIT,
IS_ADMIN BIT, IS_ADMIN BIT,
USERCOUNT_LOGGED_IN INTEGER, USERCOUNT_LOGGED_IN INTEGER,
COMMENT VARCHAR(500)) COMMENT VARCHAR(500))
AS AS
BEGIN BEGIN
/* /*
This function checks all user-relevant relations an This function checks all user-relevant relations an
*/ */
DECLARE DECLARE
@RESULT VARCHAR(500), @RESULT VARCHAR(500),
@USER_ID INTEGER, @USER_ID INTEGER,
@USER_PRENAME VARCHAR(50), @USER_PRENAME VARCHAR(50),
@USER_SURNAME VARCHAR(50), @USER_SURNAME VARCHAR(50),
@USER_SHORTNAME VARCHAR(50), @USER_SHORTNAME VARCHAR(50),
@USER_EMAIL VARCHAR(50), @USER_EMAIL VARCHAR(50),
@USER_LANGUAGE VARCHAR(10), @USER_LANGUAGE VARCHAR(10),
@USER_DATE_FORMAT VARCHAR(10), @USER_DATE_FORMAT VARCHAR(10),
@IS_IN_MODULE BIT, @IS_IN_MODULE BIT,
@IS_ADMIN BIT, @IS_ADMIN BIT,
@USER_RIGHT_FILE_DEL BIT, @USER_RIGHT_FILE_DEL BIT,
@USERCOUNT_LOGGED_IN INTEGER, @USERCOUNT_LOGGED_IN INTEGER,
@MODULE_NAME VARCHAR(100), @MODULE_NAME VARCHAR(100),
@MODULE_GUID INTEGER, @MODULE_GUID INTEGER,
@USER_GROUPNAME VARCHAR(100), @USER_GROUPNAME VARCHAR(100),
@ADMIN_GROUPNAME VARCHAR(100) @ADMIN_GROUPNAME VARCHAR(100)
SET @USER_ID = 0 SET @USER_ID = 0
SET @IS_ADMIN = 0 SET @IS_ADMIN = 0
SET @IS_IN_MODULE = 0 SET @IS_IN_MODULE = 0
SET @USERCOUNT_LOGGED_IN = 0 SET @USERCOUNT_LOGGED_IN = 0
SET @RESULT = '' SET @RESULT = ''
IF @pMODULE_SHORT_NAME = 'PM' IF @pMODULE_SHORT_NAME = 'PM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'PM_USER' SET @USER_GROUPNAME = 'PM_USER'
SET @ADMIN_GROUPNAME = 'PM_ADMINS' SET @ADMIN_GROUPNAME = 'PM_ADMINS'
SEt @USER_RIGHT_FILE_DEL = 0 SEt @USER_RIGHT_FILE_DEL = 0
END END
ELSE IF @pMODULE_SHORT_NAME = 'CW' ELSE IF @pMODULE_SHORT_NAME = 'CW'
BEGIN BEGIN
SET @USER_GROUPNAME = 'CW_USER' SET @USER_GROUPNAME = 'CW_USER'
SET @ADMIN_GROUPNAME = 'CW_ADMINS' SET @ADMIN_GROUPNAME = 'CW_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'ADDI' ELSE IF @pMODULE_SHORT_NAME = 'ADDI'
BEGIN BEGIN
SET @USER_GROUPNAME = 'ADDI_USER' SET @USER_GROUPNAME = 'ADDI_USER'
SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' SET @ADMIN_GROUPNAME = 'ADDI_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX'
BEGIN BEGIN
SET @USER_GROUPNAME = 'GLOBIX_USER' SET @USER_GROUPNAME = 'GLOBIX_USER'
SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS'
END END
ELSE IF @pMODULE_SHORT_NAME = 'UM' ELSE IF @pMODULE_SHORT_NAME = 'UM'
BEGIN BEGIN
SET @USER_GROUPNAME = 'XXXX' SET @USER_GROUPNAME = 'XXXX'
SET @ADMIN_GROUPNAME = 'UM_ADMINS' SET @ADMIN_GROUPNAME = 'UM_ADMINS'
END END
SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME
IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME))
BEGIN BEGIN
SET @RESULT = 'USER NOT CONFIGURED OR LISTED' SET @RESULT = 'USER NOT CONFIGURED OR LISTED'
END END
ELSE ELSE
BEGIN BEGIN
SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, SELECT @USER_ID = GUID,@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) @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)
SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID
--CHECK USER ÍS IN MODULE_USER_GROUP --CHECK USER ÍS 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) 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 BEGIN
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| User is also configured in User-Modules' SET @RESULT = @RESULT + '| User is also 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 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
END END
ELSE ELSE
BEGIN BEGIN
SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' SET @RESULT = 'User 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) IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
BEGIN BEGIN
SET @RESULT = @RESULT + '| BUT User configured in User-Modules' 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 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
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) 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 BEGIN
SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')'
SET @IS_ADMIN = 1 SET @IS_ADMIN = 1
SET @IS_IN_MODULE = 1 SET @IS_IN_MODULE = 1
END END
END END
INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT)
VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT)
RETURN RETURN
END END
GO GO
ALTER TABLE TBDD_MODULES ADD LICENSE_VALID BIT NOT NULL DEFAULT 1 ALTER TABLE TBDD_MODULES ADD LICENSE_VALID BIT NOT NULL DEFAULT 1
GO GO

View File

@@ -1,54 +1,54 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.8.0.1' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.8.0.1'
GO GO
ALTER PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT) ALTER PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT)
AS AS
BEGIN TRY BEGIN TRY
-- COMMON -- COMMON
IF OBJECT_ID(N'dbo.TBDD_USER_MODULES', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_MODULES', N'U') IS NOT NULL
DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_CLIENT_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_CLIENT_USER', N'U') IS NOT NULL
DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL
DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE', N'U') IS NOT NULL
DELETE FROM TBDD_VERSION_USER_UPDATE WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_VERSION_USER_UPDATE WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE_PATH', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE_PATH', N'U') IS NOT NULL
DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_USER_LOGIN_OUT', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_LOGIN_OUT', N'U') IS NOT NULL
DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBDD_USER_MODULE_LOG_IN', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBDD_USER_MODULE_LOG_IN', N'U') IS NOT NULL
DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = @pUSER_ID
-- PROCESS MANAGER -- PROCESS MANAGER
IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL
DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBPMO_FOLDERWATCH_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBPMO_FOLDERWATCH_USER', N'U') IS NOT NULL
DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
-- GLOBAL INDEXER -- GLOBAL INDEXER
IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
-- CLIPBOARD WATCHER -- CLIPBOARD WATCHER
IF OBJECT_ID(N'dbo.TBCW_USER_PROFILE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBCW_USER_PROFILE', N'U') IS NOT NULL
DELETE FROM TBCW_USER_PROFILE WHERE USER_ID = @pUSER_ID DELETE FROM TBCW_USER_PROFILE WHERE USER_ID = @pUSER_ID
--_ADDI --_ADDI
IF OBJECT_ID(N'dbo.TBPMO_CONSTRUCTOR_USER', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBPMO_CONSTRUCTOR_USER', N'U') IS NOT NULL
DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
IF OBJECT_ID(N'dbo.TBPMO_USER_CONSTR_VIEW_TYPE', N'U') IS NOT NULL IF OBJECT_ID(N'dbo.TBPMO_USER_CONSTR_VIEW_TYPE', N'U') IS NOT NULL
DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
-- FINALLY -- FINALLY
DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID
RETURN 0 RETURN 0
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: ' + ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE()) + CONVERT(VARCHAR(500),ERROR_MESSAGE())
RETURN -1 RETURN -1
END CATCH END CATCH
GO GO

View File

@@ -1,37 +1,37 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.0'
GO GO
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS
SELECT AR.dwObjectID, SELECT AR.dwObjectID,
AR.dwUserOrGROUPID, AR.dwUserOrGROUPID,
AR.dwAccessRight, AR.dwAccessRight,
AR.dwObjectDBID AR.dwObjectDBID
FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM
WHERE UG.dwUserOrGroupID IS NULL WHERE UG.dwUserOrGroupID IS NULL
GO GO
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] AS CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] AS
SELECT AR.dwObjectID, SELECT AR.dwObjectID,
UG.dwUserOrGROUPID, UG.dwUserOrGROUPID,
AR.dwAccessRight, AR.dwAccessRight,
AR.dwObjectDBID AR.dwObjectDBID
FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM
WHERE UG.dwUserOrGroupID IS NOT NULL WHERE UG.dwUserOrGroupID IS NOT NULL
GO GO
CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS] AS CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS] AS
SELECT ARU.dwObjectID, SELECT ARU.dwObjectID,
ARU.dwUserOrGROUPID, ARU.dwUserOrGROUPID,
ARU.dwAccessRight, ARU.dwAccessRight,
ARU.dwObjectDBID ARU.dwObjectDBID
FROM VWDD_WM_ACCESS_RIGHTS_USER ARU UNION FROM VWDD_WM_ACCESS_RIGHTS_USER ARU UNION
SELECT ARG.dwObjectID, SELECT ARG.dwObjectID,
ARG.dwUserOrGROUPID, ARG.dwUserOrGROUPID,
ARG.dwAccessRight, ARG.dwAccessRight,
ARG.dwObjectDBID ARG.dwObjectDBID
FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG
GO GO

View File

@@ -1,96 +1,96 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.1' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.1'
GO GO
CREATE TABLE [dbo].[TBDD_3RD_PARTY_MODULES]( CREATE TABLE [dbo].[TBDD_3RD_PARTY_MODULES](
[GUID] [int] IDENTITY(1,1) NOT NULL, [GUID] [int] IDENTITY(1,1) NOT NULL,
[ACTIVE] [bit] NOT NULL, [ACTIVE] [bit] NOT NULL,
[NAME] [varchar](50) NOT NULL, [NAME] [varchar](50) NOT NULL,
[DESCRIPTION] [varchar](500) NULL, [DESCRIPTION] [varchar](500) NULL,
[LICENSE] [varchar](MAX) NOT NULL, [LICENSE] [varchar](MAX) NOT NULL,
[VERSION] [varchar](20) NOT NULL, [VERSION] [varchar](20) NOT NULL,
[STRING1] [varchar](100) NULL, [STRING1] [varchar](100) NULL,
[STRING2] [varchar](100) NULL, [STRING2] [varchar](100) NULL,
[STRING3] [varchar](100) NULL, [STRING3] [varchar](100) NULL,
[STRING4] [varchar](100) NULL, [STRING4] [varchar](100) NULL,
[STRING5] [varchar](100) NULL, [STRING5] [varchar](100) NULL,
[STRING6] [varchar](100) NULL, [STRING6] [varchar](100) NULL,
[STRING7] [varchar](100) NULL, [STRING7] [varchar](100) NULL,
[STRING8] [varchar](100) NULL, [STRING8] [varchar](100) NULL,
[STRING9] [varchar](100) NULL, [STRING9] [varchar](100) NULL,
[STRING10] [varchar](100) NULL, [STRING10] [varchar](100) NULL,
[ADDED_WHO] [varchar](50) NULL, [ADDED_WHO] [varchar](50) NULL,
[ADDED_WHEN] [datetime] NULL, [ADDED_WHEN] [datetime] NULL,
[CHANGED_WHO] [varchar](50) NULL, [CHANGED_WHO] [varchar](50) NULL,
[CHANGED_WHEN] [datetime] NULL [CHANGED_WHEN] [datetime] NULL
) ON [PRIMARY] ) ON [PRIMARY]
GO GO
ALTER TABLE [dbo].[TBDD_3RD_PARTY_MODULES] ADD CONSTRAINT [DF_TBDD_3RD_PARTY_MODULES_ACTIVE] DEFAULT ((0)) FOR [ACTIVE] ALTER TABLE [dbo].[TBDD_3RD_PARTY_MODULES] ADD CONSTRAINT [DF_TBDD_3RD_PARTY_MODULES_ACTIVE] DEFAULT ((0)) FOR [ACTIVE]
GO GO
ALTER TABLE [dbo].[TBDD_3RD_PARTY_MODULES] ADD CONSTRAINT [DF_TBDD_3RD_PARTY_MODULES_VERSION] DEFAULT ('1.0.0.0') FOR [VERSION] ALTER TABLE [dbo].[TBDD_3RD_PARTY_MODULES] ADD CONSTRAINT [DF_TBDD_3RD_PARTY_MODULES_VERSION] DEFAULT ('1.0.0.0') FOR [VERSION]
GO GO
CREATE TRIGGER [dbo].[TBDD_3RD_PARTY_MODULES_AFT_INS] ON [dbo].[TBDD_3RD_PARTY_MODULES] CREATE TRIGGER [dbo].[TBDD_3RD_PARTY_MODULES_AFT_INS] ON [dbo].[TBDD_3RD_PARTY_MODULES]
FOR INSERT FOR INSERT
AS AS
UPDATE TBDD_3RD_PARTY_MODULES SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_3RD_PARTY_MODULES.GUID = INSERTED.GUID UPDATE TBDD_3RD_PARTY_MODULES SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_3RD_PARTY_MODULES.GUID = INSERTED.GUID
GO GO
CREATE TRIGGER [dbo].[TBDD_3RD_PARTY_MODULES_AFT_UPD] ON [dbo].[TBDD_3RD_PARTY_MODULES] CREATE TRIGGER [dbo].[TBDD_3RD_PARTY_MODULES_AFT_UPD] ON [dbo].[TBDD_3RD_PARTY_MODULES]
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBDD_3RD_PARTY_MODULES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_3RD_PARTY_MODULES.GUID = INSERTED.GUID UPDATE TBDD_3RD_PARTY_MODULES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_3RD_PARTY_MODULES.GUID = INSERTED.GUID
GO GO
INSERT INTO [dbo].[TBDD_3RD_PARTY_MODULES] INSERT INTO [dbo].[TBDD_3RD_PARTY_MODULES]
([ACTIVE] ([ACTIVE]
,[NAME] ,[NAME]
,[LICENSE] ,[LICENSE]
,[VERSION]) ,[VERSION])
VALUES VALUES
(1 (1
,'GDPICTURE' ,'GDPICTURE'
,'21182889975216572111813147150675976632' ,'21182889975216572111813147150675976632'
,'1.0.0.0' ) ,'1.0.0.0' )
GO GO
CREATE PROCEDURE PRDD_CHECK_REL_DOCTYPE_MODULE (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER) CREATE PROCEDURE PRDD_CHECK_REL_DOCTYPE_MODULE (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER)
AS AS
DECLARE @MODULEID INTEGER DECLARE @MODULEID INTEGER
SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' 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) 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) VALUES (@DOCTYPE_ID,@MODULEID) INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID) VALUES (@DOCTYPE_ID,@MODULEID)
GO GO
IF OBJECT_ID('TBDD_USER_DOKTYPE', 'U') IS NULL IF OBJECT_ID('TBDD_USER_DOKTYPE', 'U') IS NULL
BEGIN BEGIN
CREATE TABLE [dbo].[TBDD_USER_DOKTYPE]( CREATE TABLE [dbo].[TBDD_USER_DOKTYPE](
[GUID] [int] IDENTITY(1,1) NOT NULL, [GUID] [int] IDENTITY(1,1) NOT NULL,
[DOCTYPE_ID] [int] NOT NULL, [DOCTYPE_ID] [int] NOT NULL,
[USER_ID] [int] NOT NULL, [USER_ID] [int] NOT NULL,
[ADDED_WHO] [varchar](50) NOT NULL, [ADDED_WHO] [varchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NULL, [ADDED_WHEN] [datetime] NULL,
[CHANGED_WHEN] [datetime] NULL, [CHANGED_WHEN] [datetime] NULL,
CONSTRAINT [PKTBDD_USER_DOKTYPE] PRIMARY KEY CLUSTERED CONSTRAINT [PKTBDD_USER_DOKTYPE] PRIMARY KEY CLUSTERED
( (
[GUID] ASC [GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]; ) ON [PRIMARY];
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT ('Digital Data') FOR [ADDED_WHO]; ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT ('Digital Data') FOR [ADDED_WHO];
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT (getdate()) FOR [ADDED_WHEN]; ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT (getdate()) FOR [ADDED_WHEN];
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID]) ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID])
REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]); REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]);
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID]; ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID];
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID] FOREIGN KEY([USER_ID]) ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID] FOREIGN KEY([USER_ID])
REFERENCES [dbo].[TBDD_USER] ([GUID]); REFERENCES [dbo].[TBDD_USER] ([GUID]);
ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID]; ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID];
END END

View File

@@ -1,7 +1,7 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.2' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.2'
GO GO
ALTER TABLE TBDD_EMAIL_ACCOUNT ADD ARCHIVE_FOLDER VARCHAR(100) NOT NULL DEFAULT '' ALTER TABLE TBDD_EMAIL_ACCOUNT ADD ARCHIVE_FOLDER VARCHAR(100) NOT NULL DEFAULT ''
GO GO

View File

@@ -1,2 +1,2 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.3' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.3'
GO GO

View File

@@ -1,24 +1,24 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.4' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.4'
GO GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Creation date: 25.06.20200 -- Creation date: 25.06.20200
-- ============================================= -- =============================================
CREATE FUNCTION [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@INPUT VARCHAR(100)) CREATE FUNCTION [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@INPUT VARCHAR(100))
RETURNS DECIMAL(19,2) RETURNS DECIMAL(19,2)
AS AS
BEGIN BEGIN
DECLARE @DEC_VALUE DECIMAL(19,2) DECLARE @DEC_VALUE DECIMAL(19,2)
DECLARE @INPUT_SS_15 VARCHAR(5) DECLARE @INPUT_SS_15 VARCHAR(5)
SELECT @INPUT_SS_15 = SUBSTRING(@INPUT,1,5) SELECT @INPUT_SS_15 = SUBSTRING(@INPUT,1,5)
IF @INPUT_SS_15 LIKE ('%.%') IF @INPUT_SS_15 LIKE ('%.%')
BEGIN BEGIN
DECLARE @REP_SS_15 VARCHAR(5) DECLARE @REP_SS_15 VARCHAR(5)
SET @REP_SS_15 = REPLACE(@INPUT_SS_15,'.','') SET @REP_SS_15 = REPLACE(@INPUT_SS_15,'.','')
SET @INPUT = REPLACE(@INPUT,@INPUT_SS_15,@REP_SS_15) SET @INPUT = REPLACE(@INPUT,@INPUT_SS_15,@REP_SS_15)
END END
SELECT @INPUT = REPLACE(@INPUT,',','.') SELECT @INPUT = REPLACE(@INPUT,',','.')
SELECT @DEC_VALUE = convert(DECIMAL(19,2),@INPUT) SELECT @DEC_VALUE = convert(DECIMAL(19,2),@INPUT)
RETURN @DEC_VALUE RETURN @DEC_VALUE
END END

View File

@@ -1,32 +1,32 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.5' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.5'
GO GO
CREATE TABLE TBDD_GROUPS_USER_HISTORY CREATE TABLE TBDD_GROUPS_USER_HISTORY
( (
GUID BIGINT, GUID BIGINT,
[USER_ID] INT NOT NULL, [USER_ID] INT NOT NULL,
GROUP_ID INT NOT NULL, GROUP_ID INT NOT NULL,
COMMENT VARCHAR(500), COMMENT VARCHAR(500),
DELETED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, DELETED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
DELETED_WHEN DATETIME DEFAULT GETDATE() DELETED_WHEN DATETIME DEFAULT GETDATE()
) )
GO GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Creation date: 03.07.2020 -- Creation date: 03.07.2020
-- ============================================= -- =============================================
ALTER TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] ALTER TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER]
FOR DELETE FOR DELETE
AS AS
DECLARE @USER_ID INTEGER,@GROUP_ID INTEGER DECLARE @USER_ID INTEGER,@GROUP_ID INTEGER
SELECT @USER_ID = deleted.USER_ID,@GROUP_ID = deleted.GROUP_ID FROM deleted SELECT @USER_ID = deleted.USER_ID,@GROUP_ID = deleted.GROUP_ID FROM deleted
IF @USER_ID IS NOT NULL IF @USER_ID IS NOT NULL
BEGIN BEGIN
if exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U') if exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U')
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL')
if exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U') if exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U')
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
if exists (select * from sysobjects where name='TBDD_GROUPS_USER_HISTORY' and xtype='U') if exists (select * from sysobjects where name='TBDD_GROUPS_USER_HISTORY' and xtype='U')
INSERT INTO TBDD_GROUPS_USER_HISTORY ([USER_ID],GROUP_ID,COMMENT,DELETED_WHO) VALUES (@USER_ID,@GROUP_ID,'USER DELETED FROM USER-GROUP','DD') INSERT INTO TBDD_GROUPS_USER_HISTORY ([USER_ID],GROUP_ID,COMMENT,DELETED_WHO) VALUES (@USER_ID,@GROUP_ID,'USER DELETED FROM USER-GROUP','DD')
END END

View File

@@ -1,5 +1,5 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.8' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.8'
GO GO
ALTER TABLE TBDD_USER ALTER TABLE TBDD_USER
ADD ACTIVE BIT NOT NULL DEFAULT 1 ADD ACTIVE BIT NOT NULL DEFAULT 1
GO GO

View File

@@ -1,24 +1,24 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.1.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.1.0'
GO GO
CREATE TABLE TBDD_USER_REPRESENTATION ( CREATE TABLE TBDD_USER_REPRESENTATION (
GUID INTEGER NOT NULL IDENTITY(1,1), GUID INTEGER NOT NULL IDENTITY(1,1),
USER_ID INTEGER NOT NULL, USER_ID INTEGER NOT NULL,
REPR_GROUP INTEGER NOT NULL, REPR_GROUP INTEGER NOT NULL,
RIGHT_GROUP INTEGER NOT NULL, RIGHT_GROUP INTEGER NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50), CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_USER_REPRESENTATION PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_USER_REPRESENTATION PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_USER_REPRESENTATION_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), CONSTRAINT FK_TBDD_USER_REPRESENTATION_USER_ID 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_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) CONSTRAINT FK_TBDD_USER_REPRESENTATION_RIGHT_GROUP FOREIGN KEY (RIGHT_GROUP) REFERENCES TBDD_GROUPS (GUID)
) )
GO GO
CREATE TRIGGER TBDD_USER_REPRESENTATION_AFT_UPD ON TBDD_USER_REPRESENTATION CREATE TRIGGER TBDD_USER_REPRESENTATION_AFT_UPD ON TBDD_USER_REPRESENTATION
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBDD_USER_REPRESENTATION SET CHANGED_WHEN = GETDATE() UPDATE TBDD_USER_REPRESENTATION SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBDD_USER_REPRESENTATION.GUID = INSERTED.GUID WHERE TBDD_USER_REPRESENTATION.GUID = INSERTED.GUID
GO GO

View File

@@ -1,7 +1,8 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.1.1' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.1.1'
ALTER TABLE TBDD_USER_REPRESENTATION ALTER COLUMN REPR_GROUP INTEGER NULL; GO
ALTER TABLE TBDD_USER_REPRESENTATION ADD REPR_USER INTEGER; ALTER TABLE TBDD_USER_REPRESENTATION ALTER COLUMN REPR_GROUP INTEGER NULL;
ALTER TABLE TBDD_USER_REPRESENTATION ALTER TABLE TBDD_USER_REPRESENTATION ADD REPR_USER INTEGER;
ADD CONSTRAINT FK_TBDD_USER_REPRESENTATION_REPR_USER ALTER TABLE TBDD_USER_REPRESENTATION
FOREIGN KEY (REPR_USER) ADD CONSTRAINT FK_TBDD_USER_REPRESENTATION_REPR_USER
FOREIGN KEY (REPR_USER)
REFERENCES TBDD_USER (GUID); REFERENCES TBDD_USER (GUID);

View File

@@ -1,2 +1,2 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.2.0' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.2.0'
ALTER TABLE TBDD_DOKUMENTART ADD IDB_FILESTORE_ID INTEGER NOT NULL DEFAULT 0; ALTER TABLE TBDD_DOKUMENTART ADD IDB_FILESTORE_ID INTEGER NOT NULL DEFAULT 0;

View File

@@ -0,0 +1,35 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.3.0';
CREATE TABLE TBDD_NOTIFICATIONS_SYSTEM
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
TITLE VARCHAR(250) NOT NULL,
MODULE VARCHAR(250) NOT NULL,
DISPLAY_TYPE VARCHAR(100) NOT NULL,
MSG_STRING NVARCHAR(MAX) NOT NULL,
DISPLAY_UNTIL DATE,
VALIDATE_READ BIT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_NOTIFICATIONS_SYSTEM PRIMARY KEY (GUID),
)
GO
CREATE TRIGGER TBDD_NOTIFICATIONS_SYSTEM_AFT_UPD ON TBDD_NOTIFICATIONS_SYSTEM
FOR UPDATE
AS
UPDATE TBDD_NOTIFICATIONS_SYSTEM SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBDD_NOTIFICATIONS_SYSTEM .GUID = INSERTED.GUID
GO
CREATE TABLE TBDD_NOTIFICATIONS_USER_HISTORY
(
GUID INTEGER IDENTITY(1,1),
NOTIFY_ID INT NOT NULL,
USR_ID INT NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBDD_NOTIFICATIONS_USER_HISTORY PRIMARY KEY (GUID),
CONSTRAINT FK_TBDD_NOTIFICATIONS_USER_HISTORY_NID FOREIGN KEY(NOTIFY_ID) REFERENCES TBDD_NOTIFICATIONS_SYSTEM(GUID),
)
GO

View File

@@ -0,0 +1,46 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.4.0';
GO
CREATE FUNCTION [dbo].[FNDD_LANGUAGE_PHRASE](@pTITLE VARCHAR(100),@pLANG_CODE VARCHAR(5), @pMODULE VARCHAR(10))
RETURNS VARCHAR(500)
AS
BEGIN
DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100)
SELECT @RESULT = STRING1 FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE MODULE = @pMODULE AND TITLE = @pTITLE
AND [LANGUAGE] = @pLANG_CODE
IF LEN(@RESULT) > 0
SET @RESULT = @RESULT
ELSE
BEGIN
SELECT @RESULT = STRING1 FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE MODULE = @pMODULE AND TITLE = @pTITLE
AND [LANGUAGE] = 'de-DE'
SET @RESULT = @RESULT + ' (NoLangConf)'
END
RETURN @RESULT
END
GO
CREATE PROCEDURE [dbo].[PRDD_GUI_LANGUAGE_PHRASE] (@pMODULE VARCHAR(10),@pTITLE VARCHAR(100),@pLANG_CODE VARCHAR(5),@pCAPTION_TYPE VARCHAR(50),@pSTRING1 VARCHAR(900),@pSTRING2 VARCHAR(900),@pWHO VARCHAR(100)
,@pOBJ_NAME VARCHAR(100),@pINTERNAL BIT)
AS
If NOT EXISTS(SELECT GUID FROm TBDD_GUI_LANGUAGE_PHRASE WHERE [MODULE] = @pMODULE AND TITLE = @pTITLE AND [LANGUAGE] = @pLANG_CODE)
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
([MODULE]
,[TITLE]
,[LANGUAGE]
,[CAPT_TYPE]
,[STRING1]
,STRING2
,[ADDED_WHO]
,[OBJ_NAME],INTERNAL) VALUES
(@pMODULE,@pTITLE,@pLANG_CODE,@pCAPTION_TYPE,@pSTRING1,@pSTRING2,@pWHO,@pOBJ_NAME,@pINTERNAL)
ELSE
UPDATE [dbo].[TBDD_GUI_LANGUAGE_PHRASE] SET [CAPT_TYPE] = @pCAPTION_TYPE
,[STRING1] = @pSTRING1
,STRING2 = @pSTRING2
,CHANGED_WHO = @pWHO
,[OBJ_NAME] = @pOBJ_NAME,INTERNAL = @pINTERNAL WHERE
[MODULE] = @pMODULE AND TITLE = @pTITLE AND [LANGUAGE] = @pLANG_CODE
GO

View File

@@ -0,0 +1,18 @@
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'
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'))
BEGIN
-- Column Exists
ALTER TABLE TBDD_EMAIL_ACCOUNT ADD ARCHIVE_FOLDER VARCHAR(100) NOT NULL DEFAULT ''
END
GO

View File

@@ -0,0 +1,27 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.5.0'
GO
CREATE TABLE TBDD_LANGUAGE
(
GUID TINYINT NOT NULL IDENTITY (1, 1),
LANG_CODE VARCHAR(10) NOT NULL,
CREATE_DEFAULT_ENTRY BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(1000),
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_LANGUAGE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBDD_LANGUAGE UNIQUE (LANG_CODE)
)
GO
CREATE TRIGGER TBDD_LANGUAGE_AFT_UPD ON TBDD_LANGUAGE
FOR UPDATE
AS
UPDATE TBDD_LANGUAGE SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBDD_LANGUAGE.GUID = INSERTED.GUID
GO
INSERT INTO TBDD_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('de-DE',1);
INSERT INTO TBDD_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('en-EN',1);
INSERT INTO TBDD_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('fr-FR',1);
GO

View File

@@ -0,0 +1,22 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.6.0'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'LANGUAGE_OVERRIDE'
AND Object_ID = Object_ID(N'dbo.TBDD_USER_MODULE_LOG_IN'))
BEGIN
-- Column Exists
ALTER TABLE TBDD_USER_MODULE_LOG_IN ADD LANGUAGE_OVERRIDE VARCHAR(5) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN LANGUAGE_OVERRIDE EXISTS'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'LANGUAGE_OVERRIDE'
AND Object_ID = Object_ID(N'dbo.TBDD_USER_LOGIN_OUT'))
BEGIN
-- Column Exists
ALTER TABLE TBDD_USER_LOGIN_OUT ADD LANGUAGE_OVERRIDE VARCHAR(5) NOT NULL DEFAULT ''
END
ELSE
PRINT 'COLUMN LANGUAGE_OVERRIDE EXISTS'
GO

View File

@@ -0,0 +1,12 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.0'
GO
CREATE TABLE TBDD_USER_LOG_IN_ATTEMPT(
GUID BIGINT IDENTITY(1,1) NOT NULL,
USERNAME VARCHAR(100),
MODULE VARCHAR(30),
VERSION_CLIENT VARCHAR(30),
MACHINE_NAME VARCHAR(250),
OVERRIDE_LANGUAGE VARCHAR(5),
[LOGIN] DATETIME DEFAULT (GETDATE()),
CONSTRAINT [PK_TBDD_USER_LOG_IN_ATTEMPT] PRIMARY KEY(GUID))
GO

View File

@@ -0,0 +1,52 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.1'
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'ACTIVE'
AND Object_ID = Object_ID(N'dbo.TBDD_GUI_LANGUAGE'))
BEGIN
-- Column Exists
ALTER TABLE TBDD_GUI_LANGUAGE ADD ACTIVE BIT NOT NULL DEFAULT 1
END
ELSE
PRINT 'COLUMN ACTIVE DOES EXIST'
GO
CREATE TABLE TBDD_USER_CHANGE_LOG(
GUID BIGINT IDENTITY(1,1) NOT NULL,
USR_ID INTEGER NOT NULL,
COMMENT VARCHAR(3000),
CONSTRAINT [PK_TBDD_USER_CHANGE_LOG] PRIMARY KEY(GUID))
GO
USE [DD_ECM]
GO
/****** Object: Trigger [dbo].[TBDD_USER_AFT_UPD] Script Date: 30.03.2023 16:54:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TBDD_USER_AFT_UPD_LOG] ON [dbo].[TBDD_USER]
FOR UPDATE
AS
BEGIN
DECLARE @USRNAME VARCHAR(50),@LANGUAGE VARCHAR(5),@CHANGED_WHO VARCHAR(100),@USR_ID INTEGER, @COMMENT VARCHAR(1000)
SELECT @USRNAME = USERNAME,@LANGUAGE = LANGUAGE,@CHANGED_WHO = CHANGED_WHO,@USR_ID = GUID FROM inserted
IF UPDATE (LANGUAGE) AND @CHANGED_WHO LIKE 'LANG_CHANGE_GUI%'
BEGIN
SET @COMMENT = 'USER CHANGED LANGUAGE TO [' + @LANGUAGE + ']'
INSERT INTO [dbo].[TBDD_USER_CHANGE_LOG]
([USR_ID],[COMMENT])
VALUES
(@USR_ID,@COMMENT)
END
END
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'APP_STARTUP_PATH'
AND Object_ID = Object_ID(N'dbo.TBDD_USER_LOG_IN_ATTEMPT'))
BEGIN
-- Column Exists
ALTER TABLE TBDD_USER_LOG_IN_ATTEMPT ADD APP_STARTUP_PATH VARCHAR(1000)
END
GO

View File

@@ -0,0 +1,22 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.2'
GO
CREATE TABLE TBDD_CATALOG
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
CAT_TITLE VARCHAR(100) NOT NULL,
CAT_STRING VARCHAR(900) NOT NULL,
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'SYSTEM',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBDD_CATALOG PRIMARY KEY (GUID),
CONSTRAINT UQ_TBDD_CATALOG_TITLE UNIQUE (CAT_TITLE)
)
GO
CREATE TRIGGER TBDD_CATALOG_USER_AFT_UPD ON TBDD_CATALOG
FOR UPDATE
AS
UPDATE TBDD_CATALOG SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBDD_CATALOG.GUID = INSERTED.GUID
GO

View File

@@ -0,0 +1,5 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.3'
GO
ALTER TABLE TBEMLP_EMAIL_OUT ALTER COLUMN EMAIL_BODY VARCHAR(MAX) NOT NULL
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

@@ -1,111 +1,111 @@
USE [master] USE [master]
GO GO
/****** Object: Database [IDB] Script Date: 10.01.2020 12:55:47 ******/ /****** Object: Database [IDB] Script Date: 10.01.2020 12:55:47 ******/
CREATE DATABASE [IDB] CREATE DATABASE [IDB]
CONTAINMENT = NONE CONTAINMENT = NONE
ON PRIMARY ON PRIMARY
( NAME = N'IDB', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) ( NAME = N'IDB', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON LOG ON
( NAME = N'IDB_log', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB_log.ldf' , SIZE = 5184KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) ( NAME = N'IDB_log', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB_log.ldf' , SIZE = 5184KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin begin
EXEC [IDB].[dbo].[sp_fulltext_database] @action = 'enable' EXEC [IDB].[dbo].[sp_fulltext_database] @action = 'enable'
end end
GO GO
ALTER DATABASE [IDB] SET ANSI_NULL_DEFAULT OFF ALTER DATABASE [IDB] SET ANSI_NULL_DEFAULT OFF
GO GO
ALTER DATABASE [IDB] SET ANSI_NULLS OFF ALTER DATABASE [IDB] SET ANSI_NULLS OFF
GO GO
ALTER DATABASE [IDB] SET ANSI_PADDING OFF ALTER DATABASE [IDB] SET ANSI_PADDING OFF
GO GO
ALTER DATABASE [IDB] SET ANSI_WARNINGS OFF ALTER DATABASE [IDB] SET ANSI_WARNINGS OFF
GO GO
ALTER DATABASE [IDB] SET ARITHABORT OFF ALTER DATABASE [IDB] SET ARITHABORT OFF
GO GO
ALTER DATABASE [IDB] SET AUTO_CLOSE OFF ALTER DATABASE [IDB] SET AUTO_CLOSE OFF
GO GO
ALTER DATABASE [IDB] SET AUTO_SHRINK OFF ALTER DATABASE [IDB] SET AUTO_SHRINK OFF
GO GO
ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS ON ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS ON
GO GO
ALTER DATABASE [IDB] SET CURSOR_CLOSE_ON_COMMIT OFF ALTER DATABASE [IDB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO GO
ALTER DATABASE [IDB] SET CURSOR_DEFAULT GLOBAL ALTER DATABASE [IDB] SET CURSOR_DEFAULT GLOBAL
GO GO
ALTER DATABASE [IDB] SET CONCAT_NULL_YIELDS_NULL OFF ALTER DATABASE [IDB] SET CONCAT_NULL_YIELDS_NULL OFF
GO GO
ALTER DATABASE [IDB] SET NUMERIC_ROUNDABORT OFF ALTER DATABASE [IDB] SET NUMERIC_ROUNDABORT OFF
GO GO
ALTER DATABASE [IDB] SET QUOTED_IDENTIFIER OFF ALTER DATABASE [IDB] SET QUOTED_IDENTIFIER OFF
GO GO
ALTER DATABASE [IDB] SET RECURSIVE_TRIGGERS OFF ALTER DATABASE [IDB] SET RECURSIVE_TRIGGERS OFF
GO GO
ALTER DATABASE [IDB] SET DISABLE_BROKER ALTER DATABASE [IDB] SET DISABLE_BROKER
GO GO
ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO GO
ALTER DATABASE [IDB] SET DATE_CORRELATION_OPTIMIZATION OFF ALTER DATABASE [IDB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO GO
ALTER DATABASE [IDB] SET TRUSTWORTHY OFF ALTER DATABASE [IDB] SET TRUSTWORTHY OFF
GO GO
ALTER DATABASE [IDB] SET ALLOW_SNAPSHOT_ISOLATION OFF ALTER DATABASE [IDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO GO
ALTER DATABASE [IDB] SET PARAMETERIZATION SIMPLE ALTER DATABASE [IDB] SET PARAMETERIZATION SIMPLE
GO GO
ALTER DATABASE [IDB] SET READ_COMMITTED_SNAPSHOT OFF ALTER DATABASE [IDB] SET READ_COMMITTED_SNAPSHOT OFF
GO GO
ALTER DATABASE [IDB] SET HONOR_BROKER_PRIORITY OFF ALTER DATABASE [IDB] SET HONOR_BROKER_PRIORITY OFF
GO GO
ALTER DATABASE [IDB] SET RECOVERY FULL ALTER DATABASE [IDB] SET RECOVERY FULL
GO GO
ALTER DATABASE [IDB] SET MULTI_USER ALTER DATABASE [IDB] SET MULTI_USER
GO GO
ALTER DATABASE [IDB] SET PAGE_VERIFY CHECKSUM ALTER DATABASE [IDB] SET PAGE_VERIFY CHECKSUM
GO GO
ALTER DATABASE [IDB] SET DB_CHAINING OFF ALTER DATABASE [IDB] SET DB_CHAINING OFF
GO GO
ALTER DATABASE [IDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) ALTER DATABASE [IDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO GO
ALTER DATABASE [IDB] SET TARGET_RECOVERY_TIME = 0 SECONDS ALTER DATABASE [IDB] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO GO
ALTER DATABASE [IDB] SET DELAYED_DURABILITY = DISABLED ALTER DATABASE [IDB] SET DELAYED_DURABILITY = DISABLED
GO GO
ALTER DATABASE [IDB] SET QUERY_STORE = OFF ALTER DATABASE [IDB] SET QUERY_STORE = OFF
GO GO
ALTER DATABASE [IDB] SET READ_WRITE ALTER DATABASE [IDB] SET READ_WRITE
GO GO

View File

@@ -1,3 +1,9 @@
------------------------------------------------
-----ATTENTION BEFORE RUNNING THIS SCRIPT ------
------------------------------------------------
--REPLACE THE TERM @MY_DD_ECM_DB WIHT THE ACTUAL NAME OF
--THE DD_ECM Database
------------------------------------------------
--REPLACE @MY_DD_ECM_DB WITH REAL_DBNAME --REPLACE @MY_DD_ECM_DB WITH REAL_DBNAME
USE IDB USE IDB
GO GO
@@ -130,7 +136,7 @@ GO
--INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39') --INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39')
--GO --GO
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('GHOST_SELECT',' INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('GHOST_SELECT','
SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME') SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM DD_ECM.dbo.TBDD_USER T ORDER BY USERNAME')
GO GO
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AD_GROUP_ADMIN1','NONE') INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AD_GROUP_ADMIN1','NONE')
GO GO
@@ -568,7 +574,7 @@ IF UPDATE(REFERENCE_KEY) OR UPDATE(PARENT_OBJ_ID) OR UPDATE(IS_VERSION) OR UPDAT
UPDATE TBIDB_OBJECT SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_OBJECT SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
GO
CREATE TABLE TBIDB_STRUCTURE_TYPE CREATE TABLE TBIDB_STRUCTURE_TYPE
( (
GUID INTEGER NOT NULL IDENTITY (1, 1), GUID INTEGER NOT NULL IDENTITY (1, 1),
@@ -1203,13 +1209,15 @@ WHERE
ATTR.DELETED = 0 ATTR.DELETED = 0
GO GO
CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT SELECT
COALESCE(T.GUID,0) as GUID, COALESCE(T.GUID,0) as GUID,
COALESCE(T.[BE_ID],0) BE_ID COALESCE(T.[BE_ID],0) BE_ID
,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE ,COALESCE(T2.TITLE,'NO BE SO FAR') AS BE
,[ATTR_ID] ,T1.GUID AS [ATTR_ID]
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T4.TERM_ID AS ATTR_TERM_ID
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
@@ -1254,7 +1262,7 @@ AS
FROM INSERTED FROM INSERTED
WHERE TBIDB_BASE.GUID = INSERTED.GUID WHERE TBIDB_BASE.GUID = INSERTED.GUID
GO GO
INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1') INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.1.0')
GO GO
INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('GHOST_SELECT',' INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('GHOST_SELECT','
SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME') SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME')
@@ -1279,36 +1287,6 @@ AS
FROM INSERTED FROM INSERTED
WHERE TBIDB_STATES.GUID = INSERTED.GUID WHERE TBIDB_STATES.GUID = INSERTED.GUID
GO GO
--DROP TABLE TBIDB_CONVERSATION_MESSAGE
--DROP TABLE TBIDB_CONVERSATION_USER
--DROP TABLE TBIDB_CONVERSATION_OBJECT
CREATE TABLE TBIDB_CONVERSATION_OBJECT
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
TITLE_TERM_ID BIGINT NOT NULL,
IDB_OBJ_ID BIGINT NOT NULL,
ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO BIGINT,
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO
CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT
FOR UPDATE
AS
UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID
GO
GO
--DROP TABLE TBIDB_MYOBJECT_STATES;
CREATE TABLE TBIDB_MYOBJECT_STATES CREATE TABLE TBIDB_MYOBJECT_STATES
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
@@ -1331,21 +1309,6 @@ AS
FROM INSERTED FROM INSERTED
WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID
GO GO
CREATE TABLE TBIDB_CONVERSATION_USER
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
CONV_ID BIGINT NOT NULL,
USER_OR_GROUP_ID INTEGER NOT NULL,
IS_USER BIT NOT NULL,
ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO
CREATE TABLE TBIDB_COMMON_SQL CREATE TABLE TBIDB_COMMON_SQL
( (
GUID INTEGER NOT NULL IDENTITY (1, 1), GUID INTEGER NOT NULL IDENTITY (1, 1),
@@ -1394,7 +1357,6 @@ UNION
RES.USR_ID = @USER_ID AND VWDT.LANG_CODE = ''@LANG_CODE'' RES.USR_ID = @USER_ID AND VWDT.LANG_CODE = ''@LANG_CODE''
AND CHK.CHECKED_IN_WHEN IS NULL','SYSTEM') AND CHK.CHECKED_IN_WHEN IS NULL','SYSTEM')
GO GO
DROP TABLE TBIDB_SEARCH_INPUT_USER
CREATE TABLE TBIDB_SEARCH_INPUT_USER CREATE TABLE TBIDB_SEARCH_INPUT_USER
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
@@ -1415,7 +1377,6 @@ CREATE TABLE TBIDB_SEARCH_RESULT_TERM_USER
CONSTRAINT FK_TBIDB_SEARCH_RESULT_USER_MD_GUID FOREIGN KEY (MD_GUID) REFERENCES TBIDB_OBJECT_METADATA (GUID) CONSTRAINT FK_TBIDB_SEARCH_RESULT_USER_MD_GUID FOREIGN KEY (MD_GUID) REFERENCES TBIDB_OBJECT_METADATA (GUID)
) )
GO GO
DROP TABLE TBIDB_SEARCH_RESULT_TOKEN
CREATE TABLE TBIDB_SEARCH_RESULT_TOKEN CREATE TABLE TBIDB_SEARCH_RESULT_TOKEN
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
@@ -1425,7 +1386,6 @@ CREATE TABLE TBIDB_SEARCH_RESULT_TOKEN
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
) )
GO GO
DROP TABLE TBIDB_SEARCH_RESULT_DOCS
CREATE TABLE TBIDB_SEARCH_RESULT_DOCS CREATE TABLE TBIDB_SEARCH_RESULT_DOCS
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
@@ -1494,7 +1454,42 @@ BEGIN
SELECT * FROM @TBRESULT SELECT * FROM @TBRESULT
END END
GO GO
--DROP TABLE TBIDB_SEARCH_DEF_RELATIONS
--DROP TABLE TBIDB_SEARCH_DEFINITION
CREATE TABLE TBIDB_SEARCH_DEFINITION
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
TITLE VARCHAR(250) NOT NULL,
DESCRIPTION VARCHAR(500),
XML_VALUE NVARCHAR(MAX) NOT NULL,
SYS_SEARCH BIT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(100) NOT NULL,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_SEARCH_DEFINITION PRIMARY KEY (GUID)
)
GO
CREATE TRIGGER [dbo].[TBIDB_SEARCH_DEFINITION_AFT_UPD] ON [dbo].[TBIDB_SEARCH_DEFINITION]
FOR UPDATE
AS
UPDATE TBIDB_SEARCH_DEFINITION SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_SEARCH_DEFINITION.GUID = INSERTED.GUID
GO
CREATE TABLE TBIDB_SEARCH_DEF_RELATIONS
(
GUID INTEGER NOT NULL IDENTITY (1, 1),
SEARCH_ID INTEGER NOT NULL,
USR_ID INT NOT NULL DEFAULT 0,
GRP_ID INT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_SEARCH_DEF_RELATIONS PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_SEARCH_DEF_RELATIONS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_DEFINITION (GUID),
CONSTRAINT UQ_PK_TBIDB_SEARCH_DEF_RELATIONS UNIQUE(SEARCH_ID,USR_ID,GRP_ID)
)
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pTERM_ID BIGINT, @pTOKENID TINYINT = 0, @pLANG_CODE as VARCHAR(5) = 'de-DE') CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pTERM_ID BIGINT, @pTOKENID TINYINT = 0, @pLANG_CODE as VARCHAR(5) = 'de-DE')
AS AS
BEGIN BEGIN
@@ -1520,7 +1515,7 @@ BEGIN
+ CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON DT.TERM_ID = TERM.GUID' + CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON DT.TERM_ID = TERM.GUID'
+ CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON DT.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON DT.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10)
SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' + char(10)
IF @DateStr = 'DATEPART' IF @DateStr = 'DATEPART'
BEGIN BEGIN
SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID;
@@ -1555,33 +1550,30 @@ BEGIN
END END
END END
SET @DYNSQL_INSERT += 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10) SET @DYNSQL_INSERT += CHAR(9) + 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10)
DECLARE @LANGUAGE AS VARCHAR(100) DECLARE @LANGUAGE AS VARCHAR(100)
IF @pType <> 'DOCTYPE' IF @pType <> 'DOCTYPE'
SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + ''''
ELSE ELSE
SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + '''' SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + ''''
SET @DYNSQL_INSERT += @LANGUAGE + char(10) SET @DYNSQL_INSERT += CHAR(9) + @LANGUAGE + char(10)
PRINT @DYNSQL_INSERT PRINT @DYNSQL_INSERT
EXEC sp_executesql @DYNSQL_INSERT EXEC sp_executesql @DYNSQL_INSERT
END END
GO GO
USE [IDB]
GO
USE [IDB]
GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Changed: 19.05.2022 -- Changed: 19.05.2022
-- ============================================= -- =============================================
ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS] (@pUSR_ID as INTEGER,@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE') CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS] (@pUSR_ID as INTEGER,@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE')
AS AS
BEGIN BEGIN
DECLARE @SRCH_VAR VARCHAR(900), @DYNSQL_INSERT NVARCHAR(MAX),@DateStr VARCHAR(100) DECLARE @SRCH_VAR VARCHAR(900), @DYNSQL_INSERT NVARCHAR(MAX),@DateStr VARCHAR(100)
DECLARE @DATE1 DATE,@DATE2 DATE DECLARE @DATE1 DATE,@DATE2 DATE
DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID; DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID;
IF LEN(@pDATE_RESTRICTION) > 0 IF LEN(@pDATE_RESTRICTION) > 0
BEGIN BEGIN
PRINT '@pDATE_RESTRICTION....' PRINT '@pDATE_RESTRICTION....'
@@ -1613,18 +1605,18 @@ BEGIN
-- DELETE FROM @DOC_RESULTS; -- DELETE FROM @DOC_RESULTS;
-- END -- END
SET @TOKEN_ID += 1 SET @TOKEN_ID += 1
PRINT '### WORKIN ON ATTRIBUTE [' + @ATTR_TITLE + '] TOKEN_ID [' + CONVERT(VARCHAR(2),@TOKEN_ID) + '] ###'
EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE
IF @TOKEN_ID > 1 AND @OPERATOR = 'AND' IF @TOKEN_ID > 1 AND @OPERATOR = 'AND'
BEGIN BEGIN
DELETE FROM @DOC_RESULTS; DELETE FROM @DOC_RESULTS;
INSERT INTO @DOC_RESULTS(DocID) INSERT INTO @DOC_RESULTS(DocID)
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID) SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID AND USR_ID = @pUSR_ID)
END END
ELSE ELSE
INSERT INTO @DOC_RESULTS(DocID) INSERT INTO @DOC_RESULTS(DocID)
SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS) SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND USR_ID = @pUSR_ID --AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS)
FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR
END END
CLOSE curs_Tokens CLOSE curs_Tokens
@@ -1633,6 +1625,7 @@ BEGIN
INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID) INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID)
SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS; SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS;
END END
GO GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pSEARCH_TERM as VARCHAR(900), @pLANG_CODE as VARCHAR(5) = 'de-DE') CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pSEARCH_TERM as VARCHAR(900), @pLANG_CODE as VARCHAR(5) = 'de-DE')
AS AS
@@ -1848,7 +1841,7 @@ CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
--CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM.dbo.TBDD_USER (GUID),
CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID) CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID)
) )
GO GO
@@ -1871,7 +1864,7 @@ CREATE TABLE TBIDB_SEARCH_PROFILE_USER_GROUP
CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_PID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_PID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
--CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM.dbo.TBDD_USER (GUID),
CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID,GROUP_ID) CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID,GROUP_ID)
) )
GO GO
@@ -1887,7 +1880,7 @@ GO
-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID), -- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID),
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), -- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), -- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
-- --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), -- --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM.dbo.TBDD_USER (GUID),
-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID) -- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID)
--) --)
--GO --GO
@@ -2012,7 +2005,7 @@ GO
-- -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND -- -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND
-- -- USR_ID = @USR_ID; -- -- USR_ID = @USR_ID;
-- SELECT @pLANG_CODE = [LANGUAGE] FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = @USR_ID -- SELECT @pLANG_CODE = [LANGUAGE] FROM DD_ECM.dbo.TBDD_USER WHERE GUID = @USR_ID
-- INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID) -- INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID)
-- SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID -- SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID
-- FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1 -- FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1
@@ -2059,9 +2052,6 @@ GO
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID] ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID]
GO GO
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID]
GO
CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID] CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID]
@@ -2088,20 +2078,6 @@ ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
INCLUDE ([CHANGED_WHEN]) INCLUDE ([CHANGED_WHEN])
GO GO
CREATE TABLE TBIDB_CONVERSATION_MESSAGE
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
CONV_ID BIGINT NOT NULL,
TO_USER BIGINT NOT NULL DEFAULT 0,
FROM_USER BIGINT NOT NULL,
MESSAGE_TERM_ID BIGINT NOT NULL,
ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO
--CREATE TABLE TBIDB_USER_SEARCH_CRITERIA --CREATE TABLE TBIDB_USER_SEARCH_CRITERIA
--( --(
-- GUID BIGINT NOT NULL IDENTITY (1, 1), -- GUID BIGINT NOT NULL IDENTITY (1, 1),
@@ -2383,6 +2359,144 @@ GO
/*########################### /*###########################
######### FUNCTIONS ######### ######### FUNCTIONS #########
#############################*/ #############################*/
USE [IDB]
GO
/****** Object: UserDefinedFunction [dbo].[FNIDB_GET_TERM_DATE] Script Date: 20.12.2024 14:19:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =================================================================
-- Gets the GUID of Attribute-Record for a certain DATE TERM
-- =================================================================
-- 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: 20.12.2024 MS
CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_DATE] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(30),@TERM_VALUE DATE)
RETURNS BIGINT
AS
BEGIN
DECLARE @TERM_ID BIGINT, @RESULT BIGINT
SELECT
@RESULT = MD.GUID
FROM
TBIDB_OBJECT_METADATA MD INNER JOIN TBIDB_TERM_VALUE_DATE TV ON MD.INT_TERM_ID = TV.GUID
INNER JOIN TBIDB_ATTRIBUTE ATTR ON MD.ATTR_ID = ATTR.GUID
WHERE
IDB_OBJ_ID = @IDB_OBJ_ID and ATTR.TITLE = @ATTRIBUTE AND TV.TERM_VALUE = @TERM_VALUE;
RETURN @RESULT
END
GO
USE [IDB]
GO
/****** Object: UserDefinedFunction [dbo].[FNIDB_GET_TERM_DECIMAL] Script Date: 20.12.2024 14:19:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =================================================================
-- Gets the GUID of Attribute-Record for a certain DECIMAL TERM
-- =================================================================
-- 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: 20.12.2024 MS
CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_DECIMAL] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(30),@TERM_VALUE BIGINT)
RETURNS BIGINT
AS
BEGIN
DECLARE @TERM_ID BIGINT, @RESULT BIGINT
SELECT
@RESULT = MD.GUID
FROM
TBIDB_OBJECT_METADATA MD INNER JOIN TBIDB_TERM_VALUE_DECIMAL TV ON MD.INT_TERM_ID = TV.GUID
INNER JOIN TBIDB_ATTRIBUTE ATTR ON MD.ATTR_ID = ATTR.GUID
WHERE
IDB_OBJ_ID = @IDB_OBJ_ID and ATTR.TITLE = @ATTRIBUTE AND TV.TERM_VALUE = @TERM_VALUE;
RETURN @RESULT
END
GO
USE [IDB]
GO
/****** Object: UserDefinedFunction [dbo].[FNIDB_GET_TERM_INTEGER] Script Date: 20.12.2024 14:19:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =================================================================
-- Gets the GUID of Attribute-Record for a certain INTEGER TERM
-- =================================================================
-- 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: 20.12.2024 MS
CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_INTEGER] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(30),@TERM_VALUE BIGINT)
RETURNS BIGINT
AS
BEGIN
DECLARE @TERM_ID BIGINT, @RESULT BIGINT
SELECT
@RESULT = MD.GUID
FROM
TBIDB_OBJECT_METADATA MD INNER JOIN TBIDB_TERM_VALUE_INTEGER TV ON MD.INT_TERM_ID = TV.GUID
INNER JOIN TBIDB_ATTRIBUTE ATTR ON MD.ATTR_ID = ATTR.GUID
WHERE
IDB_OBJ_ID = @IDB_OBJ_ID and ATTR.TITLE = @ATTRIBUTE AND TV.TERM_VALUE = @TERM_VALUE;
RETURN @RESULT
END
GO
USE [IDB]
GO
/****** Object: UserDefinedFunction [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] Script Date: 20.12.2024 13:58:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =================================================================
-- Gets the GUID of Attribute-Record for a certain TERM
-- =================================================================
-- 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: 20.12.2024 MS
CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_TEXT] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(30),@TERM VARCHAR(950),@LANG_CODE VARCHAR(5))
RETURNS BIGINT
AS
BEGIN
DECLARE @RESULT BIGINT
select
@RESULT = T.GUID
from
TBIDB_OBJECT_METADATA T
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_LANGUAGE_TERM T2 ON T.GUID = T2.[OBJECT_ID]
INNER JOIN TBIDB_OBJECT OBJ ON T.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID
WHERE
T.IDB_OBJ_ID = @IDB_OBJ_ID AND
OBJ.ACTIVE = 1 AND
T4.LANG_CODE = @LANG_CODE AND
T3.TERM_VALUE = @TERM AND
T1.TITLE = @ATTRIBUTE;
RETURN @RESULT
END
GO
CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_VARIABLE_VALUE] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10)) CREATE OR ALTER FUNCTION [dbo].[FNIDB_GET_VARIABLE_VALUE] (@IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10))
RETURNS @Output TABLE (TERM_VALUE NVARCHAR(900), TERM_DATE DATE,TERM_DATETIME DATETIME) RETURNS @Output TABLE (TERM_VALUE NVARCHAR(900), TERM_DATE DATE,TERM_DATETIME DATETIME)
AS AS
@@ -2929,38 +3043,6 @@ BEGIN
END END
GO GO
------------------------------------------------------------------- -------------------------------------------------------------------
CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER)
RETURNS
@Table TABLE
(CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900))
AS
BEGIN
DECLARE @CONVID BIGINT
SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started'
IF @CONVID > 0
BEGIN
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID);
END
IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID)
BEGIN
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True');
END
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM
TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)');
RETURN
END
GO
CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT) CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT)
RETURNS VARCHAR(500) RETURNS VARCHAR(500)
AS AS
@@ -3565,45 +3647,6 @@ FROM
VWIDB_VALUE_TEXT where [Geändert wann] IS NULL VWIDB_VALUE_TEXT where [Geändert wann] IS NULL
ORDER BY IDB_OBJ_ID DESC,LAST_CHANGE DESC ORDER BY IDB_OBJ_ID DESC,LAST_CHANGE DESC
GO GO
CREATE VIEW VWIDB_CONVERSATION AS
SELECT
GUID As CONVERSATION_ID
,IDB_OBJ_ID
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID,'de-DE') as TITLE
--,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO
,ADDED_WHEN
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO
,CHANGED_WHEN
FROM TBIDB_CONVERSATION_OBJECT
GO
CREATE VIEW VWIDB_CONV_MESSAGES AS
select
T.GUID,
T.CONV_ID,
(SELECT EMAIL FROM DD_ECM.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER,
[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID,'de-DE') AS CONV_TITLE
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID,'de-DE') as MESSAGE_TEXT
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO,'de-DE') as ADDED_WHO
,T.ADDED_WHEN
from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID
GO
CREATE VIEW VWIDB_CONVERSATION_USER AS
SELECT
T.CONV_ID
,T1.GUID As USER_ID
,T1.USERNAME
,T1.EMAIL
,T1.NAME + ', ' + T1.PRENAME as NAME
FROM
[IDB].[dbo].[TBIDB_CONVERSATION_USER] T
INNER JOIN @MY_DD_ECM_DB.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID
WHERE IS_USER = 1
GO
--CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS --CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS
--SELECT --SELECT
-- T.SEARCH_PROFIL_ID, -- T.SEARCH_PROFIL_ID,
@@ -4369,7 +4412,8 @@ BEGIN
SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID
END END
GO GO
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT @LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
AS AS
BEGIN BEGIN
@@ -4379,9 +4423,12 @@ BEGIN
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT, @LANG_ID INT,
@WHO_TERM_ID BIGINT @WHO_TERM_ID BIGINT,
@ATTR_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@WHO,@WHO,@TERM_ID = @WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@WHO,@WHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
--PRINT 'GETTIN ATTR-TERMID...'
EXEC PRIDB_NEW_TERM 'VARCHAR',@ATTRIBUTE,@WHO,@TERM_ID = @ATTR_TERM_ID OUTPUT;
--PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
BEGIN BEGIN
@@ -4396,17 +4443,23 @@ BEGIN
END END
END END
--IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE)
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = @ATTRIBUTE) -- BEGIN
-- DECLARE @MSG VARCHAR(100)
-- SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']'
-- RAISERROR (@MSG,16,1)
-- END
SELECT @ATTR_ID = T.ATTR_ID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T.TYPE_NAME FROM VWIDB_BE_ATTRIBUTE T
WHERE ATTR_TERM_ID = @ATTR_TERM_ID AND LANG_CODE = @LANG_CODE
--PRINT 'ATTRIBUTID: ' + CONVERT(VARCHAR(10),@ATTR_ID)
IF LEN(@ATTR_ID) = 0
BEGIN BEGIN
DECLARE @MSG VARCHAR(100) DECLARE @MSG VARCHAR(100)
SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']' SET @MSG = 'NO VALID ATTRIBUTE [' + @ATTRIBUTE + ']'
RAISERROR (@MSG,16,1) RAISERROR (@MSG,16,1)
END END
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
PRINT @TYP_DESCR
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
DECLARE @MY_TERM_ID BIGINT DECLARE @MY_TERM_ID BIGINT
@@ -4669,10 +4722,6 @@ BEGIN
EXEC sp_executesql @SQL1 EXEC sp_executesql @SQL1
END END
GO GO
--EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE','DEFAULT'
--GO
--EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE',''
--GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False CREATE OR ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
AS AS
BEGIN BEGIN
@@ -4680,84 +4729,45 @@ BEGIN
@ATTR_ID INTEGER, @ATTR_ID INTEGER,
@TYP_ID TINYINT, @TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT
@LANG_ID INT
--IF @ID_ISFOREIGN = 1
-- BEGIN
-- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
-- END
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE DECLARE @MY_GUID BIGINT
DECLARE @MY_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
IF @TYP_ID IN (1,8) --VARCHAR IF @TYP_ID IN (1,8) --VARCHAR
BEGIN BEGIN
PRINT 'Attribute is varchar...' PRINT 'Attribute is varchar...'
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) SELECT @MY_GUID = [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_TEXT] (@IDB_OBJ_ID,@ATTRIBUTE,@TERM,@LANG_CODE);
BEGIN
DELETE FROM TBIDB_LANGUAGE_TERM WHERE [OBJECT_ID] = (SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID);
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID;
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID;
END
ELSE
PRINT 'TERM SEEMS NOT TO EXIST'
END END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID) PRINT 'Attribute is bigint...'
BEGIN SELECT @MY_GUID = [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_INTEGER] (@IDB_OBJ_ID, @ATTRIBUTE,@TERM)
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
END
END END
ELSE IF @TYP_ID = 3 --FLOAT ELSE IF @TYP_ID = 3 --FLOAT
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID) PRINT 'Attribute is float...'
BEGIN SELECT @MY_GUID = [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_FLOAT] (@IDB_OBJ_ID, @ATTRIBUTE,@TERM)
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
END
END END
ELSE IF @TYP_ID = 4 --DECIMAL ELSE IF @TYP_ID = 4 --DECIMAL
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID) PRINT 'Attribute is decimal...'
BEGIN SELECT @MY_GUID = [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_DECIMAL] (@IDB_OBJ_ID, @ATTRIBUTE,@TERM)
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
END
END END
ELSE IF @TYP_ID = 5 --DATE ELSE IF @TYP_ID = 5 --DATE
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID) PRINT 'Attribute is date...'
BEGIN SELECT @MY_GUID = [dbo].[FNIDB_GET_METADATA_GUID_FOR_TERM_DATE] (@IDB_OBJ_ID, @ATTRIBUTE,@TERM)
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
END
END END
IF @MY_GUID IS NOT NULL
BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE GUID = @MY_GUID;
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
END
ELSE
PRINT 'TERM SEEMS NOT TO EXIST'
END END
GO GO
@@ -4923,33 +4933,6 @@ BEGIN
END END
END END
GO
--delete from TBIDB_CONVERSATION_OBJECT
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
AS
BEGIN
DECLARE
@LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID)
INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID)
DECLARE @STARTED_STATE BIGINT
SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.TITLE,'de-DE') = 'Started'
DECLARE @CONVERSATION_ID BIGINT
SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID
IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE)
INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID)
END
GO GO
CREATE OR ALTER PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pOBJECT_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100) CREATE OR ALTER PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pOBJECT_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100)
AS AS
@@ -4967,64 +4950,6 @@ BEGIN
--ELSE --ELSE
-- PRINT 'ALREADY WRITTEN IN THIS SECOND' -- PRINT 'ALREADY WRITTEN IN THIS SECOND'
END
GO
CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE'
AS
BEGIN
DECLARE
@LANG_ID INTEGER
,@ENDED_STATE BIGINT
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.TITLE,'de-DE') = 'Ended'
DECLARE @WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE)
INSERT INTO TBIDB_MYOBJECT_STATES (
MY_OBJECT_ID
,STATE_ID
,ADDED_WHO) VALUES (
@pCONVID
,@ENDED_STATE
,@WHO_TERM_ID)
END
GO
CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100)
AS
BEGIN
DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1)
INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID)
END
GO
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE'
AS
BEGIN
DECLARE
@LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID)
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO)
SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID
--IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID)
INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID)
END END
GO GO
CREATE PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT CREATE PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT
@@ -5609,7 +5534,7 @@ BEGIN
IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING') IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING')
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN) INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN)
select select
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID,@LANG_CODE),T.ADDED_WHEN,T.CHANGED_WHEN
from from
TBIDB_OBJECT_METADATA T TBIDB_OBJECT_METADATA T
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
@@ -6239,7 +6164,32 @@ GO
USE DD_ECM USE DD_ECM
GO GO
CREATE VIEW VWGI_DOCTYPE_USER AS ------------------------------------------------------------------------------
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''))
GO
CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS
SELECT DISTINCT SELECT DISTINCT
T.GUID AS [USER_ID], T.GUID AS [USER_ID],
T.USERNAME, T.USERNAME,
@@ -6270,7 +6220,7 @@ WHERE
T3.DOCTYPE_ID = T4.GUID 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 UNION
SELECT DISTINCT SELECT DISTINCT
T.GUID AS [USER_ID], T.GUID AS [USER_ID],
@@ -6297,35 +6247,113 @@ WHERE
T.GUID = T3.[USER_ID] AND T.GUID = T3.[USER_ID] AND
T3.DOCTYPE_ID = T4.GUID 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'))
GO GO
------------------------------------------------------------------------------ CREATE FUNCTION [dbo].[FNPM_IDB_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER)
RETURNS DATETIME
AS
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS BEGIN
SELECT DECLARE @RESULT DATETIME
T4.GUID as DOCTYPE_ID,
T4.BEZEICHNUNG AS DOCTYPE, IF EXISTS(SELECT CHANGED_WHEN FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID)
T4.BEZEICHNUNG AS DOCTYPE_ONLY, SELECT @RESULT = MAX(CHANGED_WHEN) FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID
T4.KURZNAME, ELSE
T4.FOLDER_FOR_INDEX DYNAMIC_FOLDER, SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T
T4.AKTIV, WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID
T4.NAMENKONVENTION, RETURN @RESULT
T4.OBJEKTTYP, END
T6.OBJECT_TITLE AS OBJECT_STORE, GO
T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, ALTER VIEW DD_ECM.[dbo].[VWPM_CONTROL_INDEX] AS
T7.CAT_TITLE AS OBJECT_ST_PATH, SELECT TOP 100 PERCENT
T4.ERSTELLTWANN, T1.GUID,
T4.GEAENDERTWANN, T.GUID PROFIL_ID,
T4.SEQUENCE, T.NAME PROFIL_NAME,
T4.IDB_DOCTYPE_ID T.LOG_INDEX,
FROM T1.NAME CTRL_NAME,
DD_ECM.dbo.TBDD_DOKUMENTART T4 LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID T1.CTRL_TYPE,
LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID 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 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'))) T.GUID = T1.PROFIL_ID
AND T1.CONTROL_ACTIVE = 1
ORDER BY
T.GUID,
T1.X_LOC,
T1.Y_LOC
GO GO
ALTER VIEW DD_ECM.[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,
T1.VKT_ADD_ITEM
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

View File

@@ -1,14 +1,14 @@
USE [IDB] USE [IDB]
GO GO
/****** Object: FullTextCatalog [Fulltext] Script Date: 11.03.2022 09:27:07 ******/ /****** Object: FullTextCatalog [Fulltext] Script Date: 11.03.2022 09:27:07 ******/
CREATE FULLTEXT CATALOG [Fulltext_DE] WITH ACCENT_SENSITIVITY = ON CREATE FULLTEXT CATALOG [Fulltext_DE] WITH ACCENT_SENSITIVITY = ON
AS DEFAULT AS DEFAULT
GO GO
CREATE FULLTEXT INDEX ON dbo.TBIDB_TERM_VALUE_VARCHAR(TERM_VALUE LANGUAGE 1) KEY INDEX PK_TBIDB_TERM_VALUE_VARCHAR; CREATE FULLTEXT INDEX ON dbo.TBIDB_TERM_VALUE_VARCHAR(TERM_VALUE LANGUAGE 1) KEY INDEX PK_TBIDB_TERM_VALUE_VARCHAR;
GO GO
CREATE FULLTEXT INDEX ON dbo.TBIDB_FULLTEXT_OBJECT(FULL_TEXT) KEY INDEX PK_TBIDB_FULLTEXT_OBJECT; CREATE FULLTEXT INDEX ON dbo.TBIDB_FULLTEXT_OBJECT(FULL_TEXT) KEY INDEX PK_TBIDB_FULLTEXT_OBJECT;
GO GO
--DROP FULLTEXT INDEX ON TBIDB_FULLTEXT_OBJECT; --DROP FULLTEXT INDEX ON TBIDB_FULLTEXT_OBJECT;
GO GO

View File

@@ -1,16 +1,16 @@
CREATE OR ALTER VIEW VWIDB_DOC_STATES AS CREATE OR ALTER VIEW VWIDB_DOC_STATES AS
SELECT SELECT
A.GUID ID A.GUID ID
,A.MY_OBJECT_ID AS IDB_OBJ_ID ,A.MY_OBJECT_ID AS IDB_OBJ_ID
,C.LANG_ID ,C.LANG_ID
,LANG.LANG_CODE ,LANG.LANG_CODE
,TERM.TERM_VALUE AS STATE_LANG ,TERM.TERM_VALUE AS STATE_LANG
,A.ADDED_WHEN ,A.ADDED_WHEN
FROM FROM
TBIDB_MYOBJECT_STATES A INNER JOIN TBIDB_OBJ_STATES B ON A.STATE_ID = B.GUID TBIDB_MYOBJECT_STATES A INNER JOIN TBIDB_OBJ_STATES B ON A.STATE_ID = B.GUID
INNER JOIN TBIDB_LANGUAGE_TERM C ON B.GUID = C.OBJECT_ID INNER JOIN TBIDB_LANGUAGE_TERM C ON B.GUID = C.OBJECT_ID
INNER JOIN TBIDB_LANGUAGE LANG ON C.LANG_ID = LANG.GUID INNER JOIN TBIDB_LANGUAGE LANG ON C.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON C.TERM_ID = TERM.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON C.TERM_ID = TERM.GUID
WHERE WHERE
C.KIND_TYPE = 3 C.KIND_TYPE = 3
GO GO

View File

@@ -1,117 +1,117 @@
CREATE OR ALTER PROCEDURE PRIDB_SEARCH_TEXT_GET_RESULTS (@pUSR_ID as INTEGER,@pSEARCH_TERM as VARCHAR(900),@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE') CREATE OR ALTER PROCEDURE PRIDB_SEARCH_TEXT_GET_RESULTS (@pUSR_ID as INTEGER,@pSEARCH_TERM as VARCHAR(900),@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE')
AS AS
BEGIN BEGIN
DECLARE @SRCH_VAR VARCHAR(900), @SQL NVARCHAR(MAX),@DateStr VARCHAR(100) DECLARE @SRCH_VAR VARCHAR(900), @SQL NVARCHAR(MAX),@DateStr VARCHAR(100)
IF @pSEARCH_TERM like '%*%' IF @pSEARCH_TERM like '%*%'
SET @SRCH_VAR = ' "' + @pSEARCH_TERM + '" ' SET @SRCH_VAR = ' "' + @pSEARCH_TERM + '" '
ELSE ELSE
SET @SRCH_VAR = @pSEARCH_TERM SET @SRCH_VAR = @pSEARCH_TERM
PRINT '@SRCH_VAR [' + @SRCH_VAR + ']' PRINT '@SRCH_VAR [' + @SRCH_VAR + ']'
DELETE FROM TBIDB_SEARCH_RESULT_USER WHERE USR_ID = @pUSR_ID; DELETE FROM TBIDB_SEARCH_RESULT_USER WHERE USR_ID = @pUSR_ID;
IF LEN(@pDATE_RESTRICTION) > 0 IF LEN(@pDATE_RESTRICTION) > 0
BEGIN BEGIN
PRINT '@pDATE_RESTRICTION....' PRINT '@pDATE_RESTRICTION....'
DECLARE @IDX TINYINT, @ATTR_ID VARCHAR(100) DECLARE @IDX TINYINT, @ATTR_ID VARCHAR(100)
SET @IDX = CHARINDEX('~',@pDATE_RESTRICTION) SET @IDX = CHARINDEX('~',@pDATE_RESTRICTION)
PRINT '@IDX: ' + CONVERT(VARCHAR(10),@IDX) PRINT '@IDX: ' + CONVERT(VARCHAR(10),@IDX)
SET @ATTR_ID = LEFT(@pDATE_RESTRICTION,@IDX-1) SET @ATTR_ID = LEFT(@pDATE_RESTRICTION,@IDX-1)
PRINT CONVERT(VARCHAR(10),@ATTR_ID) PRINT CONVERT(VARCHAR(10),@ATTR_ID)
SET @DateStr = SUBSTRING(@pDATE_RESTRICTION,@IDX + 1,LEN(@pDATE_RESTRICTION)-@IDX) SET @DateStr = SUBSTRING(@pDATE_RESTRICTION,@IDX + 1,LEN(@pDATE_RESTRICTION)-@IDX)
PRINT @DateStr PRINT @DateStr
END END
SET @SQL = 'INSERT INTO TBIDB_SEARCH_RESULT_USER(MD_GUID,USR_ID) SET @SQL = 'INSERT INTO TBIDB_SEARCH_RESULT_USER(MD_GUID,USR_ID)
select MD.GUID,' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) + select MD.GUID,' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) +
'FROM TBIDB_TERM_VALUE_VARCHAR TERM 'FROM TBIDB_TERM_VALUE_VARCHAR TERM
INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TERM.GUID = TLANG.TERM_ID INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TERM.GUID = TLANG.TERM_ID
INNER JOIN TBIDB_LANGUAGE LANG ON TLANG.LANG_ID = LANG.GUID INNER JOIN TBIDB_LANGUAGE LANG ON TLANG.LANG_ID = LANG.GUID
INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.ACTIVE = 1' + char(10) OBJ.ACTIVE = 1' + char(10)
IF @DateStr = 'DATEPART' IF @DateStr = 'DATEPART'
BEGIN BEGIN
DECLARE @DATE1 DATE,@DATE2 DATE DECLARE @DATE1 DATE,@DATE2 DATE
SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID;
SET @SQL += 'AND CONVERT(DATE,OBJ.ADDED_WHEN) >= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE1) + ''') AND CONVERT(DATE,OBJ.ADDED_WHEN) <= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE2) + ''')' + char(10) SET @SQL += 'AND CONVERT(DATE,OBJ.ADDED_WHEN) >= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE1) + ''') AND CONVERT(DATE,OBJ.ADDED_WHEN) <= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE2) + ''')' + char(10)
END END
ELSE IF @DateStr = 'ECM_CREATED_TODAY' ELSE IF @DateStr = 'ECM_CREATED_TODAY'
SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 0' + char(10) SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 0' + char(10)
ELSE IF @DateStr = 'ECM_CREATED_YESTERDAY' ELSE IF @DateStr = 'ECM_CREATED_YESTERDAY'
SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 1' + char(10) SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 1' + char(10)
ELSE IF @DateStr = 'ECM_CREATED_LAST7DAYS' ELSE IF @DateStr = 'ECM_CREATED_LAST7DAYS'
SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) <= 7' + char(10) SET @SQL += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) <= 7' + char(10)
ELSE IF @DateStr = 'ECM_YEAR_CURRENT' ELSE IF @DateStr = 'ECM_YEAR_CURRENT'
SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10)
ELSE IF @DateStr = 'ECM_YEAR_LAST' ELSE IF @DateStr = 'ECM_YEAR_LAST'
SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10)
ELSE IF @DateStr = 'ECM_CREATED_MONTH_CURRENT' ELSE IF @DateStr = 'ECM_CREATED_MONTH_CURRENT'
BEGIN BEGIN
SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10)
SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())' + char(10) SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())' + char(10)
END END
ELSE IF @DateStr = 'ECM_CREATED_MONTH_LAST' ELSE IF @DateStr = 'ECM_CREATED_MONTH_LAST'
BEGIN BEGIN
IF DATEPART(MONTH,GETDATE()) = 1 IF DATEPART(MONTH,GETDATE()) = 1
BEGIN BEGIN
SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10)
SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = 12' + char(10) SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = 12' + char(10)
END END
ELSE ELSE
BEGIN BEGIN
SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) SET @SQL += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10)
SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())-1' + char(10) SET @SQL += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())-1' + char(10)
END END
END END
IF LEN(@SRCH_VAR) > 0 IF LEN(@SRCH_VAR) > 0
BEGIN BEGIN
IF @pSEARCH_TERM like '%*%' IF @pSEARCH_TERM like '%*%'
SET @SQL += 'AND CONTAINS(TERM.TERM_VALUE,''' + @SRCH_VAR + ''')' + char(10) SET @SQL += 'AND CONTAINS(TERM.TERM_VALUE,''' + @SRCH_VAR + ''')' + char(10)
ELSE ELSE
SET @SQL += 'AND TERM.TERM_VALUE = ''' + @SRCH_VAR + '''' + char(10) SET @SQL += 'AND TERM.TERM_VALUE = ''' + @SRCH_VAR + '''' + char(10)
END END
SET @SQL += 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' SET @SQL += 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + ''''
PRINT @SQL PRINT @SQL
EXEC sp_executesql @SQL EXEC sp_executesql @SQL
END END
GO GO
EXEC PRIDB_SEARCH_TEXT_GET_RESULTS 1,'strun*','' --doct* EXEC PRIDB_SEARCH_TEXT_GET_RESULTS 1,'strun*','' --doct*
GO GO
SELECT SELECT
DOC.* DOC.*
FROM FROM
TBIDB_SEARCH_RESULT_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID TBIDB_SEARCH_RESULT_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID
INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID
WHERE WHERE
RES.USR_ID = 1 AND VWLTERM.LANG_CODE = '@LANG_CODE' RES.USR_ID = 1 AND VWLTERM.LANG_CODE = '@LANG_CODE'
--' "doct*" --' "doct*"
EXEC PRIDB_SEARCH_TEXT_GET_RESULTS 1,'','ADDED_WHEN~ECM_CREATED_MONTH_CURRENT' EXEC PRIDB_SEARCH_TEXT_GET_RESULTS 1,'','ADDED_WHEN~ECM_CREATED_MONTH_CURRENT'
select * from TBIDB_OBJECT order by IDB_OBJ_ID desc select * from TBIDB_OBJECT order by IDB_OBJ_ID desc
CREATE TABLE TBIDB_SEARCH_DATE_VALUE_USER CREATE TABLE TBIDB_SEARCH_DATE_VALUE_USER
( (
USR_ID INTEGER USR_ID INTEGER
,DATE_FROM DATE NOT NULL ,DATE_FROM DATE NOT NULL
,DATE_TILL DATE ,DATE_TILL DATE
CONSTRAINT PK_TBIDB_SEARCH_DATE_VALUE_USER PRIMARY KEY (USR_ID) CONSTRAINT PK_TBIDB_SEARCH_DATE_VALUE_USER PRIMARY KEY (USR_ID)
) )
GO GO
CREATE PROCEDURE PRIDB_SEARCH_ADD_USR_DATE @USERID INT,@DATE1 DATE, @DATE2 DATE CREATE PROCEDURE PRIDB_SEARCH_ADD_USR_DATE @USERID INT,@DATE1 DATE, @DATE2 DATE
AS AS
BEGIN BEGIN
DELETE FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @USERID; DELETE FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @USERID;
INSERT INTO TBIDB_SEARCH_DATE_VALUE_USER (USR_ID,DATE_FROM,DATE_TILL) VALUES INSERT INTO TBIDB_SEARCH_DATE_VALUE_USER (USR_ID,DATE_FROM,DATE_TILL) VALUES
(@USERID,@DATE1,@DATE2); (@USERID,@DATE1,@DATE2);
END END

View File

@@ -1,19 +1,19 @@
--Prüfung Volltext is enabled --Prüfung Volltext is enabled
SELECT name as [DBName], is_fulltext_enabled SELECT name as [DBName], is_fulltext_enabled
FROM sys.databases FROM sys.databases
--volltextcatalog vorhanden --volltextcatalog vorhanden
SELECT * FROM sys.fulltext_catalogs; SELECT * FROM sys.fulltext_catalogs;
--Prüfen wieviele Tabellen enthalten --Prüfen wieviele Tabellen enthalten
EXEC sp_help_fulltext_catalogs; EXEC sp_help_fulltext_catalogs;
--###### SUCHEN ##### --###### SUCHEN #####
--SUCHEN NACH GANZEN WORTEN --SUCHEN NACH GANZEN WORTEN
select * from TBIDB_FULLTEXT_OBJECT A select * from TBIDB_FULLTEXT_OBJECT A
WHERE CONTAINS(FULL_TEXT,'Kabel') WHERE CONTAINS(FULL_TEXT,'Kabel')
--SUCHEN NACH Teilen --SUCHEN NACH Teilen
--BEGINNEND MIT --BEGINNEND MIT
select * from TBIDB_FULLTEXT_OBJECT A select * from TBIDB_FULLTEXT_OBJECT A
WHERE CONTAINS(FULL_TEXT,' "do*" ') WHERE CONTAINS(FULL_TEXT,' "do*" ')
--ENDEND MIT --ENDEND MIT
select * from TBIDB_FULLTEXT_OBJECT A select * from TBIDB_FULLTEXT_OBJECT A
WHERE CONTAINS(FULL_TEXT,' "*ut" ') WHERE CONTAINS(FULL_TEXT,' "*ut" ')

View File

@@ -0,0 +1,229 @@
DROP TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
DROP TABLE TBIDB_STRUCTURE_NODES
CREATE TABLE TBIDB_STRUCTURE_NODES
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
PARENT_ID BIGINT NOT NULL DEFAULT 0,
NODE_CAPTION VARCHAR(250) NOT NULL,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_STRUCTURE_NODES PRIMARY KEY (GUID),
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,NODE_CAPTION)
)
GO
CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES
FOR UPDATE
AS
UPDATE TBIDB_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID
GO
CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
SN_ID BIGINT NOT NULL,
IDB_OBJ_ID BIGINT NOT NULL,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_SN_IDB_OBJ PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_SN_IDB_OBJ_SN_ID FOREIGN KEY (SN_ID) REFERENCES TBIDB_STRUCTURE_NODES (GUID),
CONSTRAINT FK_TBIDB_SN_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT UQ_TBIDB_SN_IDB_OBJ UNIQUE(SN_ID,IDB_OBJ_ID)
)
GO
CREATE TABLE TBIDB_STRUCTURE_NODES_RELATIONS
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
SN_ID BIGINT NOT NULL,
USR_ID INT,
GRP_ID INT,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_STRUCTURE_NODES_RELATIONS PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_STRUCTURE_NODES_RELATIONS_SN_ID FOREIGN KEY (SN_ID) REFERENCES TBIDB_STRUCTURE_NODES (GUID),
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES_RELATIONS UNIQUE(SN_ID,USR_ID,GRP_ID)
)
GO
CREATE OR ALTER VIEW VWIDB_SN_RELATIONS
AS
SELECT SNR.GUID as REL_ID, SNR.SN_ID, SN.NODE_CAPTION, USR.EMAIL as Identification, 'USR' as Scope, USR.GUID ScopeID
FROM
TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_USER USR ON SNR.USR_ID = USR.GUID
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID
UNION
SELECT SNR.GUID as REL_ID, SNR.SN_ID,SN.NODE_CAPTION, GRP.NAME as Identification, 'GRP' as Scope, GRP.GUID ScopeID
FROM
TBIDB_STRUCTURE_NODES_RELATIONS SNR INNER JOIN DD_ECM.dbo.TBDD_GROUPS GRP ON SNR.GRP_ID = GRP.GUID
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SNR.SN_ID = SN.GUID
GO
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS
SELECT
LTERM.GUID
,LTERM.TERM_ID
,TERM.TERM_VALUE
,LTERM.LANG_ID
,LANG.LANG_CODE
FROM
TBIDB_LANGUAGE_TERM LTERM
INNER JOIN TBIDB_LANGUAGE LANG ON LTERM.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON LTERM.TERM_ID = TERM.GUID
WHERE
LTERM.KIND_TYPE = 4
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_LANGUAGE_TERM] @pOBJ_ID BIGINT, @pTERM_ID BIGINT,@pWHO_TERM_ID BIGINT,@pKIND_TYPE INT,@pLANG_ID TINYINT, @OUT_LANG_TERM_GUID BIGINT OUTPUT
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND KIND_TYPE = @pKIND_TYPE )
INSERT INTO TBIDB_LANGUAGE_TERM (OBJECT_ID,TERM_ID,LANG_ID,ADDED_WHO,KIND_TYPE) VALUES (@pOBJ_ID,@pTERM_ID,@pLANG_ID,@pWHO_TERM_ID,@pKIND_TYPE)
ELSE
BEGIN
UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @pTERM_ID,CHANGED_WHO = @pWHO_TERM_ID WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND KIND_TYPE = @pKIND_TYPE
AND TERM_ID <> @pTERM_ID
PRINT 'NEW LANG TERM ALREADY EXISTING'
END
SELECT @OUT_LANG_TERM_GUID = GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND TERM_ID = @pTERM_ID AND KIND_TYPE = @pKIND_TYPE
PRINT 'NEW LANGTERMID: ' + CONVERT(VARCHAR(10),@OUT_LANG_TERM_GUID)
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
CREATE OR ALTER PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT
AS
BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLD_PART VARCHAR(250),@FOLD_PATH_SO_FAR VARCHAR(900)
SET @FOLDER_DEPTH = 0
DECLARE @PARENT_NODE_GUID BIGINT,@SN_ID BIGINT
--SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
OPEN cursSplitFolder
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
WHILE @@FETCH_STATUS = 0
BEGIN
--EACH FOLDER PART WORKED SEPERATELY
IF @FOLDER_DEPTH = 0
BEGIN
SET @PARENT_NODE_GUID = 0
SET @FOLD_PATH_SO_FAR = @FOLD_PART
END
ELSE
BEGIN
SET @FOLD_PATH_SO_FAR += '\' + @FOLD_PART
END
PRINT '##############################'
PRINT 'WORKING ON @FOLD_PATH_SO_FAR: ' + @FOLD_PATH_SO_FAR
EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @FOLD_PART,@pWHO, @pLANG_ID, @LAST_SN_ID OUTPUT
SET @PARENT_NODE_GUID = @LAST_SN_ID
SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END
CLOSE cursSplitFolder
DEALLOCATE cursSplitFolder
END
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pNODE_PARENT_ID BIGINT, @pNODECAPTION VARCHAR(200),@pWHO VARCHAR(100), @pLANG_ID TINYINT, @OUT_SN_ID BIGINT OUTPUT
AS
BEGIN
DECLARE
@WHO_TERM_ID BIGINT, @NODECAPTION_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO, @TERM_ID = @WHO_TERM_ID OUTPUT;
EXEC PRIDB_NEW_TERM 'VARCHAR',@pNODECAPTION,@pWHO, @TERM_ID = @NODECAPTION_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LANG_ID = @pLANG_ID)
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO);
ELSE
IF NOT EXISTS(SELECT SN_ID FROM VWIDB_STRUCTURE_NODES_STRUCTURE WHERE SN_PARENT_ID = @pNODE_PARENT_ID AND LTERM_TERMID = @NODECAPTION_TERM_ID AND LANG_ID = @pLANG_ID)
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,NODE_CAPTION,ADDED_WHO) VALUES (@pNODE_PARENT_ID,@pNODECAPTION,@pWHO);
BEGIN
SELECT @OUT_SN_ID = MAX(GUID) FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pNODE_PARENT_ID AND NODE_CAPTION = @pNODECAPTION
END
DECLARE @OUT_LANG_TERM_GUID BIGINT
EXEC [PRIDB_NEW_LANGUAGE_TERM] @OUT_SN_ID, @NODECAPTION_TERM_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID OUTPUT
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
CREATE OR ALTER PROCEDURE PRIDB_NEW_STUCTURE_NODE_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pSN_ID BIGINT,@pWHO VARCHAR(100),@pLANG_ID TINYINT, @LAST_SN_ID BIGINT OUTPUT
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES_IDB_OBJ WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND SN_ID = @pSN_ID)
INSERT INTO TBIDB_STRUCTURE_NODES_IDB_OBJ (IDB_OBJ_ID,SN_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@pSN_ID,@pWHO);
END
GO
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS
SELECT
SN.GUID NODE_ID
,SN.PARENT_ID NODE_PARENT_ID
,LTERM.TERM_ID
,LTERM.OBJECT_ID OBJ_ID
,TERM.TERM_VALUE AS NODE_CAPTION
,LTERM.LANG_ID
,LANG.LANG_CODE
FROM
TBIDB_STRUCTURE_NODES SN INNER JOIN
TBIDB_LANGUAGE_TERM LTERM ON SN.TERM_LANG_ID = LTERM.GUID
INNER JOIN TBIDB_LANGUAGE LANG ON LTERM.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON LTERM.TERM_ID = TERM.GUID
WHERE
LTERM.KIND_TYPE = 4
GO
CREATE OR ALTER VIEW [dbo].[VWIDB_STRUCTURE_NODES_STRUCTURE] AS
select
SN.GUID SN_ID
,SN.PARENT_ID SN_PARENT_ID
,SN.NODE_CAPTION SN_NODE_CAPTION
,T2.TERM_ID LTERM_TERMID
,T3.TERM_VALUE
,T4.LANG_CODE
,T4.GUID as LANG_ID
,SN.ADDED_WHO SN_ADDED_WHO
,SN.ADDED_WHEN SN_ADDED_WHEN
,T2.CHANGED_WHO TERM_CHANGED_WHO
,T2.CHANGED_WHEN TERM_CHANGED_WHEN
from
TBIDB_STRUCTURE_NODES SN INNER JOIN
TBIDB_LANGUAGE_TERM T2 ON SN.GUID = T2.[OBJECT_ID]
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID
WHERE
T2.KIND_TYPE = 4
GO
CREATE VIEW [dbo].[VWIDB_SN_DYNAMIC_FOLDER_OBJECT] AS
select
SN_OBJ.GUID AS SN_REL_ID,
SN_OBJ.IDB_OBJ_ID,
SN.GUID SN_ID,
SN.PARENT_ID SN_PARENT_ID,
OBJ.PARENT_OBJ_ID,
T3.TERM_VALUE AS LANG_NODE_CAPTION ,
LTERM.LANG_ID,
T4.LANG_CODE,
SN_OBJ.ADDED_WHO,
SN_OBJ.ADDED_WHEN
from
TBIDB_STRUCTURE_NODES_IDB_OBJ SN_OBJ
INNER JOIN TBIDB_STRUCTURE_NODES SN ON SN_OBJ.SN_ID = SN.GUID
INNER JOIN TBIDB_LANGUAGE_TERM LTERM ON SN_OBJ.SN_ID = LTERM.OBJECT_ID
INNER JOIN TBIDB_OBJECT OBJ ON SN_OBJ.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON LTERM.TERM_ID = T3.GUID
INNER JOIN TBIDB_LANGUAGE T4 ON LTERM.LANG_ID = T4.GUID
WHERE OBJ.ACTIVE = 1 AND LTERM.KIND_TYPE = 4
GO

View File

@@ -1,176 +1,176 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION'
GO GO
ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT SELECT
T.[BE_ID] T.[BE_ID]
,T2.TITLE AS BE ,T2.TITLE AS BE
,[ATTR_ID] ,[ATTR_ID]
,T.DEFAULT_SEARCH_ATTRIBUTE ,T.DEFAULT_SEARCH_ATTRIBUTE
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
,T1.VIEW_VISIBLE ,T1.VIEW_VISIBLE
,T1.VIEW_SEQUENCE ,T1.VIEW_SEQUENCE
,T5.GUID AS LANG_ID ,T5.GUID AS LANG_ID
,T5.LANG_CODE ,T5.LANG_CODE
,T.ADDED_WHEN ,T.ADDED_WHEN
,T.ADDED_WHO ,T.ADDED_WHO
,T.CHANGED_WHEN ,T.CHANGED_WHEN
,T.CHANGED_WHO ,T.CHANGED_WHO
FROM FROM
[TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
WHERE WHERE
T1.DELETED = 0 T1.DELETED = 0
UNION UNION
SELECT SELECT
T.[BE_ID] T.[BE_ID]
,T2.TITLE AS BE ,T2.TITLE AS BE
,[ATTR_ID] ,[ATTR_ID]
,T.DEFAULT_SEARCH_ATTRIBUTE ,T.DEFAULT_SEARCH_ATTRIBUTE
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
,T1.VIEW_VISIBLE ,T1.VIEW_VISIBLE
,T1.VIEW_SEQUENCE ,T1.VIEW_SEQUENCE
,T5.GUID AS LANG_ID ,T5.GUID AS LANG_ID
,T5.LANG_CODE ,T5.LANG_CODE
,T.ADDED_WHEN ,T.ADDED_WHEN
,T.ADDED_WHO ,T.ADDED_WHO
,T.CHANGED_WHEN ,T.CHANGED_WHEN
,T.CHANGED_WHO ,T.CHANGED_WHO
FROM FROM
GO GO
ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT'
AS AS
DECLARE DECLARE
@ATTR_ID INT, @ATTR_ID INT,
@TITLE VARCHAR(100), @TITLE VARCHAR(100),
@TYPID INT, @TYPID INT,
@SQL1 NVARCHAR(MAX), @SQL1 NVARCHAR(MAX),
@Date Varchar(20), @Date Varchar(20),
@Bool4 Varchar(1), @Bool4 Varchar(1),
@Integer24 Varchar(20), @Integer24 Varchar(20),
@Float Varchar(20), @Float Varchar(20),
@RELPATH Varchar(200), @RELPATH Varchar(200),
@SEQUENCE Integer, @SEQUENCE Integer,
@NAME_VIEW VARCHAR(20) @NAME_VIEW VARCHAR(20)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @NAME_VIEW = 'VWIDB_DOC_DATA_' SET @NAME_VIEW = 'VWIDB_DOC_DATA_'
ELSE ELSE
SET @NAME_VIEW = 'VWIDB_DOCRESULT_' SET @NAME_VIEW = 'VWIDB_DOCRESULT_'
SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9) SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @SQL1 += +'T.IDB_OBJ_ID' + char(10) SET @SQL1 += +'T.IDB_OBJ_ID' + char(10)
ELSE ELSE
SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10) SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10)
SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10) SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10)
BEGIN BEGIN
DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR
SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE
FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL
ORDER BY VIEW_SEQUENCE ORDER BY VIEW_SEQUENCE
OPEN c_PRIDB_CREATE_VIEW_DOC_DATA OPEN c_PRIDB_CREATE_VIEW_DOC_DATA
FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50) DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50)
IF @TYPID IN (1,8) IF @TYPID IN (1,8)
BEGIN BEGIN
SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))' SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE)
END END
ELSE ELSE
SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))' SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID') SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID')
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID)
IF @TYPID = 1 IF @TYPID = 1
SET @FN_TYP = 'TEXT' SET @FN_TYP = 'TEXT'
ELSE IF @TYPID = 2 ELSE IF @TYPID = 2
SET @FN_TYP = 'INTEGER' SET @FN_TYP = 'INTEGER'
ELSE IF @TYPID = 3 ELSE IF @TYPID = 3
SET @FN_TYP = 'FLOAT' SET @FN_TYP = 'FLOAT'
ELSE IF @TYPID = 4 ELSE IF @TYPID = 4
SET @FN_TYP = 'DECIMAL' SET @FN_TYP = 'DECIMAL'
ELSE IF @TYPID = 5 ELSE IF @TYPID = 5
SET @FN_TYP = 'DATE' SET @FN_TYP = 'DATE'
ELSE IF @TYPID = 6 ELSE IF @TYPID = 6
SET @FN_TYP = 'DATE_TIME' SET @FN_TYP = 'DATE_TIME'
ELSE IF @TYPID = 7 ELSE IF @TYPID = 7
SET @FN_TYP = 'BIT' SET @FN_TYP = 'BIT'
ELSE IF @TYPID = 8 ELSE IF @TYPID = 8
SET @FN_TYP = 'TEXT_VECTOR' SET @FN_TYP = 'TEXT_VECTOR'
ELSE IF @TYPID = 8 ELSE IF @TYPID = 8
SET @FN_TYP = 'INTEGER_VECTOR' SET @FN_TYP = 'INTEGER_VECTOR'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP)
--PRINT '@FN_COMMAND: ' + @FN_COMMAND --PRINT '@FN_COMMAND: ' + @FN_COMMAND
SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10) SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10)
--PRINT @SQL1 --PRINT @SQL1
FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE
END END
CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA
DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
BEGIN BEGIN
SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10) SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10)
+ char(9) + ',T5.TERM_VALUE AS DocName' + char(10) + char(9) + ',T5.TERM_VALUE AS DocName' + char(10)
+ char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10) + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10)
+ char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10) + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10)
END END
SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10) SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10)
+ char(9) + ',T.ADDED_WHO AS [Added who]' + char(10) + char(9) + ',T.ADDED_WHO AS [Added who]' + char(10)
+ char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10) + char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10)
+ char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10) + char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10)
SET @SQL1 += 'FROM' + char(10) SET @SQL1 += 'FROM' + char(10)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10)
+ char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10)
ELSE ELSE
SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10) SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10)
+ char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10)
SET @SQL1 += 'WHERE' + char(10) SET @SQL1 += 'WHERE' + char(10)
+ char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10) + char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10)
+ char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1'
PRINT @SQL1 PRINT @SQL1
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2))) IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)))
BEGIN BEGIN
DECLARE @DELETE NVARCHAR(100) DECLARE @DELETE NVARCHAR(100)
SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']' SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']'
EXEC sp_executesql @DELETE EXEC sp_executesql @DELETE
END END
EXEC sp_executesql @SQL1 EXEC sp_executesql @SQL1
END END
GO GO
DELETE FROM TBIDB_CATALOG WHERE CAT_TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT'); DELETE FROM TBIDB_CATALOG WHERE CAT_TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT');
DELETE FROM TBIDB_COMMON_SQL WHERE TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT','RECENT_FILES_USER'); DELETE FROM TBIDB_COMMON_SQL WHERE TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT','RECENT_FILES_USER');
INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_LAYOUT_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM DD_ECM.dbo.TBDD_USER WHERE ACTIVE = 1') INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_LAYOUT_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM DD_ECM.dbo.TBDD_USER WHERE ACTIVE = 1')
GO GO
INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER') INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER')
GO GO
INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('RECENT_FILES_USER','--3 Columns are needed: 1 DocID, 2 Description1, 3 Description2 INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('RECENT_FILES_USER','--3 Columns are needed: 1 DocID, 2 Description1, 3 Description2
SELECT TOP 10 DocID,Doctype,DisplayFileName FROM VWIDB_DOCRESULT_DE WHERE [Changed who] = ''@UserName'' ORDER BY [Changed when] DESC') SELECT TOP 10 DocID,Doctype,DisplayFileName FROM VWIDB_DOCRESULT_DE WHERE [Changed who] = ''@UserName'' ORDER BY [Changed when] DESC')
GO GO
INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_INDIVIDUAL','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = 1) A') INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_INDIVIDUAL','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = 1) A')
GO GO
INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_GROUP','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USR_ID))) A') INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_GROUP','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USR_ID))) A')
GO GO

View File

@@ -0,0 +1,140 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.2' 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_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_OBJECT_STRUCTURE_TYPE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
--DELETE FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID
DELETE FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
DELETE FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID;
END
GO
EXEC PRIDB_NEW_IDB_STATE 'IDBObject deleted1', 'SYSTEM';
GO
CREATE OR ALTER VIEW VWIDB_OBJ_STATES AS
SELECT
A.GUID ID
,A.MY_OBJECT_ID AS IDB_OBJ_ID
,C.LANG_ID
,LANG.LANG_CODE
,TERM.TERM_VALUE AS STATE_LANG
,A.ADDED_WHEN
FROM
TBIDB_MYOBJECT_STATES A INNER JOIN TBIDB_STATES B ON A.STATE_ID = B.GUID
INNER JOIN TBIDB_LANGUAGE_TERM C ON B.GUID = C.OBJECT_ID
INNER JOIN TBIDB_LANGUAGE LANG ON C.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON C.TERM_ID = TERM.GUID
WHERE
C.KIND_TYPE = 3
GO
ALTER PROCEDURE [dbo].[PRIDB_OBJECT_SET_DELETED] @IDB_OBJECT BIGINT, @WHO VARCHAR(100)
AS
BEGIN
UPDATE TBIDB_OBJECT SET DELETED = 1,CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJECT;
EXEC PRIDB_OBJECT_SET_STATE @IDB_OBJECT,'IDBObject deleted1',@WHO;
END
GO
USE [IDB]
GO
--CHANGED 28.06.2023 MS
ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
AS
BEGIN
DECLARE
@ATTR_ID INTEGER,
@TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100),
@MULTI BIT,
@LANG_ID INT
--IF @ID_ISFOREIGN = 1
-- BEGIN
-- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
-- END
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
DECLARE @MY_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
IF @TYP_ID IN (1,8) --VARCHAR
BEGIN
PRINT 'Attribute is varchar...'
IF EXISTS(SELECT MD.GUID FROM TBIDB_OBJECT_METADATA MD INNER JOIN TBIDB_LANGUAGE_TERM LT ON MD.GUID = LT.[OBJECT_ID] WHERE MD.IDB_OBJ_ID = @IDB_OBJ_ID AND MD.ATTR_ID = @ATTR_ID
AND LT.TERM_ID = @MY_TERM_ID)
BEGIN
DELETE FROM TBIDB_LANGUAGE_TERM WHERE [OBJECT_ID] = (SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
AND TERM_ID = @MY_TERM_ID;
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID;
END
ELSE
PRINT 'TERM SEEMS NOT TO EXIST'
END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID)
BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
END
END
ELSE IF @TYP_ID = 3 --FLOAT
BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID)
BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
END
END
ELSE IF @TYP_ID = 4 --DECIMAL
BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID)
BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
END
END
ELSE IF @TYP_ID = 5 --DATE
BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID)
BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
END
END
END

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

@@ -1,35 +1,35 @@
CREATE TABLE TBIDB_BASE CREATE TABLE TBIDB_BASE
( (
GUID INTEGER NOT NULL IDENTITY (1, 1), GUID INTEGER NOT NULL IDENTITY (1, 1),
CONFIG_NAME VARCHAR(900) NOT NULL, CONFIG_NAME VARCHAR(900) NOT NULL,
CONFIG_VALUE VARCHAR(MAX) NOT NULL, CONFIG_VALUE VARCHAR(MAX) NOT NULL,
COMMENT VARCHAR(500), COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30), CHANGED_WHO VARCHAR(30),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_BASE PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_BASE PRIMARY KEY (GUID),
CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME) CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME)
) )
GO GO
CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_BASE.GUID = INSERTED.GUID WHERE TBIDB_BASE.GUID = INSERTED.GUID
GO GO
INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1') INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1')
GO GO
ALTER TABLE TBIDB_OBJECT_STORE ADD IS_ARCHIVE BIT NOT NULL DEFAULT 0 ALTER TABLE TBIDB_OBJECT_STORE ADD IS_ARCHIVE BIT NOT NULL DEFAULT 0
GO GO
CREATE VIEW VWIDB_OBJECTSTORE AS CREATE VIEW VWIDB_OBJECTSTORE AS
SELECT SELECT
T.GUID As OST_ID, T.GUID As OST_ID,
T.OBJECT_TITLE AS OS_TITLE, T.OBJECT_TITLE AS OS_TITLE,
T.IS_ARCHIVE AS OS_IS_ARCHIVE, T.IS_ARCHIVE AS OS_IS_ARCHIVE,
T1.CAT_STRING AS IDB_PRAEFIX T1.CAT_STRING AS IDB_PRAEFIX
FROM FROM
TBIDB_OBJECT_STORE T TBIDB_OBJECT_STORE T
INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID
GO GO

View File

@@ -1,4 +1,4 @@
UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.2' where CAT_STRING = 'DB_VERSION' UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.2' where CAT_STRING = 'DB_VERSION'
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_TITLE) VALUES ('GHOST_SELECT',' INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_TITLE) VALUES ('GHOST_SELECT','
SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM DD_ECM.dbo.TBDD_USER T ORDER BY USERNAME') SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM DD_ECM.dbo.TBDD_USER T ORDER BY USERNAME')
GO GO

View File

@@ -1,417 +1,417 @@
/* /*
FNDD_CHECK_USER_MODULE FNDD_CHECK_USER_MODULE
#PM.CONV_IDENTIFICATION=Email #PM.CONV_IDENTIFICATION=Email
in Working Mode in Working Mode
*/ */
UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.3' where CAT_TITLE = 'DB_VERSION' UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.3' where CAT_TITLE = 'DB_VERSION'
CREATE TABLE TBIDB_STATES CREATE TABLE TBIDB_STATES
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
STATE_LTERM_ID BIGINT NOT NULL, STATE_LTERM_ID BIGINT NOT NULL,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO BIGINT, CHANGED_WHO BIGINT,
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_STATES.GUID = INSERTED.GUID WHERE TBIDB_STATES.GUID = INSERTED.GUID
GO GO
ALTER PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' ALTER PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
AS AS
BEGIN BEGIN
DECLARE DECLARE
@LANG_ID INTEGER @LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID)
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO)
SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID
IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID)
IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)) IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID))
INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES ( INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES (
(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
,@LANG_STATE_TERM_ID ,@LANG_STATE_TERM_ID
,@ADDED_WHO_TERM_ID) ,@ADDED_WHO_TERM_ID)
SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID
END END
GO GO
CREATE TABLE TBIDB_STATE_LANG_GROUP CREATE TABLE TBIDB_STATE_LANG_GROUP
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
STATE_ID BIGINT NOT NULL, STATE_ID BIGINT NOT NULL,
LANG_TERM_ID BIGINT NOT NULL, LANG_TERM_ID BIGINT NOT NULL,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO BIGINT, CHANGED_WHO BIGINT,
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID
GO GO
EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE' EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE'
EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE' EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE'
--select * from TBIDB_STATE_LANG_GROUP --select * from TBIDB_STATE_LANG_GROUP
--DROP TABLE TBIDB_CONVERSATION_OBJECT --DROP TABLE TBIDB_CONVERSATION_OBJECT
CREATE TABLE TBIDB_CONVERSATION_OBJECT CREATE TABLE TBIDB_CONVERSATION_OBJECT
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
TITLE_TERM_ID BIGINT NOT NULL, TITLE_TERM_ID BIGINT NOT NULL,
IDB_OBJ_ID BIGINT NOT NULL, IDB_OBJ_ID BIGINT NOT NULL,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO BIGINT, CHANGED_WHO BIGINT,
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID),
CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID
GO GO
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT) CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT)
RETURNS VARCHAR(900) RETURNS VARCHAR(900)
AS AS
BEGIN BEGIN
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID
RETURN @RESULT RETURN @RESULT
END END
GO GO
------------------------------------------------------------------- -------------------------------------------------------------------
CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT) CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT)
RETURNS VARCHAR(900) RETURNS VARCHAR(900)
AS AS
BEGIN BEGIN
DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900) DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900)
SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = ( SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = (
SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID) SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID)
SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES
WHERE GUID = @STATE_ID)) WHERE GUID = @STATE_ID))
RETURN @RESULT RETURN @RESULT
END END
GO GO
--delete from TBIDB_CONVERSATION_OBJECT --delete from TBIDB_CONVERSATION_OBJECT
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
AS AS
BEGIN BEGIN
DECLARE DECLARE
@LANG_ID INTEGER @LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID)
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO)
SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID
--IF EXISTS(SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') --IF EXISTS(SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started')
-- BEGIN -- BEGIN
-- DECLARE @ENDED_STATE BIGINT -- DECLARE @ENDED_STATE BIGINT
-- SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' -- SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
-- INSERT INTO TBIDB_MYOBJECT_STATES ( -- INSERT INTO TBIDB_MYOBJECT_STATES (
-- MY_OBJECT_ID -- MY_OBJECT_ID
-- ,STATE_ID -- ,STATE_ID
-- ,ADDED_WHO) VALUES ( -- ,ADDED_WHO) VALUES (
-- (SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') -- (SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started')
-- ,@ENDED_STATE -- ,@ENDED_STATE
-- ,@ADDED_WHO_TERM_ID) -- ,@ADDED_WHO_TERM_ID)
-- END -- END
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID)
INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID)
DECLARE @STARTED_STATE BIGINT DECLARE @STARTED_STATE BIGINT
SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started' SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started'
DECLARE @CONVERSATION_ID BIGINT DECLARE @CONVERSATION_ID BIGINT
SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID
IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE) IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE)
INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID)
END END
GO GO
CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
AS AS
BEGIN BEGIN
DECLARE DECLARE
@LANG_ID INTEGER @LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID)
INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID)
END END
GO GO
CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE' CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE'
AS AS
BEGIN BEGIN
DECLARE DECLARE
@LANG_ID INTEGER @LANG_ID INTEGER
,@ENDED_STATE BIGINT ,@ENDED_STATE BIGINT
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
DECLARE @WHO_TERM_ID BIGINT DECLARE @WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE) IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE)
INSERT INTO TBIDB_MYOBJECT_STATES ( INSERT INTO TBIDB_MYOBJECT_STATES (
MY_OBJECT_ID MY_OBJECT_ID
,STATE_ID ,STATE_ID
,ADDED_WHO) VALUES ( ,ADDED_WHO) VALUES (
@pCONVID @pCONVID
,@ENDED_STATE ,@ENDED_STATE
,@WHO_TERM_ID) ,@WHO_TERM_ID)
END END
GO GO
--delete from TBIDB_MYOBJECT_STATES --delete from TBIDB_MYOBJECT_STATES
CREATE TABLE TBIDB_MYOBJECT_STATES CREATE TABLE TBIDB_MYOBJECT_STATES
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
MY_OBJECT_ID BIGINT NOT NULL, MY_OBJECT_ID BIGINT NOT NULL,
STATE_ID BIGINT NOT NULL, STATE_ID BIGINT NOT NULL,
COMMENT_ID BIGINT , COMMENT_ID BIGINT ,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO BIGINT, CHANGED_WHO BIGINT,
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE() UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE()
FROM INSERTED FROM INSERTED
WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID
GO GO
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT) CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT)
RETURNS VARCHAR(900) RETURNS VARCHAR(900)
AS AS
BEGIN BEGIN
DECLARE @RESULT VARCHAR(900) DECLARE @RESULT VARCHAR(900)
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
RETURN @RESULT RETURN @RESULT
END END
CREATE TABLE TBIDB_CONVERSATION_USER CREATE TABLE TBIDB_CONVERSATION_USER
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
CONV_ID BIGINT NOT NULL, CONV_ID BIGINT NOT NULL,
USER_OR_GROUP_ID INTEGER NOT NULL, USER_OR_GROUP_ID INTEGER NOT NULL,
IS_USER BIT NOT NULL, IS_USER BIT NOT NULL,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100) CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100)
AS AS
BEGIN BEGIN
DECLARE @ADDED_WHO_TERM_ID BIGINT DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1) IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1)
INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID)
END END
GO GO
CREATE TABLE TBIDB_CONVERSATION_MESSAGE CREATE TABLE TBIDB_CONVERSATION_MESSAGE
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
CONV_ID BIGINT NOT NULL, CONV_ID BIGINT NOT NULL,
TO_USER BIGINT NOT NULL DEFAULT 0, TO_USER BIGINT NOT NULL DEFAULT 0,
FROM_USER BIGINT NOT NULL, FROM_USER BIGINT NOT NULL,
MESSAGE_TERM_ID BIGINT NOT NULL, MESSAGE_TERM_ID BIGINT NOT NULL,
ADDED_WHO BIGINT, ADDED_WHO BIGINT,
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
GO GO
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE' CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE'
AS AS
BEGIN BEGIN
DECLARE DECLARE
@LANG_ID INTEGER @LANG_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT;
DECLARE @ADDED_WHO_TERM_ID BIGINT DECLARE @ADDED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID)
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO)
SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID
--IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID) --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID)
INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID) INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID)
END END
GO GO
--EXEC PRIDB_NEW_CONVERSATION 10070, 'My First Conversation', 'SchreiberM' --EXEC PRIDB_NEW_CONVERSATION 10070, 'My First Conversation', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo JJ', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo JJ', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo Marlon', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo Marlon', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Na was machst Du so?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Na was machst Du so?', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Ei ich programmiere an der IDB...', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Ei ich programmiere an der IDB...', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Und Du wartest auf mich?', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Und Du wartest auf mich?', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Jenau ;)', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Jenau ;)', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Hallo Herr Schreiber, oh sorry habe ich das wirklich? ', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Hallo Herr Schreiber, oh sorry habe ich das wirklich? ', 'j.jenne@digitaldata.works'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'..warten sie ich prüfe das nochmal! ', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'..warten sie ich prüfe das nochmal! ', 'j.jenne@digitaldata.works'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Tatsächlich. Ich korrigiere das!', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Tatsächlich. Ich korrigiere das!', 'j.jenne@digitaldata.works'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Was''nu schon wieder?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Was''nu schon wieder?', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'2. conversation ist da..', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'2. conversation ist da..', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo JJ, da bin ich wieder', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo JJ, da bin ich wieder', 'SchreiberM'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo Marlon nicht schon wieder', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo Marlon nicht schon wieder', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Was''nu schon wieder?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Was''nu schon wieder?', 'JenneJ'
--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'3. conversation ist da..', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'3. conversation ist da..', 'SchreiberM'
CREATE VIEW VWIDB_CONVERSATION AS CREATE VIEW VWIDB_CONVERSATION AS
SELECT SELECT
GUID As CONVERSATION_ID GUID As CONVERSATION_ID
,IDB_OBJ_ID ,IDB_OBJ_ID
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE
,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO
,ADDED_WHEN ,ADDED_WHEN
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO
,CHANGED_WHEN ,CHANGED_WHEN
FROM TBIDB_CONVERSATION_OBJECT FROM TBIDB_CONVERSATION_OBJECT
GO GO
CREATE VIEW VWIDB_CONV_MESSAGES AS CREATE VIEW VWIDB_CONV_MESSAGES AS
select select
T.GUID, T.GUID,
T.CONV_ID, T.CONV_ID,
(SELECT EMAIL FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER, (SELECT EMAIL FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER,
[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO
,T.ADDED_WHEN ,T.ADDED_WHEN
from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID
GO GO
CREATE VIEW VWIDB_CONVERSATION_USER AS CREATE VIEW VWIDB_CONVERSATION_USER AS
SELECT SELECT
T.CONV_ID T.CONV_ID
,T1.GUID As USER_ID ,T1.GUID As USER_ID
,T1.USERNAME ,T1.USERNAME
,T1.EMAIL ,T1.EMAIL
,T1.NAME + ', ' + T1.PRENAME as NAME ,T1.NAME + ', ' + T1.PRENAME as NAME
FROM FROM
[IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T
INNER JOIN DD_ECM_TEST.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID INNER JOIN DD_ECM_TEST.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID
WHERE IS_USER = 1 WHERE IS_USER = 1
GO GO
CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER)
RETURNS RETURNS
@Table TABLE @Table TABLE
(CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900))
AS AS
BEGIN BEGIN
DECLARE @CONVID BIGINT DECLARE @CONVID BIGINT
SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started' SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started'
IF @CONVID > 0 IF @CONVID > 0
BEGIN BEGIN
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID);
END END
IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID) IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID)
BEGIN BEGIN
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True');
END END
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER');
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from DD_ECM_TEST.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from DD_ECM_TEST.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM
TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)');
RETURN RETURN
END END
GO GO
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
INCLUDE ([GUID]) INCLUDE ([GUID])
GO GO
CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
INCLUDE ([CHANGED_WHEN]) INCLUDE ([CHANGED_WHEN])
GO GO

View File

@@ -1,15 +1,15 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.4.1' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.4.1' where CONFIG_NAME = 'DB_VERSION'
CREATE TABLE TBIDB_COMMON_SQL CREATE TABLE TBIDB_COMMON_SQL
( (
GUID INTEGER NOT NULL IDENTITY (1, 1), GUID INTEGER NOT NULL IDENTITY (1, 1),
TITLE VARCHAR(200) NOT NULL, TITLE VARCHAR(200) NOT NULL,
SQL_COMMAND NVARCHAR(MAX), SQL_COMMAND NVARCHAR(MAX),
ACTIVE BIT NOT NULL DEFAULT 1, ACTIVE BIT NOT NULL DEFAULT 1,
ADDED_WHO VARCHAR(100), ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100), CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID) CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID)
) )
GO GO

View File

@@ -1,307 +1,307 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.3' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.3' where CONFIG_NAME = 'DB_VERSION'
CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID
ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID]) ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID])
INCLUDE ([GUID],[TEXT_TERM_ID]) INCLUDE ([GUID],[TEXT_TERM_ID])
GO GO
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
INCLUDE ([GUID]) INCLUDE ([GUID])
GO GO
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
INCLUDE ([CHANGED_WHEN]) INCLUDE ([CHANGED_WHEN])
GO GO
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT @LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
AS AS
BEGIN BEGIN
DECLARE DECLARE
@ATTR_ID INTEGER, @ATTR_ID INTEGER,
@TYP_ID TINYINT, @TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT @LANG_ID INT
--PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
BEGIN BEGIN
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY) IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY)
BEGIN BEGIN
PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
END END
ELSE ELSE
BEGIN BEGIN
SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY
--Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID) --Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID)
END END
END END
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)) IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
RAISERROR ('NO VALID ATTRIBUTE',16,1) RAISERROR ('NO VALID ATTRIBUTE',16,1)
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
DECLARE @MY_TERM_ID BIGINT DECLARE @MY_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT;
--PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID) --PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID)
IF @TYP_ID IN (1,8) --VARCHAR IF @TYP_ID IN (1,8) --VARCHAR
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID)
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO)
SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
IF @TYP_ID = 1 --Single Varchar IF @TYP_ID = 1 --Single Varchar
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[TEXT_TERM_LANG_ID] ,[TEXT_TERM_LANG_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
ELSE ELSE
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID)
UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID
END END
ELSE ELSE
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID)
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[TEXT_TERM_LANG_ID] ,[TEXT_TERM_LANG_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
--ELSE --ELSE
--PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID) --PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID)
END END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
BEGIN BEGIN
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[INT_TERM_ID] ,[INT_TERM_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
END END
ELSE ELSE
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID)
UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
END END
ELSE IF @TYP_ID = 3 --FLOAT ELSE IF @TYP_ID = 3 --FLOAT
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
BEGIN BEGIN
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[FLOAT_TERM_ID] ,[FLOAT_TERM_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
END END
ELSE ELSE
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID)
UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
END END
ELSE IF @TYP_ID = 4 --DECIMAL ELSE IF @TYP_ID = 4 --DECIMAL
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
BEGIN BEGIN
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[DEC_TERM_ID] ,[DEC_TERM_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
END END
ELSE ELSE
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID)
UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
END END
ELSE IF @TYP_ID = 5 --DATE ELSE IF @TYP_ID = 5 --DATE
BEGIN BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
BEGIN BEGIN
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[ATTR_ID] ,[ATTR_ID]
,[DATE_TERM_ID] ,[DATE_TERM_ID]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@ATTR_ID ,@ATTR_ID
,@MY_TERM_ID ,@MY_TERM_ID
,@WHO) ,@WHO)
END END
ELSE ELSE
UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
END END
--PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID) --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID)
END END
GO GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Change date: 10.08.2020 MS Anpassung -- Change date: 10.08.2020 MS Anpassung
-- ============================================= -- =============================================
ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
AS AS
BEGIN BEGIN
DECLARE DECLARE
@SHARE_PATH VARCHAR(100), @SHARE_PATH VARCHAR(100),
@OBJ_STORE_PATH VARCHAR(250), @OBJ_STORE_PATH VARCHAR(250),
@NEW_FULL_PATH VARCHAR(512), @NEW_FULL_PATH VARCHAR(512),
@FILENAME_EXT VARCHAR(250), @FILENAME_EXT VARCHAR(250),
@FILENAME_ONLY VARCHAR(250), @FILENAME_ONLY VARCHAR(250),
@RELATIVE_PATH VARCHAR(512), @RELATIVE_PATH VARCHAR(512),
@RELATIVE_PATH_ONLY VARCHAR(512), @RELATIVE_PATH_ONLY VARCHAR(512),
@EXT VARCHAR(10) @EXT VARCHAR(10)
SELECT SELECT
@SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
SET @RELATIVE_PATH = UPPER(@REL_PATH) SET @RELATIVE_PATH = UPPER(@REL_PATH)
PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
--SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH); --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
--PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
--PRINT '@EXT: ' + @EXT --PRINT '@EXT: ' + @EXT
--IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
BEGIN BEGIN
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
INSERT INTO [dbo].[TBIDB_DOC_INFO] INSERT INTO [dbo].[TBIDB_DOC_INFO]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[OBJ_ST_ID] ,[OBJ_ST_ID]
,[FILENAME_EXT] ,[FILENAME_EXT]
,[FILENAME_ONLY] ,[FILENAME_ONLY]
,EXTENSION ,EXTENSION
,[RELATIVE_PATH] ,[RELATIVE_PATH]
,[RELATIVE_PATH_ONLY] ,[RELATIVE_PATH_ONLY]
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@OBJ_ST_ID ,@OBJ_ST_ID
,@FILENAME_EXT ,@FILENAME_EXT
,@FILENAME_ONLY ,@FILENAME_ONLY
,@EXT ,@EXT
,@RELATIVE_PATH ,@RELATIVE_PATH
,@RELATIVE_PATH_ONLY ,@RELATIVE_PATH_ONLY
,@WHO) ,@WHO)
ELSE ELSE
BEGIN BEGIN
PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
,EXTENSION = @EXT ,EXTENSION = @EXT
,[RELATIVE_PATH] = @RELATIVE_PATH ,[RELATIVE_PATH] = @RELATIVE_PATH
,[RELATIVE_PATH_ONLY] = @RELATIVE_PATH_ONLY ,[RELATIVE_PATH_ONLY] = @RELATIVE_PATH_ONLY
,CHANGED_WHO = @WHO ,CHANGED_WHO = @WHO
WHERE IDB_OBJ_ID = @IDB_OBJ_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
BEGIN BEGIN
PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
END END
END END
END END
END END
GO GO
ALTER PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT ALTER PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT
AS AS
BEGIN BEGIN
declare @TBTYPE_RESULT table(pTYPE varchar(10)) declare @TBTYPE_RESULT table(pTYPE varchar(10))
DECLARE @oTYPE as Varchar(10) DECLARE @oTYPE as Varchar(10)
SET @oType = 'NONE' SET @oType = 'NONE'
DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE
BEGIN TRY BEGIN TRY
SET @BIGINT = CONVERT(bigint,@pVALUE) SET @BIGINT = CONVERT(bigint,@pVALUE)
SET @oType = 'BIGINT' SET @oType = 'BIGINT'
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'NO BIGINT' PRINT 'NO BIGINT'
END CATCH END CATCH
--IF @oType = 'NONE' --IF @oType = 'NONE'
BEGIN TRY BEGIN TRY
SET @FLOAT = CONVERT(FLOAT,@pVALUE) SET @FLOAT = CONVERT(FLOAT,@pVALUE)
SET @oType = 'FLOAT' SET @oType = 'FLOAT'
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'NO FLOAT' PRINT 'NO FLOAT'
END CATCH END CATCH
--IF @oType = 'NONE' --IF @oType = 'NONE'
BEGIN TRY BEGIN TRY
SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE) SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE)
SET @oType = 'DECIMAL' SET @oType = 'DECIMAL'
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'NO DECIMAL' PRINT 'NO DECIMAL'
END CATCH END CATCH
--IF @oType = 'NONE' --IF @oType = 'NONE'
BEGIN TRY BEGIN TRY
SET @DATE = CONVERT(DATE,@pVALUE) SET @DATE = CONVERT(DATE,@pVALUE)
SET @oType = 'DATE' SET @oType = 'DATE'
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'NO DATE' PRINT 'NO DATE'
END CATCH END CATCH
--IF @oType = 'NONE' --IF @oType = 'NONE'
BEGIN TRY BEGIN TRY
SET @oType = 'VARCHAR' SET @oType = 'VARCHAR'
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'NO VARCHAR' PRINT 'NO VARCHAR'
END CATCH END CATCH
PRINT '@TYPE: ' + @oType PRINT '@TYPE: ' + @oType
SELECT * FROM @TBTYPE_RESULT SELECT * FROM @TBTYPE_RESULT
END END

View File

@@ -1,291 +1,291 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.6' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.6' where CONFIG_NAME = 'DB_VERSION'
GO GO
/* /*
REPLACE @WORKFILESTORE WITH STORAGE-PATH FOR WORK REPLACE @WORKFILESTORE WITH STORAGE-PATH FOR WORK
*/ */
CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS
select select
T.GUID AS ChangeID, T.GUID AS ChangeID,
T.IDB_OBJ_ID, T.IDB_OBJ_ID,
T1.TITLE as Attribute, T1.TITLE as Attribute,
T3.TERM_VALUE as [Old value], T3.TERM_VALUE as [Old value],
T5.TERM_VALUE as [New value], T5.TERM_VALUE as [New value],
T.CHANGED_WHO [Changed who], T.CHANGED_WHO [Changed who],
T.CHANGED_WHEN [Changed when] T.CHANGED_WHEN [Changed when]
from TBIDB_OBJECT_METADATA_CHANGE T from TBIDB_OBJECT_METADATA_CHANGE T
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
GO GO
ALTER TABLE TBIDB_OBJECT ADD PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0 ALTER TABLE TBIDB_OBJECT ADD PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBIDB_OBJECT ADD IS_VERSION BIT NOT NULL DEFAULT 0 ALTER TABLE TBIDB_OBJECT ADD IS_VERSION BIT NOT NULL DEFAULT 0
GO GO
ALTER TABLE TBIDB_BE_ATTRIBUTE ADD DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0 ALTER TABLE TBIDB_BE_ATTRIBUTE ADD DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0
GO GO
-- ======================================================= -- =======================================================
-- Author: Digital Data, DD MS -- Author: Digital Data, DD MS
-- Create Date: 22.10.2020 -- Create Date: 22.10.2020
-- Gunction returns all values for parameterized Attribute -- Gunction returns all values for parameterized Attribute
-- ======================================================= -- =======================================================
CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10)) CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10))
RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900)) RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900))
AS AS
BEGIN BEGIN
DECLARE DECLARE
@ATTR_ID INTEGER, @ATTR_ID INTEGER,
@TYP_ID TINYINT, @TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT, @LANG_ID INT,
@TERM_RESULT VARCHAR(900) @TERM_RESULT VARCHAR(900)
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE) WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
IF @TYP_ID IN (1,8) --VARCHAR IF @TYP_ID IN (1,8) --VARCHAR
BEGIN BEGIN
DECLARE @TL_ID BIGINT DECLARE @TL_ID BIGINT
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
AND TLANG.LANGUAGE_ID = @LANG_ID AND TLANG.LANGUAGE_ID = @LANG_ID
AND OBJ.DELETED = 0 AND OBJ.DELETED = 0
ORDER BY OBJ.IDB_OBJ_ID DESC ORDER BY OBJ.IDB_OBJ_ID DESC
END END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN BEGIN
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
FROM FROM
TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
AND OBJ.DELETED = 0 AND OBJ.DELETED = 0
ORDER BY OBJ.IDB_OBJ_ID DESC ORDER BY OBJ.IDB_OBJ_ID DESC
END END
ELSE IF @TYP_ID = 3 --FLOAT ELSE IF @TYP_ID = 3 --FLOAT
BEGIN BEGIN
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
FROM FROM
TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC
END END
ELSE IF @TYP_ID = 4 ELSE IF @TYP_ID = 4
BEGIN BEGIN
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
FROM FROM
TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
AND OBJ.DELETED = 0 AND OBJ.DELETED = 0
ORDER BY OBJ.IDB_OBJ_ID DESC ORDER BY OBJ.IDB_OBJ_ID DESC
END END
ELSE IF @TYP_ID = 5 ELSE IF @TYP_ID = 5
BEGIN BEGIN
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
FROM FROM
TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0 MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0
ORDER BY OBJ.IDB_OBJ_ID DESC ORDER BY OBJ.IDB_OBJ_ID DESC
END END
RETURN RETURN
END END
GO GO
CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID] CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID]) INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID])
GO GO
CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID])
INCLUDE ([IDB_OBJ_ID]) INCLUDE ([IDB_OBJ_ID])
GO GO
CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID
ON [dbo].[TBIDB_OBJECT] ([DELETED]) ON [dbo].[TBIDB_OBJECT] ([DELETED])
INCLUDE ([IDB_OBJ_ID]) INCLUDE ([IDB_OBJ_ID])
GO GO
CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID] CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID]) INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID])
GO GO
CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID] CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID]) INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID])
GO GO
CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID] CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID]) INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID])
GO GO
CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID] CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID]) ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID])
INCLUDE ([IDB_OBJ_ID]) INCLUDE ([IDB_OBJ_ID])
GO GO
--DROP TABLE TBIDB_ACCESSRIGHT --DROP TABLE TBIDB_ACCESSRIGHT
CREATE TABLE TBIDB_ACCESSRIGHT CREATE TABLE TBIDB_ACCESSRIGHT
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL, IDB_OBJ_ID BIGINT NOT NULL,
USR_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL,
ACCESSRIGHT INTEGER NOT NULL, ACCESSRIGHT INTEGER NOT NULL,
COMMENT VARCHAR(250), COMMENT VARCHAR(250),
ADDED_WHO BIGINT NOT NULL, ADDED_WHO BIGINT NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID), CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,ACCESSRIGHT) CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,ACCESSRIGHT)
) )
GO GO
INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39') INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39')
GO GO
DECLARE DECLARE
@IDB_OBJ_ID BIGINT, @IDB_OBJ_ID BIGINT,
@USERNAME VARCHAR(500) @USERNAME VARCHAR(500)
DECLARE cursorDoc CURSOR FOR DECLARE cursorDoc CURSOR FOR
select IDB_OBJ_ID FROm IDB_TEST.DBO.TBIDB_OBJECT WHERE DELETED = 0 select IDB_OBJ_ID FROm IDB_TEST.DBO.TBIDB_OBJECT WHERE DELETED = 0
OPEN cursorDoc OPEN cursorDoc
FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
DELETE FROM TBIDB_ACCESSRIGHT where IDB_OBJ_ID = @IDB_OBJ_ID; DELETE FROM TBIDB_ACCESSRIGHT where IDB_OBJ_ID = @IDB_OBJ_ID;
INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO) INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO)
SELECT @IDB_OBJ_ID,GUID,1,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID <> 1 SELECT @IDB_OBJ_ID,GUID,1,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID <> 1
INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO) INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO)
SELECT @IDB_OBJ_ID,GUID,4,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = 1 SELECT @IDB_OBJ_ID,GUID,4,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = 1
FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID
END END
CLOSE cursorDoc CLOSE cursorDoc
DEALLOCATE cursorDoc DEALLOCATE cursorDoc
CREATE TABLE TBIDB_REFRESH_ON_APPSERVER CREATE TABLE TBIDB_REFRESH_ON_APPSERVER
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL, IDB_OBJ_ID BIGINT NOT NULL,
USR_ID INTEGER NOT NULL, USR_ID INTEGER NOT NULL,
ACCESSRIGHT INTEGER NOT NULL, ACCESSRIGHT INTEGER NOT NULL,
ADDED_WHO BIGINT NOT NULL, ADDED_WHO BIGINT NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID), CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID),
CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID) CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID)
) )
GO GO
USE [IDB_TEST] USE [IDB_TEST]
GO GO
CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID
ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID]) ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID])
INCLUDE ([IDB_OBJ_ID]) INCLUDE ([IDB_OBJ_ID])
GO GO
ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT SELECT
T.[BE_ID] T.[BE_ID]
,T2.TITLE AS BE ,T2.TITLE AS BE
,[ATTR_ID] ,[ATTR_ID]
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
,T1.VIEW_VISIBLE ,T1.VIEW_VISIBLE
,T1.VIEW_SEQUENCE ,T1.VIEW_SEQUENCE
,T5.GUID AS LANG_ID ,T5.GUID AS LANG_ID
,T5.LANG_CODE ,T5.LANG_CODE
,T.ADDED_WHEN ,T.ADDED_WHEN
,T.ADDED_WHO ,T.ADDED_WHO
,T.CHANGED_WHEN ,T.CHANGED_WHEN
,T.CHANGED_WHO ,T.CHANGED_WHO
FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
WHERE T1.DELETED = 0 WHERE T1.DELETED = 0
GO GO
--CREATE TABLE TBIDB_FILESTORE_CONFIG --CREATE TABLE TBIDB_FILESTORE_CONFIG
--( --(
-- GUID BIGINT NOT NULL IDENTITY (1, 1), -- GUID BIGINT NOT NULL IDENTITY (1, 1),
-- TITLE VARCHAR(100) NOT NULL, -- TITLE VARCHAR(100) NOT NULL,
-- STORAGE_PATH VARCHAR(1000) NOT NULL, -- STORAGE_PATH VARCHAR(1000) NOT NULL,
-- ACTIVE BIT NOT NULL DEFAULT 0, -- ACTIVE BIT NOT NULL DEFAULT 0,
-- ADDED_WHO VARCHAR(100), -- ADDED_WHO VARCHAR(100),
-- ADDED_WHEN DATETIME DEFAULT GETDATE(), -- ADDED_WHEN DATETIME DEFAULT GETDATE(),
-- CHANGED_WHO VARCHAR(100), -- CHANGED_WHO VARCHAR(100),
-- CHANGED_WHEN DATETIME, -- CHANGED_WHEN DATETIME,
-- CONSTRAINT PKTBIDB_FILESTORE_CONFIG_GUID PRIMARY KEY (GUID), -- CONSTRAINT PKTBIDB_FILESTORE_CONFIG_GUID PRIMARY KEY (GUID),
-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_TITLE UNIQUE(TITLE), -- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_TITLE UNIQUE(TITLE),
-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_STORAGE_PATH UNIQUE(STORAGE_PATH), -- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_STORAGE_PATH UNIQUE(STORAGE_PATH),
--) --)
--GO --GO
--CREATE TRIGGER [dbo].[TBIDB_FILESTORE_CONFIG_AFT_UPD] ON [dbo].[TBIDB_FILESTORE_CONFIG] --CREATE TRIGGER [dbo].[TBIDB_FILESTORE_CONFIG_AFT_UPD] ON [dbo].[TBIDB_FILESTORE_CONFIG]
--FOR UPDATE --FOR UPDATE
--AS --AS
-- UPDATE TBIDB_FILESTORE_CONFIG SET CHANGED_WHEN = GETDATE() -- UPDATE TBIDB_FILESTORE_CONFIG SET CHANGED_WHEN = GETDATE()
-- FROM INSERTED -- FROM INSERTED
-- WHERE TBIDB_FILESTORE_CONFIG.GUID = INSERTED.GUID -- WHERE TBIDB_FILESTORE_CONFIG.GUID = INSERTED.GUID
--GO --GO
--INSERT INTO TBIDB_FILESTORE_CONFIG (TITLE,STORAGE_PATH,ACTIVE,ADDED_WHO) VALUES ('WORK','@WORKFILESTORE',1,'Digital Data'); --INSERT INTO TBIDB_FILESTORE_CONFIG (TITLE,STORAGE_PATH,ACTIVE,ADDED_WHO) VALUES ('WORK','@WORKFILESTORE',1,'Digital Data');
DROP TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES DROP TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
( (
GUID BIGINT NOT NULL IDENTITY (1, 1), GUID BIGINT NOT NULL IDENTITY (1, 1),
ATTRIBUTE_ID INTEGER NOT NULL, ATTRIBUTE_ID INTEGER NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 1, ACTIVE BIT NOT NULL DEFAULT 1,
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)', ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)',
ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100), CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME, CHANGED_WHEN DATETIME,
CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID), CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID),
CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID), CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID),
CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
) )
GO GO
INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1); INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1);
ALTER VIEW VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE AS ALTER VIEW VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE AS
select select
MD.IDB_OBJ_ID MD.IDB_OBJ_ID
,TLANG.LANGUAGE_ID ,TLANG.LANGUAGE_ID
,TERM.TERM_VALUE ,TERM.TERM_VALUE
,ATTR.TITLE AS ATTRIBUTE_TITLE ,ATTR.TITLE AS ATTRIBUTE_TITLE
,ATTR.GUID AS ATTRIBUTE_ID ,ATTR.GUID AS ATTRIBUTE_ID
FROM FROM
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID
INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID
WHERE WHERE
CAT_ATTR.ACTIVE = 1 CAT_ATTR.ACTIVE = 1

View File

@@ -1,127 +1,127 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.8' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.8' where CONFIG_NAME = 'DB_VERSION'
GO GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Creation date: 05.07.2021 -- Creation date: 05.07.2021
-- ============================================= -- =============================================
CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5) CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5)
AS AS
DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100) DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100)
DECLARE DECLARE
@TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date, @TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date,
ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME) ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME)
DECLARE cursorAttributes CURSOR LOCAL FOR DECLARE cursorAttributes CURSOR LOCAL FOR
SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID
WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE
OPEN cursorAttributes OPEN cursorAttributes
FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE
IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING') IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING')
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN) INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN)
select select
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
from from
TBIDB_OBJECT_METADATA T TBIDB_OBJECT_METADATA T
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER') ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER')
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN) INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN)
select select
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
from from
TBIDB_OBJECT_METADATA T TBIDB_OBJECT_METADATA T
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
ELSE IF @TYPE_NAME = 'DATE' ELSE IF @TYPE_NAME = 'DATE'
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN) INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN)
select select
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
from from
TBIDB_OBJECT_METADATA T TBIDB_OBJECT_METADATA T
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
ELSE IF @TYPE_NAME = 'DECIMAL' ELSE IF @TYPE_NAME = 'DECIMAL'
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN) INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN)
select select
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
from from
TBIDB_OBJECT_METADATA T TBIDB_OBJECT_METADATA T
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
END END
CLOSE cursorAttributes CLOSE cursorAttributes
DEALLOCATE cursorAttributes DEALLOCATE cursorAttributes
SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN
GO GO
ALTER TABLE TBIDB_DOC_INFO ADD FULL_TEXT VARBINARY(MAX) ALTER TABLE TBIDB_DOC_INFO ADD FULL_TEXT VARBINARY(MAX)
GO GO
ALTER TABLE TBIDB_DOC_INFO ADD FILE_SIZE INTEGER ALTER TABLE TBIDB_DOC_INFO ADD FILE_SIZE INTEGER
GO GO
ALTER TABLE TBIDB_FILE_OBJECT ADD FILE_SIZE BIGINT ALTER TABLE TBIDB_FILE_OBJECT ADD FILE_SIZE BIGINT
GO GO
-- ============================================= -- =============================================
-- Author: DD MS 15.03.2021 -- Author: DD MS 15.03.2021
-- Change: 13.07.2021 Filesize -- Change: 13.07.2021 Filesize
-- ============================================= -- =============================================
ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILESIZE BIGINT, @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILESIZE BIGINT, @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT
AS AS
BEGIN BEGIN
DECLARE DECLARE
@FILENAME_EXT VARCHAR(250), @FILENAME_EXT VARCHAR(250),
@FILENAME_ONLY VARCHAR(250), @FILENAME_ONLY VARCHAR(250),
@RELATIVE_PATH VARCHAR(512), @RELATIVE_PATH VARCHAR(512),
@RELATIVE_PATH_ONLY VARCHAR(512), @RELATIVE_PATH_ONLY VARCHAR(512),
@EXT VARCHAR(10) @EXT VARCHAR(10)
SET @FILENAME_ONLY = CONVERT(VARCHAR(20),@IDB_OBJ_ID) + '.ddfo' SET @FILENAME_ONLY = CONVERT(VARCHAR(20),@IDB_OBJ_ID) + '.ddfo'
--PRINT @FILENAME_ONLY --PRINT @FILENAME_ONLY
--PRINT @REL_PATH --PRINT @REL_PATH
SELECT @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,@FILENAME_ONLY,'') SELECT @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,@FILENAME_ONLY,'')
--PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY --PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@RELATIVE_PATH_ONLY,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@RELATIVE_PATH_ONLY,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT;
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
EXEC PRIDB_NEW_TERM 'VARCHAR',@EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM 'VARCHAR',@EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT;
--SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH); --SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH);
--SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH); --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
--SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
BEGIN BEGIN
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID) IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
INSERT INTO [dbo].[TBIDB_FILE_OBJECT] INSERT INTO [dbo].[TBIDB_FILE_OBJECT]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[OBJ_ST_ID] ,[OBJ_ST_ID]
,EXTENSION_TERM_ID ,EXTENSION_TERM_ID
,RELPATH_TERM_ID ,RELPATH_TERM_ID
,FILE_SIZE ,FILE_SIZE
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@OBJ_ST_ID ,@OBJ_ST_ID
,@EXTENSION_TERM_ID ,@EXTENSION_TERM_ID
,@RELPATH_TERM_ID ,@RELPATH_TERM_ID
,@FILESIZE ,@FILESIZE
,@WHO) ,@WHO)
ELSE ELSE
BEGIN BEGIN
--PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' --PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
UPDATE TBIDB_FILE_OBJECT SET UPDATE TBIDB_FILE_OBJECT SET
EXTENSION_TERM_ID = @EXTENSION_TERM_ID EXTENSION_TERM_ID = @EXTENSION_TERM_ID
,RELPATH_TERM_ID = @RELPATH_TERM_ID ,RELPATH_TERM_ID = @RELPATH_TERM_ID
,FILE_SIZE = @FILESIZE ,FILE_SIZE = @FILESIZE
,CHANGED_WHO = @WHO ,CHANGED_WHO = @WHO
WHERE IDB_OBJ_ID = @IDB_OBJ_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
BEGIN BEGIN
PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
END END
END END
END END
END END
GO GO

View File

@@ -1,212 +1,212 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.9' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.9' where CONFIG_NAME = 'DB_VERSION'
GO GO
CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD]( CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD](
[GUID] BIGINT IDENTITY(1,1) NOT NULL, [GUID] BIGINT IDENTITY(1,1) NOT NULL,
[IDB_OBJ_ID] BIGINT NOT NULL, [IDB_OBJ_ID] BIGINT NOT NULL,
[ATTR_ID] INT NOT NULL, [ATTR_ID] INT NOT NULL,
[TEXT_TERM_LANG_ID] BIGINT, [TEXT_TERM_LANG_ID] BIGINT,
[INT_TERM_ID] BIGINT, [INT_TERM_ID] BIGINT,
[DEC_TERM_ID] BIGINT, [DEC_TERM_ID] BIGINT,
[FLOAT_TERM_ID] BIGINT, [FLOAT_TERM_ID] BIGINT,
[DATE_TERM_ID] BIGINT, [DATE_TERM_ID] BIGINT,
[ADDED_WHO] VARCHAR(100), [ADDED_WHO] VARCHAR(100),
[ADDED_WHEN] DATETIME NOT NULL, [ADDED_WHEN] DATETIME NOT NULL,
CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID),
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID), CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID),
) )
GO GO
ALTER TABLE TBIDB_OBJECT_METADATA_DELETE ALTER TABLE TBIDB_OBJECT_METADATA_DELETE
ADD ADDED_WHEN DATETIME; ADD ADDED_WHEN DATETIME;
USE [IDB] USE [IDB]
GO GO
--####################### --#######################
--Change 06.10.2021 ADDED_WHEN METADATA_DELETE --Change 06.10.2021 ADDED_WHEN METADATA_DELETE
--####################### --#######################
ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
AS AS
BEGIN BEGIN
DECLARE DECLARE
@ATTR_ID INTEGER, @ATTR_ID INTEGER,
@TYP_ID TINYINT, @TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT @LANG_ID INT
--IF @ID_ISFOREIGN = 1 --IF @ID_ISFOREIGN = 1
-- BEGIN -- BEGIN
-- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID -- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
-- END -- END
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
DECLARE @MY_TERM_ID BIGINT DECLARE @MY_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT; EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID) PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
IF @TYP_ID IN (1,8) --VARCHAR IF @TYP_ID IN (1,8) --VARCHAR
BEGIN BEGIN
PRINT 'Attribute is varchar...' PRINT 'Attribute is varchar...'
SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID)
BEGIN BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!' PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
END END
ELSE ELSE
PRINT 'TERM SEEMS NOT TO EXIST' PRINT 'TERM SEEMS NOT TO EXIST'
END END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID)
BEGIN BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!' PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
END END
END END
ELSE IF @TYP_ID = 3 --FLOAT ELSE IF @TYP_ID = 3 --FLOAT
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID)
BEGIN BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!' PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
END END
END END
ELSE IF @TYP_ID = 4 --DECIMAL ELSE IF @TYP_ID = 4 --DECIMAL
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID)
BEGIN BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!' PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
END END
END END
ELSE IF @TYP_ID = 5 --DATE ELSE IF @TYP_ID = 5 --DATE
BEGIN BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID) IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID)
BEGIN BEGIN
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!' PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
END END
END END
END END
GO GO
-- ============================================= -- =============================================
-- Author: Digital Data, MS -- Author: Digital Data, MS
-- Create date: 12.10.2021 -- Create date: 12.10.2021
-- Description: Löscht User-Zuordnungen wo der USer nicht mehr Teil der Posteingangsgruppe ist -- Description: Löscht User-Zuordnungen wo der USer nicht mehr Teil der Posteingangsgruppe ist
-- ============================================= -- =============================================
CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT
AS AS
BEGIN BEGIN
DECLARE DECLARE
@ATTR_ID INTEGER, @ATTR_ID INTEGER,
@TYP_ID TINYINT, @TYP_ID TINYINT,
@TYP_DESCR VARCHAR(100), @TYP_DESCR VARCHAR(100),
@MULTI BIT, @MULTI BIT,
@LANG_ID INT @LANG_ID INT
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)) IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
RAISERROR ('NO VALID ATTRIBUTE',16,1) RAISERROR ('NO VALID ATTRIBUTE',16,1)
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
IF @LANG_CODE = 'de-DE' IF @LANG_CODE = 'de-DE'
SET @LANG_ID = 1 SET @LANG_ID = 1
ELSE ELSE
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
IF @TYP_ID IN (1,8) --VARCHAR IF @TYP_ID IN (1,8) --VARCHAR
BEGIN BEGIN
select select
@VALUE = TERM.TERM_VALUE @VALUE = TERM.TERM_VALUE
FROM FROM
IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.DELETED = 0 AND OBJ.DELETED = 0 AND
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID
END END
ELSE IF @TYP_ID IN (2,7,9) --BIGINT ELSE IF @TYP_ID IN (2,7,9) --BIGINT
BEGIN BEGIN
select select
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
FROM FROM
IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.DELETED = 0 AND OBJ.DELETED = 0 AND
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
END END
ELSE IF @TYP_ID = 3 --FLOAT ELSE IF @TYP_ID = 3 --FLOAT
BEGIN BEGIN
select select
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
FROM FROM
IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.DELETED = 0 AND OBJ.DELETED = 0 AND
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
END END
ELSE IF @TYP_ID = 4 --DECIMAL ELSE IF @TYP_ID = 4 --DECIMAL
BEGIN BEGIN
select select
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
FROM FROM
IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.DELETED = 0 AND OBJ.DELETED = 0 AND
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
END END
ELSE IF @TYP_ID = 5 --DATE ELSE IF @TYP_ID = 5 --DATE
BEGIN BEGIN
select select
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
FROM FROM
IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE WHERE
OBJ.DELETED = 0 AND OBJ.DELETED = 0 AND
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
MD.ATTR_ID = @ATTR_ID MD.ATTR_ID = @ATTR_ID
END END
END END
GO GO

View File

@@ -1,119 +1,119 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.0' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.0' where CONFIG_NAME = 'DB_VERSION'
GO GO
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
ADD RELATIVE_PATH_ONLY_TERM BIGINT; ADD RELATIVE_PATH_ONLY_TERM BIGINT;
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
ADD EXTENSION_TERM BIGINT; ADD EXTENSION_TERM BIGINT;
DECLARe @RELPATH VARCHAR(5000),@IDBOBJID BIGINT,@Extens VARCHAR(10) DECLARe @RELPATH VARCHAR(5000),@IDBOBJID BIGINT,@Extens VARCHAR(10)
DECLARE cursor1 CURSOR FOR DECLARE cursor1 CURSOR FOR
Select IDB_OBJ_ID, RELATIVE_PATH_ONLY,EXTENSION from TBIDB_DOC_INFO Select IDB_OBJ_ID, RELATIVE_PATH_ONLY,EXTENSION from TBIDB_DOC_INFO
OPEN cursor1 OPEN cursor1
FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
DECLARE @TERMID BIGINT DECLARE @TERMID BIGINT
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELPATH,'Digital Data', @TERM_ID = @TERMID OUTPUT EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELPATH,'Digital Data', @TERM_ID = @TERMID OUTPUT
DECLARE @TERM_EXTENS BIGINT DECLARE @TERM_EXTENS BIGINT
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@Extens,'Digital Data', @TERM_ID = @TERM_EXTENS OUTPUT EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@Extens,'Digital Data', @TERM_ID = @TERM_EXTENS OUTPUT
UPDATE TBIDB_DOC_INFO SET RELATIVE_PATH_ONLY_TERM = @TERMID, EXTENSION_TERM = @TERM_EXTENS, CHANGED_WHO = 'Digital Data' WHERE IDB_OBJ_ID = @IDBOBJID UPDATE TBIDB_DOC_INFO SET RELATIVE_PATH_ONLY_TERM = @TERMID, EXTENSION_TERM = @TERM_EXTENS, CHANGED_WHO = 'Digital Data' WHERE IDB_OBJ_ID = @IDBOBJID
FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens
END END
CLOSE cursor1 CLOSE cursor1
DEALLOCATE cursor1 DEALLOCATE cursor1
GO GO
ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL; ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL;
ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN EXTENSION_TERM BIGINT NOT NULL; ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN EXTENSION_TERM BIGINT NOT NULL;
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
ADD CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID); ADD CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID);
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
ADD CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID); ADD CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID);
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
DROP COLUMN RELATIVE_PATH_ONLY; DROP COLUMN RELATIVE_PATH_ONLY;
ALTER TABLE TBIDB_DOC_INFO ALTER TABLE TBIDB_DOC_INFO
DROP COLUMN EXTENSION; DROP COLUMN EXTENSION;
USE [IDB_TEST] USE [IDB_TEST]
GO GO
SET ANSI_NULLS ON SET ANSI_NULLS ON
GO GO
SET QUOTED_IDENTIFIER ON SET QUOTED_IDENTIFIER ON
GO GO
-- ============================================= -- =============================================
-- Author: DD MS -- Author: DD MS
-- Changed: 01.11.2021 MS TERM_COLUMNS -- Changed: 01.11.2021 MS TERM_COLUMNS
-- Changed: 10.08.2020 MS Anpassung -- Changed: 10.08.2020 MS Anpassung
-- ============================================= -- =============================================
ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
AS AS
BEGIN BEGIN
DECLARE DECLARE
@SHARE_PATH VARCHAR(100), @SHARE_PATH VARCHAR(100),
@OBJ_STORE_PATH VARCHAR(250), @OBJ_STORE_PATH VARCHAR(250),
@NEW_FULL_PATH VARCHAR(512), @NEW_FULL_PATH VARCHAR(512),
@FILENAME_EXT VARCHAR(250), @FILENAME_EXT VARCHAR(250),
@FILENAME_ONLY VARCHAR(250), @FILENAME_ONLY VARCHAR(250),
@RELATIVE_PATH VARCHAR(512), @RELATIVE_PATH VARCHAR(512),
@RELATIVE_PATH_ONLY VARCHAR(512), @RELATIVE_PATH_ONLY VARCHAR(512),
@EXT VARCHAR(10) @EXT VARCHAR(10)
SELECT SELECT
@SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
SET @RELATIVE_PATH = UPPER(@REL_PATH) SET @RELATIVE_PATH = UPPER(@REL_PATH)
PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
--SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH); --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
--PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
--PRINT '@EXT: ' + @EXT --PRINT '@EXT: ' + @EXT
--IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
BEGIN BEGIN
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
INSERT INTO [dbo].[TBIDB_DOC_INFO] INSERT INTO [dbo].[TBIDB_DOC_INFO]
([IDB_OBJ_ID] ([IDB_OBJ_ID]
,[OBJ_ST_ID] ,[OBJ_ST_ID]
,[FILENAME_ONLY] ,[FILENAME_ONLY]
,RELATIVE_PATH ,RELATIVE_PATH
,RELATIVE_PATH_ONLY_TERM ,RELATIVE_PATH_ONLY_TERM
,EXTENSION_TERM ,EXTENSION_TERM
,[ADDED_WHO]) ,[ADDED_WHO])
VALUES VALUES
(@IDB_OBJ_ID (@IDB_OBJ_ID
,@OBJ_ST_ID ,@OBJ_ST_ID
,@FILENAME_ONLY ,@FILENAME_ONLY
,@RELATIVE_PATH ,@RELATIVE_PATH
,@RELATIVE_PATH_ONLY_TERM ,@RELATIVE_PATH_ONLY_TERM
,@EXTENSION_TERM ,@EXTENSION_TERM
,@WHO) ,@WHO)
ELSE ELSE
BEGIN BEGIN
PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
,@EXTENSION_TERM = @EXTENSION_TERM ,@EXTENSION_TERM = @EXTENSION_TERM
,[RELATIVE_PATH] = @RELATIVE_PATH ,[RELATIVE_PATH] = @RELATIVE_PATH
,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
,CHANGED_WHO = @WHO ,CHANGED_WHO = @WHO
WHERE IDB_OBJ_ID = @IDB_OBJ_ID WHERE IDB_OBJ_ID = @IDB_OBJ_ID
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
BEGIN BEGIN
PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
END END
END END
END END
END END
GO GO

View File

@@ -1,167 +1,167 @@
UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION' UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION'
GO GO
ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT SELECT
T.[BE_ID] T.[BE_ID]
,T2.TITLE AS BE ,T2.TITLE AS BE
,[ATTR_ID] ,[ATTR_ID]
,T.DEFAULT_SEARCH_ATTRIBUTE ,T.DEFAULT_SEARCH_ATTRIBUTE
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
,T1.VIEW_VISIBLE ,T1.VIEW_VISIBLE
,T1.VIEW_SEQUENCE ,T1.VIEW_SEQUENCE
,T5.GUID AS LANG_ID ,T5.GUID AS LANG_ID
,T5.LANG_CODE ,T5.LANG_CODE
,T.ADDED_WHEN ,T.ADDED_WHEN
,T.ADDED_WHO ,T.ADDED_WHO
,T.CHANGED_WHEN ,T.CHANGED_WHEN
,T.CHANGED_WHO ,T.CHANGED_WHO
FROM FROM
[TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
WHERE WHERE
T1.DELETED = 0 T1.DELETED = 0
UNION UNION
SELECT SELECT
T.[BE_ID] T.[BE_ID]
,T2.TITLE AS BE ,T2.TITLE AS BE
,[ATTR_ID] ,[ATTR_ID]
,T.DEFAULT_SEARCH_ATTRIBUTE ,T.DEFAULT_SEARCH_ATTRIBUTE
,T6.TERM_VALUE AS ATTR_TITLE ,T6.TERM_VALUE AS ATTR_TITLE
,T1.TYP_ID ,T1.TYP_ID
,T1.TYP_ID AS [TYPE_ID] ,T1.TYP_ID AS [TYPE_ID]
,T3.NAME_TYPE AS [TYPE_NAME] ,T3.NAME_TYPE AS [TYPE_NAME]
,T1.VIEW_VISIBLE ,T1.VIEW_VISIBLE
,T1.VIEW_SEQUENCE ,T1.VIEW_SEQUENCE
,T5.GUID AS LANG_ID ,T5.GUID AS LANG_ID
,T5.LANG_CODE ,T5.LANG_CODE
,T.ADDED_WHEN ,T.ADDED_WHEN
,T.ADDED_WHO ,T.ADDED_WHO
,T.CHANGED_WHEN ,T.CHANGED_WHEN
,T.CHANGED_WHO ,T.CHANGED_WHO
FROM FROM
GO GO
ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT'
AS AS
DECLARE DECLARE
@ATTR_ID INT, @ATTR_ID INT,
@TITLE VARCHAR(100), @TITLE VARCHAR(100),
@TYPID INT, @TYPID INT,
@SQL1 NVARCHAR(MAX), @SQL1 NVARCHAR(MAX),
@Date Varchar(20), @Date Varchar(20),
@Bool4 Varchar(1), @Bool4 Varchar(1),
@Integer24 Varchar(20), @Integer24 Varchar(20),
@Float Varchar(20), @Float Varchar(20),
@RELPATH Varchar(200), @RELPATH Varchar(200),
@SEQUENCE Integer, @SEQUENCE Integer,
@NAME_VIEW VARCHAR(20) @NAME_VIEW VARCHAR(20)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @NAME_VIEW = 'VWIDB_DOC_DATA_' SET @NAME_VIEW = 'VWIDB_DOC_DATA_'
ELSE ELSE
SET @NAME_VIEW = 'VWIDB_DOCRESULT_' SET @NAME_VIEW = 'VWIDB_DOCRESULT_'
SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9) SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @SQL1 += +'T.IDB_OBJ_ID' + char(10) SET @SQL1 += +'T.IDB_OBJ_ID' + char(10)
ELSE ELSE
SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10) SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10)
SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10) SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10)
BEGIN BEGIN
DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR
SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE
FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL
ORDER BY VIEW_SEQUENCE ORDER BY VIEW_SEQUENCE
OPEN c_PRIDB_CREATE_VIEW_DOC_DATA OPEN c_PRIDB_CREATE_VIEW_DOC_DATA
FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50) DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50)
IF @TYPID IN (1,8) IF @TYPID IN (1,8)
BEGIN BEGIN
SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))' SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE)
END END
ELSE ELSE
SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))' SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID') SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID')
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID)
IF @TYPID = 1 IF @TYPID = 1
SET @FN_TYP = 'TEXT' SET @FN_TYP = 'TEXT'
ELSE IF @TYPID = 2 ELSE IF @TYPID = 2
SET @FN_TYP = 'INTEGER' SET @FN_TYP = 'INTEGER'
ELSE IF @TYPID = 3 ELSE IF @TYPID = 3
SET @FN_TYP = 'FLOAT' SET @FN_TYP = 'FLOAT'
ELSE IF @TYPID = 4 ELSE IF @TYPID = 4
SET @FN_TYP = 'DECIMAL' SET @FN_TYP = 'DECIMAL'
ELSE IF @TYPID = 5 ELSE IF @TYPID = 5
SET @FN_TYP = 'DATE' SET @FN_TYP = 'DATE'
ELSE IF @TYPID = 6 ELSE IF @TYPID = 6
SET @FN_TYP = 'DATE_TIME' SET @FN_TYP = 'DATE_TIME'
ELSE IF @TYPID = 7 ELSE IF @TYPID = 7
SET @FN_TYP = 'BIT' SET @FN_TYP = 'BIT'
ELSE IF @TYPID = 8 ELSE IF @TYPID = 8
SET @FN_TYP = 'TEXT_VECTOR' SET @FN_TYP = 'TEXT_VECTOR'
ELSE IF @TYPID = 8 ELSE IF @TYPID = 8
SET @FN_TYP = 'INTEGER_VECTOR' SET @FN_TYP = 'INTEGER_VECTOR'
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP) SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP)
--PRINT '@FN_COMMAND: ' + @FN_COMMAND --PRINT '@FN_COMMAND: ' + @FN_COMMAND
SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10) SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10)
--PRINT @SQL1 --PRINT @SQL1
FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE
END END
CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA
DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
BEGIN BEGIN
SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10) SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10)
+ char(9) + ',T5.TERM_VALUE AS DocName' + char(10) + char(9) + ',T5.TERM_VALUE AS DocName' + char(10)
+ char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10) + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10)
+ char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10) + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10)
END END
SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10) SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10)
+ char(9) + ',T.ADDED_WHO AS [Added who]' + char(10) + char(9) + ',T.ADDED_WHO AS [Added who]' + char(10)
+ char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10) + char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10)
+ char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10) + char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10)
SET @SQL1 += 'FROM' + char(10) SET @SQL1 += 'FROM' + char(10)
IF @pVar = 'DEFAULT' IF @pVar = 'DEFAULT'
SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10)
+ char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10)
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10)
ELSE ELSE
SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10) SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10)
+ char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10)
SET @SQL1 += 'WHERE' + char(10) SET @SQL1 += 'WHERE' + char(10)
+ char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10) + char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10)
+ char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1'
PRINT @SQL1 PRINT @SQL1
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2))) IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)))
BEGIN BEGIN
DECLARE @DELETE NVARCHAR(100) DECLARE @DELETE NVARCHAR(100)
SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']' SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']'
EXEC sp_executesql @DELETE EXEC sp_executesql @DELETE
END END
EXEC sp_executesql @SQL1 EXEC sp_executesql @SQL1
END END
GO GO
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_LAYOUT_SELECT','') INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_LAYOUT_SELECT','')
GO GO
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + ', ' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER') INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + ', ' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER')
GO 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,68 +0,0 @@
USE [msdb]
GO
/****** Object: Job [DD_DAILY] Script Date: 05.05.2022 16:42:48 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 05.05.2022 16:42:48 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_DAILY',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'Es ist keine Beschreibung verfügbar.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [PRAPPSERV_FILL_TBDD_USER_MODULE] Script Date: 05.05.2022 16:42:48 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRAPPSERV_FILL_TBDD_USER_MODULE',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'EXEC PRAPPSERV_FILL_TBDD_USER_MODULE;',
@database_name=N'DD_ECM',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'DAILY08_12_16',
@enabled=1,
@freq_type=8,
@freq_interval=62,
@freq_subday_type=8,
@freq_subday_interval=4,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20220505,
@active_end_date=99991231,
@active_start_time=80000,
@active_end_time=160259,
@schedule_uid=N'42f54c9f-e4f2-466c-9543-d454d6fb6c03'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO

View File

@@ -1,226 +0,0 @@
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
--CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT
DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5)
--AS
SET @pIDB_OBJ_ID = 10026
SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner'
DECLARE
@FOLD_PART VARCHAR(250)
BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
SET @FOLDER_DEPTH = 0
DECLARE @PARENT_OBJ_ID BIGINT
--SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
OPEN cursSplitFolder
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
WHILE @@FETCH_STATUS = 0
BEGIN
--EACH FOLDER PART WORKED SEPERATELY
IF @FOLDER_DEPTH = 0
BEGIN
SET @PARENT_OBJ_ID = 0
SET @FOLDER_PART = @FOLD_PART
END
ELSE
BEGIN
SET @FOLDER_PART += '\' + @FOLD_PART
END
PRINT '##############################'
PRINT '@FOLDER_PART: ' + @FOLDER_PART
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT
IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID)
BEGIN
PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden'
EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT;
DECLARE @NEW_OBJ_MD_ID BIGINT
EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT
END
ELSE
BEGIN
SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID
PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS'
END
SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID
SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END
CLOSE cursSplitFolder
DEALLOCATE cursSplitFolder
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
END
GO
DROP TABLE TBIDB_SN_IDB_OBJ
DROP TABLE TBIDB_STRUCTURE_NODES
CREATE TABLE TBIDB_STRUCTURE_NODES
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
PARENT_ID BIGINT NOT NULL DEFAULT 0,
TERM_LANG_ID BIGINT NOT NULL,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_STRUCTURE_NODES PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_STRUCTURE_NODES_TLANGID FOREIGN KEY (TERM_LANG_ID) REFERENCES TBIDB_LANGUAGE_TERM (GUID),
CONSTRAINT UQ_TBIDB_STRUCTURE_NODES UNIQUE(PARENT_ID,TERM_LANG_ID)
)
GO
CREATE TRIGGER TBIDB_STRUCTURE_NODES_AFT_UPD ON TBIDB_STRUCTURE_NODES
FOR UPDATE
AS
UPDATE TBIDB_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_STRUCTURE_NODES .GUID = INSERTED.GUID
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_STRUCTURE_NODE] @pPARENT_ID BIGINT, @pTERM_LANG_ID BIGINT,@pWHO VARCHAR(100), @OUT_SN_GUID BIGINT OUTPUT
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID)
INSERT INTO TBIDB_STRUCTURE_NODES (PARENT_ID,TERM_LANG_ID,ADDED_WHO) VALUES (@pPARENT_ID,@pTERM_LANG_ID,@pWHO)
BEGIN
SELECT @OUT_SN_GUID = GUID FROM TBIDB_STRUCTURE_NODES WHERE PARENT_ID = @pPARENT_ID AND TERM_LANG_ID = @pTERM_LANG_ID
END
END
GO
CREATE TABLE TBIDB_STRUCTURE_NODES_IDB_OBJ
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
SN_ID BIGINT NOT NULL,
IDB_OBJ_ID BIGINT NOT NULL,
ADDED_WHO VARCHAR(100),
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBIDB_SN_IDB_OBJ PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_SN_IDB_OBJ_SN_ID FOREIGN KEY (SN_ID) REFERENCES TBIDB_STRUCTURE_NODES (GUID),
CONSTRAINT FK_TBIDB_SN_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT UQ_TBIDB_SN_IDB_OBJ UNIQUE(SN_ID,IDB_OBJ_ID)
)
GO
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS
SELECT
LTERM.GUID
,LTERM.TERM_ID
,TERM.TERM_VALUE
,LTERM.LANG_ID
,LANG.LANG_CODE
FROM
TBIDB_LANGUAGE_TERM LTERM
INNER JOIN TBIDB_LANGUAGE LANG ON LTERM.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON LTERM.TERM_ID = TERM.GUID
WHERE
LTERM.KIND_TYPE = 4
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_LANGUAGE_TERM] @pOBJ_ID BIGINT, @pTERM_ID BIGINT,@pWHO_TERM_ID BIGINT,@pKIND_TYPE INT,@pLANG_ID TINYINT, @OUT_LANG_TERM_GUID BIGINT OUTPUT
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND TERM_ID = @pTERM_ID AND KIND_TYPE = @pKIND_TYPE )
INSERT INTO TBIDB_LANGUAGE_TERM (OBJECT_ID,TERM_ID,LANG_ID,ADDED_WHO,KIND_TYPE) VALUES (@pOBJ_ID,@pTERM_ID,@pLANG_ID,@pWHO_TERM_ID,@pKIND_TYPE)
ELSE
BEGIN
UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @pTERM_ID,CHANGED_WHO = @pWHO_TERM_ID WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND KIND_TYPE = @pKIND_TYPE
AND TERM_ID <> @pTERM_ID
PRINT 'NEW LANG TERM ALREADY EXISTING'
END
SELECT @OUT_LANG_TERM_GUID = GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @pOBJ_ID AND LANG_ID = @pLANG_ID AND TERM_ID = @pTERM_ID AND KIND_TYPE = @pKIND_TYPE
PRINT 'NEW LANGTERMID: ' + CONVERT(VARCHAR(10),@OUT_LANG_TERM_GUID)
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
--CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT
DECLARE @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_ID TINYINT
--AS
SET @pIDB_OBJ_ID = 10026
SET @pDYNAMIC_FOLDER = 'DIGITAL DATA\Geschäftsprozess\Projekte\Zooflow\Entwicklung\Dynamischer Ordner'
SET @pLANG_ID = 1
SET @pWHO = 'SchreiberM'
DECLARE
@FOLD_PART VARCHAR(250),
@WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
SET @FOLDER_DEPTH = 0
DECLARE @PARENT_NODE_GUID BIGINT
--SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
OPEN cursSplitFolder
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
WHILE @@FETCH_STATUS = 0
BEGIN
--EACH FOLDER PART WORKED SEPERATELY
IF @FOLDER_DEPTH = 0
BEGIN
SET @PARENT_NODE_GUID = 0
SET @FOLDER_PART = @FOLD_PART
END
ELSE
BEGIN
SET @FOLDER_PART += '\' + @FOLD_PART
END
PRINT '##############################'
PRINT '@FOLDER_PART: ' + @FOLDER_PART
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
DECLARE @OUT_LANG_TERM_GUID BIGINT
--PRÜFEN OB DER NODE_TERM ANGELEGT IST
EXEC [PRIDB_NEW_LANGUAGE_TERM] @PARENT_NODE_GUID, @PATH_PART_ID,@WHO_TERM_ID,4,@pLANG_ID,@OUT_LANG_TERM_GUID = @OUT_LANG_TERM_GUID
SELECT @OUT_LANG_TERM_GUID = GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @PARENT_NODE_GUID AND LANG_ID = @pLANG_ID AND TERM_ID = @PATH_PART_ID AND KIND_TYPE = 4
DECLARE @OUT_SN_GUID BIGINT
EXEC PRIDB_NEW_STRUCTURE_NODE @PARENT_NODE_GUID, @OUT_LANG_TERM_GUID,@pWHO,@OUT_SN_GUID = @OUT_SN_GUID OUTPUT
SET @PARENT_NODE_GUID = @OUT_SN_GUID
SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END
CLOSE cursSplitFolder
DEALLOCATE cursSplitFolder
--IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
-- INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
END
GO
CREATE VIEW VWIDB_LANGAGE_TERM_KIND_NODE
AS
SELECT
SN.GUID NODE_ID
,SN.PARENT_ID NODE_PARENT_ID
,LTERM.TERM_ID
,LTERM.OBJECT_ID OBJ_ID
,TERM.TERM_VALUE AS NODE_CAPTION
,LTERM.LANG_ID
,LANG.LANG_CODE
FROM
TBIDB_STRUCTURE_NODES SN INNER JOIN
TBIDB_LANGUAGE_TERM LTERM ON SN.TERM_LANG_ID = LTERM.GUID
INNER JOIN TBIDB_LANGUAGE LANG ON LTERM.LANG_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON LTERM.TERM_ID = TERM.GUID
WHERE
LTERM.KIND_TYPE = 4
GO
select * from TBIDB_STRUCTURE_NODES

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

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

View File

@@ -0,0 +1,97 @@
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.0.0' where NAME = 'Process-Manager'
GO
UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Metadata based' where BEZEICHNUNG = 'Man. Validation'
GO
UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Serially' where BEZEICHNUNG = 'Automatism'
GO
--DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
--DROP TABLE TBPM_WF_ADHOC_OBJECT
--Ein Object wird einem Profil zugeordnet
CREATE TABLE TBPM_ADHOC_WF_OBJECT
(
GUID BIGINT IDENTITY(1,1),
PROFIL_ID INTEGER NOT NULL,
OBJ_ID BIGINT NOT NULL,
WORK_INSTRUCTION VARCHAR(250) NOT NULL,
WF_FINISHED DATETIME,
ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPM_ADHOC_WF_OBJECT PRIMARY KEY(GUID),
CONSTRAINT FK_TBPM_ADHOC_WF_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID)
)
GO
CREATE TRIGGER TBPM_ADHOC_WF_OBJECT_AFT_UPD ON TBPM_ADHOC_WF_OBJECT
FOR UPDATE
AS
UPDATE TBPM_ADHOC_WF_OBJECT SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBPM_ADHOC_WF_OBJECT.GUID = INSERTED.GUID
GO
--DROP TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
CREATE TABLE TBPM_ADHOC_WF_SERIEL_PARTIES
(
GUID BIGINT IDENTITY(1,1),
AH_WF_ID BIGINT NOT NULL,
USR_ID INTEGER,
FINISHED_WHEN DATETIME,
SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBPM_ADHOC_WF_SERIEL_PARTIES PRIMARY KEY(GUID),
CONSTRAINT UQ_TBPM_ADHOC_WF_SERIEL_PARTIES UNIQUE (AH_WF_ID,USR_ID),
CONSTRAINT FK_TBPM_ADHOC_WF_SERIEL_PARTIES_PROFIL_ID FOREIGN KEY (AH_WF_ID) REFERENCES TBPM_ADHOC_WF_OBJECT (GUID),
CONSTRAINT FK_TBPM_ADHOC_WF_SERIEL_PARTIES_USR_ID FOREIGN KEY (USR_ID) REFERENCES TBDD_USER (GUID)
)
GO
CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_ADHOC_WF_SERIEL_PARTIES
FOR UPDATE
AS
UPDATE TBPM_ADHOC_WF_SERIEL_PARTIES SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBPM_ADHOC_WF_SERIEL_PARTIES.GUID = INSERTED.GUID
GO
CREATE OR ALTER PROCEDURE [dbo].[PRPM_AH_WF_ADD_OBJ_REL] @pOBJ_ID BIGINT, @pPROFILID INTEGER, @pTEXT VARCHAR(200), @pWHO VARCHAR(100), @OUT_ID BIGINT OUTPUT
AS
BEGIN
INSERT INTO [dbo].[TBPM_ADHOC_WF_OBJECT]
([PROFIL_ID]
,[OBJ_ID]
,[WORK_INSTRUCTION]
,[ADDED_WHO])
VALUES
(@pPROFILID
,@pOBJ_ID
,@pTEXT
,@pWHO);
SELECT @OUT_ID = MAX(GUID) FROM TBPM_ADHOC_WF_OBJECT WHERE OBJ_ID = @pOBJ_ID AND PROFIL_ID = @pPROFILID
PRINT 'NEW @OUT_ID: ' + CONVERT(VARCHAR(10),@OUT_ID)
END
GO
CREATE OR ALTER PROCEDURE [dbo].[PRPM_AH_WF_PARTY] @pAH_WF_ID BIGINT, @pUSR_ID INTEGER, @pWHO VARCHAR(100), @OUT_ID BIGINT OUTPUT
AS
BEGIN
DECLARE @MAX_SEQU TINYINT
SELECT @MAX_SEQU= COALESCE(MAX(SEQUENCE),0) FROM TBPM_ADHOC_WF_SERIEL_PARTIES WHERE AH_WF_ID = @pAH_WF_ID
SET @MAX_SEQU += 1
SELECT @MAX_SEQU
INSERT INTO [dbo].[TBPM_ADHOC_WF_SERIEL_PARTIES]
([AH_WF_ID]
,[USR_ID]
,[SEQUENCE]
,[ADDED_WHO])
VALUES
(@pAH_WF_ID
,@pUSR_ID
,@MAX_SEQU
,@pWHO)
SELECT @OUT_ID = MAX(GUID) FROM TBPM_ADHOC_WF_SERIEL_PARTIES WHERE AH_WF_ID = @pAH_WF_ID
PRINT 'NEW @OUTAHWFP_ID: ' + CONVERT(VARCHAR(10),@OUT_ID)
END
GO
--

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