Skip to content

Commit 67be1a7

Browse files
authored
Merge pull request #32 from data-solution-automation-engine/30-sp-omdupdatebatchinstance-assumes-a-valid-parentbatchinstanceid-parameter-and-overwrites-the-current-one-if-missing
fix #30 , remove parameter from sp
2 parents 1a46cdf + b4647f8 commit 67be1a7

File tree

3 files changed

+96
-104
lines changed

3 files changed

+96
-104
lines changed

Direct_Framework/Stored Procedures/omd.RunBatch.sql

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,6 @@ BEGIN TRY
226226
-- Batch Success
227227
EXEC [omd].[UpdateBatchInstance]
228228
@BatchInstanceId = @BatchInstanceId,
229-
@ParentBatchInstanceId = @ParentBatchInstanceId,
230229
@Debug = @Debug,
231230
@EventCode = 'Success'
232231

@@ -241,7 +240,6 @@ BEGIN TRY
241240
-- Batch Failure
242241
EXEC [omd].[UpdateBatchInstance]
243242
@BatchInstanceId = @BatchInstanceId,
244-
@ParentBatchInstanceId = @ParentBatchInstanceId,
245243
@Debug = @Debug,
246244
@EventCode = 'Failure';
247245

Direct_Framework/Stored Procedures/omd.UpdateBatchInstance.sql

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
CREATE PROCEDURE [omd].[UpdateBatchInstance]
2+
(
3+
-- Mandatory parameters
4+
@BatchInstanceId BIGINT,
5+
-- Optional parameters
6+
@EventCode NVARCHAR(100) = N'None',
7+
@Debug CHAR(1) = 'N',
8+
-- Output parameters
9+
@SuccessIndicator CHAR(1) = 'N' OUTPUT,
10+
@MessageLog NVARCHAR(MAX) = NULL OUTPUT
11+
)
12+
AS
13+
BEGIN TRY
14+
SET NOCOUNT ON;
15+
SET ANSI_WARNINGS OFF; -- Suppress NULL elimination warning within SET operation.
16+
117
/*******************************************************************************
218
* [omd].[UpdateBatchInstance]
319
*******************************************************************************
@@ -25,34 +41,17 @@
2541
DECLARE @BatchInstanceId INT
2642
2743
EXEC [omd].[UpdateBatchInstance]
28-
@BatchInstanceId = <>,
29-
@EventCode = '<>'
30-
-- Output parameters
31-
@BatchInstanceId = @BatchInstanceId OUTPUT;
44+
@BatchInstanceId = <>,
45+
@EventCode = '<>'
46+
-- Output parameters
47+
@BatchInstanceId = @BatchInstanceId OUTPUT;
3248
3349
PRINT @BatchInstanceId;
3450
3551
*******************************************************************************
3652
*
3753
******************************************************************************/
3854

39-
CREATE PROCEDURE [omd].[UpdateBatchInstance]
40-
(
41-
-- Mandatory parameters
42-
@BatchInstanceId BIGINT,
43-
-- Optional parameters
44-
@ParentBatchInstanceId BIGINT = 0,
45-
@EventCode NVARCHAR(100) = N'None',
46-
@Debug CHAR(1) = 'N',
47-
-- Output parameters
48-
@SuccessIndicator CHAR(1) = 'N' OUTPUT,
49-
@MessageLog NVARCHAR(MAX) = NULL OUTPUT
50-
)
51-
AS
52-
BEGIN TRY
53-
SET NOCOUNT ON;
54-
SET ANSI_WARNINGS OFF; -- Suppress NULL elimination warning within SET operation.
55-
5655
-- Default output logging setup
5756
DECLARE @SpName NVARCHAR(100) = N'[' + OBJECT_SCHEMA_NAME(@@PROCID) + '].[' + OBJECT_NAME(@@PROCID) + ']';
5857
DECLARE @DirectVersion NVARCHAR(10) = [omd_metadata].[GetFrameworkVersion]();
@@ -102,7 +101,6 @@ BEGIN TRY
102101
EXECUTION_STATUS_CODE = 'Aborted',
103102
INTERNAL_PROCESSING_CODE = 'Abort',
104103
NEXT_RUN_STATUS_CODE = 'Proceed',
105-
PARENT_BATCH_INSTANCE_ID = @ParentBatchInstanceId,
106104
END_TIMESTAMP = SYSUTCDATETIME()
107105
WHERE BATCH_INSTANCE_ID = @BatchInstanceId
108106

