From 20c3476d5a6cac3917f166fa428faaed223e9fd9 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 12:48:42 +0200
Subject: [PATCH 1/8] Added model option to export resolved expression business
rule SQL Expression and added extended attribute and template change to
implement it.
---
.../Criteria/Criteria.xml | 11 +++++
...t_ExpressionBusinessRule_SqlExpression.xml | 14 +++++++
.../Extended_Attributes.xml | 11 +++++
.../mdde_SqlExpression.xml | 41 +++++++++++++++++++
...SourceObject_Is_ExpressionBusinessRule.xml | 1 +
.../mdde_SourceObject_XmlExport_Template.xml | 3 ++
.../Extended_Attributes.xml | 1 +
...t_ExpressionBusinessRule_SqlExpression.xml | 10 +++++
8 files changed, 92 insertions(+)
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Criteria.xml
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/Extended_Attributes.xml
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Criteria.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Criteria.xml
new file mode 100644
index 0000000..c10ac0e
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Criteria.xml
@@ -0,0 +1,11 @@
+
+CriterionTargetItem
+358ABFDA-AFCE-4EC9-84B4-426C8D6B94AE
+Criteria
+1716368643
+HarmenWessels
+1
+
+
+
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
new file mode 100644
index 0000000..9fd2d8a
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
@@ -0,0 +1,14 @@
+
+B563A315-904B-4685-8EB7-AB8793FE4DDC
+Export SourceObject ExpressionBusinessRule SqlExpression
+%Model.mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression%
+1716368643
+HarmenWessels
+1
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/Extended_Attributes.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/Extended_Attributes.xml
new file mode 100644
index 0000000..d9db95b
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/Extended_Attributes.xml
@@ -0,0 +1,11 @@
+
+ExtendedAttributeTargetItem
+3361082C-4ED3-4C1F-8BA0-2599D41B3D67
+Extended Attributes
+1716368729
+HarmenWessels
+1
+
+
+
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
new file mode 100644
index 0000000..3c317a9
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
@@ -0,0 +1,41 @@
+
+4BEE4FAB-A303-4B12-ACC8-B54CCCED485B
+mdde_SqlExpression
+1716367064
+HarmenWessels
+1
+12
+1
+RO
+Function %Get%(obj)
+ WriteDebug("mdde_SqlExpression Get method executed")
+ ' Get the expression business rule object.
+ Dim objExpressionBusinessRule : Set objExpressionBusinessRule = GetRealObject(obj.GetExtendedAttribute("mdde_JoinedObject"))
+
+ ' Get the SQL Expression from the business rule.
+ Dim strSqlExpression : strSqlExpression = objExpressionBusinessRule.GetExtendedAttribute("mdde_SqlExpression")
+
+ ' Create a new RegExp object.
+ Dim oRegExp : Set oRegExp = New RegExp
+ ' Replace all occurances.
+ oRegExp.Global = True
+
+ ' Loop over the join conditions and replace the parameters in the SQL Expression with the mapped parent attribute from the join condition.
+ Dim colJoinConditions : Set colJoinConditions = obj.GetExtendedCollection("mdde_JoinConditions")
+ Dim objJoinCondition
+ For Each objJoinCondition In colJoinConditions
+ ' Get a reference to the child attribute of the join condition (which is the input attribute / parameter).
+ Dim objChildAttribute : Set objChildAttribute = objJoinCondition.GetExtendedAttribute("mdde_ChildAttribute")
+ ' Get the fully qualified parent attribute, so alias + attribute.
+ Dim strFQParentAttribute : strFQParentAttribute = objJoinCondition.GetExtendedAttribute("mdde_ParentAttributeSelector")
+ ' Replace the parameter in the SQL Expression with the fully qualified parent attribute (or literal).
+ ' NOTE: the \b at the end make sure it's only replacing whole words (so if two parameters have overlapping names, like @A and @AA, it still works correctly).
+ oRegExp.Pattern = "@" & objChildAttribute.Code & "\b"
+ 'WriteDebug("Replacing '" & oRegExp.Pattern & "' with '" & strFQParentAttribute & "'")
+ strSqlExpression = oRegExp.Replace(strSqlExpression, strFQParentAttribute)
+ Next
+
+ %Get% = strSqlExpression
+End Function
+Business Rule Source Object SQL Expression
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/SourceObject_Is_ExpressionBusinessRule.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/SourceObject_Is_ExpressionBusinessRule.xml
index 3375d42..1f1db42 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/SourceObject_Is_ExpressionBusinessRule.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/SourceObject_Is_ExpressionBusinessRule.xml
@@ -10,5 +10,6 @@
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Templates/mdde_SourceObject_XmlExport_Template.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Templates/mdde_SourceObject_XmlExport_Template.xml
index 6ca416b..70c74eb 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Templates/mdde_SourceObject_XmlExport_Template.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Templates/mdde_SourceObject_XmlExport_Template.xml
@@ -26,6 +26,9 @@
.foreach_item(mdde_JoinConditions," <JoinConditions>\n","\n </JoinConditions>\n")
%mdde_JoinCondition_XmlExport_Template%
.next(\n)
+ .if (%mdde_SqlExpression?%)
+ <SqlExpression>%.X:mdde_SqlExpression%</SqlExpression>
+ .endif(\n)
</SourceObject>
1651741182
WesselsH1
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/Extended_Attributes.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/Extended_Attributes.xml
index 1810eca..a4a509a 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/Extended_Attributes.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/Extended_Attributes.xml
@@ -8,5 +8,6 @@
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
new file mode 100644
index 0000000..d3904b5
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
@@ -0,0 +1,10 @@
+
+A3455CE1-6457-40F7-9C0B-599E355AF4DE
+mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression
+1716368457
+HarmenWessels
+Indicator whether to include the resolved SQL expressionin of expression business rules (like scalar and filter) in the XML export of source objects.
+1
+false
+Export SourceObject ExpressionBusinessRule SQL Expression
+
\ No newline at end of file
From d2c99c3396d824ed41c9681bfcead6c06524fe50 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 12:50:23 +0200
Subject: [PATCH 2/8] Updated ExampleDWH model to enable exporting SQL
Expression for expression business rule source objects. Updated
Calculate_Order_Age so the parameter names are overlapping, to verify RegExp
replace behavriour.
---
.../models/ExampleDWH/EXAMPLEDWH.model.xml | 23 ++++++----
.../Calculate_Order_Age.xml | 28 +++++------
.../Derive_Customer_FullName.xml | 2 +-
decomposed/models/ExampleDWH/ExampleDWH.ldm | 5 +-
...l_C2A6609F-EE69-45B9-B6D2-C363489ADA42.xml | 2 +-
.../SalesOrder_Mapping.xml | 46 +++++++++----------
6 files changed, 56 insertions(+), 50 deletions(-)
diff --git a/decomposed/models/ExampleDWH/EXAMPLEDWH.model.xml b/decomposed/models/ExampleDWH/EXAMPLEDWH.model.xml
index 8224a9b..c97c946 100644
--- a/decomposed/models/ExampleDWH/EXAMPLEDWH.model.xml
+++ b/decomposed/models/ExampleDWH/EXAMPLEDWH.model.xml
@@ -115,18 +115,20 @@
- Calculate the age of order
+ Calculate the age of order
+
+ Note: the Date_ and Date_Order attribute names are like this to verify the behaviour of the RegExp replacement for the resolved SQL Expression in source objects where expression business rules are used.
-
-
+
+
- DATEDIFF(DAY, @ORDER_DATE, @CURRENT_DATE) AS ORDER_AGE_IN_DAYS
+ DATEDIFF(DAY, @DATE_ORDER, @DATE_) AS ORDER_AGE_IN_DAYS
-
-
+
+
@@ -190,12 +192,14 @@
+ Customer.FirstName || ' ' || Customer.LastName AS FULL_NAME
+ Country.Code = 'NL'
@@ -268,7 +272,7 @@
- FIRST_NAME || ' ' || LAST_NAME AS FULL_NAME
+ @FIRST_NAME || ' ' || @LAST_NAME AS FULL_NAME
@@ -364,9 +368,10 @@
-
-
+
+
+ DATEDIFF(DAY, SalesOrder.OrderDate, '2023-12-31') AS ORDER_AGE_IN_DAYS
diff --git a/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Calculate_Order_Age.xml b/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Calculate_Order_Age.xml
index ddd646b..ed1c79f 100644
--- a/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Calculate_Order_Age.xml
+++ b/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Calculate_Order_Age.xml
@@ -4,7 +4,9 @@
Calculate_Order_Age
1680508903
MooOthman
-Calculate the age of order
+Calculate the age of order
+
+Note: the Date_ and Date_Order attribute names are like this to verify the behaviour of the RegExp replacement for the resolved SQL Expression in source objects where expression business rules are used.
ORG {41D1B62B-F9B1-4135-AF2D-439AFB15F96E}
DAT 1680508903
ATT STRN
@@ -18,7 +20,7 @@ ATT LABL
{2B8936D7-8688-4269-BCA9-64EBA2E802A8},XBreeze_Model_Extension,66={29131F46-42B1-4DD8-9C6B-A955E3CD33F4},xm_stereotype,9=calculate
-{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,125={38253E88-8698-4A5B-8398-0FA2B14556C0},mdde_SqlExpression,62=DATEDIFF(DAY, @ORDER_DATE, @CURRENT_DATE) AS ORDER_AGE_IN_DAYS
+{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,118={38253E88-8698-4A5B-8398-0FA2B14556C0},mdde_SqlExpression,55=DATEDIFF(DAY, @DATE_ORDER, @DATE_) AS ORDER_AGE_IN_DAYS
@@ -130,10 +132,19 @@ ATT LABL
+
+7B8233A5-359F-4372-9693-5AA2D4A3E458
+Date_
+DATE_
+1680525535
+MooOthman
+mdde_InputAttribute
+DT
+
53DE74F2-F420-48D6-A2A7-176CC3150818
-Order Date
-ORDER_DATE
+Date_Order
+DATE_ORDER
1680508903
MooOthman
ORG {87D08732-95C1-401E-9FFF-33AB904D3D4B}
@@ -144,15 +155,6 @@ ATT STRN
mdde_InputAttribute
DT
-
-7B8233A5-359F-4372-9693-5AA2D4A3E458
-Current Date
-CURRENT_DATE
-1680525535
-MooOthman
-mdde_InputAttribute
-DT
-
742B3F05-D053-4323-9052-6D641E3BF52F
Order Age In Days
diff --git a/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Derive_Customer_FullName.xml b/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Derive_Customer_FullName.xml
index f3e81d7..9c744e5 100644
--- a/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Derive_Customer_FullName.xml
+++ b/decomposed/models/ExampleDWH/Entities/mdde_ScalarBusinessRule/Derive_Customer_FullName.xml
@@ -6,7 +6,7 @@
MooOthman
Merge the firstname and lastname of a customer.
mdde_ScalarBusinessRule
-{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,106={38253E88-8698-4A5B-8398-0FA2B14556C0},mdde_SqlExpression,43=FIRST_NAME || ' ' || LAST_NAME AS FULL_NAME
+{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,108={38253E88-8698-4A5B-8398-0FA2B14556C0},mdde_SqlExpression,45=@FIRST_NAME || ' ' || @LAST_NAME AS FULL_NAME
diff --git a/decomposed/models/ExampleDWH/ExampleDWH.ldm b/decomposed/models/ExampleDWH/ExampleDWH.ldm
index 4bfc2cf..cf80cb2 100644
--- a/decomposed/models/ExampleDWH/ExampleDWH.ldm
+++ b/decomposed/models/ExampleDWH/ExampleDWH.ldm
@@ -44,9 +44,8 @@ DLD {CA5B68AA-5F42-423A-BA26-0A3F9DE54F2F}
ATT DEFTXEM
ATT OBJEXA
-{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,96={3CB69645-4260-4DBC-A602-0536A9D4E6B3},mdde_Export_Extension_Initialization_Successful,5=false
-
-{0297A8FE-93C4-4612-A9E0-CD7292BFF652},MDDE_LDM_Export_Extension,70={AB204437-943D-4423-B8E6-E31186F8B700},mddex_Model_Export_Content,0=
+{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,205={A3455CE1-6457-40F7-9C0B-599E355AF4DE},mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression,4=true
+{3CB69645-4260-4DBC-A602-0536A9D4E6B3},mdde_Export_Extension_Initialization_Successful,5=false
diff --git a/decomposed/models/ExampleDWH/LogicalDiagrams/ExampleDWH/Symbols/ExampleDWH_Symbol_C2A6609F-EE69-45B9-B6D2-C363489ADA42.xml b/decomposed/models/ExampleDWH/LogicalDiagrams/ExampleDWH/Symbols/ExampleDWH_Symbol_C2A6609F-EE69-45B9-B6D2-C363489ADA42.xml
index 00cd1c6..6755a49 100644
--- a/decomposed/models/ExampleDWH/LogicalDiagrams/ExampleDWH/Symbols/ExampleDWH_Symbol_C2A6609F-EE69-45B9-B6D2-C363489ADA42.xml
+++ b/decomposed/models/ExampleDWH/LogicalDiagrams/ExampleDWH/Symbols/ExampleDWH_Symbol_C2A6609F-EE69-45B9-B6D2-C363489ADA42.xml
@@ -201,7 +201,7 @@ Entity.Comment 0
1712049767
-1
-((28875,824), (42075,6600))
+((28876,825), (42074,6599))
16512
60416
12632256
diff --git a/decomposed/models/ExampleDWH/Mappings/mdde_ForHorizontalLineage/SalesOrder_Mapping.xml b/decomposed/models/ExampleDWH/Mappings/mdde_ForHorizontalLineage/SalesOrder_Mapping.xml
index 3916d32..42bb83b 100644
--- a/decomposed/models/ExampleDWH/Mappings/mdde_ForHorizontalLineage/SalesOrder_Mapping.xml
+++ b/decomposed/models/ExampleDWH/Mappings/mdde_ForHorizontalLineage/SalesOrder_Mapping.xml
@@ -66,6 +66,29 @@
1690285644
WesselsH1
+
+2B08F648-7DE4-4F5D-B0CC-5BE0F94729DF
+Join condition_2
+Join_condition_2
+1709911284
+HarmenWessels
+mdde_JoinCondition
+{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,80={E9D50277-1E36-464C-9842-5008646943AB},mdde_ParentLiteralValue,12='2023-12-31'
+
+
+
+
+C41485A7-B110-438D-A20F-9E5950576C5D
+mdde_ChildAttribute
+mdde_ChildAttribute
+1709911291
+HarmenWessels
+
+
+
+
+
+
2B91D851-B4F2-45B4-9762-0340E02D5CB2
Join condition_1
@@ -106,29 +129,6 @@
-
-2B08F648-7DE4-4F5D-B0CC-5BE0F94729DF
-Join condition_2
-Join_condition_2
-1709911284
-HarmenWessels
-mdde_JoinCondition
-{1626A879-DBAC-4E54-8A36-28FCB761FF3A},MDDE_LDM,80={E9D50277-1E36-464C-9842-5008646943AB},mdde_ParentLiteralValue,12='2023-12-31'
-
-
-
-
-C41485A7-B110-438D-A20F-9E5950576C5D
-mdde_ChildAttribute
-mdde_ChildAttribute
-1709911291
-HarmenWessels
-
-
-
-
-
-
From 668dc56001f6eb3179c793cd58fcef8fd659d6a8 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 12:52:05 +0200
Subject: [PATCH 3/8] Removed unneeded debug output.
---
.../Extended_Attributes/mdde_SqlExpression.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
index 3c317a9..9274bde 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/ExtendedSubObject/Stereotypes/mdde_SourceObject/Criteria/SourceObject_CanCheck_IsExpressionBusinessRule/Criteria/SourceObject_Is_ExpressionBusinessRule/Criteria/Export_SourceObject_ExpressionBusinessRule_SqlExpression/Extended_Attributes/mdde_SqlExpression.xml
@@ -8,7 +8,6 @@
1
RO
Function %Get%(obj)
- WriteDebug("mdde_SqlExpression Get method executed")
' Get the expression business rule object.
Dim objExpressionBusinessRule : Set objExpressionBusinessRule = GetRealObject(obj.GetExtendedAttribute("mdde_JoinedObject"))
From 2730ff088e124010aa789038b66fe2c8198c6945 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 13:09:22 +0200
Subject: [PATCH 4/8] Fixed typo in the description of the indicator.
---
...Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
index d3904b5..359ceb2 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Extended_Attributes/mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression.xml
@@ -3,7 +3,7 @@
mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression
1716368457
HarmenWessels
-Indicator whether to include the resolved SQL expressionin of expression business rules (like scalar and filter) in the XML export of source objects.
+Indicator whether to include the resolved SQL expression of expression business rules (like scalar and filter) in the XML export of source objects.
1
false
Export SourceObject ExpressionBusinessRule SQL Expression
From e45ca07237bd18eecdf6a95344110faa4f0edc02 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 13:09:41 +0200
Subject: [PATCH 5/8] Added form on model level to configure XML export.
---
.../MDDE_LDM/Profile/Model/Forms/Forms.xml | 11 +++++++++++
.../Model/Forms/mdde_XmlExportConfiguration.xml | 13 +++++++++++++
.../extensions/MDDE_LDM/Profile/Model/Model.xml | 1 +
3 files changed, 25 insertions(+)
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/Model/Forms/Forms.xml
create mode 100644 decomposed/extensions/MDDE_LDM/Profile/Model/Forms/mdde_XmlExportConfiguration.xml
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/Forms.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/Forms.xml
new file mode 100644
index 0000000..f6cbf20
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/Forms.xml
@@ -0,0 +1,11 @@
+
+FormTargetItem
+F1C3F8C5-1474-4721-B59A-5FD6DB9C3D81
+Forms
+1716375491
+HarmenWessels
+1
+
+
+
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/mdde_XmlExportConfiguration.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/mdde_XmlExportConfiguration.xml
new file mode 100644
index 0000000..4ab5fd0
--- /dev/null
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Forms/mdde_XmlExportConfiguration.xml
@@ -0,0 +1,13 @@
+
+82A848B3-38C7-40F2-AB0F-ECE90F5DB908
+mdde_XmlExportConfiguration
+<Form >
+ <StaticText Name="XML Export Configuration" Caption="With the options below you can enable/disable the export of certain metadata.\n\nThe reason to disable unneeded metadata is to increase the export speed and keep the model export as small as possible." />
+ <ExtendedAttribute Attribute="mdde_Export_SourceObject_ExpressionBusinessRule_SqlExpression" Caption="SourceObject <<ExpressionBusinessRule>> SQL Expression" AttributeID="{A3455CE1-6457-40F7-9C0B-599E355AF4DE}" GrayHiddenAttributes="Yes" Display="Checkbox" LeftText="No" />
+</Form>
+
+1716375491
+HarmenWessels
+1
+XML Export (MDDE)
+
\ No newline at end of file
diff --git a/decomposed/extensions/MDDE_LDM/Profile/Model/Model.xml b/decomposed/extensions/MDDE_LDM/Profile/Model/Model.xml
index e02425f..d05622e 100644
--- a/decomposed/extensions/MDDE_LDM/Profile/Model/Model.xml
+++ b/decomposed/extensions/MDDE_LDM/Profile/Model/Model.xml
@@ -11,5 +11,6 @@
+
\ No newline at end of file
From bd62dc53c059da6dd753d39a29972acc4337ef74 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 13:10:11 +0200
Subject: [PATCH 6/8] Added configurating the XML export in the manual (and
renamed export extension).
---
manual/ModelExportConfiguration.md | 17 +++++++++++++++++
manual/ModelExportExtension.md | 2 +-
manual/README.md | 3 ++-
manual/img/model_export_config.png | Bin 0 -> 11957 bytes
4 files changed, 20 insertions(+), 2 deletions(-)
create mode 100644 manual/ModelExportConfiguration.md
create mode 100644 manual/img/model_export_config.png
diff --git a/manual/ModelExportConfiguration.md b/manual/ModelExportConfiguration.md
new file mode 100644
index 0000000..0950d4c
--- /dev/null
+++ b/manual/ModelExportConfiguration.md
@@ -0,0 +1,17 @@
+> [Manual](./README.md) > Configure the XML export
+
+# Model Export Configuration
+
+The XML export of from the MDDE extension can be configured to include/exclude certain information. These configuration properties are available on model level. You can access the configuration by right-clicking on the model, and click on 'Properties'. In the new dialog window go the the 'XML Export (MDDE)' tab.
+
+
+
+On this tab you can tick the boxes for the metadata which you want to include in the XML export.
+
+
+## Export options
+The options are described in the table below.
+
+| Option | Description |
+|--- |--- |
+| SourceObject <> SQL Expression | Indicator whether to include the resolved SQL expression of expression business rules (like scalar and filter) in the XML export of source objects. |
\ No newline at end of file
diff --git a/manual/ModelExportExtension.md b/manual/ModelExportExtension.md
index 56fbb20..b5d756c 100644
--- a/manual/ModelExportExtension.md
+++ b/manual/ModelExportExtension.md
@@ -1,4 +1,4 @@
-> [Manual](./README.md) > Customize the XML export
+> [Manual](./README.md) > Extend the XML export
# MDDE Model Export Extension
diff --git a/manual/README.md b/manual/README.md
index ff9234a..bd142bd 100644
--- a/manual/README.md
+++ b/manual/README.md
@@ -13,7 +13,8 @@ In the following section the modeling options are elaborated per topic.
## Integration
- [PowerDeComposer](./PowerDeComposer.md)
-- [Customize the XML export](./ModelExportExtension.md)
+- [Configure the XML export](./ModelExportConfiguration.md)
+- [Extend the XML export](./ModelExportExtension.md)
## Other topics
- [Frequently asked questions](./FAQs.md)
diff --git a/manual/img/model_export_config.png b/manual/img/model_export_config.png
new file mode 100644
index 0000000000000000000000000000000000000000..861c05b56b4b5dfb91f315f1cf23c5c3d6d4adc1
GIT binary patch
literal 11957
zcmdsdcT|&ImoJKnir5eo5Rez87l8mG#e#G~54}Tx0D{sXG?k))Ae{sV9V7`YfzUyE
z2{rWIYv{cQ-1xrV%=+&AzL{AwckW$x-9NJOlymmk^|$xg=lPzd17ox6SBt3Dp4ZKPEyWp%L_nIuP^Wie-=92X*;43n+!f?u8W|v9#*WStN
zIg^pytpEMH(CqlblJxMdi;S*|rlXaMyO|T1OwI`mc5t?FbTI~9B~9VuQF!x8%fomr
z$p~wt6NBhdopPL`C{-MrXNw^iafudfUA}`M(+NgC^LMV5n{{}K11}FbjJk%hL;~|Z
z@+#hD?~c8E#js!PrG68}@|Co7fjv*fxHf_6gQDw1S(Bkfhwxyt@yV)W*D!OJW_l;W
zxm}=U0B%yvY=T1!7z9Y2_w
z@HrUUV=tN58>Too)2!5$3-?`eIC=qHeCy{#d`r5U%cIzkV)6}|svyLVcOUpLAGd6c
zIB%>^R8_e9snw=-U#i*Y)C6f-__<}v=9TW{b$OrV9V8vLP*jyyxOc5ju&d~vF7;5m
zqmE(Xj!={0cvVYa_JL*c(X9>}KigdP^|N2gRpEmX8x=ddk`>{DpT@Sns7{!jStNV^
z+NmfG1pksT8W%e0ODbVJu{_M-z0|c_5zbgOJDUyq4CLA!S-i5kC*CzygKC0dn&P-PtkUs+KuG{on;BOdd3q^@x_)ckq@gb#Bw%QulZG-c8c;F_bnz62lJJ{
zZmYfRC43UeVCowTg%XA4FxSZK1-;lf(RL>>It&1K@LY#rc*`qEsmRf|^tX!`aABS2
z+hW+0y(3kHh74obwRx~AzZcmi&0}RK-aF~Fl$L~asp08mPrzDtDT3V)(DgFr
zvpJ1exu^CG+vu;ZxlwS@b_rHTWU-}1!$@oSWSMy^*Q;%@AOR)d8}(Z7srLHJ6BiN*1%##P^M
zYdvy5*?T3s=CGojGfEQ(b58q{nQGN@VvWyyvSyTA8o^G_1j{eA)u5B?%jPV#7jymx
zKC#Me-nypyDy$a>ye=C8+m^tYT|((eXtf5EUXU%c=Z|P-DxoqD6>8U~RJ~G4GX8
zUk_@e0z|Xm1U{bYAKDE+RZRa#3(FPKy<6rM3!bCG8L9`NqvjU{eY_*`ELDVr!H9N3
zqSRb6UeHKS&B~G@70{O8)ijolk?^`WE@U3U0bGvGO^o!6HRt{T5FF`X
zgs~mrlm}vsv{%b)%_oW(4G=Sg$-yyTqgRXJ|nF
zFNvCr+Q^n-EDxh&uS;nSFD6`IO?zuY+{nx>ehw(Hmn!ud#%&zk{xjV=^%Irb{WNL%_x
z*)tvda|-j_Y`U+I!wMzyw8YhgJR
zE$Xwl2Ok-~{Z+5Xx&x9?svE##Dl5%mm0FaQB2WIneI~f@D(#*K^~V1toh2JP^LgC4
zSX3=}Fp#4NUom@_Y33(QV
zC7Z@uw^+X*6$#hsM)C*>ljPE~6A6KRTTK9k?$O|!Ce!mxvLfETsb1J(<$a9Y_R$HbZ#YSv7~RTa62s
zelO*GX=c3n1-+81*kHE#n75
zj#C&L2`pjB5Om5f8-;Fc>fIm256UW+@sMH7EaY>fX%|jx-1}Y0)>GyVWvs5sV5L;L
zc#L5CtcVPRuvQ9DxW4{&MV};%1bwYrDp`e>ph?+=I>>Pk6=6hckSku5-+tFl2cji>
zT96eFAZGAjkvzP361=scLt-lQjM>7=ZPLCM6Q9Ot@?cM2R~yj
z6ikR8p1hi2<;VI|6B2!O_qM+NuKkaU9Fo`ewtX$qh6$p@`jP7kE<3g3JhK^0dh}Ts
zYwr$oFpWeR)IV`pZ9AKOs(vNAjn*_U59}j{W`M+TSJ}{}c%DWcn@cD!=t#ftFH=?jVBZXP$aQ!e=icopk%V>P@K7)tRmCEj2l@cCDrT
zoWAczeRc~?s<*5bqEC;TMs3^fx~miWV=gyZAqnw061#&oLL`9EZo#B7snkmd7Q^Lo
zC%C_9;bPbs$1E&!tl5x5{_a&(BV?K_iz9}?<(qmV
zGQau*LyjTD!6~A8}$4)2V9$=WQ&
zRee7AqOYr{0=ZbTh4w9PKBZ@2G(>HON%`U)2<^ER`P);i{NO9pi1?Nwpa~`z0$p_>
zGn0rXK$JaXfpOarIj=A1z-Ts9((#L56gy_rd2_mEEL!2U1`$MW*Y-Rwf|F6VdO`~u
znkXi;)8|PR%he#OC(fTuTQatlpOpzC>1jBYyY0K{rSwE_8MMkCN3e`NZN%!)V%>rW
zE!!Do1>eHQPSFL|NJWIhJ`1OFUa4Lksf_qE|5ebEQIf+}@7S0%!2lvc@QPtm{ex(~
zMdb?p1k2nCF(`}B8GP>P8O5X2z~ESx7O&T|;dQeOvs)z_MA$Vzyb;0QG{t5%oA46n
z=7oioFfh%9BX=nJ2|GrGz`V;}Pk2Zw*!ZO(UOZi_Ly0(}L2OjqU>`w3d~TA-4$y>7
z+WJIw6lVqrW7^J-O9hn8dtORt#)NRI&s$D2t
zHE+ZCQx&=KO+3KPjS|PS@F2^tuDdDU!L44oRGG_<@7ObqHiZngHj+wW4N{r)`}Jcp
zW9(dl7#KmSb|+jik0{8<`~@#%dd@}2nNyLGnGVZ?)#%B{IIb#^laYa6LCDBbcsNKe
zqAzD&AoItdqX?CI0|tZnCVo`3vT^G7g^aby{Od@MIbNKtyVso56g({tEsx*ATqL_^
z6+}RfG=GlgG&7sIYy?`>)ItBW)Ltte_A(dwz)O0&lrmQ7x#O3A<$0+9u&!>&ya`_(
zxzxA3+IU^rsy{Cwm)(kb$lQvfLvfxp+Ug6sl<>LVWZD*EI|w9x8NP&z2dcsGi>gd7
z{KT|h?|J+%mh!Z;wq86uS}Hz{h+FFIP;xi?Wtx!1ghpVgz
zHY_k{zX;DiyRH)js&LR(ZD%WJv~RM8?=)Kk;SvqNx-=Jy({%X|X#i>9iK!`|tp2Vv
zF@Q!-ziSp%Q`c`v;&p%;d(B?pL>;cQ7&fj^^`5rmVa0)l3xAB#
z!Gx2N6o!_%*D~&hFpEL6`!;A>a=BF-a&Wj69|qmQ2oQ>H9n1CV8&PKGcB80I?|4$Y
z7?^X{zArJM@g863{K>uF;jGZPP(SP}bXeco6vDkM?j$BHuo$+S2K2d`rCdZtotLog
z=)z3)ml*B&fHr`_ALT9^g@5Q}Z$SFY&Ec!kN8(dC{gIBR)l!u!LO*ql^Oi)87M}=%
zOcWWfeN^k1_xy#~{bNfvG*`}rqR3ZdFoOoy0QvZ0M$@%*!``cwKS@)cUOuQTr~i~m
zF>c{tAhqDy4XgI83kQ<3(P88QUTk5E;-Ep~L_-=oojvZTrEB~v
z>OKuC%6*6Ed&F68G?DeJ)Rc8ai3#z2a(MOQEpY4?I_nP&bM2k+RjbeyPR0|9xtL=`
z2P9iK9sRp=YM^8t(fZ-uqlL4V?HDgHUt`GFrJvjD@)y?~uYYR(&`ZW0?m@_cH{DnAf|b>!
zcJWD{wfKvZ`1$owG}$Q9fVTQEvO9Q$s~Q@&hLDvb)&uFmW=C5#LM#^AHtKu#jvu>)
zs2X`jHr`U!Zw^3IRe4!x0PL%FZ0idhCFLs>3lTb}wte;bsDoSySK+*DSUQ$gV5dCL
zvBm&@)g3DtXrh^bt{w*!(?D`rI{WdIcm9eJS~YrA@!BY+Ipl+|6sGhxFgx_o!o;f1
z#R;wE=laUZQH)$kUpPgh0ybBe<#;y29#2iMi4}J^nEXv1owz#U;q}G6!5gLIM@b$0
z9*ZKDH}kFB%S3r916;si-#^zWxk)%(5z0y`mzTE%8B1itUO(xyN!=^eUWEZlXX?z|
z)^=CEKvJ#nXkck$#%1xvg&gEj|E8HFn^z=G7p+-_)V2{iDHs03Ox48wdPPPp4f~ff
z2TMY&gX~>%8%cqLpS0LbYkG0rV@U8b^IN`*V!X29)g_Nr^*{ZNo*<&~%i&^VhTb#i
z?2AZ$DEuSw@M!ZSx?AI$)g4fe6~Rsrv?L&*ekzthBZ8@0acoC7Klb~m+W({mdvrOU
zFxf?6#~Q-Z4@
zmCCLcH8(SsIh5VlM-&kWEE#yUKXM;Z&OTjzFfkDKIqa{ncjgBAnkKN?-0}kYyh+&B
zRoit;rYDI6s?=
zsy>%_Dd}r}-Mky|vhT=m<@%>iy%T_63cc(EODb$1N`LyW9LzLTrP0+;&}T6pkVB{0
zk|UWgN&eBf4z}uLwU5EDs8SmXTbqyZdboa-3$&MP%5?4@)RhEk=8uMQqQ$
)M^{!xroX?LXHUimkm`h6MvBm-Tf
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
Date: Wed, 22 May 2024 13:16:31 +0200
Subject: [PATCH 7/8] Fixed typo and added note and syncing settings.
---
manual/ModelExportConfiguration.md | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/manual/ModelExportConfiguration.md b/manual/ModelExportConfiguration.md
index 0950d4c..e88bd9a 100644
--- a/manual/ModelExportConfiguration.md
+++ b/manual/ModelExportConfiguration.md
@@ -2,16 +2,20 @@
# Model Export Configuration
-The XML export of from the MDDE extension can be configured to include/exclude certain information. These configuration properties are available on model level. You can access the configuration by right-clicking on the model, and click on 'Properties'. In the new dialog window go the the 'XML Export (MDDE)' tab.
+The XML export of the MDDE extension can be configured to include/exclude certain information. These configuration properties are available on model level. You can access the configuration by right-clicking on the model, and click on 'Properties'. In the new dialog window go the the 'XML Export (MDDE)' tab.

On this tab you can tick the boxes for the metadata which you want to include in the XML export.
+> **Note**:
+> If you have multiple models and want to keep these settings in sync, it's adviced to create a model check for you project/organisation (in a project/organisation specific extension) to check and autofix these settings.
+
+
## Export options
The options are described in the table below.
| Option | Description |
|--- |--- |
-| SourceObject <> SQL Expression | Indicator whether to include the resolved SQL expression of expression business rules (like scalar and filter) in the XML export of source objects. |
\ No newline at end of file
+| SourceObject `<>` SQL Expression | Indicator whether to include the resolved SQL expression of expression business rules (like scalar and filter) in the XML export of source objects. |
\ No newline at end of file
From 0d939a820fa7815d1223321d3b8a0f9250afb655 Mon Sep 17 00:00:00 2001
From: Harmen Wessels <97173058+harmen-xb@users.noreply.github.com>
Date: Wed, 22 May 2024 13:17:11 +0200
Subject: [PATCH 8/8] Fixed typo.
---
manual/ModelExportConfiguration.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manual/ModelExportConfiguration.md b/manual/ModelExportConfiguration.md
index e88bd9a..cf7f0f6 100644
--- a/manual/ModelExportConfiguration.md
+++ b/manual/ModelExportConfiguration.md
@@ -9,7 +9,7 @@ The XML export of the MDDE extension can be configured to include/exclude certai
On this tab you can tick the boxes for the metadata which you want to include in the XML export.
> **Note**:
-> If you have multiple models and want to keep these settings in sync, it's adviced to create a model check for you project/organisation (in a project/organisation specific extension) to check and autofix these settings.
+> If you have multiple models and want to keep these settings in sync, it's adviced to create a model check for your project/organisation (in a project/organisation specific extension) to check and autofix these settings.