[PRCUST_SET_DMS_STATUS_IN_WAWI]: Duplicate handling improved, new parameter for user, IF/Else structure improved

This commit is contained in:
KammM 2024-11-22 18:45:51 +01:00
parent 332e49f9d8
commit caa015e9b7

View File

@ -9,12 +9,12 @@
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim -- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works -- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
-- ================================================================= -- =================================================================
-- Creation Date / Author: 19.11.2024 / HE,MK -- Creation Date / Author: 22.11.2024 / HE,MK
-- Version Date / Editor: 19.11.2024 / HE,MK -- Version Date / Editor: 22.11.2024 / HE,MK
-- Version Number: 1.0.0.0 -- Version Number: 1.0.0.0
-- ================================================================= -- =================================================================
-- History: -- History:
-- 19.11.2024 / HE,MK - First Version -- 22.11.2024 / HE,MK - First Version
SET ANSI_NULLS ON SET ANSI_NULLS ON
GO GO
@ -22,16 +22,17 @@ SET QUOTED_IDENTIFIER ON
GO GO
CREATE OR ALTER PROCEDURE [PRCUST_SET_DMS_STATUS_IN_WAWI]( CREATE OR ALTER PROCEDURE [PRCUST_SET_DMS_STATUS_IN_WAWI](
@pTARGETSYSTEM VARCHAR(256) = 'WINLINE', -- Give target system: WINLINE or JTL-WAWI @pTARGETSYSTEM VARCHAR(256) = 'WINLINE', -- Give target system: WINLINE or JTL-WAWI
@pTARGETDB VARCHAR(256) = '[DD_CWLDATEN_DDVP]', -- Give target DB name (without schema!) @pTARGETDB VARCHAR(256) = '[DD_CWLDATEN_DDVP]', -- Give target DB name (without schema!)
@pTARGETSCHEMA VARCHAR(256) = '[dbo]', -- Give target DB schema @pTARGETSCHEMA VARCHAR(256) = '[dbo]', -- Give target DB schema
@pTARGETTABLE VARCHAR(256) = '[t025]', -- Give target DB table @pTARGETTABLE VARCHAR(256) = '[t025]', -- Give target DB table
@pTARGETDBCOLUMN VARCHAR(256) = '[c069]', -- Give target DB column @pTARGETDBCOLUMN VARCHAR(256) = '[c069]', -- Give target DB column
@pDOCTYPE VARCHAR(256) = 'Ausgangsrechnung', -- Give doctype: Ausgangsangebot, Ausgangsauftrag, Ausgangslieferschein, Ausgangsrechnung @pDOCTYPE VARCHAR(256) = 'Ausgangsrechnung', -- Give doctype: Ausgangsangebot, Ausgangsauftrag, Ausgangslieferschein, Ausgangsrechnung
@pDOCNR VARCHAR(256), -- Give docnr, like 'ARE-20234187' or 'AANG-20241060' @pDOCNR VARCHAR(256), -- Give docnr, like 'ARE-20234187' or 'AANG-20241060'
@pDMSSTATUS VARCHAR(256), -- Give text to write in @pTARGETDBCOLUMN @pDMSSTATUS VARCHAR(256), -- Give text to write in @pTARGETDBCOLUMN
@pOVERWRITE BIT = 0, -- Set overwrite for @pTARGETDBCOLUMN: 0 = concat; 1 = overwrite @pUSERNAME VARCHAR(50) = '[PRCUST_SET_DMS_STATUS_IN_WAWI]',-- Give the user of the Frontend call
@pLOGLEVEL VARCHAR(25) = 'ERROR' -- Set Loglevel to be written to table [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] @pOVERWRITE BIT = 0, -- Set overwrite for @pTARGETDBCOLUMN: 0 = concat; 1 = overwrite
@pLOGLEVEL VARCHAR(25) = 'ERROR' -- Set Loglevel to be written to table [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]
) )
AS AS
BEGIN TRY BEGIN TRY
@ -46,67 +47,66 @@ BEGIN TRY
@DOCTYPE VARCHAR(256) = @pDOCTYPE, @DOCTYPE VARCHAR(256) = @pDOCTYPE,
@DOCNR VARCHAR(256) = @pDOCNR, @DOCNR VARCHAR(256) = @pDOCNR,
@DMSSTATUS VARCHAR(256) = @pDMSSTATUS, @DMSSTATUS VARCHAR(256) = @pDMSSTATUS,
@USERNAME VARCHAR(50) = @pUSERNAME,
@OVERWRITE BIT = @pOVERWRITE, @OVERWRITE BIT = @pOVERWRITE,
@LOGLEVEL VARCHAR(25) = @pLOGLEVEL, @LOGLEVEL VARCHAR(25) = @pLOGLEVEL,
@DOCTYPECOLUMN VARCHAR(25) = NULL, @DOCTYPECOLUMN VARCHAR(25) = NULL,
@SQLCommand NVARCHAR(max) = NULL, @SQLCommand NVARCHAR(max) = NULL,
@DOCCOUNT INT = 0, @DOCCOUNT1 INT = 0,
@DOCCOUNT2 INT = 0,
@DMSSTATUSOLD VARCHAR(256) = NULL,
@return_status VARCHAR(256) = NULL, @return_status VARCHAR(256) = NULL,
@return_status_text VARCHAR(256) = NULL; @return_status_text VARCHAR(256) = NULL;
PRINT '===============================' PRINT '==============================='
PRINT 'PROCEDURE - START [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120); PRINT 'PROCEDURE - START [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120);
PRINT 'PARAMETER1 - @TARGETSYSTEM: ' + CONVERT(VARCHAR(256),@TARGETSYSTEM); PRINT 'PARAMETER01 - @TARGETSYSTEM: ' + CONVERT(VARCHAR(256),@TARGETSYSTEM);
PRINT 'PARAMETER2 - @TARGETDB: ' + CONVERT(VARCHAR(256),@TARGETDB); PRINT 'PARAMETER02 - @TARGETDB: ' + CONVERT(VARCHAR(256),@TARGETDB);
PRINT 'PARAMETER3 - @TARGETSCHEMA: ' + CONVERT(VARCHAR(256),@TARGETSCHEMA); PRINT 'PARAMETER03 - @TARGETSCHEMA: ' + CONVERT(VARCHAR(256),@TARGETSCHEMA);
PRINT 'PARAMETER4 - @TARGETTABLE: ' + CONVERT(VARCHAR(256),@TARGETTABLE); PRINT 'PARAMETER04 - @TARGETTABLE: ' + CONVERT(VARCHAR(256),@TARGETTABLE);
PRINT 'PARAMETER5 - @TARGETDBCOLUMN: ' + CONVERT(VARCHAR(256),@TARGETDBCOLUMN); PRINT 'PARAMETER05 - @TARGETDBCOLUMN: ' + CONVERT(VARCHAR(256),@TARGETDBCOLUMN);
PRINT 'PARAMETER6 - @DOCTYPE: ' + CONVERT(VARCHAR(256),@DOCTYPE); PRINT 'PARAMETER06 - @DOCTYPE: ' + CONVERT(VARCHAR(256),@DOCTYPE);
PRINT 'PARAMETER7 - @DOCNR: ' + CONVERT(VARCHAR(256),@DOCNR); PRINT 'PARAMETER07 - @DOCNR: ' + CONVERT(VARCHAR(256),@DOCNR);
PRINT 'PARAMETER8 - @DMSSTATUS: ' + CONVERT(VARCHAR(256),@DMSSTATUS); PRINT 'PARAMETER08 - @DMSSTATUS: ' + CONVERT(VARCHAR(256),@DMSSTATUS);
PRINT 'PARAMETER9 - @OVERWRITE: ' + CONVERT(VARCHAR(1),@OVERWRITE); PRINT 'PARAMETER09 - @USERNAME: ' + CONVERT(VARCHAR(50),@USERNAME);
PRINT 'PARAMETER10 - @LOGLEVEL: ' + CONVERT(VARCHAR(25),@LOGLEVEL); PRINT 'PARAMETER10 - @OVERWRITE: ' + CONVERT(VARCHAR(1),@OVERWRITE);
PRINT 'PARAMETER11 - @LOGLEVEL: ' + CONVERT(VARCHAR(25),@LOGLEVEL);
--==============================================-- Prepare the log table --================================================-- --==============================================-- Prepare the log table --================================================--
IF (@LOGLEVEL is not NULL) IF (@LOGLEVEL is not NULL) BEGIN
BEGIN PRINT ''
PRINT '' IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') BEGIN
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') PRINT 'Log table already exists'
BEGIN
PRINT 'Log table already exists'
END;
ELSE
BEGIN
PRINT 'Log table does not exists, trying to create...';
CREATE TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]( END; ELSE BEGIN
[GUID] [bigint] IDENTITY(1,1) NOT NULL, PRINT 'Log table does not exists, trying to create...';
[LOG_LEVEL] [varchar](25) NOT NULL,
[MESSAGE1] [varchar](max) NOT NULL,
[MESSAGE2] [varchar](max) NULL,
[MESSAGE3] [varchar](max) NULL,
[MESSAGE4] [varchar](max) NULL,
[MESSAGE5] [varchar](max) NULL,
[COMMENT] [varchar](max) NULL,
[ADDED_WHO] [varchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
CONSTRAINT [PK_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] PRIMARY KEY CLUSTERED
(
[GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY];
ALTER TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] ADD CONSTRAINT [DF_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG_ADDED_WHO] DEFAULT ('DEFAULT') FOR [ADDED_WHO]; CREATE TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[LOG_LEVEL] [varchar](25) NOT NULL,
[MESSAGE1] [varchar](max) NOT NULL,
[MESSAGE2] [varchar](max) NULL,
[MESSAGE3] [varchar](max) NULL,
[MESSAGE4] [varchar](max) NULL,
[MESSAGE5] [varchar](max) NULL,
[COMMENT] [varchar](max) NULL,
[ADDED_WHO] [varchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
CONSTRAINT [PK_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] PRIMARY KEY CLUSTERED
(
[GUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY];
ALTER TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] ADD CONSTRAINT [DF_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]; ALTER TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] ADD CONSTRAINT [DF_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG_ADDED_WHO] DEFAULT ('DEFAULT') FOR [ADDED_WHO];
END; ALTER TABLE [dbo].[TBCUST_SET_DMS_STATUS_IN_WAWI_LOG] ADD CONSTRAINT [DF_TBCUST_SET_DMS_STATUS_IN_WAWI_LOG_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN];
END; END;
END;
----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
--==============================================-- Determ doctype column --================================================-- --==============================================-- Determ doctype column --================================================--
IF (@TARGETSYSTEM = 'WINLINE') IF (@TARGETSYSTEM = 'WINLINE') BEGIN
BEGIN
SET @DOCTYPECOLUMN = CASE SET @DOCTYPECOLUMN = CASE
WHEN @DOCTYPE = 'Ausgangsangebot' WHEN @DOCTYPE = 'Ausgangsangebot'
THEN '[c043]' THEN '[c043]'
@ -118,126 +118,168 @@ BEGIN TRY
THEN '[c055]' THEN '[c055]'
ELSE NULL ELSE NULL
END; END;
END; END; ELSE BEGIN
ELSE PRINT 'Currently only WINLINE is available!'
BEGIN SET @DOCTYPECOLUMN = NULL
PRINT 'Currently only WINLINE is available!' END;
SET @DOCTYPECOLUMN = NULL
END;
PRINT ''; PRINT '';
PRINT 'Determ @DOCTYPECOLUMN: ' + ISNULL(@DOCTYPECOLUMN,'<NONE>'); PRINT 'Determ @DOCTYPECOLUMN: ' + ISNULL(@DOCTYPECOLUMN,'<NONE>');
----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
--========================================-- Are there target lines to update? --==========================================-- --========================================-- Are there target lines to update? --==========================================--
IF (@DOCTYPECOLUMN is not NULL) IF (@DOCTYPECOLUMN is not NULL) BEGIN
BEGIN
PRINT 'Check if there is a valid target there' PRINT 'Check if there is a valid target there'
SET @SQLCommand = N'SELECT @DOCCOUNT = count(*) FROM ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + ' WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' '; SET @SQLCommand = N'SELECT @DOCCOUNT1 = count(*)
PRINT 'Build Query @SQLCommand: ' + @SQLCommand FROM ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + '
WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' ';
PRINT 'Build Query @SQLCommand: ' + @SQLCommand
EXEC @return_status = sp_executesql @SQLCommand,N'@DOCCOUNT INT OUTPUT', @DOCCOUNT OUTPUT; EXEC @return_status = sp_executesql @SQLCommand,N'@DOCCOUNT1 INT OUTPUT', @DOCCOUNT1 OUTPUT;
IF ((@return_status = 0)) IF (@return_status = 0) BEGIN
BEGIN IF (@DOCCOUNT1 > 0) BEGIN
IF (@DOCCOUNT > 0) PRINT 'Found: ' + CONVERT(VARCHAR(25),@DOCCOUNT1) + ' docs to update!'
BEGIN PRINT 'Checking if docs have a existing "dms text"'
PRINT 'Found: ' + CONVERT(VARCHAR(25),@DOCCOUNT) + ' doc to update!'
SET @SQLCommand = N'SELECT @DOCCOUNT = count(*) FROM ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + ' WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' AND ' + @TARGETDBCOLUMN + ' IS NOT NULL AND ' + @TARGETDBCOLUMN + ' <> ''' + @DMSSTATUS + ''''; SET @SQLCommand = N'SELECT @DOCCOUNT2 = count(*)
PRINT 'Build "DMS Text" Query @SQLCommand: ' + @SQLCommand FROM ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + '
EXEC @return_status = sp_executesql @SQLCommand,N'@DOCCOUNT INT OUTPUT', @DOCCOUNT OUTPUT; WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + '''
AND (' + @TARGETDBCOLUMN + ' = ''' + @DMSSTATUS + '''
OR ' + @TARGETDBCOLUMN + ' LIKE ''%' + @DMSSTATUS + '''
OR ' + @TARGETDBCOLUMN + ' LIKE ''' + @DMSSTATUS + '%''
OR ' + @TARGETDBCOLUMN + ' LIKE ''%' + @DMSSTATUS + '%'') ';
IF ((@OVERWRITE = 0) and (@DOCCOUNT > 0)) PRINT 'Build "DMS Text" Query @SQLCommand: ' + @SQLCommand
BEGIN EXEC @return_status = sp_executesql @SQLCommand,N'@DOCCOUNT2 INT OUTPUT', @DOCCOUNT2 OUTPUT;
SET @SQLCommand = N'UPDATE ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + ' SET ' + @TARGETDBCOLUMN + ' = concat(' + @TARGETDBCOLUMN + ',''; ''' +', ''' + @DMSSTATUS + ''') WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' ';
END; IF (@return_status = 0) BEGIN
ELSE PRINT 'Query was successful!'
BEGIN PRINT 'Found: ' + CONVERT(VARCHAR(25),@DOCCOUNT2) + ' docs with the dms text duplicate!'
SET @SQLCommand = N'UPDATE ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + ' SET ' + @TARGETDBCOLUMN + ' = ''' + @DMSSTATUS + ''' WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' ';
IF (@DOCCOUNT2 > 0) BEGIN
PRINT 'Given dms text is already there, no update needed!';
SET @return_status = 1;
END; ELSE BEGIN
PRINT 'Given dms text is not there, update needed!';
IF ((@OVERWRITE = 0) and (@DOCCOUNT1 > 0)) BEGIN
SET @SQLCommand = N'SELECT TOP 1 @DMSSTATUSOLD = ' + @TARGETDBCOLUMN + '
FROM ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + '
WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + '''
AND ' + @TARGETDBCOLUMN + ' IS NOT NULL
AND ' + @TARGETDBCOLUMN + ' <> '''' ';
PRINT 'Build "DMS Text" Query for existing values @SQLCommand: ' + @SQLCommand
PRINT 'Found: ' + CONVERT(VARCHAR(25),@DOCCOUNT1) + ' docs with a existing dms text!'
EXEC @return_status = sp_executesql @SQLCommand,N'@DMSSTATUSOLD VARCHAR(256) OUTPUT', @DMSSTATUSOLD OUTPUT;
IF ((@return_status = 0)) BEGIN
PRINT 'Query was successful!'
IF (@DMSSTATUSOLD <> @DMSSTATUS) BEGIN
PRINT 'Extending DMS status text'
SET @DMSSTATUS = concat(@DMSSTATUSOLD,'; ',@DMSSTATUS)
END; END;
PRINT 'Build Update @SQLCommand: ' + @SQLCommand SET @DMSSTATUS = CASE
EXEC @return_status = sp_executesql @SQLCommand WHEN LEFT(@DMSSTATUS,2) = '; '
THEN SUBSTRING(@DMSSTATUS, 2, LEN(@DMSSTATUS)-2)
IF ((@return_status = 0)) ELSE @DMSSTATUS
BEGIN END;
PRINT 'Update was successful!' END; ELSE BEGIN
SET @return_status = 1; PRINT 'Query has failed!'
END; PRINT '@DMSSTATUS keeps untouched!'
ELSE END;
BEGIN
PRINT 'Update has failed!'
PRINT '@return_status: ' + CONVERT(VARCHAR(50),@return_status)
END;
END; ELSE IF ((@OVERWRITE = 1) or (@DOCCOUNT1 = 0)) BEGIN
PRINT 'Overwrite is enabled and or no doc with existing dms text found!'
END; END;
ELSE
BEGIN --===========================================-- data collected updating row --=============================================--
PRINT 'No doc were found!' SET @SQLCommand = N'SET NOCOUNT ON;
SET @return_status = 0; UPDATE ' + @TARGETDB + '.' + @TARGETSCHEMA + '.' + @TARGETTABLE + '
SET ' + @TARGETDBCOLUMN + ' = ''' + @DMSSTATUS + '''
WHERE ' + @DOCTYPECOLUMN + ' = ''' + @DOCNR + ''' ';
PRINT 'Build Update @SQLCommand: ' + @SQLCommand;
EXEC @return_status = sp_executesql @SQLCommand;
IF ((@return_status = 0)) BEGIN
PRINT 'Update was successful!';
SET @return_status = 1;
END; ELSE BEGIN
PRINT 'Update has failed!';
PRINT '@return_status: ' + CONVERT(VARCHAR(50),@return_status);
END; END;
END; -----------------------------------------------------------------------------------------------------------------------------
ELSE END;
BEGIN
PRINT 'Error at dynamic SQL!' END; ELSE BEGIN
PRINT 'Query has failed!';
SET @return_status = 0; SET @return_status = 0;
END; END;
END;
ELSE END; ELSE BEGIN
BEGIN PRINT 'No doc were found!';
PRINT 'Invalid call!' SET @return_status = 0;
END;
END; ELSE BEGIN
PRINT 'Error at dynamic SQL!';
SET @return_status = 0; SET @return_status = 0;
END; END;
END; ELSE BEGIN
PRINT 'Invalid call!';
SET @return_status = 0;
END;
----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
PRINT '';
PRINT 'PROCEDURE - END [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120);
PRINT '===============================';
--==============================================-- Log result to table --===============================================--
IF (@return_status = 1) IF (@return_status = 1)
SET @return_status_text = 'SUCCESS'; SET @return_status_text = 'SUCCESS';
ELSE ELSE
SET @return_status_text = 'FAILED'; SET @return_status_text = 'FAILED';
IF (@LOGLEVEL in ('INFO','WARN')) PRINT '';
BEGIN PRINT 'PROCEDURE Result: ' + @return_status_text
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') PRINT 'PROCEDURE - END [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120);
BEGIN PRINT '===============================';
INSERT INTO [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]([LOG_LEVEL],[MESSAGE1], [MESSAGE2], [MESSAGE3], [MESSAGE4], [MESSAGE5], [ADDED_WHO], [ADDED_WHEN])
VALUES (@LOGLEVEL, concat(@TARGETDB,'.',@TARGETSCHEMA,'.',@TARGETTABLE,'.',@TARGETDBCOLUMN), concat(@DOCTYPE,' - Nr: ',@DOCNR), @DMSSTATUS, 'OVERWRITE = ' + convert(varchar,@OVERWRITE), @return_status_text, 'PRCUST_SET_DMS_STATUS_IN_WAWI',GetDate());
END;
END;
-----------------------------------------------------------------------------------------------------------------------------
--==============================================-- Log result to table --===============================================--
IF (@LOGLEVEL in ('INFO','WARN')) BEGIN
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') BEGIN
INSERT INTO [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]([LOG_LEVEL],[MESSAGE1], [MESSAGE2], [MESSAGE3], [MESSAGE4], [MESSAGE5], [ADDED_WHO], [ADDED_WHEN])
VALUES (@LOGLEVEL, concat(@TARGETDB,'.',@TARGETSCHEMA,'.',@TARGETTABLE,'.',@TARGETDBCOLUMN), concat(@DOCTYPE,' - Nr: ',@DOCNR), @DMSSTATUS, 'OVERWRITE = ' + convert(varchar,@OVERWRITE), @return_status_text, @USERNAME ,GetDate());
END;
END;
-----------------------------------------------------------------------------------------------------------------------------
RETURN @return_status -- Because of the target index in windream! RETURN @return_status -- Because of the target index in windream!
END TRY END TRY
BEGIN CATCH BEGIN CATCH
PRINT 'ERROR: ' + ERROR_MESSAGE()
-- Handle any errors that occur during the process. -- Handle any errors that occur during the process.
SELECT ERROR_MESSAGE() AS ErrorMessage; SELECT ERROR_MESSAGE() AS ErrorMessage;
--================================================-- Log error to table --=================================================-- --================================================-- Log error to table --=================================================--
IF (@LOGLEVEL in ('INFO','WARN','ERROR')) IF (@LOGLEVEL in ('INFO','WARN','ERROR')) BEGIN
BEGIN IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') BEGIN
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBCUST_SET_DMS_STATUS_IN_WAWI_LOG') INSERT INTO [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]([LOG_LEVEL],[MESSAGE1], [MESSAGE2], [MESSAGE3], [MESSAGE4], [MESSAGE5], [ADDED_WHO], [ADDED_WHEN])
BEGIN VALUES ('ERROR', concat(@TARGETDB,'.',@TARGETSCHEMA,'.',@TARGETTABLE,'.',@TARGETDBCOLUMN), concat(@DOCTYPE,' - Nr: ',@DOCNR), @DMSSTATUS, 'OVERWRITE = ' + convert(varchar,@OVERWRITE), ERROR_MESSAGE(), @USERNAME, GetDate());
INSERT INTO [TBCUST_SET_DMS_STATUS_IN_WAWI_LOG]([LOG_LEVEL],[MESSAGE1], [MESSAGE2], [MESSAGE3], [MESSAGE4], [MESSAGE5], [ADDED_WHO], [ADDED_WHEN])
VALUES ('ERROR', concat(@TARGETDB,'.',@TARGETSCHEMA,'.',@TARGETTABLE,'.',@TARGETDBCOLUMN), concat(@DOCTYPE,' - Nr: ',@DOCNR), @DMSSTATUS, 'OVERWRITE = ' + convert(varchar,@OVERWRITE), ERROR_MESSAGE(), 'PRCUST_SET_DMS_STATUS_IN_WAWI',GetDate());
END;
END; END;
END;
----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
PRINT ''; PRINT '';
PRINT 'PROCEDURE - END [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120); PRINT 'PROCEDURE Result: ERROR! ' + ERROR_MESSAGE();
PRINT 'PROCEDURE - END [PRCUST_SET_DMS_STATUS_IN_WAWI] @ ' + CONVERT(varchar(50),GETDATE(),120);
PRINT '==============================='; PRINT '===============================';
RETURN 0 -- Because of the target index in windream! RETURN 0; -- Because of the target index in windream!
END CATCH; END CATCH;
GO GO