@@ -122,7 +120,6 @@ BEGIN TRY
122120
EXECUTION_STATUS_CODE = N'Cancelled',
123121
INTERNAL_PROCESSING_CODE = N'Cancel',
124122
NEXT_RUN_STATUS_CODE = N'Proceed',
125-
PARENT_BATCH_INSTANCE_ID = @ParentBatchInstanceId,
126123
END_TIMESTAMP = SYSUTCDATETIME()
127124
WHERE BATCH_INSTANCE_ID = @BatchInstanceId
128125

@@ -141,9 +138,8 @@ BEGIN TRY
141138
SET
142139
EXECUTION_STATUS_CODE = 'Succeeded',
143140
NEXT_RUN_STATUS_CODE = 'Proceed',
144-
PARENT_BATCH_INSTANCE_ID = @ParentBatchInstanceId,
145141
END_TIMESTAMP = SYSUTCDATETIME()
146-
WHERE BATCH_INSTANCE_ID = @BatchInstanceId
142+
WHERE BATCH_INSTANCE_ID = @BatchInstanceId
147143

148144
GOTO EndOfProcedure
149145

@@ -163,7 +159,6 @@ BEGIN TRY
163159
SET
164160
EXECUTION_STATUS_CODE = 'Failed',
165161
NEXT_RUN_STATUS_CODE = 'Proceed',
166-
PARENT_BATCH_INSTANCE_ID = @ParentBatchInstanceId,
167162
END_TIMESTAMP = SYSUTCDATETIME()
168163
WHERE BATCH_INSTANCE_ID = @BatchInstanceId
169164

