943 lines
115 KiB
Transact-SQL
943 lines
115 KiB
Transact-SQL
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
|
||
--SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||
--GO
|
||
|
||
-- [PRDEX_START_PROFILE_EXECUTION]
|
||
-- =================================================================
|
||
-- Main procedure to start the DEX
|
||
--
|
||
-- Returns: INTEGER; 0 = ok; 0 <> not ok
|
||
-- =================================================================
|
||
-- Copyright (c) 2025 by Digital Data GmbH
|
||
--
|
||
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
||
-- =================================================================
|
||
-- Creation Date / Author: 01.08.2025 / MK
|
||
-- Version Date / Editor: 01.08.2025 / MK
|
||
-- Version Number: 1.0.0.0
|
||
-- =================================================================
|
||
-- History:
|
||
-- 01.08.2025 / MK - First Version
|
||
|
||
CREATE OR ALTER PROCEDURE [dbo].[PRDEX_START_PROFILE_EXECUTION](
|
||
@pPROFILE_ID BIGINT, -- GUID from [TBDEX_CFG_PROFILE]
|
||
@pTEST_MODE BIT = 1, -- 1 = Enable Test Mode (DEFAULT); 0 = Disable Test Mode
|
||
@pASYNC_MODE BIT = NULL, -- NULL = No async processing; 0 = Collect data, but dont process it; 1 = Process collected data
|
||
@pBATCH_ID NVARCHAR(25) = NULL, -- OPTIONAL: Set the batch ID, at least four digits. Failsafe will create a timestamp value
|
||
@pBATCH_CREATOR NVARCHAR(50) = NULL, -- OPTIONAL: Set the creator of this BATCH / @BATCH_ID
|
||
@pLANGUAGE NVARCHAR(10) = NULL, -- OPTIONAL: Set Language if you want to Override setting in Profile table. Failsafe is de_DE
|
||
@pLOG_LEVEL NVARCHAR(25) = NULL, -- OPTIONAL: Set 'INFO','WARN' or 'ERROR' to overwrite profile setting. Failsafe is 'INFO'
|
||
@pSTART_QUERY NVARCHAR(MAX) = NULL, -- Query name from [TBDEX_CFG_RESOURCES] to find source files, or a query like 'SELECT PROFILE_ID, REFERENCE1, REFERENCE2, REFERENCE3, BATCH_ID, COMMENT, CREATOR, GETDATE() FROM [TABLE]'
|
||
@pSTART_QUERY_VAR1 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pSTART_QUERY
|
||
@pSTART_QUERY_VAR2 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pSTART_QUERY
|
||
@pSTART_QUERY_VAR3 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pSTART_QUERY
|
||
@pSTART_QUERY_VAR4 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pSTART_QUERY
|
||
@pSTART_QUERY_VAR5 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pSTART_QUERY
|
||
@pMAIN_QUERY NVARCHAR(MAX) = NULL, -- Query name from [TBDEX_CFG_RESOURCES] to find source files, or a query like 'SELECT PROFILE_ID, REFERENCE1, REFERENCE2, REFERENCE3, BATCH_ID, COMMENT, CREATOR, GETDATE() FROM [TABLE]'
|
||
@pMAIN_QUERY_VAR1 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pMAIN_QUERY
|
||
@pMAIN_QUERY_VAR2 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pMAIN_QUERY
|
||
@pMAIN_QUERY_VAR3 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pMAIN_QUERY
|
||
@pMAIN_QUERY_VAR4 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pMAIN_QUERY
|
||
@pMAIN_QUERY_VAR5 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pMAIN_QUERY
|
||
@pEND_QUERY NVARCHAR(MAX) = NULL, -- Query name from [TBDEX_CFG_RESOURCES] to find source files, or a query like 'SELECT PROFILE_ID, REFERENCE1, REFERENCE2, REFERENCE3, BATCH_ID, COMMENT, CREATOR, GETDATE() FROM [TABLE]'
|
||
@pEND_QUERY_VAR1 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pEND_QUERY
|
||
@pEND_QUERY_VAR2 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pEND_QUERY
|
||
@pEND_QUERY_VAR3 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pEND_QUERY
|
||
@pEND_QUERY_VAR4 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pEND_QUERY
|
||
@pEND_QUERY_VAR5 NVARCHAR(50) = NULL, -- OPTIONAL: Set additional doc status, to be replaced in @pEND_QUERY
|
||
@pFORCE BIT = 0 -- 1 = Force export for already exported files; 0 = Only data not inserted into Result table will be exported (DEFAULT)
|
||
)
|
||
AS
|
||
BEGIN TRY
|
||
|
||
SET NOCOUNT ON;
|
||
SET XACT_ABORT ON;
|
||
|
||
-- declare new vars because of parameter sniffing
|
||
DECLARE @PROFILE_ID BIGINT = @pPROFILE_ID,
|
||
@TEST_MODE BIT = @pTEST_MODE,
|
||
@ASYNC_MODE BIT = @pASYNC_MODE,
|
||
@BATCH_ID NVARCHAR(25) = @pBATCH_ID,
|
||
@BATCH_CREATOR NVARCHAR(128) = ISNULL(@pBATCH_CREATOR,OBJECT_NAME(@@PROCID)),
|
||
@LANGUAGE NVARCHAR(10) = @pLANGUAGE,
|
||
@LOG_LEVEL NVARCHAR(25) = UPPER(ISNULL(@pLOG_LEVEL,'INFO')),
|
||
@START_QUERY NVARCHAR(MAX) = ISNULL(@pSTART_QUERY,'QUERY_GET_INPUT'),
|
||
@START_QUERY_VAR1 NVARCHAR(50) = @pSTART_QUERY_VAR1,
|
||
@START_QUERY_VAR2 NVARCHAR(50) = @pSTART_QUERY_VAR2,
|
||
@START_QUERY_VAR3 NVARCHAR(50) = @pSTART_QUERY_VAR3,
|
||
@START_QUERY_VAR4 NVARCHAR(50) = @pSTART_QUERY_VAR4,
|
||
@START_QUERY_VAR5 NVARCHAR(50) = @pSTART_QUERY_VAR5,
|
||
@MAIN_QUERY NVARCHAR(MAX) = ISNULL(@pMAIN_QUERY,'QUERY_GET_INPUT_CONTENT'),
|
||
@MAIN_QUERY_VAR1 NVARCHAR(50) = @pMAIN_QUERY_VAR1,
|
||
@MAIN_QUERY_VAR2 NVARCHAR(50) = @pMAIN_QUERY_VAR2,
|
||
@MAIN_QUERY_VAR3 NVARCHAR(50) = @pMAIN_QUERY_VAR3,
|
||
@MAIN_QUERY_VAR4 NVARCHAR(50) = @pMAIN_QUERY_VAR4,
|
||
@MAIN_QUERY_VAR5 NVARCHAR(50) = @pMAIN_QUERY_VAR5,
|
||
@END_QUERY NVARCHAR(MAX) = ISNULL(@pEND_QUERY,'QUERY_SET_OUTPUT_CONTENT'),
|
||
@END_QUERY_VAR1 NVARCHAR(50) = @pEND_QUERY_VAR1,
|
||
@END_QUERY_VAR2 NVARCHAR(50) = @pEND_QUERY_VAR2,
|
||
@END_QUERY_VAR3 NVARCHAR(50) = @pEND_QUERY_VAR3,
|
||
@END_QUERY_VAR4 NVARCHAR(50) = @pEND_QUERY_VAR4,
|
||
@END_QUERY_VAR5 NVARCHAR(50) = @pEND_QUERY_VAR5,
|
||
@FORCE BIT = @pFORCE;
|
||
|
||
-- declare runtime vars
|
||
DECLARE @MY_PROCEDURE_NAME NVARCHAR(128) = OBJECT_NAME(@@PROCID);
|
||
DECLARE @ACTIVE_FLAG BIT = 1,
|
||
@INACTIVE_FLAG BIT = 0,
|
||
@ACTIVE BIT = 0,
|
||
@PREPROCESSING_ROW_COUNT SMALLINT = 0,
|
||
@POSTPROCESSING_ROW_COUNT SMALLINT = 0,
|
||
@TEMP_PROCESS_ROW_COUNT1 SMALLINT = 0,
|
||
@TEMP_PROCESS_ROW_COUNT2 SMALLINT = 0,
|
||
@DB_VERSION NVARCHAR(25) = NULL,
|
||
@PROFILE_NAME NVARCHAR(50) = NULL,
|
||
@MANDANTOR NVARCHAR(50) = NULL,
|
||
@EXPORT_TYPE NVARCHAR(50) = NULL,
|
||
@EXPORT_NUMBER_SCHEMA NVARCHAR(50) = NULL,
|
||
@DEFAULT_DATA_SEPARATOR NVARCHAR(10) = NULL,
|
||
@FIRST_RUN DATETIME = NULL,
|
||
@LAST_RUN DATETIME = NULL,
|
||
@LAST_BATCH_ID NVARCHAR(25) = NULL,
|
||
@LAST_RESULT NVARCHAR(250) = NULL,
|
||
@REFERENCE1 NVARCHAR(150) = NULL,
|
||
@REFERENCE2 NVARCHAR(150) = NULL,
|
||
@REFERENCE3 NVARCHAR(150) = NULL,
|
||
@REFERENCE4 NVARCHAR(150) = NULL,
|
||
@REFERENCE5 NVARCHAR(150) = NULL,
|
||
@EXTERNAL_REFERENCE1 NVARCHAR(2000) = NULL,
|
||
@EXTERNAL_REFERENCE2 NVARCHAR(2000) = NULL,
|
||
@EXTERNAL_REFERENCE3 NVARCHAR(2000) = NULL,
|
||
@EXTERNAL_REFERENCE4 NVARCHAR(2000) = NULL,
|
||
@EXTERNAL_REFERENCE5 NVARCHAR(2000) = NULL,
|
||
@TBDEX_TMP_TABLE_SCHEMA SYSNAME = NULL,
|
||
@TBDEX_TMP_TABLE_NAME SYSNAME = NULL,
|
||
@TBDEX_TMP_TABLE_SCHEMA_AND_NAME NVARCHAR(150) = NULL,
|
||
@TBDEX_TMP_TABLE_COLUMNS NVARCHAR(MAX) = NULL,
|
||
@TBDEX_TMP_TABLE_DROP_QUERY NVARCHAR(MAX) = NULL,
|
||
@TBDEX_TMP_TABLE_CREATE_QUERY NVARCHAR(MAX) = NULL,
|
||
@TBDEX_TMP_TABLE_INSERT_QUERY NVARCHAR(MAX) = NULL,
|
||
@TBDEX_TMP_TABLE_CONTENT NVARCHAR(MAX) = NULL,
|
||
@RETURN_STATUS INT = 0,
|
||
@RETURN_STATUS_TEXT NVARCHAR(MAX) = concat('START PROCEDURE [',@MY_PROCEDURE_NAME,'] @ ',CONVERT(varchar(50),GETDATE(),120)),
|
||
@RETURN_ERROR_TEXT NVARCHAR(MAX) = '';
|
||
|
||
PRINT '====================================================================================================';
|
||
PRINT @RETURN_STATUS_TEXT;
|
||
PRINT '';
|
||
PRINT 'PARAMETER01 - @PROFILE_ID: ' + CONVERT(NVARCHAR(200),ISNULL(@PROFILE_ID,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER02 - @TEST_MODE: ' + CONVERT(NVARCHAR(200),ISNULL(@TEST_MODE,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER03 - @ASYNC_MODE: ' + CONVERT(NVARCHAR(200),ISNULL(@ASYNC_MODE,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER04 - @BATCH_ID: ' + CONVERT(NVARCHAR(200),ISNULL(@BATCH_ID,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER05 - @BATCH_CREATOR: ' + CONVERT(NVARCHAR(200),ISNULL(@BATCH_CREATOR,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER06 - @LANGUAGE: ' + CONVERT(NVARCHAR(200),ISNULL(@LANGUAGE,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER07 - @LOG_LEVEL: ' + CONVERT(NVARCHAR(200),ISNULL(@LOG_LEVEL,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER08 - @START_QUERY: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER09 - @START_QUERY_VAR1: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY_VAR1,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER10 - @START_QUERY_VAR2: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY_VAR2,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER11 - @START_QUERY_VAR3: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY_VAR3,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER12 - @START_QUERY_VAR4: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY_VAR4,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER13 - @START_QUERY_VAR5: ' + CONVERT(NVARCHAR(200),ISNULL(@START_QUERY_VAR5,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER14 - @MAIN_QUERY: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER15 - @MAIN_QUERY_VAR1: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY_VAR1,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER16 - @MAIN_QUERY_VAR2: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY_VAR2,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER17 - @MAIN_QUERY_VAR3: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY_VAR3,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER18 - @MAIN_QUERY_VAR4: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY_VAR4,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER19 - @MAIN_QUERY_VAR5: ' + CONVERT(NVARCHAR(200),ISNULL(@MAIN_QUERY_VAR5,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER20 - @END_QUERY: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER21 - @END_QUERY_VAR1: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY_VAR1,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER22 - @END_QUERY_VAR2: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY_VAR2,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER23 - @END_QUERY_VAR3: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY_VAR3,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER24 - @END_QUERY_VAR4: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY_VAR4,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER25 - @END_QUERY_VAR5: ' + CONVERT(NVARCHAR(200),ISNULL(@END_QUERY_VAR5,'<NO-VALUE>'));
|
||
PRINT 'PARAMETER26 - @FORCE: ' + CONVERT(NVARCHAR(200),ISNULL(@FORCE,'<NO-VALUE>'));
|
||
PRINT '';
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--======================================================-- system check --======================================================--
|
||
EXEC @RETURN_STATUS = [PRDEX_CHECK_SYSTEM] @pPROFILE_ID = @PROFILE_ID,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLOG_LEVEL = @LOG_LEVEL;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_CHECK_SYSTEM]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_CHECK_SYSTEM] found no errors or problems!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--===============================================-- Get Profile configuration --================================================--
|
||
SELECT TOP 1
|
||
@ACTIVE = [ACTIVE],
|
||
@PROFILE_NAME = [PROFILE_NAME],
|
||
@MANDANTOR = [MANDANTOR],
|
||
@EXPORT_TYPE = [EXPORT_TYPE],
|
||
@EXPORT_NUMBER_SCHEMA = [EXPORT_NUMBER_SCHEMA],
|
||
@DEFAULT_DATA_SEPARATOR = [DEFAULT_DATA_SEPARATOR],
|
||
@LOG_LEVEL = [LOG_LEVEL],
|
||
@LANGUAGE = [LANGUAGE],
|
||
@FIRST_RUN = [FIRST_RUN],
|
||
@LAST_RUN = [LAST_RUN],
|
||
@LAST_BATCH_ID = [LAST_BATCH_ID],
|
||
@LAST_RESULT = [LAST_RESULT]
|
||
FROM [VWDEX_PROFILE]
|
||
WHERE [GUID] = @PROFILE_ID;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--==================================================-- Check profile basics --==================================================--
|
||
IF (convert(NVARCHAR(1),ISNULL(@ACTIVE,0)) <> '1') BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = 50016;
|
||
SET @RETURN_STATUS_TEXT = concat('Check profile configuration!','');
|
||
SET @RETURN_ERROR_TEXT = concat('The profile is offline or not found!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('The Profile with ID: ',@PROFILE_ID,', is online and can be processed!');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--==================================================-- Check profile settings --=================================================--
|
||
IF ((LEN(@PROFILE_NAME) = 0) or (LEN(@MANDANTOR) = 0) or (LEN(@EXPORT_TYPE) = 0) or (LEN(@LANGUAGE) = 0) or (LEN(@LOG_LEVEL) = 0)) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = 50004;
|
||
SET @RETURN_STATUS_TEXT = concat('Check profile configuration!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Invalid value in @PROFILE_NAME or @MANDANTOR or @EXPORT_TYPE or @LANGUAGE or @LOG_LEVEL',char(13),
|
||
'@PROFILE_NAME: ',ISNULL(CONVERT(NVARCHAR(50),@PROFILE_NAME),'<NO-VALUE>'), char(13),
|
||
'@MANDANTOR: ',ISNULL(CONVERT(NVARCHAR(50),@MANDANTOR),'<NO-VALUE>'), char(13),
|
||
'@EXPORT_TYPE: ',ISNULL(CONVERT(NVARCHAR(50),@EXPORT_TYPE),'<NO-VALUE>'), char(13),
|
||
'@DEFAULT_DATA_SEPARATOR: ',ISNULL(CONVERT(NVARCHAR(50),@DEFAULT_DATA_SEPARATOR),'<NO-VALUE>'), char(13),
|
||
'@LOG_LEVEL: ',ISNULL(CONVERT(NVARCHAR(50),@LOG_LEVEL),'<NO-VALUE>'), char(13),
|
||
'@LANGUAGE: ',ISNULL(CONVERT(NVARCHAR(50),@LANGUAGE),'<NO-VALUE>'), char(13),
|
||
'@FIRST_RUN: ',ISNULL(CONVERT(NVARCHAR(50),@FIRST_RUN),'<NO-VALUE>'), char(13),
|
||
'@LAST_RUN: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_RUN),'<NO-VALUE>'), char(13),
|
||
'@LAST_BATCH_ID: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_BATCH_ID),'<NO-VALUE>'), char(13),
|
||
'@LAST_RESULT: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_RESULT),'<NO-VALUE>') );
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Found Profile configuration:',char(13),
|
||
'@PROFILE_NAME: ',ISNULL(CONVERT(NVARCHAR(50),@PROFILE_NAME),'<NO-VALUE>'), char(13),
|
||
'@MANDANTOR: ',ISNULL(CONVERT(NVARCHAR(50),@MANDANTOR),'<NO-VALUE>'), char(13),
|
||
'@EXPORT_TYPE: ',ISNULL(CONVERT(NVARCHAR(50),@EXPORT_TYPE),'<NO-VALUE>'), char(13),
|
||
'@DEFAULT_DATA_SEPARATOR: ',ISNULL(CONVERT(NVARCHAR(50),@DEFAULT_DATA_SEPARATOR),'<NO-VALUE>'), char(13),
|
||
'@LOG_LEVEL: ',ISNULL(CONVERT(NVARCHAR(50),@LOG_LEVEL),'<NO-VALUE>'), char(13),
|
||
'@LANGUAGE: ',ISNULL(CONVERT(NVARCHAR(50),@LANGUAGE),'<NO-VALUE>'), char(13),
|
||
'@FIRST_RUN: ',ISNULL(CONVERT(NVARCHAR(50),@FIRST_RUN),'<NO-VALUE>'), char(13),
|
||
'@LAST_RUN: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_RUN),'<NO-VALUE>'), char(13),
|
||
'@LAST_BATCH_ID: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_BATCH_ID),'<NO-VALUE>'), char(13),
|
||
'@LAST_RESULT: ',ISNULL(CONVERT(NVARCHAR(50),@LAST_RESULT),'<NO-VALUE>') );
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--===================================================-- Get Next batch ID --====================================================--
|
||
SELECT @BATCH_ID = [BATCH_ID] FROM [dbo].[FNDEX_GET_NEXT_BATCH_ID](@PROFILE_ID,@BATCH_ID,@LAST_BATCH_ID);
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--==================================================-- Check profile basics --==================================================--
|
||
IF (LEN(LTRIM(RTRIM(@BATCH_ID))) < 4) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = 50023;
|
||
SET @RETURN_STATUS_TEXT = concat('Check profile configuration!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Valid @BATCH_ID! ','Must be at least 4 chars!');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Given/set BATCH_ID: ',@BATCH_ID);
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--================================================-- Call register procedure --=================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_REGISTER_PROCESS] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pEXPORT_NUMBER_SCHEMA = @EXPORT_NUMBER_SCHEMA,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_REGISTER_PROCESS]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_REGISTER_PROCESS] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--====================================================-- Run preprocessing --====================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_RUN_PREPROCESSING] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pSTART_QUERY = @START_QUERY,
|
||
@pSTART_QUERY_VAR1 = @START_QUERY_VAR1,
|
||
@pSTART_QUERY_VAR2 = @START_QUERY_VAR2,
|
||
@pSTART_QUERY_VAR3 = @START_QUERY_VAR3,
|
||
@pSTART_QUERY_VAR4 = @START_QUERY_VAR4,
|
||
@pSTART_QUERY_VAR5 = @START_QUERY_VAR5,
|
||
@pMAIN_QUERY = @MAIN_QUERY,
|
||
@pMAIN_QUERY_VAR1 = @MAIN_QUERY_VAR1,
|
||
@pMAIN_QUERY_VAR2 = @MAIN_QUERY_VAR2,
|
||
@pMAIN_QUERY_VAR3 = @MAIN_QUERY_VAR3,
|
||
@pMAIN_QUERY_VAR4 = @MAIN_QUERY_VAR4,
|
||
@pMAIN_QUERY_VAR5 = @MAIN_QUERY_VAR5,
|
||
@pEND_QUERY = @END_QUERY,
|
||
@pEND_QUERY_VAR1 = @END_QUERY_VAR1,
|
||
@pEND_QUERY_VAR2 = @END_QUERY_VAR2,
|
||
@pEND_QUERY_VAR3 = @END_QUERY_VAR3,
|
||
@pEND_QUERY_VAR4 = @END_QUERY_VAR4,
|
||
@pEND_QUERY_VAR5 = @END_QUERY_VAR5,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_RUN_PREPROCESSING]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_RUN_PREPROCESSING] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--==================================================-- Call input procedure --==================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_GET_INPUT] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pSTART_QUERY = @START_QUERY,
|
||
@pSTART_QUERY_VAR1 = @START_QUERY_VAR1,
|
||
@pSTART_QUERY_VAR2 = @START_QUERY_VAR2,
|
||
@pSTART_QUERY_VAR3 = @START_QUERY_VAR3,
|
||
@pSTART_QUERY_VAR4 = @START_QUERY_VAR4,
|
||
@pSTART_QUERY_VAR5 = @START_QUERY_VAR5,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_GET_INPUT]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_GET_INPUT] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--================================================-- Get updated process data --=================================================--
|
||
SELECT TOP (1) @TBDEX_TMP_TABLE_SCHEMA = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_SCHEMA],''))),
|
||
@TBDEX_TMP_TABLE_NAME = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_NAME],''))),
|
||
@TBDEX_TMP_TABLE_SCHEMA_AND_NAME = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_SCHEMA_AND_NAME],''))),
|
||
@TBDEX_TMP_TABLE_COLUMNS = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_COLUMNS],''))),
|
||
@TBDEX_TMP_TABLE_DROP_QUERY = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_DROP_QUERY],''))),
|
||
@TBDEX_TMP_TABLE_CREATE_QUERY = LTRIM(RTRIM(ISNULL([TBDEX_TMP_TABLE_CREATE_QUERY],'')))
|
||
FROM [dbo].[TBDEX_TMP_PROCESS] WITH (SNAPSHOT)
|
||
WHERE [PROFILE_ID] = @PROFILE_ID
|
||
AND [BATCH_ID] = @BATCH_ID
|
||
AND [ADDED_WHO] IN (@BATCH_CREATOR,@MY_PROCEDURE_NAME)
|
||
AND [CHANGED_WHO] IN (@BATCH_CREATOR,@MY_PROCEDURE_NAME)
|
||
|
||
IF (LEN(@TBDEX_TMP_TABLE_SCHEMA) = 0) OR (LEN(@TBDEX_TMP_TABLE_NAME) = 0) OR (LEN(@TBDEX_TMP_TABLE_COLUMNS) = 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = 50010;
|
||
SET @RETURN_STATUS_TEXT = concat('Invalid configuration in table [TBDEX_TMP_PROCESS] found!','');
|
||
SET @RETURN_ERROR_TEXT = concat('@TBDEX_TMP_TABLE_SCHEMA = ',@TBDEX_TMP_TABLE_SCHEMA,', @TBDEX_TMP_TABLE_NAME = ',@TBDEX_TMP_TABLE_NAME,', @TBDEX_TMP_TABLE_COLUMNS = ',@TBDEX_TMP_TABLE_COLUMNS);
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Configuration in [TBDEX_TMP_PROCESS] seems to be valid!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--================================================-- Exit in case of test mode --================================================--
|
||
IF (@TEST_MODE = 1) BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Test run complete! ','Exiting...');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('END PROCEDURE [',@MY_PROCEDURE_NAME,'] @ ',CONVERT(NVARCHAR(50),GETDATE(),120));
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT '';
|
||
PRINT @RETURN_STATUS_TEXT;
|
||
PRINT '====================================================================================================';
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
RETURN @RETURN_STATUS;
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--=================================================-- Generate export numbers --=================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_SET_EXPORT_NUMBER] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pEXPORT_NUMBER_SCHEMA = @EXPORT_NUMBER_SCHEMA,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_SET_EXPORT_NUMBER]','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_SET_EXPORT_NUMBER] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--===================================================-- Main postprocessing --===================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_RUN_MAINPROCESSING] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pSTART_QUERY = @START_QUERY,
|
||
@pSTART_QUERY_VAR1 = @START_QUERY_VAR1,
|
||
@pSTART_QUERY_VAR2 = @START_QUERY_VAR2,
|
||
@pSTART_QUERY_VAR3 = @START_QUERY_VAR3,
|
||
@pSTART_QUERY_VAR4 = @START_QUERY_VAR4,
|
||
@pSTART_QUERY_VAR5 = @START_QUERY_VAR5,
|
||
@pMAIN_QUERY = @MAIN_QUERY,
|
||
@pMAIN_QUERY_VAR1 = @MAIN_QUERY_VAR1,
|
||
@pMAIN_QUERY_VAR2 = @MAIN_QUERY_VAR2,
|
||
@pMAIN_QUERY_VAR3 = @MAIN_QUERY_VAR3,
|
||
@pMAIN_QUERY_VAR4 = @MAIN_QUERY_VAR4,
|
||
@pMAIN_QUERY_VAR5 = @MAIN_QUERY_VAR5,
|
||
@pEND_QUERY = @END_QUERY,
|
||
@pEND_QUERY_VAR1 = @END_QUERY_VAR1,
|
||
@pEND_QUERY_VAR2 = @END_QUERY_VAR2,
|
||
@pEND_QUERY_VAR3 = @END_QUERY_VAR3,
|
||
@pEND_QUERY_VAR4 = @END_QUERY_VAR4,
|
||
@pEND_QUERY_VAR5 = @END_QUERY_VAR5,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR,
|
||
@pTBDEX_TMP_TABLE_SCHEMA = @TBDEX_TMP_TABLE_SCHEMA,
|
||
@pTBDEX_TMP_TABLE_NAME = @TBDEX_TMP_TABLE_NAME,
|
||
@pTBDEX_TMP_TABLE_SCHEMA_AND_NAME = @TBDEX_TMP_TABLE_SCHEMA_AND_NAME,
|
||
@pTBDEX_TMP_TABLE_COLUMNS = @TBDEX_TMP_TABLE_COLUMNS,
|
||
@pTBDEX_TMP_TABLE_DROP_QUERY = @TBDEX_TMP_TABLE_DROP_QUERY,
|
||
@pTBDEX_TMP_TABLE_CREATE_QUERY = @TBDEX_TMP_TABLE_CREATE_QUERY,
|
||
@pTBDEX_TMP_TABLE_INSERT_QUERY = @TBDEX_TMP_TABLE_INSERT_QUERY;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_RUN_MAINPROCESSING]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_RUN_MAINPROCESSING] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--=============================================-- Call output content procedure --==============================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_WRITE_OUTPUT] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pSTART_QUERY = @START_QUERY,
|
||
@pSTART_QUERY_VAR1 = @START_QUERY_VAR1,
|
||
@pSTART_QUERY_VAR2 = @START_QUERY_VAR2,
|
||
@pSTART_QUERY_VAR3 = @START_QUERY_VAR3,
|
||
@pSTART_QUERY_VAR4 = @START_QUERY_VAR4,
|
||
@pSTART_QUERY_VAR5 = @START_QUERY_VAR5,
|
||
@pMAIN_QUERY = @MAIN_QUERY,
|
||
@pMAIN_QUERY_VAR1 = @MAIN_QUERY_VAR1,
|
||
@pMAIN_QUERY_VAR2 = @MAIN_QUERY_VAR2,
|
||
@pMAIN_QUERY_VAR3 = @MAIN_QUERY_VAR3,
|
||
@pMAIN_QUERY_VAR4 = @MAIN_QUERY_VAR4,
|
||
@pMAIN_QUERY_VAR5 = @MAIN_QUERY_VAR5,
|
||
@pEND_QUERY = @END_QUERY,
|
||
@pEND_QUERY_VAR1 = @END_QUERY_VAR1,
|
||
@pEND_QUERY_VAR2 = @END_QUERY_VAR2,
|
||
@pEND_QUERY_VAR3 = @END_QUERY_VAR3,
|
||
@pEND_QUERY_VAR4 = @END_QUERY_VAR4,
|
||
@pEND_QUERY_VAR5 = @END_QUERY_VAR5,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pEXPORT_NUMBER_SCHEMA = @EXPORT_NUMBER_SCHEMA,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR,
|
||
@pTBDEX_TMP_TABLE_SCHEMA = @TBDEX_TMP_TABLE_SCHEMA,
|
||
@pTBDEX_TMP_TABLE_NAME = @TBDEX_TMP_TABLE_NAME,
|
||
@pTBDEX_TMP_TABLE_COLUMNS = @TBDEX_TMP_TABLE_COLUMNS,
|
||
@pTBDEX_TMP_TABLE_DROP_QUERY = @TBDEX_TMP_TABLE_DROP_QUERY,
|
||
@pTBDEX_TMP_TABLE_CREATE_QUERY = @TBDEX_TMP_TABLE_CREATE_QUERY,
|
||
@pTBDEX_TMP_TABLE_INSERT_QUERY = @TBDEX_TMP_TABLE_INSERT_QUERY;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_WRITE_OUTPUT]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_WRITE_OUTPUT] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--====================================================-- Run postprocessing --===================================================--
|
||
EXEC @RETURN_STATUS = [dbo].[PRDEX_RUN_POSTPROCESSING] @pPROFILE_ID = @PROFILE_ID,
|
||
@pTEST_MODE = @TEST_MODE,
|
||
@pASYNC_MODE = @ASYNC_MODE,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pBATCH_CREATOR = @BATCH_CREATOR,
|
||
@pLANGUAGE = @LANGUAGE,
|
||
@pLOG_LEVEL = @LOG_LEVEL,
|
||
@pSTART_QUERY = @START_QUERY,
|
||
@pSTART_QUERY_VAR1 = @START_QUERY_VAR1,
|
||
@pSTART_QUERY_VAR2 = @START_QUERY_VAR2,
|
||
@pSTART_QUERY_VAR3 = @START_QUERY_VAR3,
|
||
@pSTART_QUERY_VAR4 = @START_QUERY_VAR4,
|
||
@pSTART_QUERY_VAR5 = @START_QUERY_VAR5,
|
||
@pMAIN_QUERY = @MAIN_QUERY,
|
||
@pMAIN_QUERY_VAR1 = @MAIN_QUERY_VAR1,
|
||
@pMAIN_QUERY_VAR2 = @MAIN_QUERY_VAR2,
|
||
@pMAIN_QUERY_VAR3 = @MAIN_QUERY_VAR3,
|
||
@pMAIN_QUERY_VAR4 = @MAIN_QUERY_VAR4,
|
||
@pMAIN_QUERY_VAR5 = @MAIN_QUERY_VAR5,
|
||
@pEND_QUERY = @END_QUERY,
|
||
@pEND_QUERY_VAR1 = @END_QUERY_VAR1,
|
||
@pEND_QUERY_VAR2 = @END_QUERY_VAR2,
|
||
@pEND_QUERY_VAR3 = @END_QUERY_VAR3,
|
||
@pEND_QUERY_VAR4 = @END_QUERY_VAR4,
|
||
@pEND_QUERY_VAR5 = @END_QUERY_VAR5,
|
||
@pFORCE = @FORCE,
|
||
@pPROFILE_NAME = @PROFILE_NAME,
|
||
@pMANDANTOR = @MANDANTOR,
|
||
@pEXPORT_TYPE = @EXPORT_TYPE,
|
||
@pDEFAULT_DATA_SEPARATOR = @DEFAULT_DATA_SEPARATOR,
|
||
@pTBDEX_TMP_TABLE_SCHEMA = @TBDEX_TMP_TABLE_SCHEMA,
|
||
@pTBDEX_TMP_TABLE_NAME = @TBDEX_TMP_TABLE_NAME,
|
||
@pTBDEX_TMP_TABLE_COLUMNS = @TBDEX_TMP_TABLE_COLUMNS,
|
||
@pTBDEX_TMP_TABLE_DROP_QUERY = @TBDEX_TMP_TABLE_DROP_QUERY,
|
||
@pTBDEX_TMP_TABLE_CREATE_QUERY = @TBDEX_TMP_TABLE_CREATE_QUERY,
|
||
@pTBDEX_TMP_TABLE_INSERT_QUERY = @TBDEX_TMP_TABLE_INSERT_QUERY;
|
||
|
||
IF (@RETURN_STATUS <> 0) BEGIN
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
SET @RETURN_STATUS = @RETURN_STATUS;
|
||
SET @RETURN_STATUS_TEXT = concat('Error occurred in [PRDEX_RUN_POSTPROCESSING]!','');
|
||
SET @RETURN_ERROR_TEXT = concat('Check previous error text!','');
|
||
|
||
THROW @RETURN_STATUS,@RETURN_ERROR_TEXT,1;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END; ELSE BEGIN
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('Procedure [PRDEX_RUN_POSTPROCESSING] worked just fine!','');
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT 'INFO: ' + @RETURN_STATUS_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = 0;
|
||
SET @RETURN_STATUS_TEXT = concat('END PROCEDURE [',@MY_PROCEDURE_NAME,'] @ ',CONVERT(NVARCHAR(50),GETDATE(),120));
|
||
SET @RETURN_ERROR_TEXT = concat('','');
|
||
|
||
PRINT '';
|
||
PRINT @RETURN_STATUS_TEXT;
|
||
PRINT '====================================================================================================';
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'INFO', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
RETURN @RETURN_STATUS;
|
||
|
||
END TRY BEGIN CATCH
|
||
|
||
--====================================================-- exception / error --====================================================--
|
||
IF (@@TRANCOUNT > 0) BEGIN
|
||
ROLLBACK TRANSACTION;
|
||
END;
|
||
|
||
PRINT 'ERROR: ' + @RETURN_ERROR_TEXT;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO','WARN','ERROR')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'ERROR', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--======================================================-- Cleaning up --======================================================--
|
||
EXEC [dbo].[PRDEX_CLEAN_UP]
|
||
@pPROFILE_ID = @PROFILE_ID,
|
||
@pBATCH_ID = @BATCH_ID,
|
||
@pCLEAR_TEMP_TABLES = 1,
|
||
@pCLEAR_LOGS_OLDER_THEN_DAYS = 0,
|
||
@pCLEAR_RESULTS_OLDER_THEN_DAYS = 0,
|
||
@pLOG_LEVEL = @LOG_LEVEL;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--======================================================-- Output result --======================================================--
|
||
SET @RETURN_STATUS = CASE WHEN @RETURN_STATUS > 50000 THEN @RETURN_STATUS ELSE 50000 END;
|
||
SET @RETURN_STATUS_TEXT = concat(char(13),'END PROCEDURE [',@MY_PROCEDURE_NAME,'] @ ',CONVERT(NVARCHAR(50),GETDATE(),120));
|
||
SET @RETURN_ERROR_TEXT = concat('ERROR MESSAGE: ',CONVERT(NVARCHAR(500),ERROR_MESSAGE()));
|
||
|
||
PRINT 'ERROR IN PROCEDURE: [' + @MY_PROCEDURE_NAME + ']' + char(13) + @RETURN_ERROR_TEXT;
|
||
PRINT @RETURN_STATUS_TEXT;
|
||
PRINT '====================================================================================================';
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
--===================================================-- Log result to table --===================================================--
|
||
IF (@LOG_LEVEL in ('INFO','WARN','ERROR')) BEGIN
|
||
EXEC [PRDEX_WRITE_LOG] @pLOG_LEVEL = N'ERROR', @pPROFILE_ID = @PROFILE_ID, @pBATCH_ID = @BATCH_ID,
|
||
@pREFERENCE1 = @REFERENCE1, @pREFERENCE2 = @REFERENCE2, @pREFERENCE3 = @REFERENCE3,
|
||
@pREFERENCE4 = @REFERENCE4, @pREFERENCE5 = @REFERENCE5, @pRETURN_CODE = @RETURN_STATUS,
|
||
@pMESSAGE1 = @RETURN_STATUS_TEXT, @pMESSAGE2 = @RETURN_ERROR_TEXT, @pADDED_WHO = @MY_PROCEDURE_NAME;
|
||
END;
|
||
-----------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
RETURN @RETURN_STATUS;
|
||
|
||
END CATCH; |