Skip to content

Commit 4e2eb03

Browse files
committed
Sample updates
1 parent f4dfd58 commit 4e2eb03

File tree

59 files changed

+2132
-1849
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2132
-1849
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{{#each dataObjectMappings}}
2+
--
3+
-- Hub Insert Into statement for {{targetDataObject.name}}
4+
--
5+
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'INT.SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}') AND type in (N'P'))
6+
DROP PROCEDURE [INT].[SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}];
7+
GO
8+
9+
CREATE PROCEDURE [INT].[SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}] @OMD_INSERT_MODULE_INSTANCE_ID int
10+
AS
11+
12+
--
13+
-- Hub Insert Into statement for [{{targetDataObject.name}}]
14+
--
15+
16+
INSERT INTO [INT].[{{targetDataObject.name}}]
17+
(
18+
[{{targetDataObject.name}}_SK],
19+
OMD_INSERT_DATETIME,
20+
OMD_INSERT_MODULE_INSTANCE_ID,
21+
OMD_RECORD_SOURCE_ID,
22+
{{#each businessKeys}}{{#if @first}}{{#each businessKeyComponentMapping}}
23+
[{{targetDataItem.name}}]{{#unless @last}},{{/unless}}{{/each}}{{/if}}{{/each}}
24+
)
25+
SELECT
26+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL({{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }},'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2) as [{{targetDataObject.name}}_SK],
27+
min(OMD_INSERT_DATETIME),
28+
@OMD_INSERT_MODULE_INSTANCE_ID,
29+
min(OMD_RECORD_SOURCE_ID),
30+
{{#each businessKeys}}{{#each businessKeyComponentMapping}}
31+
ISNULL({{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }},'NA') AS [{{targetDataItem.name}}]{{#unless @last}},{{/unless}}{{/each}}{{/each}}
32+
33+
FROM [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataObjects.0.name}}] stg
34+
WHERE CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL({{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }},'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2) NOT IN
35+
(
36+
SELECT [{{targetDataObject.name}}_SK]
37+
FROM [INT].[{{targetDataObject.name}}] INT
38+
)
39+
GROUP BY {{#each businessKeys}}{{#each businessKeyComponentMapping}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}{{#unless @first}},{{/unless}} [{{sourceDataItems.0.name}}]{{/stringcompare}}{{/each}}{{/each}} ;
40+
41+
SELECT @@ROWCOUNT AS ROWS_INSERTED
42+
GO
43+
{{/each}}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{{#each dataObjectMappings}}
2+
--
3+
-- Link Insert Into statement for {{targetDataObject.name}}
4+
--
5+
6+
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'INT.SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}') AND type in (N'P'))
7+
DROP PROCEDURE [INT].[SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}];
8+
GO
9+
10+
CREATE PROCEDURE [INT].[SP_{{targetDataObject.name}}_{{sourceDataObjects.0.name}}] @OMD_INSERT_MODULE_INSTANCE_ID int
11+
AS
12+
13+
--
14+
-- LNK Insert Into statement for [{{targetDataObject.name}}]
15+
-- Includes the GROUP BY clause
16+
17+
INSERT INTO [INT].[{{targetDataObject.name}}]
18+
( {{#each businessKeys}} {{#if @first}} [{{surrogateKey}}], {{/if}}{{/each}}
19+
{{#each businessKeys}}{{#unless @first}}
20+
[{{surrogateKey}}],{{/unless}} {{/each}}
21+
OMD_INSERT_DATETIME,
22+
OMD_RECORD_SOURCE_ID,
23+
OMD_INSERT_MODULE_INSTANCE_ID
24+
)
25+
26+
SELECT
27+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER( {{#each businessKeys}} {{#unless @first}}{{!-- Create the Surrogate Key using the combined Business Keys --}}
28+
{{#each dataItemMappings}} RTRIM(ISNULL([{{targetDataItem.name}}], 'NA')) + '|'+{{/each}}
29+
{{#each businessKeyComponentMapping}} RTRIM(ISNULL([{{targetDataItem.name}}{{@../index }}], 'NA')) {{#unless @last}} + '|' +{{/unless}}{{/each}}{{#unless @last}} +'|'+{{/unless}}{{/unless}}{{/each}}
30+
{{#each dataItemMappings}} + RTRIM(ISNULL([{{targetDataItem.name}}], 'NA')) + '|'+{{/each}}{{#each businessKeys}} {{#if @first}})),2) AS [{{surrogateKey}}],{{/if}}{{/each}}
31+
{{#each businessKeys}}{{#unless @first}} {{!-- List out the separate (Hub) business keys, by skipping the first generic relationship key. --}}
32+
{{#unless businessKeyClassification}}
33+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER( {{#each businessKeyComponentMapping}} RTRIM(ISNULL([{{targetDataItem.name}}{{@../index }}],'NA')) {{#unless @last}} +'|'+{{/unless}}{{/each}})),2) AS [{{surrogateKey}}],
34+
{{/unless}}{{#if businessKeyClassification}}{{#each businessKeyComponentMapping}}[{{targetDataItem.name}}{{@../index }}]{{/each}} AS [{{surrogateKey}}],
35+
{{/if}} {{/unless}} {{/each}}{{#each dataItemMappings}}
36+
[{{targetDataItem.name}}],{{/each}}
37+
OMD_INSERT_DATETIME,
38+
OMD_RECORD_SOURCE_ID,
39+
@OMD_INSERT_MODULE_INSTANCE_ID
40+
FROM
41+
(
42+
SELECT {{#each businessKeys}} {{#unless @first}} {{#each businessKeyComponentMapping}}
43+
CAST({{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}[{{/stringcompare}}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}]{{/stringcompare}} AS NVARCHAR(100)) AS [{{targetDataItem.name}}{{@../index }}],{{/each}}{{/unless}}{{/each}}{{#each dataItemMappings}}
44+
[{{sourceDataItems.0.name}}] AS [{{targetDataItem.name}}],{{/each}}
45+
min(OMD_INSERT_DATETIME) AS OMD_INSERT_DATETIME,
46+
min(OMD_RECORD_SOURCE_ID) AS OMD_RECORD_SOURCE_ID
47+
FROM STG.[{{sourceDataObjects.0.name}}]
48+
GROUP BY {{#each businessKeys}}{{#if @first}}{{#each businessKeyComponentMapping}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}{{#unless @first}},{{/unless}} [{{sourceDataItems.0.name}}]{{/stringcompare}}{{/each}}{{/if}}{{/each}}
49+
) LINK_selection
50+
WHERE CONVERT(CHAR,HASHBYTES('SHA1',UPPER( {{#each businessKeys}} {{#unless @first}}{{!-- Create the Surrogate Key using the combined Business Keys --}}
51+
{{#each dataItemMappings}} RTRIM(ISNULL([{{targetDataItem.name}}], 'NA')) + '|'+{{/each}}
52+
{{#each businessKeyComponentMapping}} RTRIM(ISNULL([{{targetDataItem.name}}{{@../index }}], 'NA')) {{#unless @last}} + '|' +{{/unless}}{{/each}}{{#unless @last}} +'|'+{{/unless}}{{/unless}}{{/each}}
53+
{{#each dataItemMappings}} + RTRIM(ISNULL([{{targetDataItem.name}}], 'NA')) + '|'+{{/each}}{{#each businessKeys}} {{#if @first}})),2) {{/if}}{{/each}} NOT IN
54+
(
55+
SELECT [{{targetDataObject.name}}_SK]
56+
FROM [INT].[{{targetDataObject.name}}]
57+
);
58+
SELECT @@ROWCOUNT AS ROWS_INSERTED
59+
GO
60+
{{/each}}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{{#each dataObjectMappings}}{{#if @first}}
2+
--
3+
-- Satellite Insert Into statement for {{targetDataObject.name}}
4+
--
5+
6+
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'INT.SP_{{targetDataObject.name}}') AND type in (N'P'))
7+
DROP PROCEDURE [INT].[SP_{{targetDataObject.name}}];
8+
GO
9+
10+
CREATE PROCEDURE [INT].[SP_{{targetDataObject.name}}] @OMD_INSERT_MODULE_INSTANCE_ID int
11+
AS
12+
13+
--
14+
-- SAT Insert Into statement for [{{targetDataObject.name}}] from [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataObjects.0.name}}]
15+
--
16+
17+
INSERT INTO [INT].[{{targetDataObject.name}}]
18+
( {{#each businessKeys}}
19+
[{{surrogateKey}}],{{/each}}
20+
{{#each dataItemMappings}}
21+
[{{targetDataItem.name}}],
22+
{{/each}}
23+
OMD_EFFECTIVE_DATETIME ,
24+
OMD_EXPIRY_DATETIME,
25+
OMD_EVENT_DATETIME,
26+
OMD_CURRENT_RECORD_INDICATOR,
27+
OMD_DELETED_RECORD_INDICATOR,
28+
OMD_INSERT_MODULE_INSTANCE_ID ,
29+
OMD_UPDATE_MODULE_INSTANCE_ID,
30+
OMD_RECORD_SOURCE_ID,
31+
OMD_SOURCE_ROW_ID,
32+
OMD_HASH_DIFF
33+
)
34+
SELECT
35+
{{#each businessKeys}}
36+
SUB.[{{surrogateKey}}],{{/each}}
37+
{{#each dataItemMappings}}
38+
SUB.[{{targetDataItem.name}}],
39+
{{/each}}
40+
SUB.OMD_INSERT_DATETIME,
41+
SUB.OMD_EXPIRY_DATETIME,
42+
SUB.OMD_EVENT_DATETIME,
43+
SUB.OMD_CURRENT_RECORD_INDICATOR,
44+
SUB.OMD_DELETED_RECORD_INDICATOR,
45+
SUB.OMD_INSERT_MODULE_INSTANCE_ID ,
46+
SUB.OMD_UPDATE_MODULE_INSTANCE_ID ,
47+
SUB.OMD_RECORD_SOURCE_ID,
48+
SUB.OMD_SOURCE_ROW_ID,
49+
SUB.OMD_HASH_DIFF
50+
FROM
51+
(
52+
SELECT
53+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),[{{sourceDataItems.0.name}}]),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2) AS {{#each businessKeys}} [{{surrogateKey}}],{{/each}}
54+
55+
{{#each dataItemMappings}}
56+
[{{../sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{targetDataItem.name}}],
57+
{{/each}}
58+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_INSERT_DATETIME],
59+
'9999-12-31 00:00:00.0000000' AS [OMD_EXPIRY_DATETIME],
60+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_EVENT_DATETIME],
61+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_CURRENT_RECORD_INDICATOR],
62+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_DELETED_RECORD_INDICATOR],
63+
@OMD_INSERT_MODULE_INSTANCE_ID AS [OMD_INSERT_MODULE_INSTANCE_ID],
64+
NULL AS [OMD_UPDATE_MODULE_INSTANCE_ID],
65+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_RECORD_SOURCE_ID],
66+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_SOURCE_ROW_ID],
67+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each dataItemMappings}}
68+
RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),[{{../sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{targetDataItem.name}}]),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} +'|'+[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_DELETED_RECORD_INDICATOR])),2) AS [OMD_HASH_DIFF],
69+
CAST(ROW_NUMBER() OVER (
70+
PARTITION BY CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }}),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2)
71+
{{#each dataItemMappings}}{{#each targetDataItem.dataItemClassification}}{{#if classification}}, [{{../sourceDataItems.0.name}}]{{/if}}{{/each}}{{/each}}
72+
ORDER BY [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_INSERT_DATETIME], [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_SOURCE_ROW_ID]
73+
) AS INT ) AS [ROW_NUMBER]
74+
FROM [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataObjects.0.name}}] {{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}
75+
) AS SUB
76+
LEFT OUTER JOIN --Prevent Processing
77+
[INT].[{{targetDataObject.name}}] LSAT
78+
ON [LSAT].{{#each businessKeys}}[{{surrogateKey}}] {{/each}}= [SUB].{{#each businessKeys}}[{{surrogateKey}}]{{/each}}
79+
{{#each dataItemMappings}}{{#each targetDataItem.dataItemClassification}}{{#if classification}} and [LSAT].[{{../sourceDataItems.0.name}}] = [SUB].[{{../sourceDataItems.0.name}}] {{/if}}{{/each}}{{/each}}
80+
and [LSAT].[OMD_CURRENT_RECORD_INDICATOR] = 'Y' and [LSAT].[OMD_DELETED_RECORD_INDICATOR] = 'N'
81+
WHERE ( [LSAT].{{#each businessKeys}}[{{surrogateKey}}]{{/each}} IS NULL --New record. Does not exist in Sat
82+
OR ([SUB].[ROW_NUMBER] = 1 AND [SUB].[OMD_HASH_DIFF] <> [LSAT].[OMD_HASH_DIFF]) --First record in HLP has a different hash diff the the lastest record in SAT
83+
OR [SUB].[ROW_NUMBER] > 1) --Only check the first row for changes
84+
;
85+
86+
SELECT @@ROWCOUNT AS ROWS_INSERTED
87+
GO
88+
{{/if}}{{/each}}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{{#each dataObjectMappings}}
2+
--
3+
-- Persistent Staging Area Insert Into statement for [{{targetDataObject.name}}]
4+
--
5+
6+
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PSA.SP_{{targetDataObject.name}}') AND type in (N'P'))
7+
DROP PROCEDURE [PSA].[SP_{{targetDataObject.name}}]
8+
GO
9+
10+
CREATE PROCEDURE [PSA].[SP_{{targetDataObject.name}}] @OMD_INSERT_MODULE_INSTANCE_ID int
11+
AS
12+
INSERT INTO [PSA].[{{targetDataObject.name}}]
13+
(
14+
[{{businessKeys.0.surrogateKey}}],
15+
{{#each dataItemMappings}}
16+
[{{targetDataItem.name}}]{{#unless @last}},{{/unless}}
17+
{{/each}}
18+
,OMD_INSERT_MODULE_INSTANCE_ID
19+
,OMD_FILE_LOCATION
20+
,OMD_EVENT_DATETIME
21+
,OMD_EFFECTIVE_DATETIME
22+
,OMD_HASH_DIFF
23+
,OMD_CURRENT_RECORD_INDICATOR
24+
,OMD_DELETED_RECORD_INDICATOR
25+
,OMD_EXPIRY_DATETIME
26+
,OMD_RECORD_SOURCE_ID
27+
,OMD_SOURCE_ROW_ID
28+
)
29+
SELECT
30+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL([{{sourceDataItems.0.name}}],'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2),
31+
{{#each dataItemMappings}}
32+
[{{sourceDataItems.0.name}}] as [{{targetDataItem.name}}]{{#unless @last}},{{/unless}}
33+
{{/each}}
34+
,@OMD_INSERT_MODULE_INSTANCE_ID
35+
,OMD_FILE_LOCATION
36+
,OMD_EVENT_DATETIME
37+
,OMD_INSERT_DATETIME
38+
,OMD_HASH_DIFF
39+
,OMD_CURRENT_RECORD_INDICATOR
40+
,OMD_DELETED_RECORD_INDICATOR
41+
,OMD_EXPIRY_DATETIME
42+
,OMD_RECORD_SOURCE_ID
43+
,OMD_SOURCE_ROW_ID
44+
45+
FROM [STG].[{{sourceDataObjects.0.name}}] ;
46+
SELECT @@ROWCOUNT AS ROWS_INSERTED
47+
GO
48+
{{/each}}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{{#each dataObjectMappings}}{{#if @first}}
2+
--
3+
-- Satellite Insert Into statement for {{targetDataObject.name}}
4+
-- Removed MIS_DATE from OMD_HASH_DIFF
5+
--
6+
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'INT.SP_{{targetDataObject.name}}') AND type in (N'P'))
7+
DROP PROCEDURE [INT].[SP_{{targetDataObject.name}}];
8+
GO
9+
10+
CREATE PROCEDURE [INT].[SP_{{targetDataObject.name}}] @OMD_INSERT_MODULE_INSTANCE_ID int
11+
AS
12+
13+
--
14+
-- SAT Insert Into statement for [{{targetDataObject.name}}] from [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataObjects.0.name}}]
15+
-- Removed MIS_DATE column from OMD_HASH_FULL
16+
--
17+
18+
INSERT INTO [INT].[{{targetDataObject.name}}]
19+
( {{#each businessKeys}}
20+
[{{surrogateKey}}],{{/each}}
21+
{{#each dataItemMappings}}[{{targetDataItem.name}}],
22+
{{/each}}
23+
OMD_EFFECTIVE_DATETIME ,
24+
OMD_EXPIRY_DATETIME,
25+
OMD_EVENT_DATETIME,
26+
OMD_CURRENT_RECORD_INDICATOR,
27+
OMD_DELETED_RECORD_INDICATOR,
28+
OMD_INSERT_MODULE_INSTANCE_ID ,
29+
OMD_UPDATE_MODULE_INSTANCE_ID,
30+
OMD_RECORD_SOURCE_ID,
31+
OMD_SOURCE_ROW_ID,
32+
OMD_HASH_DIFF
33+
)
34+
SELECT
35+
{{#each businessKeys}}
36+
SUB.[{{surrogateKey}}],{{/each}}
37+
{{#each dataItemMappings}}SUB.[{{targetDataItem.name}}],
38+
{{/each}}
39+
SUB.OMD_INSERT_DATETIME,
40+
SUB.OMD_EXPIRY_DATETIME,
41+
SUB.OMD_EVENT_DATETIME,
42+
SUB.OMD_CURRENT_RECORD_INDICATOR,
43+
SUB.OMD_DELETED_RECORD_INDICATOR,
44+
SUB.OMD_INSERT_MODULE_INSTANCE_ID ,
45+
SUB.OMD_UPDATE_MODULE_INSTANCE_ID ,
46+
SUB.OMD_RECORD_SOURCE_ID,
47+
SUB.OMD_SOURCE_ROW_ID,
48+
SUB.OMD_HASH_DIFF
49+
FROM
50+
(
51+
SELECT
52+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }}),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2)
53+
AS {{#each businessKeys}} [{{surrogateKey}}],{{/each}}
54+
55+
{{#each dataItemMappings}}
56+
[{{../sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataItems.0.name}}] AS [{{targetDataItem.name}}],
57+
{{/each}}
58+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_INSERT_DATETIME],
59+
'9999-12-31 00:00:00.0000000' AS [OMD_EXPIRY_DATETIME],
60+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_EVENT_DATETIME],
61+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_CURRENT_RECORD_INDICATOR],
62+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_DELETED_RECORD_INDICATOR],
63+
@OMD_INSERT_MODULE_INSTANCE_ID AS [OMD_INSERT_MODULE_INSTANCE_ID],
64+
NULL AS [OMD_UPDATE_MODULE_INSTANCE_ID],
65+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_RECORD_SOURCE_ID],
66+
[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_SOURCE_ROW_ID],
67+
CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each dataItemMappings}}
68+
RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),[{{../sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataItems.0.name}}]),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} +'|'+[{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_DELETED_RECORD_INDICATOR] )),2) AS [OMD_HASH_DIFF],
69+
CAST(ROW_NUMBER() OVER (
70+
PARTITION BY CONVERT(CHAR,HASHBYTES('SHA1',UPPER({{#each businessKeys}}{{#each businessKeyComponentMapping}} RTRIM(ISNULL(CONVERT(NVARCHAR(MAX),{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}} [{{/stringcompare }}{{sourceDataItems.0.name}}{{stringcompare sourceDataItems.0.isHardCodedValue 'True'}}] {{/stringcompare }}),'NA')){{#unless @last}}+'|'+{{/unless}}{{/each}} {{/each}} )),2)
71+
{{#each dataItemMappings}}{{#each targetDataItem.dataItemClassification}}{{#if classification}}, [{{../sourceDataItems.0.name}}]{{/if}}{{/each}}{{/each}}
72+
ORDER BY [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_INSERT_DATETIME], [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[OMD_SOURCE_ROW_ID]
73+
) AS INT ) AS [__ROW_NUMBER__]
74+
FROM [{{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}].[{{sourceDataObjects.0.name}}] {{sourceDataObjects.0.dataObjectConnection.extensions.1.value}}
75+
) AS SUB
76+
LEFT OUTER JOIN --Prevent Processing
77+
[INT].[{{targetDataObject.name}}] SAT
78+
ON [SAT].{{#each businessKeys}}[{{surrogateKey}}] {{/each}}= [SUB].{{#each businessKeys}}[{{surrogateKey}}]{{/each}}
79+
{{#each dataItemMappings}}{{#each targetDataItem.dataItemClassification}}{{#if classification}} and [SAT].[{{../sourceDataItems.0.name}}] = [SUB].[{{../sourceDataItems.0.name}}] {{/if}}{{/each}}{{/each}}
80+
and [SAT].[OMD_CURRENT_RECORD_INDICATOR]='Y' and [SAT].[OMD_DELETED_RECORD_INDICATOR]='N'
81+
WHERE ( [SAT].{{#each businessKeys}}[{{surrogateKey}}]{{/each}} IS NULL --New record. Does not exist in Sat
82+
OR ([SUB].[__ROW_NUMBER__] = 1 AND [SUB].[OMD_HASH_DIFF] <> [SAT].[OMD_HASH_DIFF]) --First record in HLP has a different hash diff the the lastest record in SAT
83+
OR [SUB].[__ROW_NUMBER__] > 1) --Only check the first row for changes
84+
;
85+
86+
SELECT @@ROWCOUNT AS ROWS_INSERTED
87+
GO
88+
{{/if}}{{/each}}

0 commit comments

Comments
 (0)