Lines changed: 75 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,90 @@
11
CREATE VIEW [omd_reporting].[vw_EXCEPTIONS_TABLE_CONSISTENCY] AS
22
WITH TableCheckCTE AS
33
(
4-
SELECT
5-
a.TABLE_CATALOG,
6-
a.TABLE_SCHEMA,
7-
a.TABLE_NAME,
8-
b.COLUMN_NAME,
9-
b.ORDINAL_POSITION
10-
FROM INFORMATION_SCHEMA.TABLES a
11-
JOIN INFORMATION_SCHEMA.COLUMNS b ON a.TABLE_NAME = b.TABLE_NAME
12-
WHERE TABLE_TYPE = 'BASE TABLE' AND a.TABLE_SCHEMA <> 'omd'
4+
SELECT
5+
a.TABLE_CATALOG,
6+
a.TABLE_SCHEMA,
7+
a.TABLE_NAME,
8+
b.COLUMN_NAME,
9+
b.ORDINAL_POSITION
10+
FROM INFORMATION_SCHEMA.TABLES a
11+
JOIN INFORMATION_SCHEMA.COLUMNS b ON a.TABLE_NAME = b.TABLE_NAME
12+
WHERE TABLE_TYPE = 'BASE TABLE' AND a.TABLE_SCHEMA <> 'omd'
1313
), Attribute_Detection AS
1414
(
15-
SELECT
16-
TABLE_CATALOG,
17-
TABLE_NAME,
18-
TABLE_SCHEMA,
19-
COLUMN_NAME,
20-
CASE WHEN COLUMN_NAME = 'OMD_INSERT_MODULE_INSTANCE_ID' THEN 1 ELSE 0 END AS HAS_OMD_INSERT_MODULE_INSTANCE_ID,
21-
CASE WHEN COLUMN_NAME = 'OMD_INSERT_DATETIME' THEN 1 ELSE 0 END AS HAS_OMD_INSERT_DATETIME,
22-
CASE WHEN COLUMN_NAME = 'OMD_EVENT_DATETIME' THEN 1 ELSE 0 END AS HAS_OMD_EVENT_DATETIME,
23-
CASE WHEN COLUMN_NAME = 'OMD_RECORD_SOURCE' THEN 1 ELSE 0 END AS HAS_OMD_RECORD_SOURCE,
24-
CASE WHEN COLUMN_NAME = 'OMD_SOURCE_ROW_ID' THEN 1 ELSE 0 END AS HAS_OMD_SOURCE_ROW_ID,
25-
CASE WHEN COLUMN_NAME = 'OMD_CDC_OPERATION' THEN 1 ELSE 0 END AS HAS_OMD_CDC_OPERATION,
26-
CASE WHEN COLUMN_NAME = 'OMD_HASH_FULL_RECORD' THEN 1 ELSE 0 END AS HAS_OMD_HASH_FULL_RECORD,
27-
CASE WHEN COLUMN_NAME = 'OMD_CURRENT_RECORD_INDICATOR' THEN 1 ELSE 0 END AS HAS_OMD_CURRENT_RECORD_INDICATOR,
15+
SELECT
16+
TABLE_CATALOG,
17+
TABLE_NAME,
18+
TABLE_SCHEMA,
19+
COLUMN_NAME,
20+
CASE WHEN COLUMN_NAME = 'OMD_INSERT_MODULE_INSTANCE_ID' THEN 1 ELSE 0 END AS HAS_OMD_INSERT_MODULE_INSTANCE_ID,
21+
CASE WHEN COLUMN_NAME = 'OMD_INSERT_DATETIME' THEN 1 ELSE 0 END AS HAS_OMD_INSERT_DATETIME,
22+
CASE WHEN COLUMN_NAME = 'OMD_EVENT_DATETIME' THEN 1 ELSE 0 END AS HAS_OMD_EVENT_DATETIME,
23+
CASE WHEN COLUMN_NAME = 'OMD_RECORD_SOURCE' THEN 1 ELSE 0 END AS HAS_OMD_RECORD_SOURCE,
24+
CASE WHEN COLUMN_NAME = 'OMD_SOURCE_ROW_ID' THEN 1 ELSE 0 END AS HAS_OMD_SOURCE_ROW_ID,
25+
CASE WHEN COLUMN_NAME = 'OMD_CDC_OPERATION' THEN 1 ELSE 0 END AS HAS_OMD_CDC_OPERATION,
26+
CASE WHEN COLUMN_NAME = 'OMD_HASH_FULL_RECORD' THEN 1 ELSE 0 END AS HAS_OMD_HASH_FULL_RECORD,
27+
CASE WHEN COLUMN_NAME = 'OMD_CURRENT_RECORD_INDICATOR' THEN 1 ELSE 0 END AS HAS_OMD_CURRENT_RECORD_INDICATOR,
2828
CASE WHEN COLUMN_NAME = 'OMD_CHANGE_DATETIME' THEN 1 ELSE 0 END AS HAS_OMD_CHANGE_DATETIME,
29-
CASE WHEN COLUMN_NAME = 'OMD_CHANGE_KEY' THEN 1 ELSE 0 END AS HAS_OMD_CHANGE_KEY
30-
FROM TableCheckCTE
29+
CASE WHEN COLUMN_NAME = 'OMD_CHANGE_KEY' THEN 1 ELSE 0 END AS HAS_OMD_CHANGE_KEY
30+
FROM TableCheckCTE
3131
), SingleRowAttributeEvaluation AS
3232
(
33-
SELECT
34-
TABLE_CATALOG,
35-
TABLE_NAME,
36-
TABLE_SCHEMA,
37-
SUM(HAS_OMD_INSERT_MODULE_INSTANCE_ID) AS HAS_OMD_INSERT_MODULE_INSTANCE_ID,
38-
SUM(HAS_OMD_INSERT_DATETIME) AS HAS_OMD_INSERT_DATETIME,
39-
SUM(HAS_OMD_EVENT_DATETIME) AS HAS_OMD_EVENT_DATETIME,
40-
SUM(HAS_OMD_RECORD_SOURCE) AS HAS_OMD_RECORD_SOURCE,
41-
SUM(HAS_OMD_SOURCE_ROW_ID) AS HAS_OMD_SOURCE_ROW_ID,
42-
SUM(HAS_OMD_CDC_OPERATION) AS HAS_OMD_CDC_OPERATION,
43-
SUM(HAS_OMD_HASH_FULL_RECORD) AS HAS_OMD_HASH_FULL_RECORD,
44-
SUM(HAS_OMD_CURRENT_RECORD_INDICATOR) AS HAS_OMD_CURRENT_RECORD_INDICATOR,
45-
SUM(HAS_OMD_CHANGE_DATETIME) AS HAS_OMD_CHANGE_DATETIME,
46-
SUM(HAS_OMD_CHANGE_KEY) AS HAS_OMD_CHANGE_KEY
47-
FROM Attribute_Detection
48-
GROUP BY
49-
TABLE_CATALOG,
50-
TABLE_NAME,
51-
TABLE_SCHEMA
33+
SELECT
34+
TABLE_CATALOG,
35+
TABLE_NAME,
36+
TABLE_SCHEMA,
37+
SUM(HAS_OMD_INSERT_MODULE_INSTANCE_ID) AS HAS_OMD_INSERT_MODULE_INSTANCE_ID,
38+
SUM(HAS_OMD_INSERT_DATETIME) AS HAS_OMD_INSERT_DATETIME,
39+
SUM(HAS_OMD_EVENT_DATETIME) AS HAS_OMD_EVENT_DATETIME,
40+
SUM(HAS_OMD_RECORD_SOURCE) AS HAS_OMD_RECORD_SOURCE,
41+
SUM(HAS_OMD_SOURCE_ROW_ID) AS HAS_OMD_SOURCE_ROW_ID,
42+
SUM(HAS_OMD_CDC_OPERATION) AS HAS_OMD_CDC_OPERATION,
43+
SUM(HAS_OMD_HASH_FULL_RECORD) AS HAS_OMD_HASH_FULL_RECORD,
44+
SUM(HAS_OMD_CURRENT_RECORD_INDICATOR) AS HAS_OMD_CURRENT_RECORD_INDICATOR,
45+
SUM(HAS_OMD_CHANGE_DATETIME) AS HAS_OMD_CHANGE_DATETIME,
46+
SUM(HAS_OMD_CHANGE_KEY) AS HAS_OMD_CHANGE_KEY
47+
FROM Attribute_Detection
48+
GROUP BY
49+
TABLE_CATALOG,
50+
TABLE_NAME,
51+
TABLE_SCHEMA
5252
), ErrorEvaluation AS
5353
(
54-
SELECT
55-
TABLE_CATALOG,
56-
TABLE_NAME,
57-
TABLE_SCHEMA,
58-
CASE WHEN HAS_OMD_INSERT_MODULE_INSTANCE_ID = 0 THEN 'No change date/time attribute is defined.' ELSE '' END AS ERROR_OMD_INSERT_MODULE_INSTANCE_ID,
59-
CASE WHEN HAS_OMD_INSERT_DATETIME = 0 THEN 'No insert datetime attribute is defined.' ELSE '' END AS ERROR_OMD_INSERT_DATETIME,
60-
CASE WHEN HAS_OMD_EVENT_DATETIME = 0 THEN 'No event date/time attribute is defined.' ELSE '' END AS ERROR_OMD_EVENT_DATETIME,
61-
CASE WHEN HAS_OMD_RECORD_SOURCE = 0 THEN 'No record source attribute is defined.' ELSE '' END AS ERROR_OMD_RECORD_SOURCE,
62-
CASE WHEN HAS_OMD_SOURCE_ROW_ID = 0 THEN 'No source row ID attribute is defined.' ELSE '' END AS ERROR_OMD_SOURCE_ROW_ID,
63-
CASE WHEN HAS_OMD_CDC_OPERATION = 0 THEN 'No cdc operation attribute is defined.' ELSE '' END AS ERROR_OMD_CDC_OPERATION,
64-
CASE WHEN HAS_OMD_HASH_FULL_RECORD = 0 THEN 'No full row hash attribute is defined.' ELSE '' END AS ERROR_HASH_FULL_RECORD,
65-
CASE WHEN HAS_OMD_CURRENT_RECORD_INDICATOR = 0 THEN 'No current record indicator attribute is defined.' ELSE '' END AS ERROR_CURRENT_RECORD_INDICATOR,
66-
CASE WHEN HAS_OMD_CHANGE_DATETIME = 0 THEN 'No change date/time attribute is defined.' ELSE '' END AS ERROR_OMD_CHANGE_DATETIME,
67-
CASE WHEN HAS_OMD_CHANGE_KEY = 0 THEN 'No change key attribute is defined.' ELSE '' END AS ERROR_OMD_CHANGE_KEY
68-
69-
FROM SingleRowAttributeEvaluation
54+
SELECT
55+
TABLE_CATALOG,
56+
TABLE_NAME,
57+
TABLE_SCHEMA,
58+
CASE WHEN HAS_OMD_INSERT_MODULE_INSTANCE_ID = 0 THEN 'No change date/time attribute is defined.' ELSE '' END AS ERROR_OMD_INSERT_MODULE_INSTANCE_ID,
59+
CASE WHEN HAS_OMD_INSERT_DATETIME = 0 THEN 'No insert datetime attribute is defined.' ELSE '' END AS ERROR_OMD_INSERT_DATETIME,
60+
CASE WHEN HAS_OMD_EVENT_DATETIME = 0 THEN 'No event date/time attribute is defined.' ELSE '' END AS ERROR_OMD_EVENT_DATETIME,
61+
CASE WHEN HAS_OMD_RECORD_SOURCE = 0 THEN 'No record source attribute is defined.' ELSE '' END AS ERROR_OMD_RECORD_SOURCE,
62+
CASE WHEN HAS_OMD_SOURCE_ROW_ID = 0 THEN 'No source row ID attribute is defined.' ELSE '' END AS ERROR_OMD_SOURCE_ROW_ID,
63+
CASE WHEN HAS_OMD_CDC_OPERATION = 0 THEN 'No cdc operation attribute is defined.' ELSE '' END AS ERROR_OMD_CDC_OPERATION,
64+
CASE WHEN HAS_OMD_HASH_FULL_RECORD = 0 THEN 'No full row hash attribute is defined.' ELSE '' END AS ERROR_HASH_FULL_RECORD,
65+
CASE WHEN HAS_OMD_CURRENT_RECORD_INDICATOR = 0 THEN 'No current record indicator attribute is defined.' ELSE '' END AS ERROR_CURRENT_RECORD_INDICATOR,
66+
CASE WHEN HAS_OMD_CHANGE_DATETIME = 0 THEN 'No change date/time attribute is defined.' ELSE '' END AS ERROR_OMD_CHANGE_DATETIME,
67+
CASE WHEN HAS_OMD_CHANGE_KEY = 0 THEN 'No change key attribute is defined.' ELSE '' END AS ERROR_OMD_CHANGE_KEY
68+
FROM SingleRowAttributeEvaluation
7069
), SingleErrorEvaluation AS
7170
(
72-
SELECT
73-
TABLE_CATALOG,
74-
TABLE_NAME,
75-
TABLE_SCHEMA,
76-
LTRIM(RTRIM(
77-
ERROR_OMD_INSERT_MODULE_INSTANCE_ID + ' ' +
78-
ERROR_OMD_INSERT_DATETIME + ' ' +
79-
ERROR_OMD_EVENT_DATETIME + ' ' +
80-
ERROR_OMD_RECORD_SOURCE + ' ' +
81-
ERROR_OMD_SOURCE_ROW_ID + ' ' +
82-
ERROR_OMD_CDC_OPERATION + ' ' +
83-
ERROR_HASH_FULL_RECORD + ' ' +
84-
ERROR_CURRENT_RECORD_INDICATOR + ' ' +
85-
ERROR_OMD_CHANGE_KEY + ' ' +
86-
ERROR_OMD_CHANGE_DATETIME + ' '
87-
)) AS ERROR_TOTAL
88-
FROM ErrorEvaluation
71+
SELECT
72+
TABLE_CATALOG,
73+
TABLE_NAME,
74+
TABLE_SCHEMA,
75+
LTRIM(RTRIM(
76+
ERROR_OMD_INSERT_MODULE_INSTANCE_ID + ' ' +
77+
ERROR_OMD_INSERT_DATETIME + ' ' +
78+
ERROR_OMD_EVENT_DATETIME + ' ' +
79+
ERROR_OMD_RECORD_SOURCE + ' ' +
80+
ERROR_OMD_SOURCE_ROW_ID + ' ' +
81+
ERROR_OMD_CDC_OPERATION + ' ' +
82+
ERROR_HASH_FULL_RECORD + ' ' +
83+
ERROR_CURRENT_RECORD_INDICATOR + ' ' +
84+
ERROR_OMD_CHANGE_KEY + ' ' +
85+
ERROR_OMD_CHANGE_DATETIME + ' '
86+
)) AS ERROR_TOTAL
87+
FROM ErrorEvaluation
8988
)
9089
SELECT * FROM SingleErrorEvaluation
9190
WHERE ERROR_TOTAL <> ''

0 commit comments

Comments
 (0)