From 026fc75e0ccd108fdfcdd95a6660eb363646e8a6 Mon Sep 17 00:00:00 2001 From: KammM Date: Thu, 21 Mar 2024 16:51:19 +0100 Subject: [PATCH] Initial --- .../Prozeduren/[PRCUST_ADD_HISTORY_STATE].sql | 19 + .../Prozeduren/[PRCUST_EML_ATTMT_HANDLER].sql | 154 ++++++ .../[PRCUST_EXPORT_POSTING_DATA].sql | 234 ++++++++ ...T_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql | 85 +++ ...ORT_POSTING_DATA_COLLECT_FILE_CONTENT].sql | 143 +++++ ...PRCUST_EXPORT_POSTING_DATA_WRITE_FILE].sql | 269 +++++++++ ...EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV].sql | 44 ++ ...UST_EXPORT_POSTING_DATA_WRITE_JOB_LOG].sql | 44 ++ .../Sichten/[VWCUST_USER_REPRESENTATION].sql | 39 ++ ...T_EXPORT_POSTING_DATA_BUILD_FILE_HEAD].sql | 69 +++ ...T_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql | 62 +++ .../[FNCUST_GET_VHM_SECTION].sql | 63 +++ .../Tabellen/[TBCUST_CORRECT_BUNR].sql | 18 + ...BCUST_EXPORT_POSTING_DATA_FILE_ARCHIV].sql | 35 ++ ...BCUST_EXPORT_POSTING_DATA_FILE_CONFIG].sql | 53 ++ ...CUST_EXPORT_POSTING_DATA_FILE_CONTENT].sql | 26 + ...UST_EXPORT_POSTING_DATA_FILE_TEMPLATE].sql | 58 ++ ...TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG].sql | 30 + .../[FNCUST_ER_TO_CORRECT].sql | 22 + ...TING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql | 66 +++ ...TING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql | 521 ++++++++++++++++++ .../[FNCUST_GET_GROUP_GROUPNAME_LIST].sql | 31 ++ ...NCUST_GET_PM_MONITORING_HISTORY_GRID1].sql | 46 ++ ...NCUST_GET_PM_MONITORING_HISTORY_GRID2].sql | 104 ++++ ...NCUST_GET_PM_MONITORING_HISTORY_GRID3].sql | 108 ++++ .../[FNCUST_GET_PM_OVERVIEW].sql | 82 +++ ...NCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST].sql | 37 ++ .../[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST].sql | 35 ++ ..._GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST].sql | 36 ++ .../[FNCUST_GET_SCHLEUPEN_ORDER_DATA].sql | 76 +++ .../[FNCUST_GET_SCHLEUPEN_ORDER_LIST].sql | 67 +++ .../[FNCUST_GET_SCHLEUPEN_TASK_LIST].sql | 37 ++ .../[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST].sql | 34 ++ ...CUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST].sql | 87 +++ .../[FNCUST_GET_SCHLEUPEN_VENDOR_INFO].sql | 42 ++ .../[FNCUST_GET_TC_WD_RIGHTS].sql | 45 ++ .../[FNCUST_GET_USER_MAILADRESS_LIST].sql | 41 ++ ...FNCUST_GET_USER_REPRESENTATION_GROUPS].sql | 142 +++++ .../[FNCUST_GET_USER_USERNAME_LIST].sql | 36 ++ ...ST_SET_PM_CONTROL_DATA_PROFILEID_1006].sql | 87 +++ ...ST_SET_PM_CONTROL_DATA_PROFILEID_2024].sql | 84 +++ ...T_SET_PM_DECISION_LIST_PROFILEID_1004].sql | 35 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_1005].sql | 38 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_1006].sql | 37 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2006].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2007].sql | 35 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2008].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2009].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2010].sql | 37 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2012].sql | 39 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2013].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2014].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2015].sql | 35 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2017].sql | 31 ++ ...T_SET_PM_DECISION_LIST_PROFILEID_2024].sql | 38 ++ ...CUST_SET_PM_DECISION_LIST_PROFILEID_4].sql | 37 ++ .../[FNCUST_SET_TC_MOVE_AND_RENAME].sql | 154 ++++++ .../[FNCUST_SPLIT_STRING_WITH_GUID].sql | 44 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_1004].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_1005].sql | 104 ++++ ...TEST_PM_USER_INPUT_PROFILEID_1005_alt].sql | 71 +++ ...UST_TEST_PM_USER_INPUT_PROFILEID_1006].sql | 116 ++++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2006].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2007].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2008].sql | 103 ++++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2009].sql | 68 +++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2010].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2012].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2013].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2014].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2015].sql | 61 ++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2017].sql | 69 +++ ...UST_TEST_PM_USER_INPUT_PROFILEID_2024].sql | 116 ++++ ...FNCUST_TEST_PM_USER_INPUT_PROFILEID_4].sql | 62 +++ .../[FNDD_CHECK_USER_MODULE].sql | 192 +++++++ .../[FNPM_CUST_GET_DOC_IDS].sql | 173 ++++++ .../[FNPM_GET_NEXT_DOC_INFO].sql | 81 +++ .../Config/ToolCollection.exe.config | 283 ++++++++++ .../Config/ToolCollection.sqlite | Bin 0 -> 557056 bytes .../Config/modDateiimportConfig.xml | 41 ++ .../Config/modNachindexierungConfig.xml | 35 ++ 81 files changed, 6028 insertions(+) create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_ADD_HISTORY_STATE].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EML_ATTMT_HANDLER].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Sichten/[VWCUST_USER_REPRESENTATION].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_GET_VHM_SECTION].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_CORRECT_BUNR].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_ER_TO_CORRECT].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_GROUP_GROUPNAME_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID1].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID2].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID3].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_OVERVIEW].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_DATA].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TASK_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDOR_INFO].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_TC_WD_RIGHTS].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_MAILADRESS_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_REPRESENTATION_GROUPS].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_USERNAME_LIST].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_TC_MOVE_AND_RENAME].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SPLIT_STRING_WITH_GUID].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNDD_CHECK_USER_MODULE].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_CUST_GET_DOC_IDS].sql create mode 100644 VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_GET_NEXT_DOC_INFO].sql create mode 100644 VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.exe.config create mode 100644 VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.sqlite create mode 100644 VHM-DIGITALDATA/ToolCollection/Config/modDateiimportConfig.xml create mode 100644 VHM-DIGITALDATA/ToolCollection/Config/modNachindexierungConfig.xml diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_ADD_HISTORY_STATE].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_ADD_HISTORY_STATE].sql new file mode 100644 index 0000000..a88b2af --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_ADD_HISTORY_STATE].sql @@ -0,0 +1,19 @@ +USE [DD_ECM] +GO + + Object StoredProcedure [dbo].[PRCUST_ADD_HISTORY_STATE] Script Date 21.03.2024 155749 +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE PROCEDURE [dbo].[PRCUST_ADD_HISTORY_STATE] @MessageID VARCHAR(250), @TITLE1 VARCHAR(250), @TITLE2 VARCHAR(250), @COMMENT VARCHAR(3000) = 0 +AS +BEGIN + INSERT INTO TBEMLP_HISTORY_STATE + (MESSAGE_ID,STATE_TITLE,STATE_TITLE1,COMMENT) VALUES (@MessageID,@TITLE1,@TITLE2,@COMMENT) +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EML_ATTMT_HANDLER].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EML_ATTMT_HANDLER].sql new file mode 100644 index 0000000..93744eb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EML_ATTMT_HANDLER].sql @@ -0,0 +1,154 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EML_ATTMT_HANDLER] Script Date: 21.03.2024 15:58:22 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +---- To run the file export in this procedure, it is n to reconfigure the sql server +-- sp_configure 'show advanced options', 1; +-- GO +-- RECONFIGURE WITH OVERRIDE; +-- GO +-- sp_configure 'Ole Automation Procedures', 1; +-- GO +-- RECONFIGURE WITH OVERRIDE; +-- GO +-- EXEC sp_configure 'xp_cmdshell', 1 +-- GO +-- RECONFIGURE WITH OVERRIDE +-- GO + +-- ======================================================= +-- Author: Digital Data, MS MK +-- Create Date: 19.11.2020 +-- Überprüft alle unbearbeiteten Attachments und prüft die Vollständigkeit der Anlagen +-- ======================================================= +CREATE PROCEDURE [dbo].[PRCUST_EML_ATTMT_HANDLER] AS + + PRINT '===============================' + PRINT 'PROCEDURE - START PRCUST_EML_ATTMT_HANDLER @ ' + CONVERT(varchar(50),GETDATE(),120) + +DECLARE + @EMAIL_MSGID VARCHAR(500), + @EMAIL_FROM VARCHAR(200), + @EMAIL_ATTMT VARCHAR(900), + @EMAIL_ATTMT_FILE_NAME VARCHAR(MAX), + @EMAIL_ATTMT_FILE_EXPORTPATH VARCHAR(MAX) = 'E:\DocumentProcessing\Output\File\DocumentKindAssigned\E-Rechnung', + @EMAIL_ATTMT_FILE_ARCHIVPATH VARCHAR(MAX) = '', + @EMAIL_PROFILER_PROCESS_GUID INT = 1, + @FILENAME_SEPERATOR VARCHAR(1) = '~', + @FILE_PATH_AND_NAME VARCHAR(MAX), + @SUBJECT VARCHAR(250), + @BODY_PRAEFIX VARCHAR(900), + @BODY_SUFFIX VARCHAR(900), + @CMD VARCHAR(1000); + +DECLARE c_REDO CURSOR FOR + SELECT + T.EMAIL_MSGID,T.EMAIL_FROM + FROM + TBEMLP_HISTORY T + WHERE + T.PROFILE_ID = 1 + AND NOT EXISTS(SELECT GUID FROM TBEMLP_CUST_STATE WHERE STATE_TITLE IN ('MOVE FOR IMPORT','REJECTED') AND EMAIL_MSGID = T.EMAIL_MSGID) + ORDER BY T.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @EMAIL_MSGID,@EMAIL_FROM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @COUNT_PDF TINYINT + SELECT @COUNT_PDF = COUNT(GUID) FROM TBEMLP_HISTORY_ATTACHMENT WHERE EMAIL_MSGID = @EMAIL_MSGID AND UPPER(reverse(left(reverse(EMAIL_ATTMT),CHARINDEX('.',reverse(EMAIL_ATTMT))-1))) = 'PDF' + IF (@COUNT_PDF = 0 or @COUNT_PDF > 1) + BEGIN + PRINT 'REJECTING MAIL: ' + @EMAIL_MSGID + SELECT + @SUBJECT = EMAIL_SUBJECT,@BODY_PRAEFIX = EMAIL_BODY1,@BODY_SUFFIX = EMAIL_BODY2 + FROM + TBDD_EMAIL_TEMPLATE WHERE TITLE = 'Email Ablehnung' + BEGIN + IF @COUNT_PDF > 1 + SET @BODY_PRAEFIX = REPLACE(@BODY_PRAEFIX,'@CheckResult','Mehr als 1 PDF-Anhang in Mail enthalten.
Bitte beachten Sie dass nur 1 PDF als Anhang erlaubt ist!') + ELSE + SET @BODY_PRAEFIX = REPLACE(@BODY_PRAEFIX,'@CheckResult','Wir konnten aus Ihrer Mail keine PDF-Datei als Attachment extrahieren!') + END + SET @BODY_PRAEFIX = '' + INSERT INTO TBEMLP_CUST_STATE ( EMAIL_MSGID, STATE_TITLE, COMMENT) + VALUES ( @EMAIL_MSGID, 'REJECTED', 'ATTACHMENT >2=0') + DECLARE @CUST_STATE_GUID BIGINT + SELECT @CUST_STATE_GUID = MAX(GUID) FROM TBEMLP_CUST_STATE WHERE EMAIL_MSGID = @EMAIL_MSGID AND STATE_TITLE = 'REJECTED' + IF NOT EXISTS(SELECT GUID FROM TBEMLP_EMAIL_OUT WHERE REFERENCE_ID = @CUST_STATE_GUID AND REFERENCE_STRING = @EMAIL_MSGID) + INSERT INTO TBEMLP_EMAIL_OUT + (SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO) + VALUES + (1, @CUST_STATE_GUID,@EMAIL_MSGID, @EMAIL_FROM, @SUBJECT, @BODY_PRAEFIX, 'PROCEDURE XX' + ) + END + ELSE + BEGIN + PRINT 'ALLES OK FOR EMAIL: ' + @EMAIL_MSGID + INSERT INTO TBEMLP_CUST_STATE ( EMAIL_MSGID, STATE_TITLE) + VALUES ( @EMAIL_MSGID, 'MOVE FOR IMPORT') + + -- Get current E-Mail msg id + SELECT @EMAIL_MSGID = EMAIL_MSGID + FROM [TBEMLP_CUST_STATE] + WHERE [STATE_TITLE] = 'MOVE FOR IMPORT' + + -- Get Attachment name to build the real name + SELECT TOP 1 @EMAIL_ATTMT = EMAIL_ATTMT + FROM TBEMLP_HISTORY_ATTACHMENT + WHERE EMAIL_MSGID = @EMAIL_MSGID + AND GUID = (SELECT MAX(GUID) FROM TBEMLP_HISTORY_ATTACHMENT WHERE EMAIL_MSGID = @EMAIL_MSGID) + + -- Set filename to move for + SET @EMAIL_ATTMT_FILE_NAME = @EMAIL_MSGID + @FILENAME_SEPERATOR + @EMAIL_ATTMT + PRINT 'Processing current file: ' + @EMAIL_ATTMT_FILE_NAME + + -- Get Export path + SELECT @EMAIL_ATTMT_FILE_EXPORTPATH = [PATH_EMAIL_TEMP] + FROM [TBEMLP_POLL_PROCESS] + WHERE GUID = @EMAIL_PROFILER_PROCESS_GUID + + -- Set path and filename to move for + SET @FILE_PATH_AND_NAME = @EMAIL_ATTMT_FILE_EXPORTPATH + '\' + @EMAIL_ATTMT_FILE_NAME + + PRINT 'Targetpath for move: ' + @EMAIL_ATTMT_FILE_EXPORTPATH + + IF LEN(@EMAIL_ATTMT_FILE_ARCHIVPATH) > 1 + BEGIN + + -- Copy file to archiv folder + SET @CMD = 'copy "' + @FILE_PATH_AND_NAME + '" "' + @EMAIL_ATTMT_FILE_ARCHIVPATH + '"' + EXEC master..xp_cmdshell @CMD, no_output + + -- If copy was successfull, move to output folder + SET @CMD = 'move "' + @FILE_PATH_AND_NAME + '" "' + @EMAIL_ATTMT_FILE_EXPORTPATH + '"' + EXEC master..xp_cmdshell @CMD, no_output + + END + + ELSE + BEGIN + + -- move to output folder + SET @CMD = 'move "' + @FILE_PATH_AND_NAME + '" "' + @EMAIL_ATTMT_FILE_EXPORTPATH + '"' + EXEC master..xp_cmdshell @CMD, no_output + + END + + END + FETCH NEXT FROM c_REDO INTO @EMAIL_MSGID,@EMAIL_FROM + END +CLOSE c_REDO +DEALLOCATE c_REDO + + PRINT 'PROCEDURE - END PRCUST_EML_ATTMT_HANDLER @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA].sql new file mode 100644 index 0000000..2089cd1 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA].sql @@ -0,0 +1,234 @@ +USE [DD_ECM] +GO + + Object StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA] Script Date 21.03.2024 155901 +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- TSQL Prozedur - Zentrale Logik zur Erstellung der Schnittstellendatei für Schleupen. + +-- Stand MK 04.02.2022 +-- 04.02.2022 Änderung des Dateinamensschemas - es wird nun die Buchungsnummer in den Dateinamen geschrieben und nicht mehr die Export Zählernummer +-- 27.11.2021 Erweiterung der Logik, um die Möglichkeit EXPORT_BOOKING_NUMBERs gemischt aus diesem und dem nächsten Jahr (- Unterschiedliche Nummernkreise!) zu erstellen (Basis ist das windream Belegdatum) +-- 31.01.2021 Initial + + ---- To run the file export in this procedure, it is n to reconfigure the sql server + -- sp_configure 'show advanced options', 1; + -- GO + -- RECONFIGURE WITH OVERRIDE; + -- GO + -- sp_configure 'Ole Automation Procedures', 1; + -- GO + -- RECONFIGURE WITH OVERRIDE; + -- GO + -- EXEC sp_configure 'xp_cmdshell', 1 + -- GO + -- RECONFIGURE WITH OVERRIDE + -- GO + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA] + @JOB_GUID INT, + @windreamDocID BIGINT, + @windreamStatus VARCHAR(20) = 'erledigt', + @windreamExportDate VARCHAR(8) = NULL +AS + + PRINT '===============================' + PRINT 'PROCEDURE - START [PRCUST_EXPORT_POSTING_DATA] @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT 'PARAMETER1 - @JOB_GUID ' + CONVERT(varchar(50),@JOB_GUID) + PRINT 'PARAMETER2 - @windreamDocID ' + CONVERT(varchar(50),@windreamDocID) + PRINT 'PARAMETER3 - @windreamStatus ' + CONVERT(varchar(50),@windreamStatus) + PRINT 'PARAMETER4 - @windreamExportDate ' + CONVERT(varchar(50),@windreamExportDate) + +BEGIN TRY + + DECLARE @JOB_NAME VARCHAR(50), + @MANDATOR VARCHAR(50), + @EXPORT_TYPE VARCHAR(50), + @EXPORT_BOOKING_NUMBER BIGINT, + @EXPORT_BOOKING_NUMBER_BASE BIGINT, + @EXPORT_BOOKING_NUMBER_BASE_NOW BIGINT, + @EXPORT_BOOKING_NUMBER_COUNTER BIGINT, + @EXPORT_BOOKING_NUMBER_MAXCOUNT BIGINT, + + @GUID BIGINT, + @DATE_YY INT, + @ERROR VARCHAR(1000), + @ERROR_LINE VARCHAR(10), + + @FileCount INT, + @DocumentDate INT; + + --===============================================-- There should be exact one file --===============================================-- + + (SELECT @FileCount = count() + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') -- Dummy Value, because PM FinalIndex cannot handle NUll as Result in case of Angehalten or Abgelehnt + OR ([dwDate04] IS NULL))) + + IF ((@windreamStatus = 'erledigt') and (@FileCount = 1)) + BEGIN + + --===================================================-- Get Job infos --===================================================-- + SELECT @JOB_NAME = [JOB_NAME], + @MANDATOR = [MANDANTOR], + @EXPORT_TYPE = [EXPORT_TYPE] + FROM [TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] + WHERE [GUID] = @JOB_GUID + + --=============================================-- Get windream File Indices --=============================================-- + SELECT @DocumentDate = [dwDate09] -- = Needed for setting Booking Number + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + + --===============================================-- Get File config infos --===============================================-- + SELECT @GUID = [GUID], + @EXPORT_BOOKING_NUMBER_BASE = [EXPORT_BOOKING_NUMBER_BASE], + @EXPORT_BOOKING_NUMBER_COUNTER = [EXPORT_BOOKING_NUMBER_COUNTER] + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + WHERE [JOB_GUID] = @JOB_GUID + + --===============================================-- Get and Set Booking Number --===============================================-- + IF (@DocumentDate IS NOT NULL) + BEGIN -- If windream Belegdatum is set, take year as base value + SET @DATE_YY = RIGHT(LEFT(@DocumentDate,4),2) + END + ELSE + BEGIN -- and if not, take current year as base value + SET @DATE_YY = RIGHT(year(getdate()),2) + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + PRINT 'Searching for existing numbers in history table...' + PRINT (convert(varchar(2),@DATE_YY) + '%') + + -- Check histroy table if there are numbers with same prefix (= the year) + SELECT @EXPORT_BOOKING_NUMBER_MAXCOUNT = MAX(EXPORT_BOOKING_NUMBER) + FROM [DD_ECM].[dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] + WHERE [EXPORT_BOOKING_NUMBER] LIKE (convert(varchar(2),@DATE_YY) + '%') + + IF (@EXPORT_BOOKING_NUMBER_MAXCOUNT IS NOT NULL) + BEGIN + + PRINT 'Highest number found ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_MAXCOUNT) + + SET @EXPORT_BOOKING_NUMBER = CONVERT(INT,@EXPORT_BOOKING_NUMBER_MAXCOUNT) + SET @EXPORT_BOOKING_NUMBER = CONVERT(INT,@EXPORT_BOOKING_NUMBER) + + SET @EXPORT_BOOKING_NUMBER_COUNTER = CONVERT(INT,RIGHT(@EXPORT_BOOKING_NUMBER,5)) + SET @EXPORT_BOOKING_NUMBER_BASE = (@EXPORT_BOOKING_NUMBER - @EXPORT_BOOKING_NUMBER_COUNTER) + + END + ELSE + BEGIN + SET @EXPORT_BOOKING_NUMBER_COUNTER = 0 + SET @EXPORT_BOOKING_NUMBER_BASE = convert(bigint,@EXPORT_BOOKING_NUMBER_BASE) + SET @EXPORT_BOOKING_NUMBER_BASE_NOW = convert(bigint,CONVERT(VARCHAR(50),@DATE_YY) + '00000') + END + + PRINT '' + PRINT '@EXPORT_BOOKING_NUMBER_BASE ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_BASE) + PRINT '@EXPORT_BOOKING_NUMBER_BASENOW ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_BASE_NOW) + PRINT '@EXPORT_BOOKING_NUMBER_COUNTER ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_COUNTER) + ---------------------------------------------------------------------------------------------------------------------------------- + + -- If Booking number base (like 2100000) is not the initial value + IF (@EXPORT_BOOKING_NUMBER_BASE @EXPORT_BOOKING_NUMBER_BASE_NOW) + BEGIN + SET @EXPORT_BOOKING_NUMBER_BASE = @EXPORT_BOOKING_NUMBER_BASE_NOW + Update [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + Set [EXPORT_BOOKING_NUMBER_BASE] = @EXPORT_BOOKING_NUMBER_BASE_NOW + WHERE JOB_GUID = @JOB_GUID + END; + + PRINT '@EXPORT_BOOKING_NUMBER_BASE (final) ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_BASE) + ---------------------------------------------------------------------------------------------------------------------------------- + SET @EXPORT_BOOKING_NUMBER_COUNTER = convert(bigint,@EXPORT_BOOKING_NUMBER_COUNTER) + IF (@EXPORT_BOOKING_NUMBER_COUNTER = 0) or (@EXPORT_BOOKING_NUMBER_COUNTER is null) + BEGIN + SET @EXPORT_BOOKING_NUMBER_COUNTER = 1 + Update [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + SET [EXPORT_BOOKING_NUMBER_COUNTER] = @EXPORT_BOOKING_NUMBER_COUNTER, + [EXPORT_BOOKING_NUMBER_BASE] = @EXPORT_BOOKING_NUMBER_BASE + WHERE JOB_GUID = @JOB_GUID + END; + Else + BEGIN + SET @EXPORT_BOOKING_NUMBER_COUNTER = @EXPORT_BOOKING_NUMBER_COUNTER + 1 + Update [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + SET [EXPORT_BOOKING_NUMBER_COUNTER] = @EXPORT_BOOKING_NUMBER_COUNTER, + [EXPORT_BOOKING_NUMBER_BASE] = @EXPORT_BOOKING_NUMBER_BASE + WHERE JOB_GUID = @JOB_GUID + END; + + PRINT '@EXPORT_BOOKING_NUMBER_COUNTER ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER_COUNTER) + ---------------------------------------------------------------------------------------------------------------------------------- + IF (@EXPORT_BOOKING_NUMBER_BASE = 1) and (@EXPORT_BOOKING_NUMBER_COUNTER = 1) + BEGIN + SET @EXPORT_BOOKING_NUMBER = convert(bigint,@EXPORT_BOOKING_NUMBER_BASE) + convert(bigint,@EXPORT_BOOKING_NUMBER_COUNTER) + END + + ELSE + SET @EXPORT_BOOKING_NUMBER = '9999999'; + PRINT '@EXPORT_BOOKING_NUMBER (final) ' + convert(varchar(100),@EXPORT_BOOKING_NUMBER) + ---------------------------------------------------------------------------------------------------------------------------------- + + --===============================================-- Fill table with content --===============================================-- + INSERT INTO [TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] + ([FILE_CONFIG_GUID], + [FILE_CONTENT]) + + SELECT @GUID, [FILE_CONTENT_BODY] + FROM [FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN](@JOB_GUID,@EXPORT_BOOKING_NUMBER,@windreamDocID,@windreamStatus,@windreamExportDate) + + --===============================================-- Write content to File and Log --===============================================-- + + EXEC PRCUST_EXPORT_POSTING_DATA_WRITE_FILE @JOB_GUID = @JOB_GUID, @windreamDocID = @windreamDocID, @EXPORT_BOOKING_NUMBER = @EXPORT_BOOKING_NUMBER + + PRINT 'PROCEDURE - END [PRCUST_EXPORT_POSTING_DATA] @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + + END + + ELSE + BEGIN + PRINT 'No rows in data table found!' + PRINT '' + PRINT 'Please check if File was already exported!' + PRINT '1. Check if windream Date [dwdate04] is set Must be unset or 19700101! (19700101 = 1.1.1970)! ' + PRINT '2. Check if windream Status [szText33] is set to erledigt!' + PRINT '3. Check if WF Zahlungsfreigabe der Geschäftsführung [Vektor_Boolean_06] ist set to truewahr, ' + PRINT ' have to be falsefalsch!' + PRINT '' + + PRINT 'PROCEDURE - END [PRCUST_EXPORT_POSTING_DATA] @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + + RETURN 1 -- IF @windreamStatus 'erledigt' + END + +END TRY + +BEGIN CATCH + + --DELETE + --FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] + --WHERE [FILE_CONFIG_GUID] = @GUID + + PRINT 'ERROR IN PROCEDURE ' + CONVERT(VARCHAR(50),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + --EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] @JOB_GUID, 'File','Procedure PRCUST_EXPORT_POSTING_DATA_CREATE_FILE'--, CONVERT(VARCHAR(30),ERROR_PROCEDURE()), ERROR_MESSAGE + RETURN 1 +END CATCH +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql new file mode 100644 index 0000000..ea56088 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql @@ -0,0 +1,85 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME] Script Date: 21.03.2024 15:59:35 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME] + @JOB_GUID INT, -- Mandatory Parameter, to build the file name + @EXPORT_BOOKING_NUMBER VARCHAR(50), + @FILE_NAME VARCHAR(50) OUTPUT +AS + + PRINT '===============================' + PRINT 'PROCEDURE - START PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT 'PARAMETER1 - @JOB_GUID: ' + CONVERT(varchar(50),@JOB_GUID) + PRINT '-------------------------------' + +BEGIN TRY + + DECLARE + @FILE_NAME_SEPARATOR VARCHAR(1), + @FILE_BASE_NAME VARCHAR(50), + @FILE_RUNNING_NUMBER BIGINT, + @FILE_EXTENSION VARCHAR(4) + + SELECT @FILE_BASE_NAME = [FILE_BASE_NAME], + @FILE_NAME_SEPARATOR = [FILE_NAME_SEPARATOR], + @FILE_RUNNING_NUMBER = [FILE_RUNNING_NUMBER], + @FILE_EXTENSION = [FILE_EXTENSION] + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + WHERE [JOB_GUID] = @JOB_GUID + + IF (@EXPORT_BOOKING_NUMBER is null) or (@EXPORT_BOOKING_NUMBER < 0) + BEGIN + SET @EXPORT_BOOKING_NUMBER = 1 + END + + PRINT '@FILE_BASE_NAME: ' + CONVERT(varchar(50),@FILE_BASE_NAME) + PRINT '@FILE_EXTENSION: ' + CONVERT(varchar(50),@FILE_EXTENSION) + PRINT '@FILE_NAME_SEPARATOR: ' + CONVERT(varchar(50),@FILE_NAME_SEPARATOR) + + SET @FILE_NAME = @FILE_BASE_NAME + @FILE_NAME_SEPARATOR + CONVERT(varchar(1000),@EXPORT_BOOKING_NUMBER) + '.' + @FILE_EXTENSION + PRINT '@FILE_NAME: ' + CONVERT(varchar(50),@FILE_NAME) + PRINT '@EXPORT_BOOKING_NUMBER: ' + CONVERT(varchar(50),@EXPORT_BOOKING_NUMBER) + + -- Set running number to next value... + SET @FILE_RUNNING_NUMBER = @FILE_RUNNING_NUMBER + 1 + PRINT '@FILE_RUNNING_NUMBER(new): ' + CONVERT(varchar(50),@FILE_RUNNING_NUMBER) + + -- ...and update value in TB + UPDATE [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + SET [FILE_RUNNING_NUMBER] = @FILE_RUNNING_NUMBER + WHERE [JOB_GUID] = @JOB_GUID + PRINT 'Set - new - FILE_RUNNING_NUMBER to table!' + + -- Failsafe + SET @FILE_NAME = ISNULL(@FILE_NAME,'undefined.txt') + + PRINT '@FILE_NAME: ' + CONVERT(varchar(50),@FILE_NAME) + + PRINT '-------------------------------' + PRINT 'PROCEDURE - END PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + + --SELECT @FILE_NAME AS [FILE_NAME] + RETURN + +END TRY + +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(50),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_LOG] @JOB_GUID, 'File:','Procedure: PRCUST_EXPORT_POSTING_DATA_CREATE_FILE', ERROR_PROCEDURE, ERROR_MESSAGE + RETURN 1 +END CATCH +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT].sql new file mode 100644 index 0000000..9c9dbf6 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT].sql @@ -0,0 +1,143 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT] Script Date: 21.03.2024 16:00:05 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT] + @JOB_GUID INT, + @windreamDocID BIGINT, + @windreamStatus VARCHAR(20) = 'erledigt', + @windreamExportDate VARCHAR(8) = NULL +AS + + PRINT '===============================' + PRINT 'PROCEDURE - START PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT 'PARAMETER1 - @JOB_GUID: ' + CONVERT(varchar(50),@JOB_GUID) + PRINT 'PARAMETER2 - @windreamDocID: ' + CONVERT(varchar(50),@windreamDocID) + PRINT 'PARAMETER3 - @windreamStatus: ' + CONVERT(varchar(50),@windreamStatus) + PRINT 'PARAMETER4 - @windreamExportDate: ' + CONVERT(varchar(50),@windreamExportDate) + +BEGIN TRY + + DECLARE @JOB_NAME VARCHAR(50), + @MANDATOR VARCHAR(50), + @EXPORT_TYPE VARCHAR(50), + @ERROR VARCHAR(1000), + @ERROR_LINE VARCHAR(10) + + DECLARE @WINDREAM_2_SCHLEUPEN as TABLE ([GUID] [INT] IDENTITY(1,1) NOT NULL, + [Belegnummer (X)] [BIGINT] NULL, + [Belegdatum (X)] [DATE] NULL, + [Valutadatum] [DATE] NULL, + [Kontoart (X)] [VARCHAR](20) NULL, + [Kontonummer (X)] [INT] NULL, + [Gegenkontoart (X)] [VARCHAR](20) NULL, + [Gegenkonto] [INT] NULL, + [Zusatzkontoart] [VARCHAR](20) NULL, + [Zusatzkonto] [INT] NULL, + [Betrag] [FLOAT] NULL, + [S/H-Kennzeichen] [VARCHAR](20) NULL, + [Buchungstext] [VARCHAR](max) NULL, + [Zahlungsträgerhinweis] [VARCHAR](max) NULL, + [Geschäftsbereich] [VARCHAR](20) NULL, + [externes Rechnungsdatum] [DATE] NULL, + [externe Rechnungsnummer] [VARCHAR](50) NULL, + [Rechnungseinheit] [INT] NULL, + [Fälligkeitsdatum] [DATE] NULL, + [Skontotage 1] [INT] NULL, + [Skonto Prozent 1] [INT] NULL, + [Skontotage 2] [INT] NULL, + [Skonto Prozent 2] [INT] NULL, + [Nettotage] [INT] NULL) + + -- Get Job infos + SELECT @JOB_NAME = [JOB_NAME], + @MANDATOR = [MANDANTOR], + @EXPORT_TYPE = [EXPORT_TYPE] + FROM [TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] + WHERE [GUID] = @JOB_GUID + + INSERT INTO @WINDREAM_2_SCHLEUPEN ([Belegnummer (X)], + [Belegdatum (X)], + [Valutadatum], + [Kontoart (X)], + [Kontonummer (X)], + [Gegenkontoart (X)], + [Gegenkonto], + [Zusatzkontoart], + [Zusatzkonto], + [Betrag], + [S/H-Kennzeichen], + [Buchungstext], + [Zahlungsträgerhinweis], + [Geschäftsbereich], + [externes Rechnungsdatum], + [externe Rechnungsnummer], + [Rechnungseinheit], + [Fälligkeitsdatum], + [Skontotage 1], + [Skonto Prozent 1], + [Skontotage 2], + [Skonto Prozent 2], + [Nettotage]) + + SELECT [dwDocID] as [Belegnummer (X)], + -- [szLongName] as [FileName], + -- [szFile_Ext] as [FileExtension], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([decCreationTime],8)),104),'dd.MM.yyyy') as [Belegdatum (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate07],8)),104),'dd.MM.yyyy') as [Valutadatum], + 'K' as [Kontoart (X)], + [szText38] as [Kontonummer (X)], + NULL as [Gegenkontoart (X)], + NULL as [Gegenkonto], + NULL as [Zusatzkontoart], + NULL as [Zusatzkonto], + [lfFloat12] as [Betrag], + 'H' as [S/H-Kennzeichen], + --[szText00] as [NOTIZFELD], + [szText02] as [Buchungstext], + NULL as [Zahlungsträgerhinweis], + [szText16] as [Geschäftsbereich], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate09],8)),104),'dd.MM.yyyy') as [externes Rechnungsdatum], + [szText19] as [externe Rechnungsnummer], + NULL as [Rechnungseinheit], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate06],8)),104),'dd.MM.yyyy') as [Fälligkeitsdatum], + NULL as [Skontotage 1], + [lfFloat09] as [Skonto Prozent 1], + NULL as [Skontotage 2], + NULL as [Skonto Prozent 2], + NULL as [Nettotage] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) OR ([dwDate04] IS NULL)) + + + SELECT * FROM @WINDREAM_2_SCHLEUPEN + RETURN + + -- execute procedure to create file + --EXECUTE [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE] @JOB_GUID = @JOB_GUID; + + PRINT 'PROCEDURE - END PRCUST_EXPORT_POSTING_DATA_COLLECT_FILE_CONTENT @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + +END TRY + +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(50),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + --EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] @JOB_GUID, 'File:','Procedure: PRCUST_EXPORT_POSTING_DATA_CREATE_FILE'--, CONVERT(VARCHAR(30),ERROR_PROCEDURE()), ERROR_MESSAGE + RETURN 1 +END CATCH + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE].sql new file mode 100644 index 0000000..119e58e --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE].sql @@ -0,0 +1,269 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE] Script Date: 21.03.2024 16:00:33 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + -- Prozedur welche die bereitsgesammelten Daten abruft und in Folge in eine Datei und ins Archiv schreibt. + -- Stand: MK // 30.01.2021 + + ---- To run the file export in this procedure, it is n to reconfigure the sql server + -- sp_configure 'show advanced options', 1; + -- GO + -- RECONFIGURE WITH OVERRIDE; + -- GO + -- sp_configure 'Ole Automation Procedures', 1; + -- GO + -- RECONFIGURE WITH OVERRIDE; + -- GO + -- EXEC sp_configure 'xp_cmdshell', 1 + -- GO + -- RECONFIGURE WITH OVERRIDE + -- GO + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE] + @JOB_GUID INT, + @windreamDocID BIGINT, + @EXPORT_BOOKING_NUMBER BIGINT + +AS + + PRINT '===============================' + PRINT 'PROCEDURE - START PRCUST_EXPORT_POSTING_DATA_WRITE_FILE @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT 'PARAMETER1 - @JOB_GUID: ' + CONVERT(varchar(50),@JOB_GUID) + PRINT 'PARAMETER2 - @windreamDocID: ' + CONVERT(varchar(50),@windreamDocID) + PRINT 'PARAMETER3 - @EXPORT_BOOKING_NUMBER: ' + CONVERT(varchar(50),@EXPORT_BOOKING_NUMBER) + +BEGIN TRY + + DECLARE @JOB_NAME VARCHAR(50), + @MANDATOR VARCHAR(50), + @EXPORT_TYPE VARCHAR(50), + + @OLE_RESULT INT, + @FSO INT, + @GUID BIGINT, + @ERROR VARCHAR(1000), + @ERROR_LINE VARCHAR(10), + + @FILE_ID INT, + @FILE_CONTENT NVARCHAR(MAX) = '', + @FILE_CONTENT_HEAD NVARCHAR(MAX), + @FILE_CONTENT_HEAD_QUERY NVARCHAR(MAX), + @FILE_CONTENT_BODY_COUNT INT, + @FILE_CONTENT_BODY_LINE NVARCHAR(MAX), + + @FILE_NAME VARCHAR(50), + @FILE_PATH_TEMP VARCHAR(500), + @FILE_PATH_EXPORT VARCHAR(500), + @FILE_PATH_ARCHIV VARCHAR(500), + @FILE_PATH_ERROR VARCHAR(500), + @FILE_PATH_AND_NAME VARCHAR(600), + @FILE_NAME_SEPARATOR VARCHAR(10) = '-', + @FILE_DATA_SEPARATOR VARCHAR(10) = ';', + + @CMD VARCHAR(1000); + + DECLARE @FILE_CONTENT_BODY as TABLE (GUID INT, FILE_CONTENT_BODY_LINE VARCHAR(max)); + DECLARE @FILE_CONTENT_HEAD_Result as TABLE (ResultText VARCHAR(500)); + + -- Get Job infos + SELECT @JOB_NAME = [JOB_NAME], + @MANDATOR = [MANDANTOR], + @EXPORT_TYPE = [EXPORT_TYPE] + FROM [TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] + WHERE [GUID] = @JOB_GUID + + -- Get export file content + INSERT INTO @FILE_CONTENT_BODY ([GUID], [FILE_CONTENT_BODY_LINE]) + SELECT [T1].[GUID], [T1].[FILE_CONTENT] + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] AS [T1], + [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] AS [T2] + WHERE [T2].[JOB_GUID] = @JOB_GUID + and [T2].[GUID] = [T1].[FILE_CONFIG_GUID] + ORDER BY [T1].[ADDED_WHO] + + SET @FILE_CONTENT_BODY_COUNT = (SELECT COUNT(*) FROM @FILE_CONTENT_BODY) + + -- Go on, if there is a contetn to export + IF (@FILE_CONTENT_BODY_COUNT > 0) + + BEGIN + PRINT '@FILE_CONTENT_BODY_COUNT (lines in FILE_CONTENT Table): ' + CONVERT(VARCHAR(50),@FILE_CONTENT_BODY_COUNT) + + -- Textdatei erzeugen + -- Create an instance of the file system object + EXECUTE @OLE_RESULT = sp_OACreate 'Scripting.FileSystemObject',@FSO OUT + -- If Scripting object cannot be created + IF (@OLE_RESULT <> 0) + + BEGIN + SET @ERROR = 'Scripting.FileSystemObject ' + ' Error code: ' + CONVERT(VARCHAR(300),@OLE_RESULT) + SET @ERROR_LINE = CONVERT(VARCHAR(10),@OLE_RESULT) + EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] @JOB_GUID,'File:','Procedure: PRCUST_EXPORT_POSTING_DATA_CREATE_FILE',@ERROR_LINE,@ERROR + END + + -- If Scripting object can be created + ELSE + BEGIN + + -- Open the text file for writing + SELECT @FILE_NAME_SEPARATOR = RTRIM(LTRIM(CONVERT(VARCHAR(10), [FILE_NAME_SEPARATOR]))), + @FILE_DATA_SEPARATOR = RTRIM(LTRIM(CONVERT(VARCHAR(10), [FILE_DATA_SEPARATOR]))), + @FILE_PATH_TEMP = RTRIM(LTRIM(CONVERT(VARCHAR(500),[FILE_PATH_TEMP]))), + @FILE_PATH_EXPORT = RTRIM(LTRIM(CONVERT(VARCHAR(500),[FILE_PATH_EXPORT]))), + @FILE_PATH_ARCHIV = RTRIM(LTRIM(CONVERT(VARCHAR(500),[FILE_PATH_ARCHIV]))), + @FILE_PATH_ERROR = RTRIM(LTRIM(CONVERT(VARCHAR(500),[FILE_PATH_ERROR]))) + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + WHERE [JOB_GUID] = @JOB_GUID + + PRINT ' ' + PRINT '@FILE_PATH_TEMP: ' + @FILE_PATH_TEMP + PRINT '@FILE_PATH_EXPORT: ' + @FILE_PATH_EXPORT + PRINT '@FILE_PATH_ARCHIV: ' + @FILE_PATH_ARCHIV + PRINT '@FILE_PATH_ERROR: ' + @FILE_PATH_ERROR + + -- Build Filename @FILE_NAME = + EXECUTE [dbo].[PRCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME] @JOB_GUID = @JOB_GUID, @EXPORT_BOOKING_NUMBER = @EXPORT_BOOKING_NUMBER, @FILE_NAME = @FILE_NAME OUTPUT; + PRINT 'Determined @FILE_NAME: ' + @FILE_NAME + + -- Build Filename and path + SET @FILE_PATH_AND_NAME = @FILE_PATH_TEMP + '\' + @FILE_NAME + PRINT 'Determined @FILE_PATH_AND_NAME: ' + @FILE_PATH_AND_NAME + + EXEC @OLE_RESULT = sp_OAMethod @FSO,'OpenTextFile',@FILE_ID OUT, @FILE_PATH_AND_NAME, 2, TRUE, 0 + IF @OLE_RESULT <> 0 + + BEGIN + SET @ERROR = 'OpenTextFile ' + ' Error code: ' + CONVERT(VARCHAR(300),@OLE_RESULT) + SET @ERROR_LINE = CONVERT(VARCHAR(10),@OLE_RESULT) + --EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] 'File:','Procedure: PRCUST_EXPORT_POSTING_DATA_CREATE_FILE',@ERROR_LINE,@ERROR + END + + -- If file could be created, fill the content + ELSE + + BEGIN + -- Set File Head + PRINT ' ' + PRINT '@JOB_NAME: ' + CONVERT(VARCHAR(50),@JOB_NAME) + + SET @FILE_CONTENT_HEAD_QUERY = [dbo].[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD](@JOB_NAME,1) + PRINT '@FILE_CONTENT_HEAD_QUERY (unprocessed): ' + @FILE_CONTENT_HEAD_QUERY + + ----Not necessary if replace in sp_executesql works! + --SET @FILE_CONTENT_Head_Query = REPLACE(REPLACE(@FILE_CONTENT_Head_Query,'@FILE_DATA_SEPARATOR',''';'''), ';', @FILE_DATA_SEPARATOR) + --PRINT '@FILE_CONTENT_Head_Query (processed): ' + @FILE_CONTENT_Head_Query + + INSERT INTO @FILE_CONTENT_HEAD_RESULT + EXECUTE sp_executesql @FILE_CONTENT_Head_Query, N'@FILE_DATA_SEPARATOR varchar(1)', @FILE_DATA_SEPARATOR = @FILE_DATA_SEPARATOR; + + -- Get File Head and replace word wrap / line breaks + SET @FILE_CONTENT_HEAD = (SELECT * FROM @FILE_CONTENT_HEAD_RESULT) + SET @FILE_CONTENT_HEAD = REPLACE(@FILE_CONTENT_HEAD,CHAR(13) + CHAR(10),'') + PRINT '@FILE_CONTENT_Head: ' + @FILE_CONTENT_Head + + -- Write Headline to Var and file + -- Abgeschaltet am 21.01 da die HeadLine nicht in die Datei geschrieben werden soll. + SET @FILE_CONTENT = @FILE_CONTENT_Head + @FILE_CONTENT + --EXECUTE @OLE_RESULT = sp_OAMethod @FILE_ID,'WriteLine',NULL,@FILE_CONTENT + + -- prepare cursor to write every content line + DECLARE CURSOR_WRITE_FILE_CONTENT CURSOR + FOR + SELECT [FILE_CONTENT_BODY_LINE] + FROM @FILE_CONTENT_BODY + + OPEN CURSOR_WRITE_FILE_CONTENT + FETCH NEXT FROM CURSOR_WRITE_FILE_CONTENT INTO @FILE_CONTENT_BODY_LINE + WHILE @@FETCH_STATUS = 0 + BEGIN + -- Write the line into the file + PRINT '@FILE_CONTENT_BODY_LINE: ' + @FILE_CONTENT_BODY_LINE + EXECUTE @OLE_RESULT = sp_OAMethod @FILE_ID,'WriteLine',NULL,@FILE_CONTENT_BODY_LINE + + -- Set Var to write into Archiv + SET @FILE_CONTENT = @FILE_CONTENT + CHAR(13) + CHAR(10) + @FILE_CONTENT_BODY_LINE + + FETCH NEXT FROM CURSOR_WRITE_FILE_CONTENT INTO @FILE_CONTENT_BODY_LINE + END + CLOSE CURSOR_WRITE_FILE_CONTENT + DEALLOCATE CURSOR_WRITE_FILE_CONTENT + + -- Remove filesystemobject + EXECUTE @OLE_RESULT = sp_OADestroy @FILE_ID + EXECUTE @OLE_RESULT = sp_OADestroy @FSO + + -- prepare cursor to delete content lines + DECLARE CURSOR_DELETE_FILE_CONTENT CURSOR + FOR + SELECT [GUID] + FROM @FILE_CONTENT_BODY + + OPEN CURSOR_DELETE_FILE_CONTENT + FETCH NEXT FROM CURSOR_DELETE_FILE_CONTENT INTO @GUID + WHILE @@FETCH_STATUS = 0 + BEGIN + + DELETE + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] + WHERE [GUID] = @GUID + + FETCH NEXT FROM CURSOR_DELETE_FILE_CONTENT INTO @GUID + END + CLOSE CURSOR_DELETE_FILE_CONTENT + DEALLOCATE CURSOR_DELETE_FILE_CONTENT + + -- Copy file to archiv folder + SET @CMD = 'copy "' + @FILE_PATH_AND_NAME + '" "' + @FILE_PATH_ARCHIV + '"' + EXEC master..xp_cmdshell @CMD, no_output + + -- If copy was successfull, move to output folder + SET @CMD = 'move "' + @FILE_PATH_AND_NAME + '" "' + @FILE_PATH_EXPORT + '"' + EXEC master..xp_cmdshell @CMD, no_output + + -- Archive to DB + EXECUTE [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV] @JOB_GUID, @windreamDocID, @EXPORT_BOOKING_NUMBER, @FILE_ID, @FILE_NAME, @FILE_CONTENT; + + PRINT 'PROCEDURE - END PRCUST_EXPORT_POSTING_DATA_WRITE_FILE @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + + END + + END + + END + + ELSE + + BEGIN + PRINT 'No rows in data table found!' + PRINT '' + PRINT 'Please check if File was already exported!' + PRINT '1. Check if windream Date [dwdate04] is set? Must be unset or 19700101! (19700101 = 1.1.1970)! ' + PRINT '2. Check if windream Status [szText33] is set to "erledigt"!' + PRINT '3. Check if WF: Zahlungsfreigabe der Geschäftsführung [Vektor_Boolean_06] ist set to true/wahr, ' + PRINT ' have to be false/falsch!' + PRINT '' + + PRINT 'PROCEDURE - END PRCUST_EXPORT_POSTING_DATA_WRITE_FILE @ ' + CONVERT(varchar(50),GETDATE(),120) + PRINT '===============================' + END + +END TRY + +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(50),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + --EXEC [PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] @JOB_GUID, 'File:','Procedure: PRCUST_EXPORT_POSTING_DATA_CREATE_FILE'--, CONVERT(VARCHAR(30),ERROR_PROCEDURE()), ERROR_MESSAGE + RETURN 1 +END CATCH +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV].sql new file mode 100644 index 0000000..534aab9 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV].sql @@ -0,0 +1,44 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV] Script Date: 21.03.2024 16:01:04 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_FILE_ARCHIV] + @JOB_GUID INT, + @windreamDocID BIGINT, + @EXPORT_BOOKING_NUMBER BIGINT, + @FILE_ID INT = 0, + @FILE_NAME VARCHAR(100), + @FILE_CONTENT NVARCHAR(MAX), + @COMMENT VARCHAR(100) = NULL + +AS +BEGIN TRY + + SET NOCOUNT ON; + + INSERT INTO [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] + ([JOB_GUID], [DOCID], [EXPORT_BOOKING_NUMBER], [FILE_ID], [FILE_NAME], [FILE_CONTENT], [COMMENT]) + VALUES (@JOB_GUID, @windreamDocID, @EXPORT_BOOKING_NUMBER, @FILE_ID, @FILE_NAME, @FILE_CONTENT, @COMMENT) + + RETURN 0 + +END TRY + +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + RETURN 1 +END CATCH +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG].sql b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG].sql new file mode 100644 index 0000000..3aa393b --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Prozeduren/[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG].sql @@ -0,0 +1,44 @@ +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] Script Date: 21.03.2024 16:01:30 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +CREATE PROCEDURE [dbo].[PRCUST_EXPORT_POSTING_DATA_WRITE_JOB_LOG] + @JOB_GUID INT, + @LOG_TYPE VARCHAR(10) ='INFO', + @DESCRIPTION1 VARCHAR(100) = NULL, + @DESCRIPTION2 VARCHAR(100) = NULL, + @DESCRIPTION3 VARCHAR(100) = NULL, + @DESCRIPTION4 VARCHAR(100) = NULL, + @DESCRIPTION5 VARCHAR(100) = NULL + +AS +BEGIN TRY + + SET NOCOUNT ON; + + INSERT INTO [dbo].[TBCUST_EXPORT_POSTING_DATA_JOB_LOG] + ([JOB_GUID], [LOG_TYPE], [DESCRIPTION1], [DESCRIPTION2], [DESCRIPTION3], [DESCRIPTION4], [DESCRIPTION5]) + VALUES (@JOB_GUID, @LOG_TYPE, @DESCRIPTION1, @DESCRIPTION2, @DESCRIPTION3, @DESCRIPTION4, @DESCRIPTION5) + + RETURN 0 + +END TRY + +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + RETURN 1 +END CATCH +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Sichten/[VWCUST_USER_REPRESENTATION].sql b/VHM-DIGITALDATA/SQL-Server/Sichten/[VWCUST_USER_REPRESENTATION].sql new file mode 100644 index 0000000..13be018 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Sichten/[VWCUST_USER_REPRESENTATION].sql @@ -0,0 +1,39 @@ +USE [DD_ECM] +GO + +/****** Object: View [dbo].[VWCUST_USER_REPRESENTATION] Script Date: 21.03.2024 15:56:45 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +/****** Skript für SelectTopNRows-Befehl aus SSMS ******/ + +-- Stand: MK // 17.09.2021 +-- 17.09.2021 - initial + +CREATE view [dbo].[VWCUST_USER_REPRESENTATION] +as + +SELECT + [TBDD_USER_REPRESENTATION].[GUID] + ,[USER_ID] + ,[TBDD_USER].[USERNAME] as [USERNAME] + ,[REPR_USER] + ,[REPR_GROUP] + ,[REPR_GROUP].[NAME] as [REPR_GROUPNAME] + ,[RIGHT_GROUP] + ,[RIGHT_GROUP].[NAME] as [RIGHT_GROUPNAME] + ,[TBDD_USER_REPRESENTATION].[ADDED_WHO] + ,[TBDD_USER_REPRESENTATION].[ADDED_WHEN] + ,[TBDD_USER_REPRESENTATION].[CHANGED_WHO] + ,[TBDD_USER_REPRESENTATION].[CHANGED_WHEN] + + FROM [DD_ECM].[dbo].[TBDD_USER_REPRESENTATION] + INNER JOIN [TBDD_USER] ON [TBDD_USER_REPRESENTATION].[USER_ID] = [TBDD_USER].[GUID] + LEFT JOIN [TBDD_GROUPS] as [REPR_GROUP] ON [TBDD_USER_REPRESENTATION].[REPR_GROUP] = [REPR_GROUP].[GUID] + LEFT JOIN [TBDD_GROUPS] as [RIGHT_GROUP] ON [TBDD_USER_REPRESENTATION].[RIGHT_GROUP] = [RIGHT_GROUP].[GUID] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD].sql b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD].sql new file mode 100644 index 0000000..94520da --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD].sql @@ -0,0 +1,69 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD] Script Date: 21.03.2024 16:03:13 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +create FUNCTION [dbo].[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD] ( + @FILE_TYPE VARCHAR(50), -- Mandatory Parameter, to build the Head String + @USE_DATA_SEPARATOR INT = 1 +) +RETURNS VARCHAR(MAX) +AS +BEGIN + + DECLARE + @FILE_TEMPLATE_GUID INT = NULL, + @FILE_USED_COLUMNS_COUNT INT = 0, + @FILE_USED_COLUMNS_COUNTER INT = 1, + @FILE_HEAD_QUERY VARCHAR(MAX) = 'SELECT TOP 1 ', + @FILE_HEAD_COLUMN VARCHAR(50) = 'FILE_COLUMN' + + SELECT TOP 1 @FILE_TEMPLATE_GUID = [GUID], @FILE_USED_COLUMNS_COUNT = [FILE_USED_COLUMNS_COUNT] + FROM [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] + WHERE [FILE_TYPE] = @FILE_TYPE + + WHILE (@FILE_USED_COLUMNS_COUNTER <= @FILE_USED_COLUMNS_COUNT) + BEGIN + + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + + (SELECT TOP 1 (@FILE_HEAD_COLUMN + CONVERT(varchar(20),@FILE_USED_COLUMNS_COUNTER)) + FROM [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] + WHERE [GUID] = @FILE_TEMPLATE_GUID) + + SET @FILE_USED_COLUMNS_COUNTER = @FILE_USED_COLUMNS_COUNTER + 1 + + --@FILE_DATA_SEPARATOR must be replaced like "EXEC sp_executesql @statement, N'@FILE_DATA_SEPARATOR varchar(1)', @FILE_DATA_SEPARATOR = @FILE_DATA_SEPARATOR;" + IF (@FILE_USED_COLUMNS_COUNTER <= @FILE_USED_COLUMNS_COUNT) + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + ' + ' + '@FILE_DATA_SEPARATOR' + ' + ' + ELSE + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + ' ' + END + + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + 'FROM [TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] WHERE [GUID] = ' + CONVERT(VARCHAR(100),@FILE_TEMPLATE_GUID) + + -- Failsafe + SET @FILE_HEAD_QUERY = ISNULL(@FILE_HEAD_QUERY, -1) + + RETURN @FILE_HEAD_QUERY + + --EXAMPLE TO CALL IT: + --declare + --@statement1 nvarchar(max), + --@FILE_DATA_SEPARATOR varchar(1) = ';'; + + --set @statement1 = dbo.[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD]('Schleupen-Export1',1) + + --print @statement1 + + --EXEC sp_executesql @statement1, N'@FILE_DATA_SEPARATOR varchar(1)', @FILE_DATA_SEPARATOR = @FILE_DATA_SEPARATOR; + +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql new file mode 100644 index 0000000..51ad872 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME].sql @@ -0,0 +1,62 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME] Script Date: 21.03.2024 16:03:39 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +CREATE FUNCTION [dbo].[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_NAME] ( + @JOB_GUID INT -- Mandatory Parameter, to build the file name +) +RETURNS VARCHAR(MAX) +AS +BEGIN + + DECLARE + @FILE_NAME VARCHAR(50), + @FILE_BASE_NAME VARCHAR(50), + @FILE_RUNNING_NUMBER BIGINT, + @FILE_EXTENSION VARCHAR(4) + + SELECT @FILE_BASE_NAME = [FILE_BASE_NAME], + @FILE_RUNNING_NUMBER = [FILE_RUNNING_NUMBER], + @FILE_EXTENSION = [FILE_EXTENSION] + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + WHERE [JOB_GUID] = @JOB_GUID + + IF (@FILE_RUNNING_NUMBER is null) or (@FILE_RUNNING_NUMBER < 0) + BEGIN + SET @FILE_RUNNING_NUMBER = 1 + END + + SET @FILE_NAME = @FILE_BASE_NAME + @FILE_RUNNING_NUMBER + '.' + @FILE_EXTENSION + SET @FILE_RUNNING_NUMBER = @FILE_RUNNING_NUMBER + 1 + + --UPDATE [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + --SET [FILE_RUNNING_NUMBER] = @FILE_RUNNING_NUMBER + --WHERE [JOB_GUID] = @JOB_GUID + +declare + @statement1 nvarchar(max), + @FILE_DATA_SEPARATOR varchar(1) = ';'; + +set @statement1 = dbo.[FNCUST_EXPORT_POSTING_DATA_BUILD_FILE_HEAD]('Schleupen-Export1',1) + +--print @statement1 + +EXEC sp_executesql @statement1, N'@FILE_DATA_SEPARATOR varchar(1)', @FILE_DATA_SEPARATOR = @FILE_DATA_SEPARATOR; + + + -- Failsafe + SET @FILE_NAME = ISNULL(@FILE_NAME, 0) + + RETURN @FILE_NAME + +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_GET_VHM_SECTION].sql b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_GET_VHM_SECTION].sql new file mode 100644 index 0000000..c2e0e20 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Skalarwertfunktionen/[FNCUST_GET_VHM_SECTION].sql @@ -0,0 +1,63 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_VHM_SECTION] Script Date: 21.03.2024 16:02:41 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Skalarfunktion: Anhand des Usernamens wird die VHM Sparte (Netz oder Vertrieb) bestimmt +-- Stand: MK // 21.04.2021 + +-- PM Profil: VHM - ER 3.0 - Zuweisung und Vorprüfung durch die FiBu + +Create FUNCTION [dbo].[FNCUST_GET_VHM_SECTION] ( + @FILE_TYPE VARCHAR(50), -- Mandatory Parameter, to build the Head String + @USE_DATA_SEPARATOR INT = 1 +) +RETURNS VARCHAR(MAX) +AS +BEGIN + + DECLARE + @FILE_TEMPLATE_GUID INT = NULL, + @FILE_USED_COLUMNS_COUNT INT = 0, + @FILE_USED_COLUMNS_COUNTER INT = 1, + @FILE_HEAD_QUERY VARCHAR(MAX) = 'SELECT TOP 1 ', + @FILE_HEAD_COLUMN VARCHAR(50) = 'FILE_COLUMN' + + SELECT TOP 1 @FILE_TEMPLATE_GUID = [GUID], @FILE_USED_COLUMNS_COUNT = [FILE_USED_COLUMNS_COUNT] + FROM [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] + WHERE [FILE_TYPE] = @FILE_TYPE + + WHILE (@FILE_USED_COLUMNS_COUNTER <= @FILE_USED_COLUMNS_COUNT) + BEGIN + + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + + (SELECT TOP 1 (@FILE_HEAD_COLUMN + CONVERT(varchar(20),@FILE_USED_COLUMNS_COUNTER)) + FROM [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] + WHERE [GUID] = @FILE_TEMPLATE_GUID) + + SET @FILE_USED_COLUMNS_COUNTER = @FILE_USED_COLUMNS_COUNTER + 1 + + --@FILE_DATA_SEPARATOR must be replaced like "EXEC sp_executesql @statement, N'@FILE_DATA_SEPARATOR varchar(1)', @FILE_DATA_SEPARATOR = @FILE_DATA_SEPARATOR;" + IF (@FILE_USED_COLUMNS_COUNTER <= @FILE_USED_COLUMNS_COUNT) + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + ' + ' + '@FILE_DATA_SEPARATOR' + ' + ' + ELSE + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + ' ' + END + + SET @FILE_HEAD_QUERY = @FILE_HEAD_QUERY + 'FROM [TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] WHERE [GUID] = ' + CONVERT(VARCHAR(100),@FILE_TEMPLATE_GUID) + + -- Failsafe + SET @FILE_HEAD_QUERY = ISNULL(@FILE_HEAD_QUERY, -1) + + RETURN @FILE_HEAD_QUERY + +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_CORRECT_BUNR].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_CORRECT_BUNR].sql new file mode 100644 index 0000000..f153901 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_CORRECT_BUNR].sql @@ -0,0 +1,18 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_CORRECT_BUNR] Script Date: 21.03.2024 15:52:55 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_CORRECT_BUNR]( + [DocID] [int] NOT NULL, + [extRENr] [varchar](200) NOT NULL, + [BuNr] [varchar](20) NOT NULL +) ON [PRIMARY] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV].sql new file mode 100644 index 0000000..2f05cfb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV].sql @@ -0,0 +1,35 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] Script Date: 21.03.2024 15:53:27 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [JOB_GUID] [int] NOT NULL, + [DOCID] [bigint] NULL, + [EXPORT_BOOKING_NUMBER] [nvarchar](50) NULL, + [FILE_ID] [int] NULL, + [FILE_NAME] [varchar](100) NOT NULL, + [FILE_CONTENT] [nvarchar](max) NOT NULL, + [COMMENT] [varchar](100) NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + CONSTRAINT [PK_TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__6E01572D] DEFAULT ('DD_ECM DB-Internal') FOR [ADDED_WHO] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_ARCHIV] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__6EF57B66] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG].sql new file mode 100644 index 0000000..0c3671f --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG].sql @@ -0,0 +1,53 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] Script Date: 21.03.2024 15:53:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG]( + [GUID] [tinyint] IDENTITY(1,1) NOT NULL, + [JOB_GUID] [int] NOT NULL, + [MANDANTOR] [varchar](50) NOT NULL, + [EXPORT_TYPE] [varchar](50) NOT NULL, + [EXPORT_BOOKING_NUMBER_BASE] [bigint] NULL, + [EXPORT_BOOKING_NUMBER_COUNTER] [bigint] NULL, + [FILE_TYPE] [varchar](50) NOT NULL, + [FILE_NAME_SEPARATOR] [varchar](1) NULL, + [FILE_DATA_SEPARATOR] [varchar](1) NULL, + [FILE_BASE_NAME] [varchar](50) NOT NULL, + [FILE_RUNNING_NUMBER] [bigint] NULL, + [FILE_EXTENSION] [varchar](4) NOT NULL, + [FILE_PATH_TEMP] [varchar](500) NOT NULL, + [FILE_PATH_EXPORT] [varchar](500) NOT NULL, + [FILE_PATH_ARCHIV] [varchar](500) NOT NULL, + [FILE_PATH_ERROR] [varchar](500) NOT NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHO] [varchar](50) NULL, + [CHANGED_WHEN] [datetime] NULL, + [WD_VECTOR_VALUE_SEPERATOR] [nchar](1) NULL, + [WD_VECTOR_ID1] [int] NULL, + [WD_VECTOR_ID2] [int] NULL, + [WD_VECTOR_ID3] [int] NULL, + [WD_VECTOR_ID4] [int] NULL, + [WD_VECTOR_ID5] [int] NULL +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] ADD CONSTRAINT [DF_TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG_EXPORT_BOOKING_NUMBER] DEFAULT ((1)) FOR [EXPORT_BOOKING_NUMBER_BASE] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] ADD CONSTRAINT [DF_TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG_FILE_RUNNING_NUMBER] DEFAULT ((1)) FOR [FILE_RUNNING_NUMBER] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__628FA481] DEFAULT ('DD_ECM DB-Internal') FOR [ADDED_WHO] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__6383C8BA] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT].sql new file mode 100644 index 0000000..3464fe6 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT].sql @@ -0,0 +1,26 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] Script Date: 21.03.2024 15:54:49 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [FILE_CONFIG_GUID] [int] NOT NULL, + [FILE_CONTENT] [varchar](max) NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__6B24EA82] DEFAULT ('DD_ECM DB-Internal') FOR [ADDED_WHO] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_CONTENT] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__6C190EBB] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE].sql new file mode 100644 index 0000000..c48a7a6 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE].sql @@ -0,0 +1,58 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] Script Date: 21.03.2024 15:55:15 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [FILE_TYPE] [varchar](50) NULL, + [FILE_USED_COLUMNS_COUNT] [int] NOT NULL, + [FILE_COLUMN1] [varchar](25) NULL, + [FILE_COLUMN2] [varchar](25) NULL, + [FILE_COLUMN3] [varchar](25) NULL, + [FILE_COLUMN4] [varchar](25) NULL, + [FILE_COLUMN5] [varchar](25) NULL, + [FILE_COLUMN6] [varchar](25) NULL, + [FILE_COLUMN7] [varchar](25) NULL, + [FILE_COLUMN8] [varchar](25) NULL, + [FILE_COLUMN9] [varchar](25) NULL, + [FILE_COLUMN10] [varchar](25) NULL, + [FILE_COLUMN11] [varchar](25) NULL, + [FILE_COLUMN12] [varchar](25) NULL, + [FILE_COLUMN13] [varchar](25) NULL, + [FILE_COLUMN14] [varchar](25) NULL, + [FILE_COLUMN15] [varchar](25) NULL, + [FILE_COLUMN16] [varchar](25) NULL, + [FILE_COLUMN17] [varchar](25) NULL, + [FILE_COLUMN18] [varchar](25) NULL, + [FILE_COLUMN19] [varchar](25) NULL, + [FILE_COLUMN20] [varchar](25) NULL, + [FILE_COLUMN21] [varchar](25) NULL, + [FILE_COLUMN22] [varchar](25) NULL, + [FILE_COLUMN23] [varchar](25) NULL, + [FILE_COLUMN24] [varchar](25) NULL, + [FILE_COLUMN25] [varchar](25) NULL, + [FILE_COLUMN26] [varchar](25) NULL, + [FILE_COLUMN27] [varchar](25) NULL, + [FILE_COLUMN28] [varchar](25) NULL, + [FILE_COLUMN29] [varchar](25) NULL, + [FILE_COLUMN30] [varchar](25) NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHO] [varchar](50) NULL, + [CHANGED_WHEN] [datetime] NULL +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__656C112C] DEFAULT ('DD_ECM DB-Internal') FOR [ADDED_WHO] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_FILE_TEMPLATE] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__66603565] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG].sql b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG].sql new file mode 100644 index 0000000..0eaf0a5 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellen/[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG].sql @@ -0,0 +1,30 @@ +USE [DD_ECM] +GO + +/****** Object: Table [dbo].[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] Script Date: 21.03.2024 15:55:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG]( + [GUID] [tinyint] IDENTITY(1,1) NOT NULL, + [JOB_NAME] [varchar](50) NOT NULL, + [MANDANTOR] [varchar](50) NOT NULL, + [EXPORT_TYPE] [varchar](50) NOT NULL, + [COMMENT] [varchar](max) NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHO] [varchar](50) NULL, + [CHANGED_WHEN] [datetime] NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__29221CFB] DEFAULT ('DD_ECM DB-Internal') FOR [ADDED_WHO] +GO + +ALTER TABLE [dbo].[TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] ADD CONSTRAINT [DF__TBCUST_EX__ADDED__2A164134] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_ER_TO_CORRECT].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_ER_TO_CORRECT].sql new file mode 100644 index 0000000..d4fd562 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_ER_TO_CORRECT].sql @@ -0,0 +1,22 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_ER_TO_CORRECT] Script Date: 21.03.2024 16:05:05 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +CREATE FUNCTION [dbo].[FNCUST_ER_TO_CORRECT] () +RETURNS TABLE +AS +RETURN + + ---------------------------------------------------------------------------------------------------------------------------------- + + select DocID, dbo.FNDD_GET_WINDREAM_FILE_PATH(DocID,1) as WMPath FROM TBCUST_CORRECT_BUNR +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql new file mode 100644 index 0000000..eeea0f0 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql @@ -0,0 +1,66 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN] Script Date: 21.03.2024 16:05:36 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 27.08.2021 +-- 27.08.2021 Sortierung nach Satzart eingefügt +-- 03.08.2021 Div. TRIM Befehle eingebaut +-- 25.02.2021 Betrag Konvertierung gäendert + +CREATE FUNCTION [dbo].[FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN] ( + @JOB_GUID INT, + @EXPORT_BOOKING_NUMBER BIGINT, + @windreamDocID BIGINT, + @windreamStatus VARCHAR(20), -- Should be: 'erledigt' + @windreamExportDate VARCHAR(8) -- Should be: NULL +) +RETURNS @FILE_CONTENT TABLE (FILE_CONTENT_BODY [VARCHAR](max) NOT NULL) +AS +BEGIN + + DECLARE @ERROR VARCHAR(1000), + @ERROR_LINE VARCHAR(10) + + INSERT INTO @FILE_CONTENT(FILE_CONTENT_BODY) + + SELECT ISNULL(CONVERT(VARCHAR(max),[Belegnummer (X)]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),CAST([Belegdatum (X)] as date), 104),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),CAST([Valutadatum] as date), 104),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Kontoart (X)]),'') + ';' + + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(max),[Kontonummer (X)]),''))) + ';' + + ISNULL(CONVERT(VARCHAR(max),[Gegenkontoart (X)]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Gegenkonto]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Zusatzkontoart]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Zusatzkonto]),'') + ';' + + REPLACE(LTRIM(RTRIM(STR([Betrag],25,2))),'.',',') + ';' + + ISNULL(CONVERT(VARCHAR(max),[S/H-Kennzeichen]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Steuerschlüssel]),'') + ';' + + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(max),[Buchungstext]),''))) + ';' + + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(max),[Zahlungsträgerhinweis]),''))) + ';' + + ISNULL(CONVERT(VARCHAR(max),LTRIM(RTRIM([Geschäftsbereich]))),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),CAST([externes Rechnungsdatum] as date), 104),'') + ';' + + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(max),[externe Rechnungsnummer]),''))) + ';' + + ISNULL(CONVERT(VARCHAR(max),[Rechnungseinheit]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),CAST([Fälligkeitsdatum] as date), 104),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Skontotage 1]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Skonto Prozent 1]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Skontotage 2]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Skonto Prozent 2]),'') + ';' + + ISNULL(CONVERT(VARCHAR(max),[Nettotage]),'') + FROM [FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN](@JOB_GUID,@EXPORT_BOOKING_NUMBER,@windreamDocID,@windreamStatus,@windreamExportDate) + ORDER BY [Satzart] ASC + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql new file mode 100644 index 0000000..d433359 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN].sql @@ -0,0 +1,521 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN] Script Date: 21.03.2024 16:22:12 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 01.09.2021 +-- 01.09.2021 Skontotage und Skontoprozent entfernt / auf NULL gesetzt +-- 27.08.2021 Satzart für die Sortierung eingefügt --> Funktion "FNCUST_FORMAT-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN" ruft dies ab +-- 03.08.2021 [Kontonummer (X)] von int auf varchar umgestellt, da die Nummern auch mit 0 beginnen kann! +-- 11.03.2021 Zeilenumbruch in Buchungstext abgefangen REPLACE(REPLACE([szText02],';',''),CHAR(13) + CHAR(10),'') +-- 10.03.2021 REPLACE(@INVOICE_SPLIT_BUSINESS_UNIT,';','') in die Cursor eingebaut, eigener Cursor für Geschäftsbereich hinzugefügt +-- 25.02.2021 Expliziete Float Konvertierung für "Betrag" eingebaut +-- 17.02.2021 Datumsfelder getauscht +-- 11.02.2021 Fehler im 3. cursor behoben (@INVOICE_SPLIT_COSTUNIT) +-- 11.02.2021 Cursor für neue Rechnungsaufteilungstabelle überarbeitet +-- 11.02.2021 and LEN(INVOICE_SPLIT_AMOUNT) + +CREATE FUNCTION [dbo].[FNCUST_GET-EXPORT_POSTING_DATA_FROM_WINDREAM_FOR_SCHLEUPEN] ( + @JOB_GUID INT, + @EXPORT_BOOKING_NUMBER BIGINT, + @windreamDocID BIGINT, + @windreamStatus VARCHAR(20), -- Should be: 'erledigt' + @windreamExportDate VARCHAR(8) -- Should be: NULL +) +RETURNS @WINDREAM_2_SCHLEUPEN TABLE ([Satzart] [BIGINT] NULL, + [Belegnummer (X)] [BIGINT] NULL, + [Belegdatum (X)] [DATE] NULL, + [Valutadatum] [DATE] NULL, + [Kontoart (X)] [VARCHAR](20) NULL, + [Kontonummer (X)] [VARCHAR](20) NULL, + [Gegenkontoart (X)] [VARCHAR](20) NULL, + [Gegenkonto] [INT] NULL, + [Zusatzkontoart] [VARCHAR](20) NULL, + [Zusatzkonto] [INT] NULL, + [Betrag] [float] NULL, --Ursp. [VARCHAR](20) NULL + [S/H-Kennzeichen] [VARCHAR](20) NULL, + [Steuerschlüssel] [VARCHAR](20) NULL, + [Buchungstext] [VARCHAR](max) NULL, + [Zahlungsträgerhinweis] [VARCHAR](max) NULL, + [Geschäftsbereich] [VARCHAR](20) NULL, + [externes Rechnungsdatum] [DATE] NULL, + [externe Rechnungsnummer] [VARCHAR](50) NULL, + [Rechnungseinheit] [INT] NULL, + [Fälligkeitsdatum] [DATE] NULL, + [Skontotage 1] [INT] NULL, + [Skonto Prozent 1] [INT] NULL, + [Skontotage 2] [INT] NULL, + [Skonto Prozent 2] [INT] NULL, + [Nettotage] [INT] NULL) +AS +BEGIN + + DECLARE @JOB_NAME VARCHAR(50), + @MANDATOR VARCHAR(50), + @EXPORT_TYPE VARCHAR(50), + + @windreamVectorID1 INT, -- Vektor ID für Rechnungsaufteilungtabelle (Sachkonto, etc...) + @windreamVectorID2 INT, -- Vektor ID für S/H-Kennzeichen + @windreamVectorSeparator VARCHAR(1), -- Trennzeichen für Daten im Vektorfeld. Default: "~" + + @IncomeExpensesFlag VARCHAR(1), -- Variable für S/H Kennzeichen im Kopf + @szValue VARCHAR(max), -- Variable für den gesamten Zeileninhalt aus der Vektortabelle + + @INVOICE_SPLIT_TASKNR VARCHAR(max), -- Variable für evtl. Auftragsnummern in der Mitte + @INVOICE_SPLIT_COSTUNIT VARCHAR(max), -- Variable für evtl. Kostenstellen in der Mitte + @INVOICE_SPLIT_AMOUNT VARCHAR(max), -- Variable für den Betrag für die Zeile in der Mitte + @INVOICE_SPLIT_TAXKEY VARCHAR(max), -- Variable für Steuerschlüssel in der Mitte + @INVOICE_SPLIT_IMPERSONAL_ACCOUNT VARCHAR(max), -- Variable für das Sachkonto in der Mitte + @INVOICE_SPLIT_BUSINESS_UNIT VARCHAR(max), -- Variable für den Geschäftsbereich in der Mitte + @INVOICE_SPLIT_INCOMEEXPENSESFLAG VARCHAR(1); -- Variable für S/H Kennzeichen in der Mitte + +DECLARE @TB_INVOICE_SPLIT as TABLE ([GUID] [INT] IDENTITY(1,1) NOT NULL, + INVOICE_SPLIT_TASKNR [VARCHAR](max) NULL, + INVOICE_SPLIT_COSTUNIT [VARCHAR](max) NULL, + INVOICE_SPLIT_AMOUNT [VARCHAR](max) NULL, + INVOICE_SPLIT_TAXKEY [VARCHAR](max) NULL, + INVOICE_SPLIT_IMPERSONAL_ACCOUNT [VARCHAR](max) NULL, + INVOICE_SPLIT_BUSINESS_UNIT [VARCHAR](max) NULL, + INVOICE_SPLIT_INCOMEEXPENSESFLAG [VARCHAR](1) NULL) + + --===============================================-- Get Job infos --===============================================-- + SELECT @JOB_NAME = [JOB_NAME], + @MANDATOR = [MANDANTOR], + @EXPORT_TYPE = [EXPORT_TYPE] + FROM [TBCUST_EXPORT_POSTING_DATA_JOB_CONFIG] + WHERE [GUID] = @JOB_GUID + + --===============================================-- Get File config infos --===============================================-- + SELECT @windreamVectorSeparator = [WD_VECTOR_VALUE_SEPERATOR], + @windreamVectorID1 = [WD_VECTOR_ID1], + @windreamVectorID2 = [WD_VECTOR_ID2] + FROM [TBCUST_EXPORT_POSTING_DATA_FILE_CONFIG] + WHERE [JOB_GUID] = @JOB_GUID + + --===============================================-- Get BOOKING_NUMBER --===============================================-- + IF (@EXPORT_BOOKING_NUMBER > 1) and (@EXPORT_BOOKING_NUMBER is not null) + SET @EXPORT_BOOKING_NUMBER = convert(VARCHAR(100),@EXPORT_BOOKING_NUMBER); + Else + BEGIN + SET @EXPORT_BOOKING_NUMBER = (SELECT [dwDocID] FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') + OR ([dwDate04] IS NULL))) + END; + + --===============================================-- Get IncomeExpensesFlag for doc; NOT Pos! --===============================================-- + + SELECT TOP 1 @IncomeExpensesFlag = [szValue] -- S/H Kennzeichen + FROM [windream60].[dbo].[Vector] + WHERE szValue IS NOT NULL + and dwDocID = @windreamDocID + and dwAttrID = @windreamVectorID2 + + -- Failsafe for "S/H Kennzeichen" - Head + IF (@IncomeExpensesFlag NOT in ('H','S')) + SET @IncomeExpensesFlag = 'H'; + + --===============================================-- Get data for doc HEAD --===============================================-- + + INSERT INTO @WINDREAM_2_SCHLEUPEN ([Satzart], + [Belegnummer (X)], + [Belegdatum (X)], + [Valutadatum], + [Kontoart (X)], + [Kontonummer (X)], + [Gegenkontoart (X)], + [Gegenkonto], + [Zusatzkontoart], + [Zusatzkonto], + [Betrag], + [S/H-Kennzeichen], + [Steuerschlüssel], + [Buchungstext], + [Zahlungsträgerhinweis], + [Geschäftsbereich], + [externes Rechnungsdatum], + [externe Rechnungsnummer], + [Rechnungseinheit], + [Fälligkeitsdatum], + [Skontotage 1], + [Skonto Prozent 1], + [Skontotage 2], + [Skonto Prozent 2], + [Nettotage]) + + SELECT 10 as [Satzart], + @EXPORT_BOOKING_NUMBER as [Belegnummer (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate09],8)),104),'dd.MM.yyyy') as [Belegdatum (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate07],8)),104),'dd.MM.yyyy') as [Valutadatum], + 'K' as [Kontoart (X)], + REPLACE(REPLACE([szText38],';',''),' ','') as [Kontonummer (X)], + NULL as [Gegenkontoart (X)], + NULL as [Gegenkonto], + NULL as [Zusatzkontoart], + NULL as [Zusatzkonto], + TRY_CONVERT(float,[lfFloat12]) as [Betrag],--TRY_CONVERT(float,[lfFloat12]) TRY_CONVERT(float,[lfFloat12]) + @IncomeExpensesFlag as [S/H-Kennzeichen], + '' as [Steuerschlüssel], + REPLACE(REPLACE([szText02],';',''),CHAR(13) + CHAR(10),'') as [Buchungstext], + NULL as [Zahlungsträgerhinweis], + NULL as [Geschäftsbereich], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([decCreationTime],8)),104),'dd.MM.yyyy') as [externes Rechnungsdatum], + REPLACE([szText19],';','') as [externe Rechnungsnummer], + NULL as [Rechnungseinheit], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate06],8)),104),'dd.MM.yyyy') as [Fälligkeitsdatum], + NULL as [Skontotage 1], -- ursp. [dwInteger23] + NULL as [Skonto Prozent 1], -- ursp. [lfFloat09] + NULL as [Skontotage 2], + NULL as [Skonto Prozent 2], + [dwInteger22] as [Nettotage] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') + OR ([dwDate04] IS NULL)) + + --===============================================-- Get data for doc POS --===============================================-- + + DECLARE CURSOR_INVOICE_SPLIT CURSOR + FOR + SELECT [szValue] -- Vektor Tabelle für Rechnungsaufteilung - bis zu 7 Spalten + FROM [windream60].[dbo].[Vector] + WHERE szValue IS NOT NULL + and dwDocID = @windreamDocID + and dwAttrID = @windreamVectorID1 + + OPEN CURSOR_INVOICE_SPLIT + FETCH NEXT FROM CURSOR_INVOICE_SPLIT INTO @szValue + WHILE @@FETCH_STATUS = 0 + BEGIN + + -- Replace ";" everytime - otherwise if ";" appears, it will corrupt the export file + INSERT INTO @TB_INVOICE_SPLIT (INVOICE_SPLIT_TASKNR,INVOICE_SPLIT_COSTUNIT,INVOICE_SPLIT_AMOUNT,INVOICE_SPLIT_TAXKEY,INVOICE_SPLIT_IMPERSONAL_ACCOUNT,INVOICE_SPLIT_BUSINESS_UNIT,INVOICE_SPLIT_INCOMEEXPENSESFLAG) + VALUES ( + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 1),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 2),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 3),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 4),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 5),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 6),';',''), + REPLACE((SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @windreamVectorSeparator) where GUID = 7),';','') + ) + + FETCH NEXT FROM CURSOR_INVOICE_SPLIT INTO @szValue + END + CLOSE CURSOR_INVOICE_SPLIT + DEALLOCATE CURSOR_INVOICE_SPLIT + + --------------------------------------------------------- + -- For each order number (auftragsnummern) in windream db + --------------------------------------------------------- + DECLARE CURSOR_ORDERNR_AND_AMOUNT CURSOR + FOR + -- Get lines where "Auftragsnummer" is set, + -- ignore if costunit ist set + + SELECT [INVOICE_SPLIT_TASKNR], + [INVOICE_SPLIT_COSTUNIT], + [INVOICE_SPLIT_AMOUNT], + [INVOICE_SPLIT_TAXKEY], + [INVOICE_SPLIT_IMPERSONAL_ACCOUNT], + [INVOICE_SPLIT_BUSINESS_UNIT], + [INVOICE_SPLIT_INCOMEEXPENSESFLAG] + FROM @TB_INVOICE_SPLIT + where LEN([INVOICE_SPLIT_TASKNR]) > 1 + -- and LEN(INVOICE_SPLIT_AMOUNT) > 0 -- Betrag kann auch '' sein + + OPEN CURSOR_ORDERNR_AND_AMOUNT + FETCH NEXT FROM CURSOR_ORDERNR_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + WHILE @@FETCH_STATUS = 0 + BEGIN + + BEGIN + + -- Failsafe for "S/H Kennzeichen" - Pos + IF (@INVOICE_SPLIT_INCOMEEXPENSESFLAG NOT in ('H','S')) + SET @INVOICE_SPLIT_INCOMEEXPENSESFLAG = 'S'; + + INSERT INTO @WINDREAM_2_SCHLEUPEN ([Satzart], + [Belegnummer (X)], + [Belegdatum (X)], + [Valutadatum], + [Kontoart (X)], + [Kontonummer (X)], + [Gegenkontoart (X)], + [Gegenkonto], + [Zusatzkontoart], + [Zusatzkonto], + [Betrag], + [S/H-Kennzeichen], + [Steuerschlüssel], + [Buchungstext], + [Zahlungsträgerhinweis], + [Geschäftsbereich], + [externes Rechnungsdatum], + [externe Rechnungsnummer], + [Rechnungseinheit], + [Fälligkeitsdatum], + [Skontotage 1], + [Skonto Prozent 1], + [Skontotage 2], + [Skonto Prozent 2], + [Nettotage]) + + SELECT 21 as [Satzart], + @EXPORT_BOOKING_NUMBER as [Belegnummer (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate09],8)),104),'dd.MM.yyyy') as [Belegdatum (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate07],8)),104),'dd.MM.yyyy') as [Valutadatum], + 'S' as [Kontoart (X)], + REPLACE(@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,' ','') as [Kontonummer (X)], + 'K' as [Gegenkontoart (X)], + REPLACE([szText38],';','') as [Gegenkonto], + 'AA' as [Zusatzkontoart], + @INVOICE_SPLIT_TASKNR as [Zusatzkonto], + TRY_CONVERT(FLOAT,(Replace(@INVOICE_SPLIT_AMOUNT,',','.'))) * 1.0 as [Betrag],--TRY_CONVERT(FLOAT,@INVOICE_SPLIT_AMOUNT) * 1.0 + @INVOICE_SPLIT_INCOMEEXPENSESFLAG as [S/H-Kennzeichen], + @INVOICE_SPLIT_TAXKEY as [Steuerschlüssel], + REPLACE(REPLACE([szText02],';',''),CHAR(13) + CHAR(10),'') as [Buchungstext], + NULL as [Zahlungsträgerhinweis], + REPLACE(@INVOICE_SPLIT_BUSINESS_UNIT,';','') as [Geschäftsbereich], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([decCreationTime],8)),104),'dd.MM.yyyy') as [externes Rechnungsdatum], + REPLACE([szText19],';','') as [externe Rechnungsnummer], + NULL as [Rechnungseinheit], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate06],8)),104),'dd.MM.yyyy') as [Fälligkeitsdatum], + NULL as [Skontotage 1], + NULL as [Skonto Prozent 1], + NULL as [Skontotage 2], + NULL as [Skonto Prozent 2], + NULL as [Nettotage] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') + OR ([dwDate04] IS NULL)) + + END + + FETCH NEXT FROM CURSOR_ORDERNR_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + END + CLOSE CURSOR_ORDERNR_AND_AMOUNT + DEALLOCATE CURSOR_ORDERNR_AND_AMOUNT + + ---------------------------------------------------- + + ---------------------------------------------------- + -- For each cost unit (kostenstellen) in windream db + ---------------------------------------------------- + DECLARE CURSOR_COSTUNIT_AND_AMOUNT CURSOR + FOR + -- Get lines where "Kostenstelle" is set, + -- but only if "Auftragsnummer" is unset, + -- because Auftragsnummer has prio! + + SELECT [INVOICE_SPLIT_TASKNR], + [INVOICE_SPLIT_COSTUNIT], + [INVOICE_SPLIT_AMOUNT], + [INVOICE_SPLIT_TAXKEY], + [INVOICE_SPLIT_IMPERSONAL_ACCOUNT], + [INVOICE_SPLIT_BUSINESS_UNIT], + [INVOICE_SPLIT_INCOMEEXPENSESFLAG] + FROM @TB_INVOICE_SPLIT + WHERE LEN(INVOICE_SPLIT_COSTUNIT) > 1 + and LEN(INVOICE_SPLIT_COSTUNIT) > 0 + and (LEN([INVOICE_SPLIT_TASKNR]) = 0 + or [INVOICE_SPLIT_TASKNR] is null) + + OPEN CURSOR_COSTUNIT_AND_AMOUNT + FETCH NEXT FROM CURSOR_COSTUNIT_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + WHILE @@FETCH_STATUS = 0 + BEGIN + + BEGIN + + -- Failsafe for "S/H Kennzeichen" - Pos + IF (@INVOICE_SPLIT_INCOMEEXPENSESFLAG NOT in ('H','S')) + SET @INVOICE_SPLIT_INCOMEEXPENSESFLAG = 'S'; + + INSERT INTO @WINDREAM_2_SCHLEUPEN ([Satzart], + [Belegnummer (X)], + [Belegdatum (X)], + [Valutadatum], + [Kontoart (X)], + [Kontonummer (X)], + [Gegenkontoart (X)], + [Gegenkonto], + [Zusatzkontoart], + [Zusatzkonto], + [Betrag], + [S/H-Kennzeichen], + [Steuerschlüssel], + [Buchungstext], + [Zahlungsträgerhinweis], + [Geschäftsbereich], + [externes Rechnungsdatum], + [externe Rechnungsnummer], + [Rechnungseinheit], + [Fälligkeitsdatum], + [Skontotage 1], + [Skonto Prozent 1], + [Skontotage 2], + [Skonto Prozent 2], + [Nettotage]) + + SELECT 22 as [Satzart], + @EXPORT_BOOKING_NUMBER as [Belegnummer (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate09],8)),104),'dd.MM.yyyy') as [Belegdatum (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate07],8)),104),'dd.MM.yyyy') as [Valutadatum], + 'S' as [Kontoart (X)], + REPLACE(@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,' ','') as [Kontonummer (X)], + 'K' as [Gegenkontoart (X)], + REPLACE([szText38],';','') as [Gegenkonto], + 'KS' as [Zusatzkontoart], + @INVOICE_SPLIT_COSTUNIT as [Zusatzkonto], + TRY_CONVERT(FLOAT,(Replace(@INVOICE_SPLIT_AMOUNT,',','.'))) * 1.0 as [Betrag],--TRY_CONVERT(FLOAT,@INVOICE_SPLIT_AMOUNT) * 1.0 + @INVOICE_SPLIT_INCOMEEXPENSESFLAG as [S/H-Kennzeichen], + @INVOICE_SPLIT_TAXKEY as [Steuerschlüssel], + REPLACE(REPLACE([szText02],';',''),CHAR(13) + CHAR(10),'') as [Buchungstext], + NULL as [Zahlungsträgerhinweis], + REPLACE(@INVOICE_SPLIT_BUSINESS_UNIT,';','') as [Geschäftsbereich], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([decCreationTime],8)),104),'dd.MM.yyyy') as [externes Rechnungsdatum], + REPLACE([szText19],';','') as [externe Rechnungsnummer], + NULL as [Rechnungseinheit], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate06],8)),104),'dd.MM.yyyy') as [Fälligkeitsdatum], + NULL as [Skontotage 1], + NULL as [Skonto Prozent 1], + NULL as [Skontotage 2], + NULL as [Skonto Prozent 2], + NULL as [Nettotage] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') + OR ([dwDate04] IS NULL)) + + END + + FETCH NEXT FROM CURSOR_COSTUNIT_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + END + CLOSE CURSOR_COSTUNIT_AND_AMOUNT + DEALLOCATE CURSOR_COSTUNIT_AND_AMOUNT + + --------------------------------------------------------- + + ---------------------------------------------------- + -- For each business unit (Geschäftsbereich) in windream db + ---------------------------------------------------- + DECLARE CURSOR_COSTUNIT_AND_AMOUNT CURSOR + FOR + -- Get lines where "Geschäftsbereich" is set, + -- but only if "Auftragsnummer" and "Kostenstelle" is unset, + -- because Auftragsnummer has prio 1, Kostenstelle has prio 2 + + SELECT [INVOICE_SPLIT_TASKNR], + [INVOICE_SPLIT_COSTUNIT], + [INVOICE_SPLIT_AMOUNT], + [INVOICE_SPLIT_TAXKEY], + [INVOICE_SPLIT_IMPERSONAL_ACCOUNT], + [INVOICE_SPLIT_BUSINESS_UNIT], + [INVOICE_SPLIT_INCOMEEXPENSESFLAG] + FROM @TB_INVOICE_SPLIT + WHERE (LEN(INVOICE_SPLIT_COSTUNIT) = 0 + or [INVOICE_SPLIT_COSTUNIT] is null) + and (LEN([INVOICE_SPLIT_TASKNR]) = 0 + or [INVOICE_SPLIT_TASKNR] is null) + + OPEN CURSOR_COSTUNIT_AND_AMOUNT + FETCH NEXT FROM CURSOR_COSTUNIT_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + WHILE @@FETCH_STATUS = 0 + BEGIN + + BEGIN + + -- Failsafe for "S/H Kennzeichen" - Pos + IF (@INVOICE_SPLIT_INCOMEEXPENSESFLAG NOT in ('H','S')) + SET @INVOICE_SPLIT_INCOMEEXPENSESFLAG = 'S'; + + INSERT INTO @WINDREAM_2_SCHLEUPEN ([Satzart], + [Belegnummer (X)], + [Belegdatum (X)], + [Valutadatum], + [Kontoart (X)], + [Kontonummer (X)], + [Gegenkontoart (X)], + [Gegenkonto], + [Zusatzkontoart], + [Zusatzkonto], + [Betrag], + [S/H-Kennzeichen], + [Steuerschlüssel], + [Buchungstext], + [Zahlungsträgerhinweis], + [Geschäftsbereich], + [externes Rechnungsdatum], + [externe Rechnungsnummer], + [Rechnungseinheit], + [Fälligkeitsdatum], + [Skontotage 1], + [Skonto Prozent 1], + [Skontotage 2], + [Skonto Prozent 2], + [Nettotage]) + + SELECT 23 as [Satzart], + @EXPORT_BOOKING_NUMBER as [Belegnummer (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate09],8)),104),'dd.MM.yyyy') as [Belegdatum (X)], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate07],8)),104),'dd.MM.yyyy') as [Valutadatum], + 'S' as [Kontoart (X)], + @INVOICE_SPLIT_IMPERSONAL_ACCOUNT as [Kontonummer (X)], + 'K' as [Gegenkontoart (X)], + REPLACE([szText38],';','') as [Gegenkonto], + NULL as [Zusatzkontoart], + NULL as [Zusatzkonto], + TRY_CONVERT(FLOAT,(Replace(@INVOICE_SPLIT_AMOUNT,',','.'))) * 1.0 as [Betrag],--TRY_CONVERT(FLOAT,@INVOICE_SPLIT_AMOUNT) * 1.0 + @INVOICE_SPLIT_INCOMEEXPENSESFLAG as [S/H-Kennzeichen], + @INVOICE_SPLIT_TAXKEY as [Steuerschlüssel], + REPLACE([szText02],';','') as [Buchungstext], + NULL as [Zahlungsträgerhinweis], + REPLACE(@INVOICE_SPLIT_BUSINESS_UNIT,';','') as [Geschäftsbereich], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([decCreationTime],8)),104),'dd.MM.yyyy') as [externes Rechnungsdatum], + REPLACE([szText19],';','') as [externe Rechnungsnummer], + NULL as [Rechnungseinheit], + FORMAT(CONVERT(DATE,CONVERT(VARCHAR(8),LEFT([dwDate06],8)),104),'dd.MM.yyyy') as [Fälligkeitsdatum], + NULL as [Skontotage 1], + NULL as [Skonto Prozent 1], + NULL as [Skontotage 2], + NULL as [Skonto Prozent 2], + NULL as [Nettotage] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @windreamDocID + and [szText33] = @windreamStatus + and (([dwDate04] = @windreamExportDate) + OR ([dwDate04] = '19700101') + OR ([dwDate04] IS NULL)) + + END + + FETCH NEXT FROM CURSOR_COSTUNIT_AND_AMOUNT INTO @INVOICE_SPLIT_TASKNR,@INVOICE_SPLIT_COSTUNIT,@INVOICE_SPLIT_AMOUNT,@INVOICE_SPLIT_TAXKEY,@INVOICE_SPLIT_IMPERSONAL_ACCOUNT,@INVOICE_SPLIT_BUSINESS_UNIT,@INVOICE_SPLIT_INCOMEEXPENSESFLAG + END + CLOSE CURSOR_COSTUNIT_AND_AMOUNT + DEALLOCATE CURSOR_COSTUNIT_AND_AMOUNT + + --------------------------------------------------------- + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_GROUP_GROUPNAME_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_GROUP_GROUPNAME_LIST].sql new file mode 100644 index 0000000..e56271d --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_GROUP_GROUPNAME_LIST].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_GROUP_GROUPNAME_LIST] Script Date: 21.03.2024 16:07:44 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 29.01.2021 +-- Funktion sollte erweitert werden um die Mandanten Abfrage + +CREATE FUNCTION [dbo].[FNCUST_GET_GROUP_GROUPNAME_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 10000 [NAME] as 'Gruppenname'--, * + FROM [DD_ECM].[dbo].[TBDD_GROUPS] + where internal != 1 + and [NAME] not like 'VHM-Netz-%' + and [NAME] not like 'VHM-Vertrieb-%' + ORDER BY [NAME] ASC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID1].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID1].sql new file mode 100644 index 0000000..ce452fb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID1].sql @@ -0,0 +1,46 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID1] Script Date: 21.03.2024 16:08:32 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- TSQL Table function for PM Monitoring - Gird 1 + +-- Stand: MK // 01.02.2022 +-- 01.02.2022 Initial + +CREATE FUNCTION [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID1] ( + +) +RETURNS TABLE +AS +RETURN + + SELECT + [dwDocID] as 'DocID', + [szText37] as 'Dokumentart', + CONVERT (date,convert(char(8),[dwDate09])) as 'Beleg-Datum', + [szText38] as 'Lieferanten-Nummer', + [szText08] as 'Lieferanten-Name', + [lfFloat12] as 'Rechnungsbetrag', + [szText19] as 'ex. Rechnungs-Nr', + [szText33] as 'Status', + [szText32] as 'letzte Entscheidung', + CONVERT (date,convert(char(8),[dwDate04])) as 'Export-Datum (Schleupen)', + [dwInteger20] as 'Buchungsnummer', + [DD_ECM].dbo.FNDD_GET_WINDREAM_FILE_PATH ([dwDocID],0) as 'FULL_FILE_PATH' + + FROM [windream60].[dbo].[BaseAttributes] + + WHERE szText37 like 'Eingangsrechnung%' + or szText37 like 'Eingangsgutschrift%' + --ORDER BY [decCreationTime] DESC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID2].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID2].sql new file mode 100644 index 0000000..e9cc166 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID2].sql @@ -0,0 +1,104 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID2] Script Date: 21.03.2024 16:09:11 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- TSQL Table function for PM Monitoring - Gird 2 + +-- Stand: MK // 20.10.2021 +-- 30.01.2021 Initial + +CREATE FUNCTION [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID2] ( + @windreamDocID BIGINT, + @windreamAttrID INT = 360, + @Seperator VARCHAR(1) = '~' +) +RETURNS @vTB_HISTORY TABLE ([GUID] [INT] IDENTITY(1,1) NOT NULL, + HISTORY_USER [VARCHAR](max) NULL, + HISTORY_STATE [VARCHAR](max) NULL, + HISTORY_DESCRIPTION [VARCHAR](max) NULL, + HISTORY_DATE [DATETIME] NULL, + HISTORY_PROFILE [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @szValue VARCHAR(max) + + DECLARE CURSOR_HISTORY CURSOR + FOR + SELECT [szValue] + FROM [windream60].[dbo].[Vector] + WHERE [dwAttrID] = @windreamAttrID + and [dwDocID] = @windreamDocID + order by dwRow ASC + + OPEN CURSOR_HISTORY + FETCH NEXT FROM CURSOR_HISTORY INTO @szValue + WHILE @@FETCH_STATUS = 0 + BEGIN + + INSERT INTO @vTB_HISTORY (HISTORY_USER,HISTORY_STATE,HISTORY_DESCRIPTION,HISTORY_DATE,HISTORY_PROFILE) + VALUES ( + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 1), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 2), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 3), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 4), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 5) + ) + + + FETCH NEXT FROM CURSOR_HISTORY INTO @szValue + END + CLOSE CURSOR_HISTORY + DEALLOCATE CURSOR_HISTORY + + --select * from @vTB_HISTORY + + RETURN; + +END + +--THIS FUNCTION IS NEEDED:: +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER FUNCTION [dbo].[FNCUST_SPLIT_STRING_WITH_GUID] +--( +-- @Input NVARCHAR(MAX), +-- @Character CHAR(1) +--) +--RETURNS @Output TABLE (GUID INTEGER IDENTITY(1,1), +-- Item NVARCHAR(1000) +--) +--AS +--BEGIN +-- DECLARE @StartIndex INT, @EndIndex INT + +-- SET @StartIndex = 1 +-- IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character +-- BEGIN +-- SET @Input = @Input + @Character +-- END + +-- WHILE CHARINDEX(@Character, @Input) > 0 +-- BEGIN +-- SET @EndIndex = CHARINDEX(@Character, @Input) + +-- INSERT INTO @Output(Item) +-- SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + +-- SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) +-- END + +-- RETURN +--END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID3].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID3].sql new file mode 100644 index 0000000..553e6e4 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_MONITORING_HISTORY_GRID3].sql @@ -0,0 +1,108 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID3] Script Date: 21.03.2024 16:09:44 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- TSQL Table function for PM Monitoring - Gird 3 + +-- Stand: MK // 20.10.2021 +-- 20.10.2021 Initial + +CREATE FUNCTION [dbo].[FNCUST_GET_PM_MONITORING_HISTORY_GRID3] ( + @windreamDocID BIGINT, + @windreamAttrID INT = 359, + @Seperator VARCHAR(1) = '~' +) +RETURNS @vTB_HISTORY TABLE ([GUID] [INT] IDENTITY(1,1) NOT NULL, + ORDER_NR [VARCHAR](max) NULL, -- Auftragsnummer + COST_UNIT [VARCHAR](max) NULL, -- Kostenstelle + AMOUNT [VARCHAR](max) NULL, -- Betrag + TAX_KEY [VARCHAR](max) NULL, -- Steuerschlüssel + IMPERSONAL_ACCOUNT [VARCHAR](max) NULL, -- Sachkonto + BUSINESS_UNIT [VARCHAR](max) NULL, -- Geschäftsbereich + DEBIT_AND_CREDIT [VARCHAR](max) NULL) -- Soll/Haben Kennzeichen +AS +BEGIN + + DECLARE @szValue VARCHAR(max) + + DECLARE CURSOR_HISTORY CURSOR + FOR + SELECT [szValue] + FROM [windream60].[dbo].[Vector] + WHERE [dwAttrID] = @windreamAttrID + and [dwDocID] = @windreamDocID + order by dwRow ASC + + OPEN CURSOR_HISTORY + FETCH NEXT FROM CURSOR_HISTORY INTO @szValue + WHILE @@FETCH_STATUS = 0 + BEGIN + + INSERT INTO @vTB_HISTORY (ORDER_NR,COST_UNIT,AMOUNT,TAX_KEY,IMPERSONAL_ACCOUNT,BUSINESS_UNIT,DEBIT_AND_CREDIT) + VALUES ( + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 1), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 2), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 3), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 4), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 5), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 6), + (SELECT [Item] FROM FNCUST_SPLIT_STRING_WITH_GUID (@szValue, @Seperator) where GUID = 7) + ) + + + FETCH NEXT FROM CURSOR_HISTORY INTO @szValue + END + CLOSE CURSOR_HISTORY + DEALLOCATE CURSOR_HISTORY + + --select * from @vTB_HISTORY + + RETURN; + +END + +--THIS FUNCTION IS NEEDED:: +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER FUNCTION [dbo].[FNCUST_SPLIT_STRING_WITH_GUID] +--( +-- @Input NVARCHAR(MAX), +-- @Character CHAR(1) +--) +--RETURNS @Output TABLE (GUID INTEGER IDENTITY(1,1), +-- Item NVARCHAR(1000) +--) +--AS +--BEGIN +-- DECLARE @StartIndex INT, @EndIndex INT + +-- SET @StartIndex = 1 +-- IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character +-- BEGIN +-- SET @Input = @Input + @Character +-- END + +-- WHILE CHARINDEX(@Character, @Input) > 0 +-- BEGIN +-- SET @EndIndex = CHARINDEX(@Character, @Input) + +-- INSERT INTO @Output(Item) +-- SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + +-- SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) +-- END + +-- RETURN +--END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_OVERVIEW].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_OVERVIEW].sql new file mode 100644 index 0000000..9ea747e --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_PM_OVERVIEW].sql @@ -0,0 +1,82 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_PM_OVERVIEW] Script Date: 21.03.2024 16:10:12 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 01.02.2022 +-- 01.02.2022 Beleg-Datum hinzugefügt +-- 24.09.2021 Auskommentierten Code entfernt; Funktion FNPM_LAST_EDITED_DOC aus [Zuletzt Bearbeitet] und TL_STATE entfernt +-- 08.03.2021 "Fällig am" hinzugefügt +-- 03.03.2021 Prüfer eingebaut +-- 17.02.2021 Float 12 (Rechnungssumme) hinzugefügt + +CREATE FUNCTION [dbo].[FNCUST_GET_PM_OVERVIEW] ( + @USER_ID BIGINT +) +RETURNS TABLE +AS +RETURN ( + + SELECT + T.GUID, + --FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwCreationDate]), 120), N'dd.MM.yyyy') as 'date1', + --FORMAT(CONVERT(date, convert(varchar(80),GetDate()), 120), N'dd.MM.yyyy') as 'date1a', + --FORMAT(CAST(GetDate() AS datetime2), N'dd.MM.yyyy') as 'date2', + DATEDIFF(DAY, FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwChangeDate]), 120), N'dd.MM.yyyy'),FORMAT(CAST(GetDate() AS datetime2), N'dd.MM.yyyy')) AS [Zuletzt Bearbeitet], + --DATEDIFF(DAY, FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwCreationDate]), 120), N'dd.MM.yyyy'),FORMAT(CONVERT(date, convert(varchar(80),GetDate()), 120), N'dd.MM.yyyy')) as 'datedif2', + Case DATEDIFF(DAY, FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwChangeDate]), 120), N'dd.MM.yyyy'),FORMAT(CAST(GetDate() AS datetime2), N'dd.MM.yyyy')) + WHEN 0 THEN 3 + WHEN 1 THEN 3 + WHEN 2 THEN 3 + WHEN 3 THEN 2 + WHEN 4 THEN 2 + WHEN 5 THEN 2 + WHEN 6 THEN 2 + WHEN 7 THEN 2 + ELSE 1 -- Wenn drei tage = gelb | wenn mehr als 7 tage = rot + END AS TL_STATE, + T.PROFIL_ID AS PROFILE_ID, + T.DOC_ID AS DocID, + T.FILE_PATH AS FULL_FILE_PATH, + TWM_BA.szLongName AS Dateiname, + TWM_BA.szText37 AS Dokumentart, + CONVERT (date,convert(char(8),[dwDate09])) AS 'Beleg-Datum', + TWM_BA.lfFloat12 AS 'Rechnungsbetrag', + TWM_BA.szText19 AS 'ex-RechnungsNummer', + TWM_BA.szText38 AS 'Kreditor-Nummer', + TWM_BA.szText08 AS 'Kreditor-Name', + T.DMS_ERSTELLT_DATE AS 'Erhalten wann', + TWM_BA.szText22 AS 'Prüfer', + [dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS 'Letzter Bearbeiter', + FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwChangeDate]), 120), N'dd.MM.yyyy') AS 'Letzte Bearbeitung', + FORMAT(CONVERT(date, convert(varchar(8),[TWM_BA].[dwDate06]), 120), N'dd.MM.yyyy') AS 'Fällig am', + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.PROFIL_ID) AS 'GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.PROFIL_ID) AS 'GROUP_TEXT' + ,0 CONV_YN + FROM + [FNPM_CUST_GET_DOC_IDS] (@USER_ID) TDOC + INNER JOIN TBPM_PROFILE_FILES T ON TDOC.DOC_GUID = T.GUID + INNER JOIN TBPM_PROFILE T1 ON T.PROFIL_ID = T1.GUID + INNER JOIN windream60.dbo.BaseAttributes TWM_BA ON T.DOC_ID = TWM_BA.dwDocID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + + --ORDER By T1.PRIORITY + + -- SELECT * FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (20) + -- SELECT * FROM [dbo].[FNPM_CUST_GET_DOC_IDS] (2) + + -- Aufruf aus ProcessManager: + -- Stand: MK // 28.01.2021 + -- SELECT * FROM [FNCUST_GET_PM_OVERVIEW]({#USER#USER_ID}) + -- ORDER BY [Zuletzt Bearbeitet] DESC + +); +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST].sql new file mode 100644 index 0000000..edae469 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST].sql @@ -0,0 +1,37 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST] Script Date: 21.03.2024 16:10:49 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- MK // 19.01.2021 + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_BUSINESSUNIT_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 100000 [cagsbcid_m] as 'Geschäftsbereich-ID', + [cagsbbez_l] as 'Geschäftsbereich' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[CAGeschBereich] + + WHERE [camndcid_l] = @Mandant + + ORDER BY [cagsbcid_m] ASC + + -- cagsb_id = ID des Geschäftsbereich (cageschbereich) + -- cagsbcid_m = Kürzel Geschäftsbereich + -- canngcid_s = Netznutzungsbereich + -- ezsben_id = FK: Erstanleger +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST].sql new file mode 100644 index 0000000..061b56f --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST].sql @@ -0,0 +1,35 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST] Script Date: 21.03.2024 16:11:19 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 19.01.2021 +-- ToDo Abfrage gegen den Mandant + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_COSTUNIT_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 10000 RTRIM(LTRIM([rwkonto].[rwktonummer])) as 'Kostenstelle' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[rwkonto], + [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[rwkostenstelle] + + WHERE [rwkostenstelle].[camndcid_l] like @Mandant + and [rwkonto].[rwkto_id] = [rwkostenstelle].[rwkto_id] + + ORDER BY [rwktonummer] ASC + + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST].sql new file mode 100644 index 0000000..aee4a79 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST].sql @@ -0,0 +1,36 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST] Script Date: 21.03.2024 16:11:54 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- MK // 19.01.2021 + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_IMPERSONALACCOUNT_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT [RWKonto].[rwktonummer] as 'Sachkonto', + [RWKonto].[rwktobez_l] as 'Kontenbezeichnung', + [RWKategorie].[rwkkgbez_m] as 'Kontenart' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWKonto], + [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[rwsachkonto], + [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWKategorie] + + WHERE [rwsachkonto].[rwkto_id] = [RWKonto].[rwkto_id] + and [rwsachkonto].[rwkkgcid_l] = [RWKategorie].[rwkkgcid_l] + and [rwsachkonto].[camndcid_l] = @Mandant + and [RWKonto].[camndcid_l] = @Mandant +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_DATA].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_DATA].sql new file mode 100644 index 0000000..ae06451 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_DATA].sql @@ -0,0 +1,76 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_ORDER_DATA] Script Date: 21.03.2024 16:12:25 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 26.01.2021 + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_ORDER_DATA] ( + @Mandant VARCHAR(25), -- Default VHM + @BestellNr VARCHAR(200)) + +RETURNS @ORDER_DATA TABLE (BestellNrGUID [BIGINT] NOT NULL, + BestellNr [FLOAT] NULL, + SkontoProzent [FLOAT] NULL, + SkontoTage [FLOAT] NULL, + BestellWert [FLOAT] NULL, + BestellWertNetto [FLOAT] NULL, + BestellWertBrutto [FLOAT] NULL) +AS +BEGIN + + DECLARE @BestellNrGUID bigint; + SET @BestellNrGUID = (SELECT TOP 1 [bebestellkopf].[bebek_id] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellkopf] + WHERE [bebestellkopf].[bebeknummer] = RTRIM(LTRIM(@BestellNr)) + AND [bebestellkopf].[camndcid_l] = RTRIM(LTRIM(@Mandant))) + + IF (@BestellNrGUID > 0) BEGIN + + INSERT INTO @ORDER_DATA(BestellNrGUID,BestellNr,SkontoProzent,SkontoTage,BestellWert,BestellWertNetto,BestellWertBrutto) + + SELECT + ----------------------------------------------------------------------------------------------------------------- + (SELECT @BestellNrGUID) as 'BestellNrGUID', + ----------------------------------------------------------------------------------------------------------------- + (SELECT @BestellNr) as 'BestellNr', + ----------------------------------------------------------------------------------------------------------------- + (SELECT TOP 1 [bebestellkopfsk].[bebksprozent] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellkopfsk] + WHERE [bebestellkopfsk].[bebek_id] = @BestellNrGUID + ORDER BY [bebks_id] desc) as 'SkontoProzent', + ----------------------------------------------------------------------------------------------------------------- + (SELECT TOP 1 [bebestellkopfsk].[bebkstage] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellkopfsk] + WHERE [bebestellkopfsk].[bebek_id] = @BestellNrGUID + ORDER BY [bebks_id] desc) as 'SkontoTage', + ----------------------------------------------------------------------------------------------------------------- + (SELECT TOP 1 [bebestellkopf].[bebekwert_cur2] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellkopf] + WHERE [bebestellkopf].[bebeknummer] = @BestellNr) as 'BestellWert', + ----------------------------------------------------------------------------------------------------------------- + (SELECT SUM([bebepgpnetto_cur2]) + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellpos] + WHERE [bebestellpos].[bebek_id] = @BestellNrGUID) as 'BestellWertNetto', + ----------------------------------------------------------------------------------------------------------------- + (SELECT SUM([bebepgpbrutto_cur2]) + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellpos] + WHERE [bebestellpos].[bebek_id] = @BestellNrGUID) as 'BestellWertBrutto' + ----------------------------------------------------------------------------------------------------------------- + + END + + RETURN; + +END + + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_LIST].sql new file mode 100644 index 0000000..d1614a6 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_ORDER_LIST].sql @@ -0,0 +1,67 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_ORDER_LIST] Script Date: 21.03.2024 16:16:36 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 29.01.2021 +-- LTRIM RTRIM hinzugefügt + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_ORDER_LIST] ( + @VendorAccountNr VARCHAR(25) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT [Bestellnummer], [Bestellstatus], [Bestellwert], [Bestelldatum], [Lieferantenname] FROM + + (SELECT '9999999' as 'Bestellnummer' + ,'Keine Bestellnummer!' as 'Bestellstatus' + ,0 as 'Bestellwert' + ,'01.01.1900' as 'Bestelldatum' + ,'' as 'Lieferantenname') as Query1 + + UNION + + SELECT TOP 10000 [Bestellnummer], [Bestellstatus], [Bestellwert], [Bestelldatum], [Lieferantenname] FROM + + (SELECT TOP 10000 + -- convert(int,[bebestellkopf].[bebeknummer]) as 'Bestellnummer' + LTRIM(RTRIM(convert(varchar(50),[bebestellkopf].[bebeknummer]))) as 'Bestellnummer' + ,cast ( + case + when [bebestellkopf].[bebsscid_s] = 'B' + THEN 'Bestellt' + when [bebestellkopf].[bebsscid_s] = 'T' + THEN 'Teillieferung erfolgt' + when [bebestellkopf].[bebsscid_s] = 'V' + THEN 'Lieferung erfolgt' + ELSE [bebestellkopf].[bebsscid_s] + END as varchar ) as 'Bestellstatus' + + ,[bebestellkopf].[bebekwert_cur2] as 'Bestellwert' + ,[bebestellkopf].[bebektermin_date] as 'Bestelldatum' + ,[caperson].[capername] as 'Lieferantenname' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[bebestellkopf], + [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[belieferant], + [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[caperson] + + WHERE [bebestellkopf].[belie_id] = [belieferant].[belie_id] + AND [belieferant].[caper_id] = [caperson].[caper_id] + AND [belieferant].[belienummer] = LTRIM(RTRIM(@VendorAccountNr)) --{#CTRL#DGV_Lieferanten-Nummer} --- Test mit 3000015 + AND [bebestellkopf].[bebeknummer] is not null + + ORDER BY Bestellnummer DESC) as Query2 + + ORDER BY Bestellnummer DESC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TASK_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TASK_LIST].sql new file mode 100644 index 0000000..66a027b --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TASK_LIST].sql @@ -0,0 +1,37 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_TASK_LIST] Script Date: 21.03.2024 16:17:07 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 01.09.2021 +-- 01.09.2021 Erweiterung um technisch erledigte Aufträge +-- 04.05.2021 Einschränkung um Aufträge "in Bau" +-- 23.02.2021 Erweiterung um TOP 100000 + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_TASK_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 100000 RTRIM([abastnummer]) as 'Auftragsnummer', + RTRIM([abastbez_l]) as 'Auftragsbezeichnung' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[abauftrag] -- Aus dem Schleupen Bestellwesen + + WHERE [camndcid_l] = @Mandant + AND [caaarcid_m] != 'MT' -- MT = Montageauftrag + AND [caastcid_s] in ('B','N') -- E = Kaufmännisch erledigt (nicht anzeigen); B = In Bau (anzeigen); N = Technisch erledigt (anzeigen) + + ORDER BY [abastnummer] DESC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST].sql new file mode 100644 index 0000000..f235bf4 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST].sql @@ -0,0 +1,34 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST] Script Date: 21.03.2024 16:17:53 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 19.01.2021 +-- ToDo Abfrage gegen den Mandant + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_TAXKEY_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 10000 [castscid_l] as [Steuerschlüssel], + [castsbez_m] as [Bezeichnung] + + from [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[CASteuerSchluessel] + + where [castscid_l] not like '%FAKTMIG%' + and [camndcid_l] = @Mandant + + ORDER BY [castscid_l] ASC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST].sql new file mode 100644 index 0000000..417575f --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST].sql @@ -0,0 +1,87 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST] Script Date: 21.03.2024 16:19:09 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Tabellenwertfunktion zu Ausgabe der Kreditoren + +-- Stand: MK // 14.02.2022 +-- 14.02.2022 Ergänzung USt-IdNr. +-- 24.03.2021 Erweiterung um Skonto1 aus [CAZahlungKondition] +-- 05.02.2021 Erweiterung um Bauabzugssteuer und Wiederverkaufsgültigkeit +-- 04.02.2021 Umstellung auf FiBu Abfrage, da Baurechnungen nicht über BE laufen + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_VENDORACCOUNT_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + -- Daten aus dem FiBu Modul + SELECT TOP 10000 + + LTRIM(RTRIM([RWKonto].[rwktonummer])) as 'Lieferanten-Nummer' + ---------------------------------------------------------------------------------------------- + ,LTRIM(RTRIM([RWKonto].rwktobez_l)) as 'Lieferanten-Name' + ---------------------------------------------------------------------------------------------- + ,LTRIM(RTRIM([CABankverbindung].[cabkviban])) as 'Bankverbindung-IBAN' + ---------------------------------------------------------------------------------------------- + ,(SELECT TOP 1 [CAZahlungKondition].[cazhkskontoproz1] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[CAZahlungKondition] + where [CAZahlungKondition].[cazhk_id] = (select [cazhk_id] + from [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWPersonenkonto] + where [rwkto_id] = [RWKonto].[rwkto_id]) + ) as 'Skonto1 %' + ---------------------------------------------------------------------------------------------- + ,[rwbasgueltigbis] as 'Bauabzugssteuer bis' + ---------------------------------------------------------------------------------------------- + ,(SELECT TOP 1 [rwwvkgueltigbis] + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[rwwiederverkaeufer] + WHERE [rwkto_id] = [RWKonto].[rwkto_id] + and [rwwvkliegtvor] = 'J' + ORDER BY [rwwvk_id] DESC) as 'Wiederverkauf bis' + ---------------------------------------------------------------------------------------------- + ,[caperson].[caperustident] as 'USt-IdNr.' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWKonto] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWPKBankverbindung] ON [RWKonto].[rwkto_id] = [RWPKBankverbindung].[rwkto_id] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[CABankverbindung] ON [RWPKBankverbindung].[cabkv_id] = [CABankverbindung].[cabkv_id] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWBauabzugsteuer] ON [RWKonto].[rwkto_id] = [RWBauabzugsteuer].[rwkto_id] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWPersonenkonto] ON [RWKonto].[rwkto_id] = [RWPersonenkonto].[rwkto_id] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[caperson] ON [RWPersonenkonto].[caper_id] = [caperson].[caper_id] + + + WHERE [RWKonto].[rwktostatus] = 'A' -- = Aktiv + and [RWKonto].[rwktacid_s] = 'K' -- = Kreditor + and [RWKonto].[camndcid_l] = Upper(@Mandant) -- = Unreglmäßig viele Leerzeichen enthalten + + + -- Lieferant 3000115 = caperid 17010 | rwkto_id = 1508 | Beispiel für Bauabzugssteuer + -- Lieferant 3001168 = caperid 41760 | rwkto_id = 31653 | Beispiel für Wiederverkäuferbescheinigung + -- 3000032 + ------------------------------------------------------------------------------------------------------- + + -- Daten aus dem BE Modul + --SELECT TOP 100000 LTRIM(RTRIM([belieferant].[belienummer])) as 'Lieferanten-Nummer' + -- ,LTRIM(RTRIM([caperson].[capername])) as 'Lieferanten-Name' + -- ,LTRIM(RTRIM([CABankverbindung].[cabkviban])) as 'Bankverbindung-IBAN' + + --FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[belieferant] + --LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[caperson] ON [belieferant].[caper_id] = [caperson].[caper_id] + --LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[CABankverbindung] ON [belieferant].[caper_id] = [CABankverbindung].[caper_id] + + --WHERE [belieferant].[camndcid_l] = @Mandant + -- and [belieferant].[belieaktiv] = 'J' + -- and [CABankverbindung].[cabkvgueltgbisdate] is null + + --ORDER BY convert(int,[belieferant].[caper_id]) ASC +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDOR_INFO].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDOR_INFO].sql new file mode 100644 index 0000000..5b73616 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_SCHLEUPEN_VENDOR_INFO].sql @@ -0,0 +1,42 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_SCHLEUPEN_VENDOR_INFO] Script Date: 21.03.2024 16:18:33 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Tabellenwertfunktion zu Ausgabe des Kreditor Namen + +-- Stand: MK // 10.03.2021 +-- 10.03.2021 Hinzugefügt Abfarge nach Kreditorkennzeichen ([RWKonto].[rwktacid_s] = 'K'); und Abfrage nach KundenNr Lieferant + +CREATE FUNCTION [dbo].[FNCUST_GET_SCHLEUPEN_VENDOR_INFO] ( + @Mandant VARCHAR(8), -- Default VHM + @VendorNr VARCHAR(25) +) +RETURNS TABLE +AS +RETURN + + -- Daten aus dem FiBu Modul + SELECT TOP 1 LTRIM(RTRIM([RWKonto].[rwktobez_l])) as 'Lieferanten-Name', + LTRIM(RTRIM([RWPersonenkonto].[rwpekkdnrlieferant])) as 'KundenNr-Lieferant' + + FROM [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWKonto] + LEFT JOIN [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].[RWPersonenkonto] ON [RWKonto].[rwkto_id] = [RWPersonenkonto].[rwkto_id] + + WHERE [RWKonto].[rwktacid_s] = 'K' + and LTRIM(RTRIM([RWKonto].[camndcid_l])) = LTRIM(RTRIM(UPPER(@Mandant))) + and LTRIM(RTRIM([RWKonto].[rwktonummer])) = LTRIM(RTRIM(@VendorNr)) + + -- Remember Schleupen DB works Case sensitive! + + -- + -- select rwpekkdnrlieferant from [VHM-DBSERVER1\VHM_ECHT].[VHM_ECHT].[dbo].RWPersonenkonto where rwkto_id = 1408 +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_TC_WD_RIGHTS].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_TC_WD_RIGHTS].sql new file mode 100644 index 0000000..1c50627 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_TC_WD_RIGHTS].sql @@ -0,0 +1,45 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_TC_WD_RIGHTS] Script Date: 21.03.2024 16:19:38 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] ( + @windreamDocID BIGINT +) +RETURNS TABLE +AS +RETURN + + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups' + FROM [windream60].[dbo].[BaseAttributes] as [wdBA] (NOLOCK) + + INNER JOIN [windream60].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID + INNER JOIN [windream60].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID + INNER JOIN [windream60].[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 + AND [wdGI].[szGroupName] not in ('VHM-Netz-Administration', + 'VHM-Netz-Allgemein', + 'VHM-Netz-Geschäftsführung', + 'VHM-Netz-Geschäftsprozesse', + 'VHM-Netz-Personal', + 'VHM-Vertrieb-Administration', + 'VHM-Vertrieb-Allgemein', + 'VHM-Vertrieb-Geschäftsführung', + 'VHM-Vertrieb-Geschäftsprozesse', + 'VHM-Vertrieb-Personal') +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_MAILADRESS_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_MAILADRESS_LIST].sql new file mode 100644 index 0000000..add7637 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_MAILADRESS_LIST].sql @@ -0,0 +1,41 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_USER_MAILADRESS_LIST] Script Date: 21.03.2024 16:20:22 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- MK // 19.01.2021 +-- Funktion sollte erweitert werden um die Mandanten Abfrage + + +CREATE FUNCTION [dbo].[FNCUST_GET_USER_MAILADRESS_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT [E-Mail Adressen Liste] from + + (SELECT '' AS 'E-Mail Adressen Liste') as Query1 + + UNION + + SELECT TOP 10000 [E-Mail Adressen Liste] from + + (SELECT TOP 10000 [EMAIL] AS 'E-Mail Adressen Liste' + FROM [DD_ECM].[dbo].[TBDD_USER] + WHERE [EMAIL] LIKE '%@%' + ORDER BY [EMAIL]) as Query2 + + ORDER BY [E-Mail Adressen Liste] ASC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_REPRESENTATION_GROUPS].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_REPRESENTATION_GROUPS].sql new file mode 100644 index 0000000..c2218cb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_REPRESENTATION_GROUPS].sql @@ -0,0 +1,142 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_USER_REPRESENTATION_GROUPS] Script Date: 21.03.2024 16:21:06 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 21.09.2021 +-- 21.09.2021 Änderung Parameter +-- 20.09.2021 Initial + +CREATE FUNCTION [dbo].[FNCUST_GET_USER_REPRESENTATION_GROUPS] ( + @USER VARCHAR(250) +) +RETURNS @USERGROUPS TABLE ([USER_ID] [BIGINT] NOT NULL, -- eg = 1 + [USER_NAME] [VARCHAR](100) NULL, -- eg = admin + [USER_GROUP_IDS] [VARCHAR](100) NULL, -- eg = 35,36,37 + [USER_GROUP_NAMES] [VARCHAR](250) NULL, -- eg = Netzbetrieb-Gas-Wasser-Wärme,Netzservice,Netzbetrieb-Strom + [USER_BUSINESS_DIVISION] [VARCHAR](250) NULL) -- eg = Technik +AS +BEGIN + + DECLARE @USER_REPRESENTATION_COUNT INT, + @USER_ID BIGINT, + @USERNAME VARCHAR(100), + @REPR_GROUP VARCHAR(100), + @REPR_GROUPNAME VARCHAR(250), + @USER_GROUP_IDS VARCHAR(100), + @USER_GROUP_NAMES VARCHAR(250), + @USER_BUSINESS_DIVISION VARCHAR(250); + + --=================================================-- Get count --=============================================-- + + SELECT @USER_REPRESENTATION_COUNT = COUNT(*) + FROM [dbo].[VWCUST_USER_REPRESENTATION] + WHERE [USERNAME] = @USER + + --===============================================-- Get division --============================================-- + + SELECT TOP 1 @USER_BUSINESS_DIVISION = [REPR_GROUPNAME], + @USER_ID = [USER_ID] + FROM [dbo].[VWCUST_USER_REPRESENTATION] + WHERE [USERNAME] = @USER + + IF (@USER_BUSINESS_DIVISION in ('Bäderbetrieb','Netzbetrieb-Gas-Wasser-Wärme','Netzservice','Netzbetrieb-Strom')) + SET @USER_BUSINESS_DIVISION = 'VHM-Netz' + + ELSE IF (@USER_BUSINESS_DIVISION in ('Energiedienstleistung','Handel-Vertrieb')) + SET @USER_BUSINESS_DIVISION = 'VHM-Vertrieb' + + ELSE -- shared services + SET @USER_BUSINESS_DIVISION = 'VHM-Netz' + + --=============================================================================================================-- + + If (@USER_REPRESENTATION_COUNT = 1) + + BEGIN + + INSERT INTO @USERGROUPS ([USER_ID],[USER_NAME],[USER_GROUP_IDS],[USER_GROUP_NAMES],[USER_BUSINESS_DIVISION]) + + SELECT @USER_ID, + [USERNAME], + [REPR_GROUP], + [REPR_GROUPNAME], + @USER_BUSINESS_DIVISION + FROM [dbo].[VWCUST_USER_REPRESENTATION] + WHERE [USER_ID] = @USER_ID + ORDER BY [GUID] ASC + + END + + --=============================================================================================================-- + + Else If (@USER_REPRESENTATION_COUNT > 1) + + BEGIN + + DECLARE CURSOR_USER_REPRESENTATION_DATA CURSOR + FOR + + SELECT @USER_ID, USERNAME, REPR_GROUP, REPR_GROUPNAME + FROM [dbo].[VWCUST_USER_REPRESENTATION] + WHERE USER_ID = @USER_ID + ORDER BY GUID ASC + + OPEN CURSOR_USER_REPRESENTATION_DATA + FETCH NEXT FROM CURSOR_USER_REPRESENTATION_DATA INTO @USER_ID, @USERNAME, @REPR_GROUP, @REPR_GROUPNAME + WHILE @@FETCH_STATUS = 0 + BEGIN + + BEGIN + + SET @USER_GROUP_IDS = CONCAT(@USER_GROUP_IDS,convert(VARCHAR(100),@REPR_GROUP),',') + SET @USER_GROUP_NAMES = CONCAT(@USER_GROUP_NAMES,convert(VARCHAR(100),@REPR_GROUPNAME),',') + + END + + FETCH NEXT FROM CURSOR_USER_REPRESENTATION_DATA INTO @USER_ID,@USERNAME,@REPR_GROUP,@REPR_GROUPNAME + END + CLOSE CURSOR_USER_REPRESENTATION_DATA + DEALLOCATE CURSOR_USER_REPRESENTATION_DATA + + ------------------------------------------------------------------------------------------------------------ + INSERT INTO @USERGROUPS ([USER_ID],[USER_NAME],[USER_GROUP_IDS],[USER_GROUP_NAMES],[USER_BUSINESS_DIVISION]) + + SELECT TOP 1 + @USER_ID, + [USERNAME], + substring(@USER_GROUP_IDS, 1, (len(@USER_GROUP_IDS) - 1)), + substring(@USER_GROUP_NAMES, 1, (len(@USER_GROUP_NAMES) - 1)), + @USER_BUSINESS_DIVISION + FROM [dbo].[VWCUST_USER_REPRESENTATION] + WHERE [USER_ID] = @USER_ID + ORDER BY [GUID] ASC + + END + + --=============================================================================================================-- + + Else + + BEGIN + + -------------------------------------------------------- + INSERT INTO @USERGROUPS ([USER_ID],[USER_NAME],[USER_GROUP_IDS],[USER_GROUP_NAMES],[USER_BUSINESS_DIVISION]) + SELECT @USER_ID,NULL,NULL,NULL,@USER_BUSINESS_DIVISION + + END + + ----------------------------------------------------------------------------------------------------------------- + + RETURN; + +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_USERNAME_LIST].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_USERNAME_LIST].sql new file mode 100644 index 0000000..31d874d --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_GET_USER_USERNAME_LIST].sql @@ -0,0 +1,36 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_GET_USER_USERNAME_LIST] Script Date: 21.03.2024 16:21:37 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- MK // 19.01.2021 +-- Funktion sollte erweitert werden um die Mandanten Abfrage + + +CREATE FUNCTION [dbo].[FNCUST_GET_USER_USERNAME_LIST] ( + @Mandant VARCHAR(8) -- Default VHM +) +RETURNS TABLE +AS +RETURN + + SELECT TOP 10000 [USERNAME] as 'Benutzername', + [PRENAME] as 'Vorname', + [NAME] as 'Nachname', + [EMAIL] as 'E-Mail Adresse' + + FROM [DD_ECM].[dbo].[TBDD_USER] + + WHERE [EMAIL] LIKE '%@%' + + ORDER BY [USERNAME] ASC + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006].sql new file mode 100644 index 0000000..ffa5d41 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006].sql @@ -0,0 +1,87 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006] Script Date: 21.03.2024 16:23:05 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- T-SQL Tabellenfunktion: Errechnung des Skontobetrags +-- MS 25.04.2023 +-- Stand: MK // 01.10.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_1006] ( + @SkontierbarerBetragTemp VARCHAR(50), --'{#CTRL#TXT_SkontierbarerBetrag}'; + @SkontoProzentTemp VARCHAR(50), --'{#CTRL#TXT_SkontoProzent}'; + --@SkontoTageTemp VARCHAR(50), --'{#CTRL#TXT_SkontoTage}'; + @BestellSummeBruttoTemp VARCHAR(50), --'{#CTRL#TXT_BestellSummeBrutto}'; + @RechnungsbetragBruttoTemp VARCHAR(50) --'{#CTRL#TXT_RechnungsbetragBrutto}'; +) +RETURNS @Output TABLE (Control2Set BIGINT, + Caption FLOAT, + BackgroundColor NVARCHAR(1000), + FontColor NVARCHAR(1000)) +AS +BEGIN + + DECLARE @SkontierbarerBetrag FLOAT, + @SkontoProzent FLOAT, + @SkontoTage FLOAT, + @BestellSummeBrutto FLOAT, + @RechnungsbetragBrutto FLOAT, + @Kalkulation FLOAT; + + DECLARE @ControlSkontierbarerBetrag VARCHAR(10) = '2184', + @ControlSkontoProzent VARCHAR(10) = '2186', + --@ControlSkontoTage VARCHAR(10) = '3931', + @ControlBestellSummeBrutto VARCHAR(10) = '3439', + @ControlRechnungsbetragBrutto VARCHAR(10) = '2182'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + SET @SkontierbarerBetrag = ISNULL(Try_convert(Float,(REPLACE(@SkontierbarerBetragTemp,',','.'))),0) + SET @SkontoProzent = ISNULL(Try_convert(Float,(REPLACE(@SkontoProzentTemp,',','.'))),0) + --SET @SkontoTage = ISNULL(Try_convert(Float,(REPLACE(@SkontoTageTemp,',','.'))),0) + SET @BestellSummeBrutto = ISNULL(Try_convert(Float,(REPLACE(@BestellSummeBruttoTemp,',','.'))),0) + SET @RechnungsbetragBrutto = ISNULL(Try_convert(Float,(REPLACE(@RechnungsbetragBruttoTemp,',','.'))),0) + + IF (@SkontoProzent > 0.0) and (@BestellSummeBrutto > 0.0) + BEGIN + IF (@SkontierbarerBetrag > 0.0) + BEGIN + -- Calc based on @SkontierbarerBetrag + SET @Kalkulation = @BestellSummeBrutto - ((@SkontoProzent / 100) * @SkontierbarerBetrag); + SET @RechnungsbetragBrutto = Round(@Kalkulation,2); + END + + ELSE + BEGIN + -- Calc based on @BestellSummeBrutto + SET @Kalkulation = @BestellSummeBrutto - ((@SkontoProzent / 100) * @BestellSummeBrutto); + SET @RechnungsbetragBrutto = Round(@Kalkulation,2); + END + END + + ELSE + BEGIN + + -- Keep value to not overwrite user input + SET @RechnungsbetragBrutto = @RechnungsbetragBrutto; + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF @RechnungsbetragBrutto > 0.0 + INSERT INTO @Output(Control2Set, Caption, BackgroundColor, FontColor) + SELECT @ControlRechnungsbetragBrutto as Control2Set, @RechnungsbetragBrutto as Caption, '' as BackgroundColor, '' as FontColor + RETURN + +END + ---------------------------------------------------------------------------------------------------------------------------------- +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024].sql new file mode 100644 index 0000000..338766e --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024].sql @@ -0,0 +1,84 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024] Script Date: 21.03.2024 16:23:39 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Tabellenfunktion: Errechnung des Skontobetrags +-- Stand: MK // 02.09.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_CONTROL_DATA_PROFILEID_2024] ( + @SkontierbarerBetragTemp VARCHAR(50), --'{#CTRL#TXT_SkontierbarerBetrag}'; + @SkontoProzentTemp VARCHAR(50), --'{#CTRL#TXT_SkontoProzent}'; + --@SkontoTageTemp VARCHAR(50), --'{#CTRL#TXT_SkontoTage}'; + @BestellSummeBruttoTemp VARCHAR(50), --'{#CTRL#TXT_BestellSummeBrutto}'; + @RechnungsbetragBruttoTemp VARCHAR(50) --'{#CTRL#TXT_RechnungsbetragBrutto}'; +) +RETURNS @Output TABLE (Control2Set BIGINT, + Caption FLOAT, + BackgroundColor NVARCHAR(1000), + FontColor NVARCHAR(1000)) +AS +BEGIN + + DECLARE @SkontierbarerBetrag FLOAT, + @SkontoProzent FLOAT, + @SkontoTage FLOAT, + @BestellSummeBrutto FLOAT, + @RechnungsbetragBrutto FLOAT, + @Kalkulation FLOAT; + + DECLARE @ControlSkontierbarerBetrag VARCHAR(10) = '3950', + @ControlSkontoProzent VARCHAR(10) = '3929', + --@ControlSkontoTage VARCHAR(10) = '3931', + @ControlBestellSummeBrutto VARCHAR(10) = '3941', + @ControlRechnungsbetragBrutto VARCHAR(10) = '3926'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + SET @SkontierbarerBetrag = ISNULL(Try_convert(Float,(REPLACE(@SkontierbarerBetragTemp,',','.'))),0) + SET @SkontoProzent = ISNULL(Try_convert(Float,(REPLACE(@SkontoProzentTemp,',','.'))),0) + --SET @SkontoTage = ISNULL(Try_convert(Float,(REPLACE(@SkontoTageTemp,',','.'))),0) + SET @BestellSummeBrutto = ISNULL(Try_convert(Float,(REPLACE(@BestellSummeBruttoTemp,',','.'))),0) + SET @RechnungsbetragBrutto = ISNULL(Try_convert(Float,(REPLACE(@RechnungsbetragBruttoTemp,',','.'))),0) + + IF (@SkontoProzent > 0.0) and (@BestellSummeBrutto > 0.0) + BEGIN + IF (@SkontierbarerBetrag > 0.0) + BEGIN + -- Calc based on @SkontierbarerBetrag + SET @Kalkulation = @BestellSummeBrutto - ((@SkontoProzent / 100) * @SkontierbarerBetrag); + SET @RechnungsbetragBrutto = Round(@Kalkulation,2); + END + + ELSE + BEGIN + -- Calc based on @BestellSummeBrutto + SET @Kalkulation = @BestellSummeBrutto - ((@SkontoProzent / 100) * @BestellSummeBrutto); + SET @RechnungsbetragBrutto = Round(@Kalkulation,2); + END + END + + ELSE + BEGIN + + -- Keep value to not overwrite user input + SET @RechnungsbetragBrutto = @RechnungsbetragBrutto; + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @Output(Control2Set, Caption, BackgroundColor, FontColor) + SELECT @ControlRechnungsbetragBrutto as Control2Set, @RechnungsbetragBrutto as Caption, '' as BackgroundColor, '' as FontColor + RETURN + +END + ---------------------------------------------------------------------------------------------------------------------------------- +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004].sql new file mode 100644 index 0000000..84ff607 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004].sql @@ -0,0 +1,35 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004] Script Date: 21.03.2024 16:24:07 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Auftragskontierung' + UNION + SELECT 'Kostenstellenkontierung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005].sql new file mode 100644 index 0000000..43f12fe --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005].sql @@ -0,0 +1,38 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005] Script Date: 21.03.2024 16:24:36 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +-- 04.02.2022 Ergänzugung "Zurück zu: VHM - ER 5.0 - Prüfung und Kontierung durch die FiBu" +-- 01.02.2021 initial + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Angehalten' + UNION + SELECT 'Abgelehnt' + UNION + SELECT 'Zurück zu: VHM - ER 5.0 - Prüfung und Kontierung durch die FiBu' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006].sql new file mode 100644 index 0000000..8f7f9bf --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006].sql @@ -0,0 +1,37 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006] Script Date: 21.03.2024 16:25:01 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + UNION + --SELECT 'Abgelehnt - falsche Fimierung' + --UNION + --SELECT 'Abgelehnt - falscher MwSt Satz' + --UNION + SELECT 'Abgelehnt - Neue Rechnung angefordert' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006].sql new file mode 100644 index 0000000..5efd184 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006] Script Date: 21.03.2024 16:26:01 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007].sql new file mode 100644 index 0000000..adb7b38 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007].sql @@ -0,0 +1,35 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007] Script Date: 21.03.2024 16:26:34 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'VHM - ER 3.0 - Zuweisung und Vorprüfung durch die FiBu' as 'Entscheidung' + UNION + SELECT 'VHM - ER 4.0 - Prüfung durch die Fachabteilung' + UNION + SELECT 'VHM - ER 5.0 - Prüfung und Kontierung durch die FiBu' + UNION + SELECT 'VHM - ER 6.0 - Zahlungsfreigabe der Geschäftsführung' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008].sql new file mode 100644 index 0000000..558bd30 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008] Script Date: 21.03.2024 16:28:31 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009].sql new file mode 100644 index 0000000..ea7604b --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009] Script Date: 21.03.2024 16:29:00 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +create FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010].sql new file mode 100644 index 0000000..d6ec853 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010].sql @@ -0,0 +1,37 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010] Script Date: 21.03.2024 16:29:26 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + UNION + SELECT 'Zurück zu: ER 2.0 - Durchsicht der Geschäftsführung' + UNION + SELECT 'Zurück zu: ER 3.0 - Zuweisung und Vorprüfung durch die FiBu' + UNION + SELECT 'Zurück zu: ER 4.0 - Prüfung durch die Fachabteilung' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012].sql new file mode 100644 index 0000000..02bdcac --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012].sql @@ -0,0 +1,39 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012] Script Date: 21.03.2024 16:29:53 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Abgelehnt (FINAL)' as 'Entscheidung' + UNION + SELECT 'Abgelehnt - Neue Rechnung angefordert' + UNION + SELECT 'Zurück zu: ER 2.0 - Durchsicht der Geschäftsführung' + UNION + SELECT 'Zurück zu: ER 3.0 - Zuweisung und Vorprüfung durch die FiBu' + UNION + SELECT 'Zurück zu: ER 4.0 - Prüfung durch die Fachabteilung' + UNION + SELECT 'Zurück zu: ER 5.0 - Prüfung und Kontierung durch die FiBu' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013].sql new file mode 100644 index 0000000..c7a155a --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013] Script Date: 21.03.2024 16:30:27 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014].sql new file mode 100644 index 0000000..5cf1908 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014] Script Date: 21.03.2024 16:30:55 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015].sql new file mode 100644 index 0000000..a2f7704 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015].sql @@ -0,0 +1,35 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015] Script Date: 21.03.2024 16:31:32 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Auftragskontierung' + UNION + SELECT 'Kostenstellenkontierung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017].sql new file mode 100644 index 0000000..d61b850 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017].sql @@ -0,0 +1,31 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017] Script Date: 21.03.2024 16:33:44 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024].sql new file mode 100644 index 0000000..1ef8a56 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024].sql @@ -0,0 +1,38 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024] Script Date: 21.03.2024 16:34:16 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 01.02.2021 + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_2024] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + UNION + --SELECT 'Abgelehnt - falsche Fimierung' + --UNION + --SELECT 'Abgelehnt - falscher MwSt Satz' + --UNION + SELECT 'Abgelehnt - Neue Rechnung angefordert' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4].sql new file mode 100644 index 0000000..a9af3c4 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4].sql @@ -0,0 +1,37 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4] Script Date: 21.03.2024 16:34:47 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Erzeugung der Auswahlliste für die Benutzer Entscheidung (String32 / Status-Detail) +-- Stand: MK // 09.02.2021 + +-- "Abgelehnt - Neue Rechnung angefordert" hinzugefügt + +CREATE FUNCTION [dbo].[FNCUST_SET_PM_DECISION_LIST_PROFILEID_4] ( +) +RETURNS TABLE +AS +RETURN + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT 'Bestätigt' as 'Entscheidung' + UNION + SELECT 'Abgelehnt' + UNION + SELECT 'Abgelehnt - Neue Rechnung angefordert' + UNION + SELECT 'Falscher Prüfer ausgewählt' + + --order by 'Entscheidung' desc + + ---------------------------------------------------------------------------------------------------------------------------------- + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_TC_MOVE_AND_RENAME].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_TC_MOVE_AND_RENAME].sql new file mode 100644 index 0000000..554c4e8 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SET_TC_MOVE_AND_RENAME].sql @@ -0,0 +1,154 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SET_TC_MOVE_AND_RENAME] Script Date: 21.03.2024 16:35:28 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- TSQL Function to build target path and filename, for TC Move and Rename + +-- Stand: MK // 05.11.2021 + +create FUNCTION [dbo].[FNCUST_SET_TC_MOVE_AND_RENAME] ( + @pDOCID BIGINT +) +RETURNS @vTB_RESULT TABLE ([PATH] [VARCHAR](max) NOT NULL, + [FILENAME] [VARCHAR](max) NOT NULL) +AS +BEGIN + + DECLARE @DOCID BIGINT, + @ObjectTypeID BIGINT, + @ObjectTypeSeparator VARCHAR(1) = '-', + @ObjectTypeName VARCHAR(150), + @ImportTool VARCHAR(150), + @Mandator VARCHAR(150), + @DocumentType VARCHAR(150), + @DocumentTypeShort VARCHAR(150), + @CreditorNr VARCHAR(150), + @CreditorName VARCHAR(150), + @ExternalReference1 VARCHAR(150), + @InternalNr VARCHAR(150), + @CustomerNr VARCHAR(150), + @CustomerName VARCHAR(150), + @Path VARCHAR(MAX), + @Filename VARCHAR(MAX), + @FileExtension VARCHAR(5); + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Get Index data from doc -- + SELECT @DOCID = [dwDocID], + @ObjectTypeID = [dwObjectTypeID], + @CreditorName = [szText08], + @CustomerName = [szText09], + @ExternalReference1 = [szText19], + @ImportTool = [szText28], + @Mandator = [szText31], + @InternalNr = [szText36], + @DocumentType = [szText37], + @CreditorNr = [szText38], + @CustomerNr = [szText39], + @FileExtension = [szFile_Ext] + FROM [windream60].[dbo].[BaseAttributes] + WHERE [dwDocID] = @pDOCID + AND [dwCatalogID] = 1 -- Only Files + AND ([szText33] is NULL OR [szText33] = 'erledigt') -- Only Files which are done processing + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Get windream Objecttype name -- + SELECT @ObjectTypeName = [szDocTypeName] + FROM [windream60].[dbo].[ObjectType] + WHERE [dwObjectTypeID] = @ObjectTypeID + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Clean windream Objecttype name -- + SELECT @ObjectTypeName = RTRIM(LTRIM([Item])) + FROM [FNCUST_SPLIT_STRING_WITH_GUID](@ObjectTypeName,@ObjectTypeSeparator) + WHERE [GUID] = (SELECT max([GUID]) + FROM [FNCUST_SPLIT_STRING_WITH_GUID](@ObjectTypeName,@ObjectTypeSeparator)) + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Build path -- + IF (LEN(@ObjectTypeName) > 1) AND (LEN(@ImportTool) > 1) AND (LEN(@Mandator) > 1) AND (LEN(@DocumentType) > 1) + BEGIN + + SET @Path = + CASE + WHEN @ImportTool like '%GLOBIX%'OR @ImportTool like '%GLOBAL%' + THEN @Mandator + @ObjectTypeSeparator + @ObjectTypeName + '\Manually\File' + + WHEN @ImportTool like '%Tool%'OR @ImportTool like '%Collection%' + THEN @Mandator + @ObjectTypeSeparator + @ObjectTypeName + '\DocumentProcessing\File' + + END + + -- Replace invalid chars + SET @Path = Replace(@Path,'/','') + SET @Path = Replace(@Path,':','') + SET @Path = Replace(@Path,'*','') + SET @Path = Replace(@Path,'?','') + SET @Path = Replace(@Path,'"','') + SET @Path = Replace(@Path,'<','') + SET @Path = Replace(@Path,'>','') + SET @Path = Replace(@Path,'|','') + + END + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Find short names for Document Types (ONLY FOR FILENAME NOT THE PATH) -- + SELECT TOP 1 @DocumentTypeShort = RTRIM(LTRIM([KURZNAME])) + FROM [TBDD_DOKUMENTART] + WHERE [AKTIV] = 1 + AND ([BEZEICHNUNG] LIKE ('%' + @DocumentType + '%') + OR [BESCHREIBUNG] LIKE ('%' + @DocumentType + '%')) + + IF (LEN(@DocumentTypeShort) < 2) -- Fallback + SET @DocumentTypeShort = @DocumentType + ---------------------------------------------------------------------------------------------------------------------------------- + + -- Build filename -- + IF ((LEN(@CreditorNr) > 1) AND (LEN(@CreditorName) > 1)) OR ((LEN(@CustomerNr) > 1) AND (LEN(@CustomerName) > 1)) AND (LEN(@FileExtension) > 1) + BEGIN + + SET @Filename = + CASE + WHEN (LEN(@CreditorNr) > 1) AND (LEN(@CreditorName) > 1) AND (LEN(@InternalNr) > 1) AND (LEN(@ExternalReference1) > 1) + THEN @DocumentTypeShort + '_' + @InternalNr + '#' + @CreditorName + '_' + @ExternalReference1 + @FileExtension + + WHEN (LEN(@CreditorNr) > 1) AND (LEN(@CreditorName) > 1) AND (LEN(@InternalNr) > 1) + THEN @DocumentTypeShort + '_' + @InternalNr + '#' + @CreditorName + @FileExtension + ------------------------------------------------------------------------------------------------------------------ + + WHEN (LEN(@CustomerNr) > 1) AND (LEN(@CustomerName) > 1) AND (LEN(@InternalNr) > 1) + THEN @DocumentTypeShort + '_' + @InternalNr + '#' + @CustomerName + @FileExtension + + END + + -- Replace invalid chars + SET @Filename = Replace(@Filename,'\','') + SET @Filename = Replace(@Filename,'/','') + SET @Filename = Replace(@Filename,':','') + SET @Filename = Replace(@Filename,'*','') + SET @Filename = Replace(@Filename,'?','') + SET @Filename = Replace(@Filename,'"','') + SET @Filename = Replace(@Filename,'<','') + SET @Filename = Replace(@Filename,'>','') + SET @Filename = Replace(@Filename,'|','') + + END + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_RESULT ([PATH],[FILENAME]) + VALUES (@Path, @Filename) + + RETURN; + + +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SPLIT_STRING_WITH_GUID].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SPLIT_STRING_WITH_GUID].sql new file mode 100644 index 0000000..79e40f1 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_SPLIT_STRING_WITH_GUID].sql @@ -0,0 +1,44 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_SPLIT_STRING_WITH_GUID] Script Date: 21.03.2024 16:35:57 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 28.01.2021 +-- Verwendet in Schleupen Schnittstelle und PM Monitoring + +CREATE FUNCTION [dbo].[FNCUST_SPLIT_STRING_WITH_GUID] ( + @Input NVARCHAR(MAX), + @Character CHAR(1) +) +RETURNS @Output TABLE (GUID INTEGER IDENTITY(1,1), Item NVARCHAR(1000)) +AS +BEGIN + DECLARE @StartIndex INT, @EndIndex INT + + SET @StartIndex = 1 + IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character + BEGIN + SET @Input = @Input + @Character + END + + WHILE CHARINDEX(@Character, @Input) > 0 + BEGIN + SET @EndIndex = CHARINDEX(@Character, @Input) + + INSERT INTO @Output(Item) + SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + + SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) + END + + RETURN +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004].sql new file mode 100644 index 0000000..d6cb3a3 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004] Script Date: 21.03.2024 16:37:08 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 5.0 - Prüfung und Kontierung durch die FiBu + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1004] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_1004]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005].sql new file mode 100644 index 0000000..29a8631 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005].sql @@ -0,0 +1,104 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005] Script Date: 21.03.2024 16:37:35 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons + +-- Stand: MK // 04.02.2022 +-- 04.02.2022 Abfrage auf @Status_Detail im ersten "IF" eingebaut +-- 21.10.2021 Erweiterung der Prüfer um das 4-Augen Prinzip +-- 11.03.2021 Prüfung Prüfer = Benutzername eingebaut +-- 01.02.2021 Initial + +-- PM Profil: VHM - ER 6.0 - Zahlungsfreigabe der Geschäftsführung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200), -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}' + @windreamDocID BIGINT, -- = '{#WMI#Dokument-ID} + @windreamAttrID INT = 360, -- = 'Vektor Field ID + @Seperator VARCHAR(1) = '~', -- = 'String Splitter + @Prüfer VARCHAR(150), -- = '{#WMI#String 22}' + @Username VARCHAR(150) -- = '{#INT#USERNAME}' +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + DECLARE @Verifier VARCHAR(100) = '', + @VerifierCount TINYINT = 0; + + ---------------------------------------------------------------------------------------------------------------------------------- + + -- If Verifier (Prüfer) was found in History Table, + -- overwrite @Prüfer four-eyes principle + SELECT @Verifier = RTRIM(LTRIM([szValue])), + @VerifierCount = COUNT([szValue]) + FROM [windream60].[dbo].[Vector] + WHERE [dwDocID] = @windreamDocID + and [dwAttrID] = @windreamAttrID + and [szValue] LIKE '%BESTÄTIGT% ER 4.%' + GROUP BY [szValue] + + IF (@VerifierCount > 0) + + BEGIN + + SELECT TOP 1 @Verifier = [value] + FROM STRING_SPLIT(@Verifier,'~'); + + IF (LEN(@Verifier) > 1) + SET @Prüfer = @Verifier + + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (LTRIM(RTRIM(@Prüfer)) = LTRIM(RTRIM(@Username))) and (@Status_Detail = 'Bestätigt') -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Die Freigabe des Belegs muss im vier Augen Prinzip erfolgen!' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt].sql new file mode 100644 index 0000000..280af00 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt].sql @@ -0,0 +1,71 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt] Script Date: 21.03.2024 16:38:09 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 11.03.2021 +-- 11.03.2021 Prüfung Prüfer = Benutzername eingebaut +-- 01.02.2021 Initial + +-- PM Profil: VHM - ER 6.0 - Zahlungsfreigabe der Geschäftsführung + +create FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1005_alt] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200), -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}' + @Prüfer VARCHAR(150), -- = '{#WMI#String 22}' + @Username VARCHAR(150) -- = '{#INT#USERNAME}' +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (LTRIM(RTRIM(@Prüfer)) = LTRIM(RTRIM(@Username))) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Als eingetragener Prüfer, dürfen Sie den Beleg nicht freigeben!' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_1005]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006].sql new file mode 100644 index 0000000..365a8f4 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006].sql @@ -0,0 +1,116 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006] Script Date: 21.03.2024 16:38:37 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 06.10.2021 +-- 06.10.2021 @BestellSummeNetto als Berechnungsgrundlage entfernt/auskommentiert +-- 01.02.2021 Initial + +-- PM Profil: VHM - ER 3.0 - Zuweisung und Vorprüfung durch die FiBu + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_1006] ( + --@BestellSummeNetto VARCHAR(150), -- = 0, -- Ganze oder kommagetrennte Zahl + @RechnungsSummeNetto VARCHAR(150), -- = 0, -- Ganze oder kommagetrennte Zahl + @Dokumentart VARCHAR(150), -- = '{#CTRL#CMB_DOKUMENTART}', + @Fremdreferenz1 VARCHAR(150), -- = '{#CTRL#TXT_Fremdreferenz_1}', + @Prüfer_Person VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Person}', + @Prüfer_Gruppe VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Gruppe}', + @Prüfer_Abteilung VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Abteilung}', + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!', + @Fremdreferenz1Count INT = 0; + + SET @RechnungsSummeNetto = (SELECT [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@RechnungsSummeNetto)); + --SET @BestellSummeNetto = (SELECT [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@BestellSummeNetto)); + SET @Fremdreferenz1Count = (SELECT COUNT(szText19) + FROM [windream60].[dbo].[BaseAttributes] + WHERE [szText37] = @Dokumentart + and [szText19] = @Fremdreferenz1)-1; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Prüfer_Person in ('','0') AND @Prüfer_Gruppe in ('','0') AND @Prüfer_Abteilung in ('','0')) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Achtung: Sie haben keinen Prüfer eingetragen!' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + -- Logik ist ausgeschaltet, da sich die Brutto Summen nicht aus Schleupen ziehen lassen! Somit ist auch kein sauberer Vergleich Bruttobestellwert zu Bruttorechnungssumme möglich. + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto < @RechnungsSummeNetto)) AND @Fremdreferenz1Count > 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Außerdem ist die Rechungssumme ist größer als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto > @RechnungsSummeNetto)) AND @Fremdreferenz1Count > 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Außerdem ist die Rechungssumme kleiner als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto < @RechnungsSummeNetto)) AND @Fremdreferenz1Count = 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die Rechungssumme ist größer als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto > @RechnungsSummeNetto)) AND @Fremdreferenz1Count = 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die Rechungssumme ist kleiner als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + ELSE IF (@Fremdreferenz1Count > 0) -- Nachfragen ob ok - sollte weiter unten abgefragt werden da prio gering + BEGIN + SET @MSGTYPE = 'MsgboxResult' + SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Möchten Sie fortfahren?' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006].sql new file mode 100644 index 0000000..23f61cc --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006] Script Date: 21.03.2024 16:40:09 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 2.0 - Durchsicht der Geschäftsführung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2006] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2006]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007].sql new file mode 100644 index 0000000..31479bb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007] Script Date: 21.03.2024 16:40:45 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 99.0 - Auffangprofil für nicht bearbeitete Dateien + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2007] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2007]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008].sql new file mode 100644 index 0000000..85f04f6 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008].sql @@ -0,0 +1,103 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008] Script Date: 21.03.2024 16:41:25 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons + +-- Stand: MK // 21.10.2021 +-- 21.10.2021 Erweiterung der Prüfer um das 4-Augen Prinzip +-- 11.03.2021 Prüfung Prüfer = Benutzername eingebaut +-- 01.02.2021 Initial + +-- PM Profil: VHM - ER 6.1 - Zahlungsfreigabe der Geschäftsführung - Angehaltende Dokumente + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2008] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200), -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}' + @windreamDocID BIGINT, -- = '{#WMI#Dokument-ID} + @windreamAttrID INT = 360, -- = 'Vektor Field ID + @Seperator VARCHAR(1) = '~', -- = 'String Splitter + @Prüfer VARCHAR(150), -- = '{#WMI#String 22}' + @Username VARCHAR(150) -- = '{#INT#USERNAME}' +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + DECLARE @Verifier VARCHAR(100) = '', + @VerifierCount TINYINT = 0; + + ---------------------------------------------------------------------------------------------------------------------------------- + + -- If Verifier (Prüfer) was found in History Table, + -- overwrite @Prüfer four-eyes principle + SELECT @Verifier = RTRIM(LTRIM([szValue])), + @VerifierCount = COUNT([szValue]) + FROM [windream60].[dbo].[Vector] + WHERE [dwDocID] = @windreamDocID + and [dwAttrID] = @windreamAttrID + and [szValue] LIKE '%BESTÄTIGT% ER 4.%' + GROUP BY [szValue] + + IF (@VerifierCount > 0) + + BEGIN + + SELECT TOP 1 @Verifier = [value] + FROM STRING_SPLIT(@Verifier,'~'); + + IF (LEN(@Verifier) > 1) + SET @Prüfer = @Verifier + + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (LTRIM(RTRIM(@Prüfer)) = LTRIM(RTRIM(@Username))) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Als eingetragener Prüfer, dürfen Sie den Beleg nicht freigeben!' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2008]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009].sql new file mode 100644 index 0000000..6eb6e72 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009].sql @@ -0,0 +1,68 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009] Script Date: 21.03.2024 16:41:59 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 98.0 - Übersichtsprofil - Sämtliche nicht zahlungsfreigebenen Rechnungen + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2009]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + + +-- Stand: MK // 24.08.2021 + +-- SELECT * FROM [FNCUST_TEST_PM_USER_INPUT_PROFILEID_2009]('#CTRL#DGV_Status-Detail','#CTRL#TXT_Entscheidungs-Beschreibung') + +-- Ausgeschaltet da keine Entscheidung möglich ist + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010].sql new file mode 100644 index 0000000..7f999fe --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010] Script Date: 21.03.2024 16:42:28 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 4.1 - Anforderung Rechungskorrektur durch die Fachabteilung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2010] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2010]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012].sql new file mode 100644 index 0000000..275da36 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012] Script Date: 21.03.2024 16:42:55 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 5.1 - Auffangprofil für alle abgelehnten Dokumente + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2012] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2012]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013].sql new file mode 100644 index 0000000..c0902af --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013] Script Date: 21.03.2024 16:43:20 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 5.2 - Auftragskontierung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2013] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2013]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014].sql new file mode 100644 index 0000000..6943c49 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014] Script Date: 21.03.2024 16:43:45 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 5.3 - Kostenstellenkontierung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2014] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2014]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015].sql new file mode 100644 index 0000000..892751b --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015].sql @@ -0,0 +1,61 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015] Script Date: 21.03.2024 16:44:11 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 5.4 - Finale Kontierung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2015] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2015]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017].sql new file mode 100644 index 0000000..577c8f7 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017].sql @@ -0,0 +1,69 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017] Script Date: 21.03.2024 16:44:38 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 1.0 - Dokumentübernahme durch Erfasser + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2017] ( + @WindowsUsername VARCHAR(150), -- = '{#INT#USERNAME}', -- Benutzername aus der Anmeldung + @InputBoxUsername VARCHAR(150), -- = '{#CTRL#TXT_Benutzername}' -- Benutzername aus der Eingabe + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!'; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@WindowsUsername IN ('IIMAdmin','Praktikant','Azubi','Scanner') and (LEN(@InputBoxUsername) < 3)) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Ihr Name (' + @InputBoxUsername +') ist doch sicher länger, oder!? (mind. 3 Zeichen)' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_2017]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024].sql new file mode 100644 index 0000000..93dbf39 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024].sql @@ -0,0 +1,116 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024] Script Date: 21.03.2024 16:45:01 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 06.10.2021 +-- 06.10.2021 @BestellSummeNetto als Berechnungsgrundlage entfernt/auskommentiert + +-- PM Profil: VHM - ER 3.0 - Zuweisung und Vorprüfung durch die FiBu + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_2024] ( + --@BestellSummeNetto VARCHAR(150), -- = 0, -- Ganze oder kommagetrennte Zahl + @RechnungsSummeNetto VARCHAR(150), -- = 0, -- Ganze oder kommagetrennte Zahl + @Dokumentart VARCHAR(150), -- = '{#CTRL#CMB_DOKUMENTART}', + @Fremdreferenz1 VARCHAR(150), -- = '{#CTRL#TXT_Fremdreferenz_1}', + @Prüfer_Person VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Person}', + @Prüfer_Gruppe VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Gruppe}', + @Prüfer_Abteilung VARCHAR(150), -- = '{#CTRL#DGV_Prüfer_Abteilung}', + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!', + @Fremdreferenz1Count INT = 0; + + SET @RechnungsSummeNetto = (SELECT [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@RechnungsSummeNetto)); + --SET @BestellSummeNetto = (SELECT [dbo].[FNDD_GET_DECIMAL_FOR_VARCHAR] (@BestellSummeNetto)); + SET @Fremdreferenz1Count = (SELECT COUNT(szText19) + FROM [windream60].[dbo].[BaseAttributes] + WHERE [szText37] = @Dokumentart + and [szText19] = @Fremdreferenz1)-1; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Prüfer_Person in ('','0') AND @Prüfer_Gruppe in ('','0') AND @Prüfer_Abteilung in ('','0')) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Achtung: Sie haben keinen Prüfer eingetragen!' + END + + ELSE IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_1006]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + -- Logik ist ausgeschaltet, da sich die Brutto Summen nicht aus Schleupen ziehen lassen! Somit ist auch kein sauberer Vergleich Bruttobestellwert zu Bruttorechnungssumme möglich. + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto < @RechnungsSummeNetto)) AND @Fremdreferenz1Count > 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Außerdem ist die Rechungssumme ist größer als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto > @RechnungsSummeNetto)) AND @Fremdreferenz1Count > 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Außerdem ist die Rechungssumme kleiner als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto < @RechnungsSummeNetto)) AND @Fremdreferenz1Count = 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die Rechungssumme ist größer als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + --ELSE IF ((@BestellSummeNetto > 0) AND (@BestellSummeNetto > @RechnungsSummeNetto)) AND @Fremdreferenz1Count = 0 -- Nachfragen ob ok + -- BEGIN + -- SET @MSGTYPE = 'MsgboxResult' + -- SET @QUESTION = 'Achtung: Die Rechungssumme ist kleiner als die Bestellsumme! Die Rechnung darf so weiter verbucht werden! Möchten Sie fortfahren?' + -- END + + ELSE IF (@Fremdreferenz1Count > 0) -- Nachfragen ob ok - sollte weiter unten abgefragt werden da prio gering + BEGIN + SET @MSGTYPE = 'MsgboxResult' + SET @QUESTION = 'Achtung: Die ext. Rechnungs-Nr wurde bereits erfasst (' + CONVERT(VARCHAR(30),@Fremdreferenz1Count) + ' Dokumente) ! Möchten Sie fortfahren?' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4].sql new file mode 100644 index 0000000..2cec083 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4].sql @@ -0,0 +1,62 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4] Script Date: 21.03.2024 16:45:29 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- T-SQL Tabellenfunktion: Prüfung diverser Werte und Eingaben bei Betätigung das Abschluss Buttons +-- Stand: MK // 01.02.2021 + +-- PM Profil: VHM - ER 4.0 - Prüfung durch die Fachabteilung + +CREATE FUNCTION [dbo].[FNCUST_TEST_PM_USER_INPUT_PROFILEID_4] ( + @Status_Detail VARCHAR(150), -- = '{#CTRL#DGV_Status-Detail}', + @Status_Detail_Text VARCHAR(200) -- = '{#CTRL#TXT_Entscheidungs-Beschreibung}'; +) +RETURNS @vTB_TEST_RESULT TABLE ([MSGTYPE] [VARCHAR](max) NULL, + [QUESTION] [VARCHAR](max) NULL, + [TITLE] [VARCHAR](max) NULL) +AS +BEGIN + + DECLARE @MSGTYPE VARCHAR(100) = 'Continue', + @QUESTION VARCHAR(300) = '', + @TITLE VARCHAR(100) = 'Bitte prüfen Sie Ihre Eingaben!', + @Fremdreferenz1Count INT = 0; + + ---------------------------------------------------------------------------------------------------------------------------------- + + IF (@Status_Detail LIKE 'Abgelehnt%') and (LEN(@STATUS_DETAIL_TEXT) < 4) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Sie müssen eine Begründung eintragen (mind. 4 Zeichen)!' + END + + ELSE IF (@Status_Detail not in (SELECT * from [FNCUST_SET_PM_DECISION_LIST_PROFILEID_4]())) -- Stop Grund + BEGIN + SET @MSGTYPE = 'MsgBoxStop' + SET @QUESTION = 'Bitte wählen Sie eine andere Entscheidung aus!' + END + + ELSE + BEGIN + SET @MSGTYPE = 'Continue' + SET @QUESTION = '' + END + + ---------------------------------------------------------------------------------------------------------------------------------- + + INSERT INTO @vTB_TEST_RESULT ([MSGTYPE], [QUESTION], [TITLE]) + VALUES (@MsgType, @QUESTION, @TITLE) + + RETURN; + +END + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNDD_CHECK_USER_MODULE].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNDD_CHECK_USER_MODULE].sql new file mode 100644 index 0000000..2c189e3 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNDD_CHECK_USER_MODULE].sql @@ -0,0 +1,192 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNDD_CHECK_USER_MODULE] Script Date: 21.03.2024 16:46:08 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +-- Stand: MK // 04.05.2021 +-- 04.05.2021 Default Wert für @ADDITIONAL_TITLE gesetzt, da sonst der CW nicht gestartet werden kann. +-- 04.03.2021 Geändert: Abfragen für '#PM.MONITORING' - nur noch Admins, GF und Fibu +-- 26.01.2021 Hinzugefügt: "SET @USER_RIGHT_FILE_DEL = 1" + +CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +RETURNS @Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_DATE_FORMAT VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USERCOUNT_LOGGED_IN INTEGER, + COMMENT VARCHAR(500), + USER_RIGHT2 BIT NOT NULL DEFAULT 1, + USER_RIGHT3 BIT NOT NULL DEFAULT 0, + USER_RIGHT4 BIT NOT NULL DEFAULT 0, + USER_RIGHT5 BIT NOT NULL DEFAULT 0, + WORKING_MODE VARCHAR(5000) NOT NULL DEFAULT '' + ,ADDITIONAL_TITLE VARCHAR(200)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @USER_DATE_FORMAT VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @USER_RIGHT2 BIT, + @USER_RIGHT3 BIT, + @USER_RIGHT4 BIT, + @USER_RIGHT5 BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100), + @WORKING_MODE VARCHAR(1000), + @ADDITIONAL_TITLE VARCHAR(500) = 'Versorgungsbetriebe Hann. Münden - Workflows'; + --'PM#NO_MASS_VALIDATOR;PM#FORCE_LAYOUT_OVERVIEW;PM#NO_CHARTS;PM#DEBUG_LOG' + + SET @USER_RIGHT2 = 0 --1 = DocumentPropertyView only View + SET @USER_RIGHT3 = 0 + SET @USER_RIGHT4 = 0 + SET @USER_RIGHT5 = 0 + DECLARE @CONN_ID_IDB INTEGER + SELECT @CONN_ID_IDB = GUID FROM TBDD_CONNECTION WHERE SYS_CONNECTION = 1 AND BEZEICHNUNG = 'IDB' + SET @WORKING_MODE = '' + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @WORKING_MODE = 'PM.NO_MASS_VALIDATOR#PM.FORCE_LAYOUT_OVERVIEW#PM.DEBUG_LOG#PM.COL_LAST_EDITED=[Letzte Bearbeitung]#PM.COL_LAST_ADDED=[Erhalten wann]'--#PM.IDBWITHWMFS#PM.IDB_CONID!' + CONVERT(VARCHAR(2),@CONN_ID_IDB) + +'#PM.COLORSCHEME=Blue' + END + SET @USER_ID = 0 + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @USERCOUNT_LOGGED_IN = 0 + SET @RESULT = '' + 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 = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_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 + + IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) + BEGIN + SET @RESULT = 'USER NOT CONFIGURED OR LISTED' + END + ELSE + BEGIN + SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, + @USER_SURNAME = NAME, @USER_SHORTNAME = COALESCE(SHORTNAME,''),@USER_EMAIL = COALESCE(EMAIL,''),@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) + + IF @USER_ID NOT IN (1,3) + SET @WORKING_MODE = @WORKING_MODE + '#PM.NO_CHARTS' + + IF @USER_ID IN (1) + SET @WORKING_MODE = @WORKING_MODE + '#PM.GHOSTMODE' + + --##### LICENSE COUNT + --SELECT @USERCOUNT_LOGGED_IN = [dbo].[FNDD_GET_LICENSE_COUNT] (@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 + 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' + 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 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 + --,@USER_RIGHT2 = T.RIGHT2 + from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + + -- Admin can do all! + 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 + SET @USER_RIGHT_FILE_DEL = 1 + END + + -- Scan Erfasser dürfen Dateien auch wieder löschen + 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) like '%Scan-Erfasser' )) + BEGIN + SET @USER_RIGHT_FILE_DEL = 1 + END + ----------------------------------------------------------------------- + + -- GF, Admin und Fibu Gruppen sollen das Monitoring sehen, sonst keiner + --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) like '%Geschäftsführung' OR UPPER(T.NAME) like '%FiBu' OR UPPER(T.NAME) like '%Admins')) + -- Änderung 21.12.2022 laut EMail Däumichen (20.12) sollen alle das Monitoring sehen dürfen + BEGIN + SET @WORKING_MODE = @WORKING_MODE + '#PM.MONITORING' + 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,WORKING_MODE,USER_RIGHT2,USER_RIGHT3,USER_RIGHT4,USER_RIGHT5 +,ADDITIONAL_TITLE) + 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,@WORKING_MODE,@USER_RIGHT2,@USER_RIGHT3,@USER_RIGHT4,@USER_RIGHT5 + ,@ADDITIONAL_TITLE) + +RETURN +END +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_CUST_GET_DOC_IDS].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_CUST_GET_DOC_IDS].sql new file mode 100644 index 0000000..a28b0eb --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_CUST_GET_DOC_IDS].sql @@ -0,0 +1,173 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNPM_CUST_GET_DOC_IDS] Script Date: 21.03.2024 16:47:33 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- 16.12.2022 MS AdHocWorkflows integriert +-- 28.09.2021 Doppelte Anzeige in der Stellvertretung wird nun verhindert +-- 20.09.2021 Stellvertretungs Profil 4.2 hinzugefügt +-- 27.08.2021 Abfage für Profile 96 hinzugefügt + +CREATE FUNCTION [dbo].[FNPM_CUST_GET_DOC_IDS] (@USER_ID INTEGER) +RETURNS + @Table TABLE + (SCOPE VARCHAR(50),DOC_GUID BIGINT,DOC_ID BIGINT,PROFIL_ID INT, SequentialOrder INT IDENTITY(1, 1)) +AS +BEGIN + DECLARE + @P_ID INTEGER, + @P_NAME VARCHAR(50), + @P_4_0_ID INTEGER = 4, + @P_4_1_ID INTEGER = 2010, + @P_4_2_ID INTEGER = 2023, + @P_96_ID INTEGER = 2025, + @PID_AHWF_WORK INTEGER = 2030; + ------------------------------------------------------------------------------------------------------------ + + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT + 'ACTIVE PROFILES',T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T INNER JOIN TBPM_PROFILE T1 on T.PROFIL_ID = T1.GUID + INNER JOIN windream60.dbo.BaseAttributes TWM_BA ON T.DOC_ID = TWM_BA.dwDocID + INNER JOIN [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USER_ID) T2 ON T.PROFIL_ID = T2.PROFILE_ID --INNER JOIN [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (2) + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T1.ACTIVE = 1 + AND T2.PROFILE_ID <> @P_4_0_ID + AND T2.PROFILE_ID <> @P_4_1_ID + AND T2.PROFILE_ID <> @PID_AHWF_WORK; + + ------------------------------------------------------------------------------------------------------------ + + -- Profile 4 und 4.1 sollen nur von der FiBu und des jeweils eingetragenen Prüfer gesichtet werden können + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'PROFILE4', T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) = UPPER(T2.USERNAME) + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + T.PROFIL_ID = @P_4_0_ID AND T2.GUID = @USER_ID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + AND TP.ACTIVE = 1 + + ------------------------------------------------------------------------------------------------------------ + + -- Profile 4.1 und 4 sollen nur von der FiBu und des jeweils eingetragenen Prüfer gesichtet werden können + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'PROFILE4.1', T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) = UPPER(T2.USERNAME) + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + T.PROFIL_ID = @P_4_1_ID AND T2.GUID = @USER_ID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + AND TP.ACTIVE = 1 + + ------------------------------------------------------------------------------------------------------------ + + -- Profile 4.2 Prüfung durch die Fachabteilung in Stellvertretung + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'PROFILE4.2', T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) = UPPER(T2.USERNAME) + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + T.PROFIL_ID = @P_4_2_ID AND T2.GUID <> @USER_ID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + AND TP.ACTIVE = 1 + + AND (TWMBA.szText30) in (SELECT REPR_GROUPNAME FROM [VWCUST_USER_REPRESENTATION] WHERE USER_ID = @USER_ID) + + ------------------------------------------------------------------------------------------------------------ + + -- Profil 96 sollte nur von der FiBu und des jeweils eingetragenen Prüfer gesichtet werden können + -- Ausgeschaltet damit FiBu Benutzer alles aus ER 6 sehen können + --INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + -- SELECT 'PROFILE96', T.GUID, T.DOC_ID,T.PROFIL_ID + -- FROM + -- TBPM_PROFILE_FILES T + -- INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + -- INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) = UPPER(T2.USERNAME) + -- INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + -- WHERE + -- T.PROFIL_ID = @P_96_ID AND T2.GUID = @USER_ID + -- AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + -- AND TP.ACTIVE = 1 + + ------------------------------------------------------------------------------------------------------------ + --Profile 2030 - AdHocWorkflow-Personal + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'AHWF PERSONAL'+TP.TITLE, T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON TWMBA.sztext22 = T2.EMAIL + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + TP.GUID = @PID_AHWF_WORK AND + T2.GUID = @USER_ID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + AND TP.ACTIVE = 1 + --Profile 2030 - AdHocWorkflow GROUP + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'AHWF GROUP'+TP.TITLE, T.GUID, T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN VWDD_USER2GROUP T2 ON TWMBA.sztext10 = T2.NAME + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + TP.GUID = @PID_AHWF_WORK AND + T2.GUID = @USER_ID + AND T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 + AND TP.ACTIVE = 1 + + + --Wenn User Mitgleid von PM_ADMIN ist... + IF EXISTS(SELECT GUID FROM TBDD_GROUPS_USER WHERE GROUP_ID = 2 AND USER_ID = @USER_ID) + --Wenn es Belege zu Profil 4 gibt ist... + IF EXISTS(SELECT + T.DOC_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) <> UPPER(T2.USERNAME) + INNER JOIN TBPM_PROFILE TP ON T.PROFIL_ID = TP.GUID + WHERE + T2.GUID = @USER_ID + AND TP.ACTIVE = 1 + AND T.PROFIL_ID = @P_4_0_ID + OR T.PROFIL_ID = @P_4_1_ID ) + + INSERT INTO @Table (SCOPE,DOC_GUID,DOC_ID,PROFIL_ID) + SELECT 'PROFILE4_ADMIN',T.GUID,T.DOC_ID,T.PROFIL_ID + FROM + TBPM_PROFILE_FILES T + INNER JOIN windream60.dbo.BaseAttributes TWMBA ON T.DOC_ID = TWMBA.dwDocID + INNER JOIN TBDD_USER T2 ON UPPER(TWMBA.sztext22) <> UPPER(T2.USERNAME) + WHERE + T2.GUID = @USER_ID + AND (T.PROFIL_ID = @P_4_0_ID + OR T.PROFIL_ID = @P_4_1_ID ) +RETURN +END + +--SELECT * FROM [dbo].[FNPM_CUST_GET_DOC_IDS] (2) + + + +GO + + diff --git a/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_GET_NEXT_DOC_INFO].sql b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_GET_NEXT_DOC_INFO].sql new file mode 100644 index 0000000..f06d2e1 --- /dev/null +++ b/VHM-DIGITALDATA/SQL-Server/Tabellenwertfunktionen/[FNPM_GET_NEXT_DOC_INFO].sql @@ -0,0 +1,81 @@ +USE [DD_ECM] +GO + +/****** Object: UserDefinedFunction [dbo].[FNPM_GET_NEXT_DOC_INFO] Script Date: 21.03.2024 16:46:48 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: Digital Data MS +-- Create date: 27.11.2019 +-- Description: Gets the next DocumentID +-- ============================================= + +-- Stand: MK // 08.03.2021 +-- Unterer Teil auskommentiert, [FNPM_CUST_GET_DOC_IDS] eingebaut um Prüfer zuweisung in Schritt 4 zu respektieren +-- Stand: MS // 12.03.2021 +-- [FNPM_CUST_GET_DOC_IDS].Doc_GUID > @DocGUID Um das Weiterspringen zu gewährleisten + +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_INFO] ( + @PROFIL_ID Integer, + @OrderByNewest Bit, + @DocGUID BigInt, + @USERNAME VARCHAR(50) +) +RETURNS @Output TABLE (DocGUID BIGINT,DocID BIGINT) + +AS +BEGIN + + DECLARE @USER_ID INTEGER = (SELECT GUID FROM [TBDD_USER] WHERE UPPER(USERNAME) = UPPER(@USERNAME)); + + INSERT INTO @Output (DocGUID, DocID) + SELECT [GUID], [DOC_ID] + FROM [TBPM_PROFILE_FILES] + WHERE GUID = ( + + SELECT MIN([FNPM_CUST_GET_DOC_IDS].Doc_GUID) + FROM [dbo].[FNPM_CUST_GET_DOC_IDS] (@USER_ID), [TBPM_PROFILE_FILES] + where [FNPM_CUST_GET_DOC_IDS].PROFIL_ID = @PROFIL_ID + AND [FNPM_CUST_GET_DOC_IDS].DOC_ID = [TBPM_PROFILE_FILES].DOC_ID + + AND [TBPM_PROFILE_FILES].EDIT = 0 + AND [TBPM_PROFILE_FILES].IN_WORK = 0 + AND [FNPM_CUST_GET_DOC_IDS].DOC_GUID <> @DocGUID + AND [GUID] NOT IN ( + SELECT [DocGUID] + FROM [TBPM_FILES_USER_NOT_INDEXED] + WHERE PROFIL_ID = @PROFIL_ID + AND UPPER(USR_NAME) = UPPER(@USERNAME) + ) + AND [FNPM_CUST_GET_DOC_IDS].Doc_GUID > @DocGUID + + ) + + --IF @OrderByNewest = 0 + -- INSERT INTO @Output (DocGUID,DocID) + -- SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + -- PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + -- GUID <> @DocGUID AND GUID NOT IN ( + -- SELECT DocGUID + -- FROM TBPM_FILES_USER_NOT_INDEXED + -- WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + -- ) + --ELSE + -- INSERT INTO @Output (DocGUID,DocID) + -- SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + -- PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + -- GUID <> @DocGUID AND GUID NOT IN ( + -- SELECT DocGUID + -- FROM TBPM_FILES_USER_NOT_INDEXED + -- WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + -- ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + + RETURN +END +GO + + diff --git a/VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.exe.config b/VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.exe.config new file mode 100644 index 0000000..9f3e145 --- /dev/null +++ b/VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.exe.config @@ -0,0 +1,283 @@ + + + + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + modNachindexierungConfig.xml + + + modDateiimportConfig.xml + + + absender@IhrServer.de + + + + + + Fehler im Modul Nachindexierung + + + <p>__________________<br> + <b><font face="Arial">Achtung Fehler:</font></b><font face="Arial"><br> + <br> + Folgender Fehler wurde festgestellt:</font> </p> + + + + mailODERpop.smtp.de + + + Ihr User + + + + + + False + + + 0, 0 + + + dd + + + 0 + + + absender@IhrServer.de + + + + + + Fehler im Modul Dateiimporter + + + <p>__________________<br> + <b><font face="Arial">Achtung Fehler:</font></b><font face="Arial"><br> + <br> + Folgender Fehler wurde festgestellt:</font> </p> + + + + False + + + False + + + 0, 0 + + + 0, 0 + + + 0 + + + 5 + + + 0, 0 + + + 0, 0 + + + 0, 0 + + + 0, 0 + + + 0, 0 + + + modDDIntegrationConfig.xml + + + 0, 0 + + + modMoReConfig.xml + + + modMoReBasConfig.xml + + + 232 + + + + + + + + + 415 + + + + + + True + + + log_Nachindexierung + + + log_Dateiimporter + + + log_ServiceTC + + + log_NachindexierungServ + + + log_DateiimporterServ + + + thumbs + + + Alle Kerne + + + Error + + + + + + 30 + + + Fehlermeldung + + + 25 + + + False + + + DigitalData\windream_VFS_RESTART + + + Data Source=172.24.12.41\tests;Initial Catalog=DD_DMS;User ID=sa;Password=dd + + + + + + + Q + + + D:\Programme\Digital Data\DDLink2Navision\NavisionLink.exe + + + + + + Q + + + DigitalData\windream_CLIENT_WMCC_Neustart + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.sqlite b/VHM-DIGITALDATA/ToolCollection/Config/ToolCollection.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..6a02c27e074b75b8e39a833b3cde7922761c5ad6 GIT binary patch literal 557056 zcmeI*eQX zr+GZuFX_6b9WgXbdsh58BmQ{AJ1G7>CjQtjvFxCih~fR8$NEz*Yv-=t&>nrW_;Tr1 z`8(F{ul&a1pWOK;iN3kTOs@1h3#*0Sng9OVS8n`z`t95+skg7+Sf6`1Hvg^lxr5@f z9svXpKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_Kdn!tzNJH17677wRx>er(;_3&IK8B2)3@n|CRvf5HqX(pANh)pNL@u=E7 z6TOj99}>xoo|v1St`!V#RP%Qm@x`a{WO6zhPUyN_P>)0>!gJFZQ7c0qs%;jDPG`f@ z)7eyPaw?OS+xN7YEaZEFZ!2x)@Uu|o-H?^9it@2%~T+D4+cHG9gxk~FAU2m+L z$yF*lrSgisRr9)NDxHZ=PiGdSw0g~lQ`e@#sY^j)s0+-+y3oa1m7LAP3Bf2|5pl>f zF>xe1P3={eE*48W7hk?uC@tp-)%>P)aj0%R84X7hk!Y$>ou=BmtOMx-4peEjo8VN8FxN@t|c#THLba=U%Dj|@wRR!pKI&A1-8{1pWTZ%7=mMd2Eft3xHm)G-mS8`P=?^?S|d0SO(u2@y+ z_`u39uNU)`ij|Gzs@t2c8#=osidp$=p(JIj;=$#o^TiEcB6l}m$(M@RNNFQit~!*h zD`UkK>z=c2-YP#RS!-5V+1rP-BQG!d4XHgX2*fUBBilluklS9py-zM*G{+3XYnbA# z8%9XIWe_1*6-TC;UFbM4jRP#2kUp1=rdl@G$rXi#lgsV3yyUF8q^stmzpOVkAYHT| z{nn(FvxGpo>FZmUwtR-Btlt-XuLF6B0irrtpP`-CWeZ12&%69d7)lkdM$E$7!nLS@F)=`1Bq zP~zk;k;%@@)XsuxiQT`5Glo2Ybt|mST%xxW+lmrmYk8tfCTeF%6~rzvkxc1Pamv+G z$%Rwn(aBgst*LL)sD@oW9nI*iedKFSR@GCdEpuvHE=)yJQN3K+$*<_I=|yYjiu!!@ zl<1K69^XAN;D71l`=+!1&RMr*_iHEOj{WZ_Y*)7H?$?6YMS9r()(w6v0QamKzy$}u zIh`ngSR&n&IUN8Uh3f}iY$i^2^1!#AhMIR;R|nnBk*06a<({UZv8iZcA~`)76^HGT zST-HKmeJ$k8{!|$D~I&Ux~Wg3l5vq_PJQ$tz2m^^SL$hSRhP&9&Pr|9`&@QirM?re zZP%N3%g&VB9a-O8>bBnd&O3RYU66x;Mxu*-@7hTow6hB@Xn+6Q;GpMQj~e4$)fyY^ z?2NsKYE&y~E|OanQG*8&AaibL$dgsuFPE)cRi3oE{HrxiYf1f5b#u$^@rGWj96vXE z*`wv<$*uBELHw_7v$^eRN&P#U8NZ%POvEPVQsGQ2naG-L3qF72p%%Lp>~(Y52X@3z zJz?M1zp!y);Oga*@5h`>h{nUQ>1;eY9Z^>Tc1PH<*!FUI!F*B`=gIWwreBNVC(YOw91%TmvzjxXvAPfboj##+`<7mybG0~!ip=O-9vN>e7d5wbP%W5P(cD)!3!6Ko_Jy)Ha+bwYwYo*Z z9gD7uxdxTU`mLt!!CBVPE$nxN*tJ`b*HMj&(w6JLj<$W+Ys{8tLu=pFeqWvmzkR!& zx6YWbX}o!&JzrI!weNaL=Ym1c2M_C;whn1(*JYi{o@oj8)wY3;8nk@Xnb8s7aeClt z@Z|fK_a0Yk?w%H*XQXo{7!dHEbGGh(*pJb7s%Q zoQxXsG+%&RWoBd~_ohdU}?aoTttGmyNbf1xKs!nYWoyMuI zK<$uXD*EeRxY2&KBr;8Ak+?pW7ivx~)3Ug&mr+^YxsiPt)Ooek63i}k(A84cjXvGg zQfeV7+V*RDBD!!z%v{AHY9i@_V+(3*^UXIJJx^or+IIG|ZPB9h?;V&hpBtz zk0-OI@os=I*f?rD|=n(fZ`9aHG3uZhkZ2bb29~ za_*5ewrOiH9rbUFsUs0F<1Aikx1G)Ew^5wbbsDj~Iva+Ufkx502#INaUkz_3NR%BPRx~Up@K$eP^5?8cOHw z&z6?lx!TTRXZ~Z~Aa;}O+Oj)?+r@im;qDuMx|ZI3%J|L?JkOsPh>G#n*uHx9lu;*2 zPj0o%yG#Vo>!C$8YQ4AFSgv1EVN~-RDi|J*n#g;y0kEjV6?J6S ze*8z)&hK8DgI)IUZNc91$I%ep?=P!U-iNd9y^b?`d$v6ZTCN86znr(vSNdEcCPs>O zw_m$IR(}MbnhmdP=EZ$Rbz*Y1u)F+=D=X?wXlX5LmCL1aC0i;M?z`X2(=Xb0gPqP^ z&BQmZQpMG$xWbd;J~f%+cDGO6I}|OjwV-Yn8d$p+RAj28N zx(+bxbdu-VwpZ=g$RR~M8JU}wYg-OQZLkrKrqf|@Lr1;TdilvdT(vUM)PxukWNLRl z>{GQuZw#_r-p_`kDq((ocrAa0Vi)4h`&y4zpDMh)?3 zC+)uB8+~_F{{L#M?%gsqpBZoYXY2Gp+sdv-qiMj`^R=f#-vZpqJ6>A3pN(6E74htV zC{{lRb{V^I=@(yJdOf_nUX`V4)6=0>Us-zn)ur<5uWr3ACVSV^4f*;yeP_G8B7RSy zRjICtKk`8VQGDz5`W)xDRV`bqtF>A=-{~CF`f(S}2Nkk+<@~s=_t_QeS}3}?wJIJ6 z5cjKPSv!yHeW-;?$1^ioG3uPJ&7F2HB!{IkME&JnC_A&Tf1xM3igbpmwOTY?gEbmO z`b+Ed5A(>P_<67I5ldTVriO0sa2;I(W#D{W0cPv zmAM~7r4 z$~`Pq@^V(Vd4X&q&JK$*;o^hbx|ox#ci&=3JYUU5i?V^cpW!a4vyOU9Ml@tqwEmr9 z+4g33LjB57=X(#DCRfj@G^KOX2}?e1*O8Eo`3*6PYd@(cF4!6;*p6+S92VVW*L&dd zXl1N>^+%|N9{uSvKa^KRAJ~t0whTGiCOKQD1>2`UorJKFTY6+?=bq~LJ zMe9vUj^oGG6F<(Asm?#2ZE0F+x}j0_shwV&_Ezf(o$*5BP<6DrTBXC0rbf5V8C=9| zYLd0xXniPGztl9r8INYBl9BpoqH!K*^nbN8K`MG}Did{PL+nnzz1U zZmoj=Z>(%NO^ED1vU2W?H#{HNm!aywfAHqsQ8haM=z2@i%LgVu!`-K9(mxYDXu9^F z9f%(P|AQWM=E!k*D!!>wss5l^#d>GkDlS`X|2*1qCT?4KNj_KeveS>BxR{YkEOB`nS;WK z{z&}?9Y4-_p`rfAliHbw-_#yY@BZQL#mE2s@!xy&myiC@qnnRTz5B1<-Fesh@Oxq< zF9Z-k009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**ezF3| zvtQ6WFP^*LIeXUQIoYrE4f^{}r>o_BaZUG+M#7nBER%{R5^qIg*QTP0A9;O0`cZm$ zy=>)|ta99En0~KmczvU~83+Z%JD5Hr0>1Fvpr^mz4mfyv-rA@}a#d?0n$8%(E5_&* zx#f=z2-PS#)vszf&=j=2mgCWstm2Q3AKSNjvCoM}gXdZ!#fnvH%_{4@fZE|6Lrt6( zp#oO$H42` zH{3+u)2UYSq=?g&8K(}H8OEsBH=>(nC^!}}&GZQouq`u=xMoJhPO?pvWFnL?tee9j zGZ->`jm+5H)SmG~JZ-!Df?qr0awKNF;g!vNu@-d1>+|a(Vn9^UoO(v>a7$_&Z{6WW zX1G<)7z-Jrv11}qTaq1bJEA>=8W#169PQk-Q$6mQ@Ct-{K0z;1bV5|fNwJd>sI5Y6 zDb~g5`VqBTPL#eUiXyaqA-}JG_b;?(c0WA2`zO19wEO+t4|jiW_don(yFR`R0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5J2EFC9wM! z+L$LZo`_`=;cHXl(Qs-!8q3TjCbQwlz%L%X>bCC87cU&WTwgh!O=qGrVuR`z^rM&i zRJ55?aw0aJO-@I4|IgVkAALy_jl{C4=wx&{arW#>_JUfm(~|u2%^UX1CGW`}ybwSD z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5cup0 z^vhj;@3XuA>^TAmAb~s&xoJL)F*x*fB*srAb&R^H0SbLB#*IG@gDqUlUDv>4mmDwV5?DQkJXxLsVcisnLSF%yl? zWb0)X7Z%dqNNHnx(<)Xir{Gu2F~jg0rg-ay5mN8;@_O0IFInZd&oKR7W5nwl)=huN z9}ETjwMC;|--vGdLIE>mj2)Yareev6rtJlfe@Q#vT5nNvS?}kxpL~tYP+&L|47Tr1 zt?vF%&=BvVnOHo!7dY}IZLn|P#RctTU)_7qf4=6Ou`1QAa%nYRXxH9fI9y!2?fH`S zoObfr0Vg^ABL0iofM3((ahsf32)!cXcR2{LL?)V=4^K}=q7&h{>5OtW#i1J2O*0f6 z4H1-w@lpOc<$Mz#5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILXcySac+P19eaSt~v*)!zO}x*`B7VO=5zA(*N;Q&S z%U5#+J(8>Dbgw>XRhHL3`FOQj*(#SFSe1&k5L!&%uT-tg#q{>_x>a1vluCtbr9#14 zuI5X{#YAp-Jzre0?&YoWc5!X7DuO0rS9VrbSC&fU+;YK6S99g6Dl(rdZhrD{v6vUXd^sB}TIIF8wUW1rm1@Cybmok9xivsm1Sng} z>s9glmhY}_Udb1$R=Fr6M`Dw)On5pH&V*yJcsLS|C1$Kbej`^54%!QRhR>A0VcGEO zW-w&8VUyMv@JChl^3hVLV@AE z3#ZO#4-Zwtw%n-6emcp~P+%++G&&?}^$dng-`=^tGg`K-o(Ze^z|P-{$i-rQBP*9J zSt_-?>1w&O`KfDWhK#Z9H46wtbMM)cXS8&WHLFP7cj1$d%bTCNmOjx60^Mur4}|=Iy)Pa=qb>AM%kfV>Ua`vc zdVX3v(Kds_-D~9=5qY@x`De~(vu(9%?=92oxw5sAt{u(Fr>>GOWUBtJvyqzOm(2(E zK6mVl7Hg|gbMimk>KJCo=T;q4bjRYbx@a!r-8P&>tDkZWmV)vf{nFdCxGtxvh#}?&OOrWh=M2H~u-%q5JpQqi)T)BSBx52K6STKHI7M6dJzj z!Hv#DX>{(V+gMb_n$pS009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0+#3iOLV#~zJoyHk(9{pfq*11|&+KmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0;rumXEuK0TnF z)lLq)xS*Zv>(exkf6%Y_wUa0NJm)oIKAp`()0t>!F}Ar?Dpwami5hZ6?4omyoM>>x?zOWJH5PKw(?6>Iqow|zt=RpzERx_gaRWW zztLsUGc(atEE(AgoEp$Bi0X~plvQf0-u2Q}-pa;vtwY*;37BwoG``6ko z*h96A5wCApH~k@hFck2sY8#_o--vGdLIE>mj2)|2d-(W(cD}9J!d0q1r~TwBY=#2E zpAk?ew4+RbJKAMTeqkF+41KOb0*OCr{{`0kT$XJ!?R=KpAFSKj#FWh@xNMOHi z4u=d=-ZC~PgV&d**R9;d zJIVF+YIUwOosK4g#{JCwdkd$;o_luxMicL|-4IxY00IagfB*srAbi$zIeRzxDW; zN1=EB?A_mf_sxfY{qQ>v=O20=4B!7B_kZ*L#J&G}@8f%^ogeP}!<{#Gw7Y+B_wBp= z+y7$w&h~TFKdLTOpRfG;%Du{k^1msU%P+k1FWc3lkXZ4HLA6r%HrIr7(vbUly|L5g*m%q03Uzc{4zMA`9?wh&MxBu+zUweD(!5=*O z?(XmH#&?fC{^!~MmHkbzBfJnm009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1b&tUiq$^NbK&7R&kO!D;gywCer>%v zkuO*kt6(ix^{?rx<&WeO|+_o57IJ9|{I%EAsoo9p5)U6~7WoWTL6WVt9MC zTF$LimbRDIw~K50hV+H}!|}2VIksQOw6#&Ts=0DLS3Mw{8Jyj4YS`Z_(p1B#Tye!J zc;~HhwVbz>RLCQ8r&l)fMYYq$nAaT9&9RW!Z!@@XM}~~c8oGsy7OnDH-df39#Y(kc z{n$wx4o0HeXDAou$Q&vyDww}(mAJ^pL1zK39I^G$x_Y7n-(0K`|i6LGR*kfGN@|i z`vvVKkBm@YIGdH>Zp*#iFPvS+$y~*|kgJI3-i1#-E^qFis7A>2&;GLf0@c&GeZe8x zrZE-@jKpsrNYG>36yf~-8vRa%~QX`4Nt-bO<~k(U11xdTJ?oarj0IULW(kgBn})v~8d7vaP^kW9;PD%0J< z^_b}@pvd%;45%{QE#N_!t|E!Pa#luCneGy3a@_ z53KSbGF=267Ds6&A%m(+cdK%*nJyv*MZ|@;jHpIkr(81qkfSaUSdF@-Wnk5W+yWma z-vc3YBz|3nRQc`}ve$g~hfFj1rVOX@-7Q@2`7Q(L?%3)ge5 z2SiU4ocbjhQ02N?z=LyLL^A#9H)JH0>u!+_mFps?;a_}R235K47WBz-Js^he!|B%! ztn#69JzxsanO9{{mFsR*?mgE50&Nq;gEl9#xH}aEO)DN?^*5-ieX&VCnMgL z*Qh7<$?_+-Mim(l2>E@pru+hx_ikTsn7kJgd?Rr~hEy%nEo85G?-va{`HBpu^4=|6 z?|JVJ8OGEV8BpcDTfiRjUW{Z$(_R@#<-J>^!{xmg$&4<(EQ6}NcMJN2d2fhucKY&x zRX$wai{X(u^EDY%<-J>#d(V5Hm`4~+4#|k>pdWY1`|(dcUa`vc%y*wV661{#F>x|` zNd{DT?iTP6c`ibVGtfmDQsuc@$R6|DH!Q|k$-jNzF87@0BA^+Zx*!9pJa?<#!Flcr z3cU0$%1A2D-69<-&qYvUc=06}ROPu_&?n1tUqFu7zj|Pm50&R4sNa|wltERVyH)uR zd9J1ibs15mZ)-MTS!?(JfrhX(?`n1Ornq z$bc#>-2xt*mLihhNPk&IQfcWH=}>7Yf*K=>12U*eOShm;mX>B9tYPk>Bbl1r(xjOH(8Ddw0>GKEr9I6eN;&g1zJnvMqeGly0cW%{ezc(g_ zj$({6drn4FZQ$5bXanLbXU2a)hE#39Eo854KwPN@lF!L-stve>>$wfcX?)+*-;x1U z8*mGFa2pVF&cQ(Xi!zdG18$KH)du9;yRrBM8C10ax1dkf21Imo^zlE{p0BromgwnC zXII=BK=*WYx!Y{WNyYT%ouDmW*3_!H2km-GQ_S* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VHM-DIGITALDATA/ToolCollection/Config/modNachindexierungConfig.xml b/VHM-DIGITALDATA/ToolCollection/Config/modNachindexierungConfig.xml new file mode 100644 index 0000000..2659a4f --- /dev/null +++ b/VHM-DIGITALDATA/ToolCollection/Config/modNachindexierungConfig.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file