This commit is contained in:
2024-03-21 16:51:19 +01:00
commit 026fc75e0c
81 changed files with 6028 additions and 0 deletions

View File

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

View File

@@ -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. <br> 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 = '<!DOCTYPE html><html><body style=''font-family:"Arial";font-size:10.0pt''"' + @BODY_PRAEFIX + @BODY_SUFFIX + '</body></html>'
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ToolCollection.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="ToolCollection.My.MySettings.DDECMConString" connectionString="Data Source=VHM-DIGITALDATA;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=DD_ECM;Password=Buche1990!" />
</connectionStrings>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<userSettings>
<ToolCollection.My.MySettings>
<setting name="licensekey" serializeAs="String">
<value />
</setting>
<setting name="DIDurchlaufRunning" serializeAs="String">
<value>False</value>
</setting>
<setting name="vNIConfigDatei" serializeAs="String">
<value>modNachindexierungConfig.xml</value>
</setting>
<setting name="vDIConfigDatei" serializeAs="String">
<value>modDateiimportConfig.xml</value>
</setting>
<setting name="vNIMailfrom" serializeAs="String">
<value>absender@IhrServer.de</value>
</setting>
<setting name="vNIEmailEmpf" serializeAs="String">
<value />
</setting>
<setting name="vNIMailBetreff" serializeAs="String">
<value>Fehler im Modul Nachindexierung</value>
</setting>
<setting name="vNIMailBody" serializeAs="String">
<value>&lt;p&gt;__________________&lt;br&gt;
&lt;b&gt;&lt;font face="Arial"&gt;Achtung Fehler:&lt;/font&gt;&lt;/b&gt;&lt;font face="Arial"&gt;&lt;br&gt;
&lt;br&gt;
Folgender Fehler wurde festgestellt:&lt;/font&gt; &lt;/p&gt;
</value>
</setting>
<setting name="vSMTP" serializeAs="String">
<value>mailODERpop.smtp.de</value>
</setting>
<setting name="vMailUser" serializeAs="String">
<value>Ihr User</value>
</setting>
<setting name="vMailPW" serializeAs="String">
<value />
</setting>
<setting name="vNIMailsenden" serializeAs="String">
<value>False</value>
</setting>
<setting name="frmNI_SQL_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="vPW_Admin" serializeAs="String">
<value>dd</value>
</setting>
<setting name="NIDurchlauf_Intervall" serializeAs="String">
<value>0</value>
</setting>
<setting name="vDIMailFrom" serializeAs="String">
<value>absender@IhrServer.de</value>
</setting>
<setting name="vDIMailEmpf" serializeAs="String">
<value />
</setting>
<setting name="vDIMailBetreff" serializeAs="String">
<value>Fehler im Modul Dateiimporter</value>
</setting>
<setting name="vDIMailBody" serializeAs="String">
<value>&lt;p&gt;__________________&lt;br&gt;
&lt;b&gt;&lt;font face="Arial"&gt;Achtung Fehler:&lt;/font&gt;&lt;/b&gt;&lt;font face="Arial"&gt;&lt;br&gt;
&lt;br&gt;
Folgender Fehler wurde festgestellt:&lt;/font&gt; &lt;/p&gt;
</value>
</setting>
<setting name="vDIDurchlaufRunning" serializeAs="String">
<value>False</value>
</setting>
<setting name="vDIMailSenden" serializeAs="String">
<value>False</value>
</setting>
<setting name="frmNIHauptseite_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmDIHauptseite_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="DIDurchlauf_Intervall" serializeAs="String">
<value>0</value>
</setting>
<setting name="NI_Durchlauf_Intervall" serializeAs="String">
<value>5</value>
</setting>
<setting name="frmDIProfileigenschaften_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmDIRegelverwaltung_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmDIRA_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmNIProfilhinzufuegen" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmNIProfileigenschaften" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="vMIConfigDatei" serializeAs="String">
<value>modDDIntegrationConfig.xml</value>
</setting>
<setting name="frmMIProfileigenschaften_Loc" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="vMoReConfigDatei" serializeAs="String">
<value>modMoReConfig.xml</value>
</setting>
<setting name="vMoReBasConfigDatei" serializeAs="String">
<value>modMoReBasConfig.xml</value>
</setting>
<setting name="spltCMoRe" serializeAs="String">
<value>232</value>
</setting>
<setting name="TBDMS_ORDNERZUORDNUNGDataGridView" serializeAs="String">
<value />
</setting>
<setting name="TBDMS_KUNDENDataGridView" serializeAs="String">
<value />
</setting>
<setting name="scOrdnerKonfig" serializeAs="String">
<value>415</value>
</setting>
<setting name="MR" serializeAs="String">
<value />
</setting>
<setting name="vLogErrorsonly" serializeAs="String">
<value>True</value>
</setting>
<setting name="vLogNI" serializeAs="String">
<value>log_Nachindexierung</value>
</setting>
<setting name="vLogDI" serializeAs="String">
<value>log_Dateiimporter</value>
</setting>
<setting name="vLogService" serializeAs="String">
<value>log_ServiceTC</value>
</setting>
<setting name="vlogNIServ" serializeAs="String">
<value>log_NachindexierungServ</value>
</setting>
<setting name="vlogDIServ" serializeAs="String">
<value>log_DateiimporterServ</value>
</setting>
<setting name="vDIAusschluss" serializeAs="String">
<value>thumbs</value>
</setting>
<setting name="Cores" serializeAs="String">
<value>Alle Kerne</value>
</setting>
<setting name="ERROR_INDEX" serializeAs="String">
<value>Error</value>
</setting>
<setting name="SQLLITE_CONNECTION" serializeAs="String">
<value />
</setting>
<setting name="logolder_then" serializeAs="String">
<value>30</value>
</setting>
<setting name="errortext" serializeAs="String">
<value>Fehlermeldung</value>
</setting>
<setting name="vemailPort" serializeAs="String">
<value>25</value>
</setting>
<setting name="NI_RUNNING" serializeAs="String">
<value>False</value>
</setting>
<setting name="VFS_RESTART" serializeAs="String">
<value>DigitalData\windream_VFS_RESTART</value>
</setting>
<setting name="IIDConfig_ConString" serializeAs="String">
<value>Data Source=172.24.12.41\tests;Initial Catalog=DD_DMS;User ID=sa;Password=dd</value>
</setting>
</ToolCollection.My.MySettings>
</userSettings>
<applicationSettings>
<ToolCollection.My.MySettings>
<setting name="MRWD_Laufwerk" serializeAs="String">
<value>Q</value>
</setting>
<setting name="PathLink2Navision" serializeAs="String">
<value>D:\Programme\Digital Data\DDLink2Navision\NavisionLink.exe</value>
</setting>
<setting name="DLL_WMOTOOL" serializeAs="String">
<value />
</setting>
<setting name="vWLaufwerk" serializeAs="String">
<value>Q</value>
</setting>
<setting name="WMCC_RESTART" serializeAs="String">
<value>DigitalData\windream_CLIENT_WMCC_Neustart</value>
</setting>
<setting name="Sleep_Begin" serializeAs="String">
<value>0</value>
</setting>
<setting name="Sleep_End" serializeAs="String">
<value>0</value>
</setting>
<setting name="NI_WORKING_HOURS" serializeAs="String">
<value></value>
</setting>
<setting name="FB_DATASOURCE" serializeAs="String">
<value />
</setting>
<setting name="FB_DATABASE" serializeAs="String">
<value />
</setting>
<setting name="FB_USER" serializeAs="String">
<value />
</setting>
<setting name="FB_PW" serializeAs="String">
<value />
</setting>
</ToolCollection.My.MySettings>
</applicationSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
<remove invariant="System.Data.SQLite.EF6"/>
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".Net Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/>
</DbProviderFactories>
</system.data>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.92.0" newVersion="1.0.92.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Settings>
<Profile>
<Profil profilname="VHM-Eingangsrechnung-WF via Scan" aktiv="True" verzoegerung="0" dokumenttyp="VHM - Geschäftsprozesse" quellordner="E:\ECMLite\VHM - Geschäftsprozesse\DocumentProcessing\File\VHM-Eingangsrechnung" zielordner="Q:\VHM-Netz-Geschäftsprozesse\DocumentProcessing\File\Eingangsrechnung-WF\InBearbeitung" subdirectories="False" subdirectoriesloeschen="False" backup="False" backupordner="" overwrite="True" datei_loeschen="True" Date_UV="" verzeichnis_loeschen="False" intervall="0" lastrun="21.03.2024 14:13:47" link2navision="False" link2navision_dokart="" link2navision_index="">
<Regel id="1" zielindex="String 37" aktiv="True" indexieren_aus="FEST" art="Eingangsrechnung-WF" removeZeros="False" />
<Regel id="2" zielindex="String 33" aktiv="True" indexieren_aus="FEST" art="unbearbeitet" removeZeros="False" />
<Regel id="3" zielindex="String 28" aktiv="True" indexieren_aus="FEST" art="DD-ToolCollection" removeZeros="False" />
<Regel id="4" zielindex="String 23" aktiv="True" indexieren_aus="DATEI" art="KOMPLETT" removeZeros="False" mit_endung="False" />
<Regel id="6" zielindex="Vektor String 02" aktiv="True" indexieren_aus="FEST" art="Eingangsrechnungsprüfung" removeZeros="False" />
<Regel id="7" zielindex="Vektor Boolean 01" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="8" zielindex="Vektor Boolean 02" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="9" zielindex="Vektor Boolean 03" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="10" zielindex="Vektor Boolean 04" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="11" zielindex="Vektor Boolean 05" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="12" zielindex="Vektor Boolean 06" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="13" zielindex="Vektor Boolean 07" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="14" zielindex="Vektor Boolean 08" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="15" zielindex="Vektor String 101" aktiv="True" indexieren_aus="FEST" art="H" removeZeros="False" />
<Regel id="16" zielindex="String 12" aktiv="True" indexieren_aus="FEST" art="Scan" removeZeros="False" />
<Regel id="17" zielindex="Vektor Boolean 16" aktiv="True" indexieren_aus="FEST" art="0" removeZeros="False" />
</Profil>
<Profil profilname="VHM-Eingangsrechnung-WF via Mail (kein ZUGFeRD)" aktiv="True" verzoegerung="0" dokumenttyp="VHM - Geschäftsprozesse" quellordner="E:\DocumentProcessing\Input\File\DocumentKindAssigned\E-Rechnung" zielordner="Q:\VHM-Netz-Geschäftsprozesse\DocumentProcessing\File\Eingangsrechnung-WF\InBearbeitung" subdirectories="False" subdirectoriesloeschen="False" backup="False" backupordner="" overwrite="True" datei_loeschen="True" Date_UV="YYYY-MM" verzeichnis_loeschen="False" intervall="0" lastrun="21.03.2024 14:13:47" link2navision="False" link2navision_dokart="" link2navision_index="">
<Regel id="1" zielindex="String 37" aktiv="True" indexieren_aus="FEST" art="Eingangsrechnung-WF" removeZeros="False" />
<Regel id="2" zielindex="String 33" aktiv="True" indexieren_aus="FEST" art="unbearbeitet" removeZeros="False" />
<Regel id="3" zielindex="String 28" aktiv="True" indexieren_aus="FEST" art="DD-ToolCollection" removeZeros="False" />
<Regel id="4" zielindex="String 23" aktiv="True" indexieren_aus="DATEI" art="KOMPLETT" removeZeros="False" mit_endung="False" />
<Regel id="6" zielindex="Vektor String 02" aktiv="True" indexieren_aus="FEST" art="Eingangsrechnungsprüfung" removeZeros="False" />
<Regel id="7" zielindex="Vektor Boolean 01" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="8" zielindex="Vektor Boolean 02" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="9" zielindex="Vektor Boolean 03" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="10" zielindex="Vektor Boolean 04" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="11" zielindex="Vektor Boolean 05" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="12" zielindex="Vektor Boolean 06" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="13" zielindex="Vektor Boolean 07" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="14" zielindex="Vektor Boolean 08" aktiv="True" indexieren_aus="FEST" art="false" removeZeros="False" />
<Regel id="15" zielindex="Vektor String 101" aktiv="True" indexieren_aus="FEST" art="H" removeZeros="False" />
<Regel id="16" zielindex="String 12" aktiv="True" indexieren_aus="FEST" art="Mail (kein ZUGFeRD)" removeZeros="False" />
<Regel id="17" zielindex="Vektor Boolean 16" aktiv="True" indexieren_aus="FEST" art="False" removeZeros="False" />
</Profil>
</Profile>
</Settings>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Settings>
<Profile>
<Profil profilname="VHM_NI-DB_LieferantenDaten_anhand_LieferantenNummer" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM_NI-DB_LieferantenDaten_anhand_LieferantenNummer.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="String 38" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="08.03.2021 13:48:17" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="String 08" spalte="capername" from="dbo.caperson" select="SELECT [Lieferanten-Name] from [FNCUST_GET_SCHLEUPEN_VENDOR_INFO]('VHM','[%String 38]')&#xD;&#xA;&#xD;&#xA;--ALT - aus Bestellwesen:&#xD;&#xA;--SELECT LTRIM(RTRIM([caperson].[capername])) as 'Lieferanten-Name'&#xD;&#xA;--FROM [belieferant], [caperson]&#xD;&#xA;--WHERE [belieferant].[caper_id] = [caperson].[caper_id]&#xD;&#xA;-- AND [belieferant].[camndcid_l] = 'VHM'&#xD;&#xA;-- AND [belieferant].[belienummer] = '[%String 38]'&#xD;&#xA;-- AND LTRIM(RTRIM([caperson].[capername])) &lt;&gt; 'Ungültig!'&#xD;&#xA;&#xD;&#xA;-- Test mit: 3002402 (Hoss &amp; Schreiber GbR) &#xD;&#xA;-- Test mit: 3001054 (zwei Datensätze!)" vktstate="1" />
<Link index="Vektor String 05" spalte="belienummer" from="dbo.belieferant" select="select '[%String 38]' &#xD;&#xA;-- FROM -- WHERE" vktstate="3" />
<Link index="Vektor String 51" spalte="capername" from="dbo.caperson" select="SELECT [Lieferanten-Name] from [FNCUST_GET_SCHLEUPEN_VENDOR_INFO]('VHM','[%String 38]')&#xD;&#xA;&#xD;&#xA;--ALT - aus Bestellwesen:&#xD;&#xA;--SELECT LTRIM(RTRIM([caperson].[capername])) as 'Lieferanten-Name'&#xD;&#xA;--FROM [belieferant], [caperson]&#xD;&#xA;--WHERE [belieferant].[caper_id] = [caperson].[caper_id]&#xD;&#xA;-- AND [belieferant].[camndcid_l] = 'VHM'&#xD;&#xA;-- AND [belieferant].[belienummer] = '[%String 38]'&#xD;&#xA;-- AND LTRIM(RTRIM([caperson].[capername])) &lt;&gt; 'Ungültig!'&#xD;&#xA;&#xD;&#xA;-- Test mit: 3002402 (Hoss &amp; Schreiber GbR) &#xD;&#xA;-- Test mit: 3001054 (zwei Datensätze!)" vktstate="1" />
</Profil>
<Profil profilname="VHM-Netz_MoveAndRename_DocumentProcessing_Eingangsrechnung-WF" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-Netz_MoveAndRename_DocumentProcessing_Eingangsrechnung-WF.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Integer 00" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:20" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Integer 00" spalte="ACTIVE" from="dbo.TBDD_MODULES" select="-- Dummy, damit Move and Rename losläuft&#xD;&#xA;Select 1" vktstate="1" />
</Profil>
<Profil profilname="VHM-Netz_MoveAndRename_DocumentProcessing_Eingangsgutschrift-WF" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-Netz_MoveAndRename_DocumentProcessing_Eingangsgutschrift-WF.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Integer 00" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:20" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Integer 00" spalte="ACTIVE" from="dbo.TBDD_MODULES" select="-- Dummy, damit Move and Rename losläuft&#xD;&#xA;Select 1" vktstate="1" />
</Profil>
<Profil profilname="VHM-Netz_MoveAndRename_Manually_Eingangsrechnung-WF" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-Netz_MoveAndRename_Manually_Eingangsrechnung-WF.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Integer 00" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:20" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Integer 00" spalte="ACTIVE" from="dbo.TBDD_MODULES" select="-- Dummy, damit Move and Rename losläuft&#xD;&#xA;Select 1" vktstate="1" />
</Profil>
<Profil profilname="VHM-Netz_MoveAndRename_Manually_Eingangsgutschrift-WF" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-Netz_MoveAndRename_Manually_Eingangsgutschrift-WF.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Integer 00" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:21" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Integer 00" spalte="ACTIVE" from="dbo.TBDD_MODULES" select="-- Dummy, damit Move and Rename losläuft&#xD;&#xA;Select 1" vktstate="1" />
</Profil>
<Profil profilname="VHM-Mandant&amp;Abteilung" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-Mandant&amp;Abteilung.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="String 22" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="SELECT 1" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:21" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="String 31" spalte="ACTIVE" from="dbo.TBDD_MODULES" select="-- SELECT [%spalte] FROM [%view] WHERE &#xD;&#xA;SELECT TOP 1 'VHM-Netz'" vktstate="1" />
</Profil>
<Profil profilname="VHM_Verrechtung" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM_Verrechtung.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="windream60" sqlanweisung="" windreamIndex="Integer 18" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="select 1" indexValidation="" indexFehler="" finalerIndex="" aktiv="True" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="13.07.2023 11:31:21" NB_AD="True" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Integer 18" spalte="decLockExpiration" from="dbo.LockInfo" select="-- Dummy, damit Rechte gesetzt werden&#xD;&#xA;-- SELECT [%spalte] FROM [%view] WHERE &#xD;&#xA;&#xD;&#xA;DECLARE @RechteFlag INT; &#xD;&#xA;SET @RechteFlag = '[%Integer 18]'; &#xD;&#xA;&#xD;&#xA;SELECT CASE&#xD;&#xA;&#xD;&#xA; When @RechteFlag = '1' Then 2&#xD;&#xA; When @RechteFlag = '3' Then 4&#xD;&#xA; Else 0&#xD;&#xA;&#xD;&#xA;End" vktstate="1" />
</Profil>
<Profil profilname="ER-LoeschenEinmalig" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="Q:\System\SearchProfiles\ToolCollection\VHM-ER-ohneLoeschen.wdf" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="DD_ECM" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Dokument-ID" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="False" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="01.01.1900" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="Vektor Boolean 16" spalte="%0%" from="manuell" select="" vktstate="1" />
</Profil>
<Profil profilname="ER_ExportManually" dokumenttyp="VHM - Geschäftsprozesse" windreamsuche="SELECT * FROM [dbo].[FNCUST_ER_TO_CORRECT] ()" dbArt="MS-SQL" dataSource="VHM-DIGITALDATA" userId="dd_ecm" password="Buche1990!" initialCatalog="DD_ECM" sqlanweisung="" windreamIndex="Dokument-ID" ni_art="db" xml_end="" delete="" folder="" checkIndexSQL="" indexValidation="" indexFehler="" finalerIndex="" aktiv="False" mr_DAIndex="" mr_KDIndex="" move2Folder="" intervall="0" lastrun="01.01.1900" NB_AD="False" getordneridx="False" ordnerType="" ordnerType_eb="Parent" crfolderindex="" crfolder_folder="" crfolder_move="False">
<Link index="String 19" spalte="extRENr" from="dbo.TBCUST_CORRECT_BUNR" select="SELECT [%spalte] FROM [%view] WHERE DOCID = [%Dokument-ID]" vktstate="1" />
<Link index="Integer 20" spalte="BuNr" from="dbo.TBCUST_CORRECT_BUNR" select="SELECT [%spalte] FROM [%view] WHERE DOCID = [%Dokument-ID]" vktstate="1" />
</Profil>
</Profile>
</Settings>